Raditeq EUT Status Controller

From RadiWiki
Revision as of 13:55, 22 May 2023 by Joro (talk | contribs)
Jump to navigation Jump to search


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.

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.

RaditeqEUTStatusController.png

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]

...


Example[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].