3.3. Application of DCP Standard
To demonstrate test bench coupling, a communication link between the two test benches needs to be established. For this purpose, the test benches must have a network connection. In the case of the coupling example, a network socket with access to a common VLAN is installed in each case. The coupling and connections used are shown in
Figure 4.
For coupling over the Internet, for example, across locations between two different companies, this can be achieved by real-time routers via a VPN tunnel. This variant was tested in the XiL-BW-e project [
24].
In addition to the hardware 1000BASE-T Ethernet connection, which concerns the interfaces and cabling for the coupling, the software implementation is subsequently considered in more detail. In general, the data exchange will be handled by the UDP/IP protocol. In contrast to the TCP/IP protocol, the UDP/IP protocol has a higher speed, but has the disadvantage that no native algorithm ensures no package loss during communication. Detailed information and further description can be found in the Refs. [
56,
57].
Figure 5 shows the communication across the protocols through software and hardware. As shown in the Figure, the data of the test benches required for the coupling are exchanged via the DCP standard.
Table 5 and
Table 6 list the data exchanged between the two test benches and explain the usage of the data.
3.4. DCP Extension for Hardware Coupling
In this Section, the additional functionalities and differences for the DCP implementation for hardware coupling are explained in more detail. In general, the implementation is carried out according to the specification, which provides information about the slave state-machine [
10]. The schematic structure of the slave state-machine is shown in
Figure 6. A proposal for the master’s state-machine implementation is described in the Ref. [
13].
3.4.1. Synchronization and Timing
DCP does not include mechanisms for time synchronization. Regarding synchronization in DCP-coupled test benches, examples from the literature have been given in the Ref. [
7], and a recommendation in the DCP specification refers to the Ref. [
58]. The challenge within such existing protocol for clock synchronization is the integration in existing systems. Alternatively, the possibility to extend the real-time control unit with the synchronization protocol must be given. For hardware test benches, black box control units are often used. Due to security measures, full access is not granted to the software, and therefore there is no option for additional protocols. Typically, a communication protocol such as UDP/IP or TCP/IP is possible. In this research, synchronization between master and slave was achieved via UDP sequence numbers, added in the data part of a UDP frame. For this purpose, the sequence number is defined and increased in the DCP master with every DCP message to a slave. The slave stores the current number received and sends the number back to the master together with the regular data for coupling. Both the slave and the master check that the sequence numbers are not too far apart (for example, the difference should be <100). The algorithm can be implemented easily and ensures that there is no, or only a small amount of package loss caused using UDP protocol. The sequence number can also be used to check whether the connection was lost, and is therefore an option to detect failures in hardware coupling and switch to the safe state. In the case of the coupled test benches example, the latency of the communication is very low (≤
) due to the spatial proximity of the test benches and the existing VLAN without access via the Internet. If this latency is more significant, as is the case for communication via the Internet, equipping the software, in particular the controls for speed and torque, with predictive behavior is sensible. Using a so-called Smith predictor would be a possibility, as described in the Refs. [
59,
60].
3.4.2. Safety Concepts
Since the DCP has generally been designed for coupling software and simulation models, there are some preliminary considerations before implementation. For example, giving overall control of the slave to the DCP master is not possible. With the high powers, speeds, and voltages, the test bench must always be prioritized above the coupling application via the DCP for the protection of persons and equipment.
This means that the test benches always guarantee safe operation, and, in case of doubt, the DCP slave ignores the master’s instructions. In the simplest case, the slave does not reach the master’s reference values in the defined test case. In the worst case, this leads to an emergency shutdown of one of the test benches, and thus of the entire test case. If this happens, for example, during a thermal load test that was preceded by time-consuming conditioning, time and resources would be unnecessarily wasted.
3.4.3. Preliminary Considerations and Limit Exchange State
The clarification of the capability of the test benches in advance is important. Forbidden operating points must therefore be identified and recorded as part of the preliminary considerations. These limits depend on the specific test bench hardware.
For example, the speed control of the load machine of the test bench (asynchronous machine) is not fast enough to counter the much faster torque control of the device under test (permanently excited synchronous machine) at very low speeds (approx. 0 to 50min−1) with enough torque to keep the speed at the defined value. In the worst case, oscillations occur in the control of the load machine, which can lead to a shutdown of the test bench.
From the DCP specification, the state CONFIGURATION is defined. In this state, the master has taken control of the slave. At this point, the introduction of a new “Limit Exchange” sub-state has also proved useful. The test benches can exchange their respective limits, such as the maximum possible speed or temperatures, and check whether a test is possible. This prevents errors caused by wrong limits before the test even starts, and saves time due to the avoidance of possibly lengthy thermal component conditioning to a wrong initial temperature. This step can be carried out as a safety state in addition to the indispensable preliminary considerations already described.
3.4.4. Extension of the PREPARING State
According to the DCP specification, after successful configuration, the slave should initiate the transport protocol and thus allow for data exchange. Since the original use of DCP is for coupling software and simulation models, various transport protocols can be used for further communication. In the case of hardware coupling of test benches, however, this flexibility offers no advantage. Hardware coupled test benches require the communication and data exchange to be integrated in the TCU software. However, the availability of various data exchange protocols and the existing test bench systems compatibility cannot be assumed. Additionally, the interfaces are often already required upon start-up of the test bench, meaning that the interfaces are already in use when the DCP master or slave is started. In the case of the coupled test benches example, the state is already fulfilled when specifying its requirements strictly according to DCP. When coupling with a test bench, checking the test bench and components operational availability is advisable. This extends the PREPARING state, or can be implemented by using a “test bench preparation” sub-state. Within this sub-state, a check is performed whether the DUT of the respective test bench is ready and can be operated.
In the case of an ICE, checks are, for example:
Fuel pump running and fuel present;
Temperature control units switched on and coolant levels OK;
Data acquisition devices enabled and ready for operation;
No errors in the error memory;
Operating mode remote control DCP selected.
With an EM, checks are, for example:
Battery emulator running;
Temperature control units switched on;
Data acquisition devices enabled and ready for operation;
No errors in the error memory;
Operating mode remote control DCP selected.
In summary, this sub-state checks whether all subsystems within the test bench environment are functioning and prepared for operation. If all aforementioned conditions are fulfilled, this is transferred to the DCP state machine via an internal signal of the TCU.
3.4.5. Extension of DCP CONFIGURING State
When using connectionless communication, as in the case of the coupling example via the UDP protocol, no specific actions are necessary at this point according to the DCP specification. In the case of hardware and test bench coupling, additional functionality is implemented at this point which deviates to the specification. Particularly in the case of thermal tests, very time-consuming thermal conditioning of the test items is sometimes necessary. Another possibility is a primary test bench cool-down to the initial temperature after a high-load test. For this purpose, the sub-state “Test Conditioning” is introduced. In the case of the coupling example, this provides for an exchange of the initial conditions for the desired test case.
The master and slave wait within this state until both test benches are conditioned. The feedback of the slave to the master about a completed conditioning is achieved by comparing the internal measured values of the slave (EM test bench) with the initial conditions received from the master (ICE test bench) for the test case. A constant data exchange during the conditioning does not take place, since such an exchange will take place only during one of the later conditions. Continually sending data to the master during conditioning for recording is possible, depending on the application. If the test benches are conditioned at different speeds, the conditioning of the already finished test bench is kept constant. The exact thermal conditioning process procedure depends on the respective test bench. At the EM test bench, for example, the load machine and the DUT must be in operation for uniform conditioning, and the temperature control medium must flow at low speed. Therefore, the battery emulator must also operate at low voltage. After conditioning is complete, the DCP slave waits in the CONFIGURED state.
3.4.6. Extension of DCP STOPPING State
The test can be terminated by the slave or the master. If only software and simulation models were coupled, this would complete the termination of the test run. In the case of a hardware coupling, however, this must be handled carefully. Thus, after high thermal load, controlled cooling of the load machine as well as the DUT is required. To avoid thermal hot spots in the EM’s windings, this must be performed while the machine continues to rotate. Therefore, the voltage must continue to be applied in the DC link. For this reason, a shutdown procedure and a safe state have been extended as a sub-state for the stop of the DCP, either caused by the normal end of the test or by an error. The shutdown procedure resets the remote control of the TCU in the first step. After that, remote control via the DCP is only possible again after a complete run of the DCP from the ALIVE state. Subsequently, the torque is set to the value 0. The DC link voltage is held at the last value of the test case while the speed is immediately reduced. When the safe state speed is reached ( in the test example case), the DUT’s DC link voltage is also reduced.
By first reducing the speed and then the DUT’s DC link voltage, the voltage induced by the DUT never becomes higher than the DC link voltage, which would result in inadmissible current flows in the DUT and inverter. Especially in a fault’s event, this safe state is the first choice for a controlled reduction in the system’s energy. Conditioning of the subsystems can also be carried out at this point, such as by reaching a safe temperature from which further rotation of the DUT can be dispensed with. If all conditions of the safe state are fulfilled, the DCP state machine changes to the STOPPED state where voltage and speed are set to zero.
3.4.7. Superstate ERROR
According to the specification, the superstate ERROR is used to handle exceptions and errors defined by the user. In the case of the test example implementation of the DCP at the EM test bench, every error of the TCU triggers the transition from the superstate NORMALOPERATION to the ERRORHANDLING state. Here, the shutdown procedure is first initiated and the safe state is approached. This is created with a shutdown procedure and a safe state as for the extension in the DCP STOPPING state. Subsequently, the test bench can either be switched off or the error can be corrected and reset in the TCU. Only when there is no more error and the reset is done, the internal signal "resolved" is set and the state ERRORRESOLVED is activated. From here, a new configuration of the test case can be started via a State Change Request (STC) “reset”.