Raditeq EUT Status Controller
The Raditeq EUT Status Controller device driver is a EUT Controller which is supported by RadiMation®. It is a driver to communicate with a generic EUT Controller, and can be used to further automate the integration of RadiMation® with other software packages in automated tests. As this is an advanced control feature, it is only licensed and possible in RadiMation® Pro.
This page describes the communication protocol between RadiMation and another ‘EUT Controller’ software. With this interface it is possible to communicate (on a real time basis) several RadiMation parameters to the other software program.
The connection and communication between RadiMation and the other software is based on the Standard TCP/IP protocol. This allows that any standard network environment can be used to apply this solution. And the other program can be installed on the same PC, or on another PC in the same network.
Besides the ‘EUT Controller’, it is also possible to use ‘AD Converters’ in RadiMation® to retrieve actual measurement data from the EUT. It is allowed to use multiple ‘EUT Controllers’ and multiple ‘AD Converters’ in the same test to control and monitor the same physical EUT. The use of ‘AD Converters’ is described Chapter 10 of the end-user manual.
EUT Controller software[edit]
The 'EUT Controller' software will probably be part of another software program that controls the EUT or any other auxiliary equipment. Which actions or tasks are performed to control or monitor the EUT is a specific implementation for that program.
It is advised to use a standard IPv4 TCP/IP connection between RadiMation and the other software. RadiMation® will act as a client, and will initiate a connection to the other software. The other software should thus provide a TCP/IP server, which is listening on TCP port number 58426. The TCP/IP server should accept all connections setup by other IP addresses and port numbers. It also should accept that multiple connections can be made and/or terminated. These connections can be coming from multiple different IP addresses and/or port numbers, and the information coming from different connections shall be treated as if they are coming from one single connection. The best way to implement this is to make us of a global 'Queue' in which the different connections place their data. The connection between RadiMation and the TCP/IP server can be left open for an unlimited time period, even in the case when for a number of hours, no commands are transmitted. The TCP/IP server should not suddenly terminate the connection, the connections will be initiated and terminated by the RadiMation device driver.
The TCP/IP server shall accept all commands as they are described in the 'Communication' section below. It is advised that the TCP/IP server silently ignores any command that is received, but cannot be interpreted as a valid command. The list of commands can be extended in the future, and an updated RadiMation driver could send those additional commands.
Configuration[edit]
RadiMation provides the ‘Raditeq EUT Status Controller’ device driver to communicate with the TCP/IP server. In the driver it is possible to set the IP address or the ‘fully qualified domain name’ (FQDN) of the TCP/IP server. It will also be possible to set the port number of the server. When this port number is not defined, the default port number 58426 will be used.
This device driver can then be selected in the RadiMation testsite configuration. In the case that the TCP/IP connection cannot be established, RadiMation will show an error message.
There are no other settings required in RadiMation to activate or configure the TCP/IP Status interface. During the actual test, RadiMation will send the commands over the TCP/IP connection as they are described in the 'Communication' section below.
Communication[edit]
This section describes all the commands that can be transmitted by the Raditeq EUT Status Controller to the TCP/IP server. All commands are built up from ASCII characters in the range 0x20 ('space') till 0x7E ('~'). Each command will be terminated with the ASCII character 0x0A ('\n': 'linefeed').
There are no requirements or limitations in the order in which commands are transmitted. It will be possible and is VALID to transmit a TEST END command prior to sending the TEST START command, and the TCP/IP server should thus not make any assumption on the order in which the commands are received.
EUT information[edit]
Command: "EUTINFO <key>=<value>"
Provides generic EUT specific information. On the location of the <key> a string is identifying the information item name. This name can contain spaces, but will not contain the '=' sign. On the location of the <value> the actual value of the information is contained. This value can contain any character, but will not contain the 0x0A (linefeed) or 0x0D (carriage return) characters.
This information is the same as the items that are available in RadiMation in the EUT window on the 'EUT Information' tab.
Test information[edit]
Command: "TESTINFO <key>=<value>"
Provides generic test specific information. On the location of the <key> a string is identifying the information item name. This name can contain spaces, but will not contain the '=' sign. On the location of the <value> the actual value of the information is contained. This value can contain any character, but will not contain the 0x0A (linefeed) or 0x0D (carriage return) characters.
This information is the same as the items that are available in RadiMation in the test data itself as shown on the 'General Information' window on the TSF test configuration.
Test information request[edit]
Command: "TESTINFO?"
Requests any test specific information from the EUT controller to be updated and merged with the 'General Information' items of the test data.
The TCP/IP server can respond with one or more "TESTINFO <key>=<value>" responses. On the location of the <key> a string is identifying the information item name. This name can contain spaces, but cannot contain the '=' sign. On the location of the <value> the actual value of the information is contained. This value can contain any character, but will not contain the 0x0A (linefeed) or 0x0D (carriage return) characters.
The information items that are received are added or updated in the 'General Information' items of the running test. Already existing items cannot be removed. A few specific keys with specific names have some additional effect.
key | additional |
---|---|
Operating Mode | Updates the 'Mode of operation' in the 'Environmental Data' of the test |
Temperature | Updates the 'Temperature' in the 'Environmental Data' of the test |
Humidity | Updates the 'Humidity' in the 'Environmental Data' of the test |
Pressure | Updates the 'Pressure' in the 'Environmental Data' of the test |
RadiMation will wait for 2 seconds for a "TESTINFO" response, and all the responses will be added to the 'General Information' items. If no additional "TESTINFO" response is received within 2 seconds of the previous response, RadiMation will continue.
Start of the test[edit]
Command: "TEST START"
Notification that a new test is started.
End of the test[edit]
Command: "TEST END"
Notification that the test has ended.
Frequency[edit]
Command: "FREQUENCY <freq> HZ"
A new test frequency <freq> is activated. On the location of <freq> the value of the new frequency is defined in scientific notation expressed in Hz.
Field strength[edit]
Command: "FIELDSTRENGTH <field> V/M"
Transmits the current value of the field strength in volts per meter. In the field <field> the value of last measured field strength is defined in scientific notation expressed in V/m.
Antenna Polarization[edit]
Command: "POLARIZATION <pol>"
Provides information about the current antenna polarization. <pol> is the new antenna polarization, and on the location of <pol> there can be one of the values: "HORIZONTAL" or "VERTICAL".
Turn table angle[edit]
Command: "TURNTABLE <angle> DEGREES"
Provides information on the current turn table angle. <angle> is the new angle. On the location of <angle> the actual angle is defined in scientific notation expressed in degrees. This angle has a range of -1000 to +1000 degrees.
Start of dwell time[edit]
Command: "DWELLTIME START"
Notification that the dwell time will be started.
End of dwell time[edit]
Command: "DWELLTIME END"
Notification that the dwell time has ended.
Example[edit]
The example below shows a possible list of commands that is transmitted from RadiMation® to the other software package. All commands are terminated with a 0x0A ('\n') character.
Command | Description |
---|---|
<connection opened> | The TCP/IP connection is opened. |
EUTINFO Length=3m\n | EUT information |
EUTINFO Date of receipt=Wednesday 19 October 2022\n | EUT information |
TESTINFO Engineer=B. Smith\n | Test specific information, in this case the engineer that is performing the test |
TESTINFO Operating Mode=Running at 5 km/h\n | Test specific information, in this case the operating mode that is selected |
TESTINFO Pressure=995 mBar\n | Test specific information, in this case the ambient air pressure |
TESTINFO? | Request for additional test specific information |
TEST START\n | The immunity test starts. |
POLARIZATION HORIZONTAL\n | The antenna is HORIZONTAL. |
TURNTABLE -180 DEGREES\n | The Turntable is at -180 degrees. |
FREQUENCY 100000 HZ\n | The new frequency is 100.000 kHz. |
FIELDSTRENGTH 12.3 V/M\n | The current field strength is 12.3 V/m. |
DWELLTIME START\n | Dwell time starts. |
DWELLTIME END\n | Dwell time ends. |
FREQUENCY 1.23E5 HZ\n | New frequency: 123.000 kHz. |
FIELDSTRENGTH 8.0 V/M\n | The current field strength is 8.0 V/m. |
DWELLTIME START\n | Dwell time starts. |
DWELLTIME END\n | Dwell time ends. |
TURNTABLE 0.2 DEGREES\n | The TT is at 0.2 degrees. |
POLARIZATION VERTICAL\n | The antenna polarization is vertical. |
FREQUENCY 53483 HZ\n | New frequency: 53.483 kHz. |
FIELDSTRENGTH 12.1 V/M\n | Current field strength is 12.1 V/m. |
DWELLTIME START\n | Dwell time starts. |
DWELLTIME END\n | Dwell time ends. |
TURNTABLE -180 DEGREES\n | The TT is at -180 degrees. |
TEST END\n | End of the immunity test. |
<connection closed> | Close the TCP/IP connection. |
Example source code[edit]
An example Python script that demonstrates how such a TCP/IP server can be implemented is available in the EUT Controller repository on GitHub.