MSX-E systems servers
[Software hints]

The MSX-E embeds servers to provide configuration, management and monitoring over Ethernet. More...

SOAP server

SOAP means Simple Object Access Protocol. This protocol allows you to use the MSX-E software functions over Ethernet. It is providing Web Services that can easily be consumed in many programming languages like C, C++, C#, VB.Net... With the SOAP functions, all functionalities of the MSX-E system can be managed / configured / monitored. This server can be accessed on port 5555. All SOAP functions are described under Modules -> MSX-EXXXX functions.

Event server

MSX-E systems embed an event server that can be used to monitor the current MSX-E state. An MSX-E system is logically divided in subsystem states. A subsystem is uniquely identified by a number, as well as each possible state associated to it. These numerical identifiers can be monitored by using the event server, which signals when the state of a subsystem has changed. The MSX-E will send a new event frame as soon as a subsystem state changes on the MSX-E.

Modbus server

A Modbus server, accessible on port 512 permits, for example, to manage MSX-E systems from a PLC. The port number, endianness (Intel / Motorola) and protocol (TCP/UDP) can be configured through the MSX-E web interface.

Generator data client / server

The MSX-E351x embeds a data client / data server to provide values to the signal generator. The data client / server has to be configured by using the data server configuration web page. Two operating modes are available:

Server mode

When configured in server mode, each channel has its own data server. By default, the data server port number of the first channel is 9090. To connect to the other channel, use 9090 + channel number (channel number is starting from 0). For example, to access channel 2, the port number will be 9092. The base port number 9090 can be changed by using the configuration web page of the data server .

Data format

In this mode, the data format can be 16 bit or 32 bit.
When configured in 16 bit, one value (encoded on 16 bits) has to be sent:

The data frame has the following format (example of channel 0 on port 9090 with 4 voltage values):

Bit 15 - Bit 8Bit 7 - Bit 0
Raw value 0 (high part)Raw value 0 (low part)
Raw value 1 (high part)Raw value 1 (low part)
Raw value 2 (high part)Raw value 2 (low part)
Raw value 3 (high part)Raw value 3 (low part)

When configured in 32 bit, two values (each encoded on 16 bits) have to be sent:

The step value is from 0 to 65535.

The data frame has the following format ( example of channel 0 on port 9090 with 4 voltage values and their corresponding step values):

Bit 31 - Bit 24Bit 23 - Bit 16Bit 15 - Bit 8Bit 7 - Bit 0
Step value 0 (high part)Step value 0 (low part)Raw value 0 (high part)Raw value 0 (low part)
Step value 1 (high part)Step value 1 (low part)Raw value 1 (high part)Raw value 1 (low part)
Step value 2 (high part)Step value 2 (low part)Raw value 2 (high part)Raw value 2 (low part)
Step value 3 (high part)Step value 3 (low part)Raw value 3 (high part)Raw value 3 (low part)

Client mode

When configured in client mode, the application has to work as a socket server. At boot-up, the MSX-E tries to connect the device from which the IP address has been configured on the configuration web page of the data server. Contrary to the server mode, only one socket connection is necessary to provide values for all channels. The base port number 9090 can be changed by using the configuration web page of the data server. In this mode, the size of the frame Frame size in bytes has to be specified.

Data format

In this mode, the data format can be 16 bit or 32 bit.
When configured in 16 bit, one value (encoded on 16 bits) has to be sent:

The data frame has the following format (example of 4 channels on port 9090 with 4 voltage values):

Frame size in bytes has to be 8 bytes.

Bit 15 - Bit 8Bit 7 - Bit 0Data frame index (has to be set in the configuration web page, not send)
Channel 0 raw value 0 (high part)Channel 0 raw value 0 (low part)0
Channel 1 raw value 0 (high part)Channel 1 raw value 0 (low part)2
Channel 2 raw value 0 (high part)Channel 2 raw value 0 (low part)4
Channel 3 raw value 0 (high part)Channel 3 raw value 0 (low part)8

When configured in 32 bit, two values (each encoded on 16 bits) have to be sent:

The data frame has the following format (example of 4 channels on port 9090 with 4 voltage values and their corresponding steps values):

Frame size in bytes has to be 16 bytes.

Bit 31 - Bit 24Bit 23 - Bit 16Bit 15 - Bit 8Bit 7 - Bit 0Data frame index (has to be set in the configuration web page, not send)
Channel 0 step 0 (high part)Channel 0 step 0 (low part)Channel 0 raw value 0 (high part)Channel 0 raw value 0 (low part)0
Channel 1 step 0 (high part)Channel 1 step 0 (low part)Channel 1 raw value 0 (high part)Channel 1 raw value 0 (low part)4
Channel 2 step 0 (high part)Channel 2 step 0 (low part)Channel 2 raw value 0 (high part)Channel 2 raw value 0 (low part)8
Channel 3 step 0 (high part)Channel 3 step 0 (low part)Channel 3 raw value 0 (high part)Channel 3 raw value 0 (low part)12