MODBUS interface description
This document describes the protocol used by the MODBUS server of the module.
The OPEN MODBUS protocol is based on the widely known MODBUS protocol.
OPEN MODBUS is an open protocol and is not manufacturer dependent.
It is mainly used to connect PLC and I/O devices.
Thanks to the MODBUS server, it is possible to manage an MSX-E module with e.g.: a Siemens S7 PLC.
The S7 PLC can start acquisitions and read data from the MSX-E module!
Please note that only MODBUS over TCP is standardized. Nonetheless in this present
version the server implements OPEN MODBUS/TCP class 0 and one function of the class 2 even on UDP sockets.
The MODBUS/TCP class 0 defines two types of query: FC3 and FC16.
Characteristics of this communication channel as the standardisation document describes it are:
The ADDI-DATA MSX-E Modbus server offers the following extension to the standard:
As answer to query a client may receive an acknowledgement (named standard response onward) or an exception.
If an exception or an error occured, you can use the GetLastCommandStatus command to get the real error number (from the remote server).
Real error numbers are described for each command in the "Returns" field.
The chapter below describes the available functions and their parameters.
It also contains the precise description of all frames implied in a given action.
Functions in this group are used to read values on the module.
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
Return the result of the last remote function call
Parameters:
[Response frame layout] ReturnValue: The return value of the remote function.
[Response frame layout] Syserrno: the value of the libc errno after the call to the remote function
[Response frame layout] Errstr: A nul-terminated string describing the error code Syserrno
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Reference number (=register) | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
word count | 2 | 16-bit integer | 54 | 0x3600 | 0x0036 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 112 | 0x7000 | 0x0070 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Byte count | 2 | 16-bit integer | 108 | 0x6C00 | 0x006C |
ReturnValue | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Syserrno | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Errstr | 100 | 8-bit integer array | See the description above | 0x??[100] | 0x??[100] |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x83 | 0x83 | 0x83 |
Exception code | 1 | 8-bit integer | See corresponding chapter | ?? | ?? |
Return the result of the last remote function call
Parameters:
[Response frame layout] ReturnValue: The return value of the remote function.
[Response frame layout] Syserrno: the value of the libc errno after the call to the remote function
[Response frame layout] Errstr: A nul-terminated string describing the error code Syserrno
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Reference number (=register) | 2 | 16-bit integer | 10000 | 0x1027 | 0x2710 |
word count | 2 | 16-bit integer | 54 | 0x3600 | 0x0036 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 111 | 0x6F00 | 0x006F |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Byte count | 1 | 8-bit integer | 108 | 0x6C | 0x6C |
ReturnValue | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Syserrno | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Errstr | 100 | 8-bit integer array | See the description above | 0x??[100] | 0x??[100] |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x83 | 0x83 | 0x83 |
Exception code | 1 | 8-bit integer | See corresponding chapter | ?? | ?? |
Returns the type of the MSX-E Module
Parameters:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Reference number (=register) | 2 | 16-bit integer | 1 | 0x0100 | 0x0001 |
word count | 2 | 16-bit integer | 100 | 0x6400 | 0x0064 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 204 | 0xCC00 | 0x00CC |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Byte count | 2 | 16-bit integer | 200 | 0xC800 | 0x00C8 |
str | 200 | 8-bit integer array | See the description above | 0x??[200] | 0x??[200] |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x83 | 0x83 | 0x83 |
Exception code | 1 | 8-bit integer | See corresponding chapter | ?? | ?? |
Returns the type of the MSX-E Module
Parameters:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Reference number (=register) | 2 | 16-bit integer | 10200 | 0xD827 | 0x27D8 |
word count | 2 | 16-bit integer | 100 | 0x6400 | 0x0064 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 203 | 0xCB00 | 0x00CB |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Byte count | 1 | 8-bit integer | 200 | 0xC8 | 0xC8 |
str | 200 | 8-bit integer array | See the description above | 0x??[200] | 0x??[200] |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x83 | 0x83 | 0x83 |
Exception code | 1 | 8-bit integer | See corresponding chapter | ?? | ?? |
Get the time on the module
Parameters:
[Response frame layout] tv_sec: Number of seconds since the Epoch
[Response frame layout] tv_usec: Number of microseconds since the begin of the second
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Reference number (=register) | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
word count | 2 | 16-bit integer | 4 | 0x0400 | 0x0004 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 12 | 0x0C00 | 0x000C |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Byte count | 2 | 16-bit integer | 8 | 0x0800 | 0x0008 |
tv_sec | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
tv_usec | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x83 | 0x83 | 0x83 |
Exception code | 1 | 8-bit integer | See corresponding chapter | ?? | ?? |
Get the time on the module
Parameters:
[Response frame layout] tv_sec: Number of seconds since the Epoch
[Response frame layout] tv_usec: Number of microseconds since the begin of the second
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Reference number (=register) | 2 | 16-bit integer | 10500 | 0x0429 | 0x2904 |
word count | 2 | 16-bit integer | 4 | 0x0400 | 0x0004 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 11 | 0x0B00 | 0x000B |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Byte count | 1 | 8-bit integer | 8 | 0x08 | 0x08 |
tv_sec | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
tv_usec | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x83 | 0x83 | 0x83 |
Exception code | 1 | 8-bit integer | See corresponding chapter | ?? | ?? |
Permit to test the Customer ID (if the module has the right customer Key )
Parameters:
[Response frame layout] bValueArray: non crypted value array [16 bytes of random data]
[Response frame layout] bCryptedValueArray: Crypted value array [16 bytes of the crypted random data]
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Reference number (=register) | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
word count | 2 | 16-bit integer | 16 | 0x1000 | 0x0010 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 36 | 0x2400 | 0x0024 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Byte count | 2 | 16-bit integer | 32 | 0x2000 | 0x0020 |
bValueArray | 16 | 8-bit integer array | See the description above | 0x??[16] | 0x??[16] |
bCryptedValueArray | 16 | 8-bit integer array | See the description above | 0x??[16] | 0x??[16] |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x83 | 0x83 | 0x83 |
Exception code | 1 | 8-bit integer | See corresponding chapter | ?? | ?? |
Permit to test the Customer ID (if the module has the right customer Key )
Parameters:
[Response frame layout] bValueArray: non crypted value array [16 bytes of random data]
[Response frame layout] bCryptedValueArray: Crypted value array [16 bytes of the crypted random data]
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Reference number (=register) | 2 | 16-bit integer | 10550 | 0x3629 | 0x2936 |
word count | 2 | 16-bit integer | 16 | 0x1000 | 0x0010 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 35 | 0x2300 | 0x0023 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Byte count | 1 | 8-bit integer | 32 | 0x20 | 0x20 |
bValueArray | 16 | 8-bit integer array | See the description above | 0x??[16] | 0x??[16] |
bCryptedValueArray | 16 | 8-bit integer array | See the description above | 0x??[16] | 0x??[16] |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x83 | 0x83 | 0x83 |
Exception code | 1 | 8-bit integer | See corresponding chapter | ?? | ?? |
Returns the values acquired in auto refresh mode.
Parameters:
[Query frame layout] Dummy parameter
[Response frame layout] iReturnValue :
[Response frame layout] ulTimeStampLow : number of microseconds since the begin of the second
[Response frame layout] ulTimeStampHigh : number of seconds since the Epoch
[Response frame layout] ulCounterValue : Array that contain the counter values
[Response frame layout] ulValue : Array that contain the channels values
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Reference number (=register) | 2 | 16-bit integer | 100 | 0x6400 | 0x0064 |
word count | 2 | 16-bit integer | 38 | 0x2600 | 0x0026 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 80 | 0x5000 | 0x0050 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Byte count | 2 | 16-bit integer | 76 | 0x4C00 | 0x004C |
ulTimeStampLow | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulTimeStampHigh | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulCounterValue | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulValue | 64 | 32-bit integer array | See the description above | 0x????????[16] | 0x????????[16] |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x83 | 0x83 | 0x83 |
Exception code | 1 | 8-bit integer | See corresponding chapter | ?? | ?? |
Returns the values acquired in auto refresh mode.
Parameters:
[Query frame layout] Dummy parameter
[Response frame layout] iReturnValue :
[Response frame layout] ulTimeStampLow : number of microseconds since the begin of the second
[Response frame layout] ulTimeStampHigh : number of seconds since the Epoch
[Response frame layout] ulCounterValue : Array that contain the counter values
[Response frame layout] ulValue : Array that contain the channels values
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Reference number (=register) | 2 | 16-bit integer | 1000 | 0xE803 | 0x03E8 |
word count | 2 | 16-bit integer | 38 | 0x2600 | 0x0026 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 79 | 0x4F00 | 0x004F |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Byte count | 1 | 8-bit integer | 76 | 0x4C | 0x4C |
ulTimeStampLow | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulTimeStampHigh | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulCounterValue | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulValue | 64 | 32-bit integer array | See the description above | 0x????????[16] | 0x????????[16] |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x83 | 0x83 | 0x83 |
Exception code | 1 | 8-bit integer | See corresponding chapter | ?? | ?? |
Return the type of the analog input channels
Parameters:
[Query frame layout] ulOption1 Reserved
[Response frame layout] iReturnValue :
[Response frame layout] ulType : Array that contain the channels type (0 : voltage, 1 : current)
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Reference number (=register) | 2 | 16-bit integer | 101 | 0x6500 | 0x0065 |
word count | 2 | 16-bit integer | 34 | 0x2200 | 0x0022 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 72 | 0x4800 | 0x0048 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Byte count | 2 | 16-bit integer | 68 | 0x4400 | 0x0044 |
ulOption01 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulType | 64 | 32-bit integer array | See the description above | 0x????????[16] | 0x????????[16] |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x83 | 0x83 | 0x83 |
Exception code | 1 | 8-bit integer | See corresponding chapter | ?? | ?? |
Return the type of the analog input channels
Parameters:
[Query frame layout] ulOption1 Reserved
[Response frame layout] iReturnValue :
[Response frame layout] ulType : Array that contain the channels type (0 : voltage, 1 : current)
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Reference number (=register) | 2 | 16-bit integer | 1050 | 0x1A04 | 0x041A |
word count | 2 | 16-bit integer | 34 | 0x2200 | 0x0022 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 71 | 0x4700 | 0x0047 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x03 | 0x03 | 0x03 |
Byte count | 1 | 8-bit integer | 68 | 0x44 | 0x44 |
ulOption01 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulType | 64 | 32-bit integer array | See the description above | 0x????????[16] | 0x????????[16] |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x83 | 0x83 | 0x83 |
Exception code | 1 | 8-bit integer | See corresponding chapter | ?? | ?? |
Functions in this group are used to set value on the module.
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
Set the filter time for the hardware trigger in microseconds (max value : 65535 ). 0 disable the filter
Parameters:
[Query frame layout] ulFilterTime: filter time for the hardware trigger = multiplier from 250 ns step (max value : 65535 ).
[Query frame layout] Option: Reserved
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 16 | 0x1000 | 0x0010 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 100 | 0x6400 | 0x0064 |
word count | 2 | 16-bit integer | 4 | 0x0400 | 0x0004 |
byte count | 2 | 16-bit integer | 8 | 0x0800 | 0x0008 |
ulFilterTime | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Reserved | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 100 | 0x6400 | 0x0064 |
word count | 2 | 16-bit integer | 4 | 0x0400 | 0x0004 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Set the filter time for the hardware trigger in microseconds (max value : 65535 ). 0 disable the filter
Parameters:
[Query frame layout] ulFilterTime: filter time for the hardware trigger = multiplier from 250 ns step (max value : 65535 ).
[Query frame layout] Option: Reserved
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 15 | 0x0F00 | 0x000F |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 11000 | 0xF82A | 0x2AF8 |
word count | 2 | 16-bit integer | 4 | 0x0400 | 0x0004 |
byte count | 1 | 8-bit integer | 8 | 0x08 | 0x08 |
ulFilterTime | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Reserved | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 11000 | 0xF82A | 0x2AF8 |
word count | 2 | 16-bit integer | 4 | 0x0400 | 0x0004 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Init and start the synchronisation timer of the module (not already available on all module)
Parameters:
[Query frame layout] ulTimeBase: Time base of the timer (0 for us, 1 for ms, 2 for s)
[Query frame layout] ulReloadValue: Timer reload value (0 to 0xFFFF), minimum reload time is 5 us
[Query frame layout] ulNbrOfCycle: Number of timer cycle
[Query frame layout] ulGenerateTriggerMode:
[Query frame layout] ulOption01:Define the source of the trigger
[Query frame layout] ulOption02:Define the edge of the hardware trigger who generates a trigger action
[Query frame layout] ulOption03:Define the number of trigger events before the action occur
[Query frame layout] ulOption04: Reserved
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 40 | 0x2800 | 0x0028 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 101 | 0x6500 | 0x0065 |
word count | 2 | 16-bit integer | 16 | 0x1000 | 0x0010 |
byte count | 2 | 16-bit integer | 32 | 0x2000 | 0x0020 |
ulTimeBase | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulReloadValue | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulNbrOfCycle | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulGenerateTriggerMode | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption01 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption02 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption03 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption04 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 101 | 0x6500 | 0x0065 |
word count | 2 | 16-bit integer | 16 | 0x1000 | 0x0010 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Init and start the synchronisation timer of the module (not already available on all module)
Parameters:
[Query frame layout] ulTimeBase: Time base of the timer (0 for us, 1 for ms, 2 for s)
[Query frame layout] ulReloadValue: Timer reload value (0 to 0xFFFF), minimum reload time is 5 us
[Query frame layout] ulNbrOfCycle: Number of timer cycle
[Query frame layout] ulGenerateTriggerMode:
[Query frame layout] ulOption01:Define the source of the trigger
[Query frame layout] ulOption02:Define the edge of the hardware trigger who generates a trigger action
[Query frame layout] ulOption03:Define the number of trigger events before the action occur
[Query frame layout] ulOption04: Reserved
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 39 | 0x2700 | 0x0027 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 11050 | 0x2A2B | 0x2B2A |
word count | 2 | 16-bit integer | 16 | 0x1000 | 0x0010 |
byte count | 1 | 8-bit integer | 32 | 0x20 | 0x20 |
ulTimeBase | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulReloadValue | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulNbrOfCycle | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulGenerateTriggerMode | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption01 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption02 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption03 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption04 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 11050 | 0x2A2B | 0x2B2A |
word count | 2 | 16-bit integer | 16 | 0x1000 | 0x0010 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
stop the synchronisation timer (not already available on all module)
Parameters:
[Query frame layout] ulOption01 : Reserved
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 12 | 0x0C00 | 0x000C |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 102 | 0x6600 | 0x0066 |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
byte count | 2 | 16-bit integer | 4 | 0x0400 | 0x0004 |
ulOption01 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 102 | 0x6600 | 0x0066 |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
stop the synchronisation timer (not already available on all module)
Parameters:
[Query frame layout] ulOption01 : Reserved
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 11 | 0x0B00 | 0x000B |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 11100 | 0x5C2B | 0x2B5C |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
byte count | 1 | 8-bit integer | 4 | 0x04 | 0x04 |
ulOption01 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 11100 | 0x5C2B | 0x2B5C |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Ask the MSX-E module to reboot
Parameters:
[Query frame layout] Dummy : Reserved
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 12 | 0x0C00 | 0x000C |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 103 | 0x6700 | 0x0067 |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
byte count | 2 | 16-bit integer | 4 | 0x0400 | 0x0004 |
Dummy | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 103 | 0x6700 | 0x0067 |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Ask the MSX-E module to reboot
Parameters:
[Query frame layout] Dummy : Reserved
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 11 | 0x0B00 | 0x000B |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 11150 | 0x8E2B | 0x2B8E |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
byte count | 1 | 8-bit integer | 4 | 0x04 | 0x04 |
Dummy | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 11150 | 0x8E2B | 0x2B8E |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Permit to set the Customer key
Parameters:
[Query frame layout] bKey : Customer key (only writable on the module) [32 bytes containing a AES key]
[Query frame layout] bPublicKey : IV (Initialisation vector) for the AES cryptography [16 bytes containing a AES key]
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 56 | 0x3800 | 0x0038 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 104 | 0x6800 | 0x0068 |
word count | 2 | 16-bit integer | 24 | 0x1800 | 0x0018 |
byte count | 2 | 16-bit integer | 48 | 0x3000 | 0x0030 |
bKey | 32 | 8-bit integer array | See the description above | 0x??[32] | 0x??[32] |
bPublicKey | 16 | 8-bit integer array | See the description above | 0x??[16] | 0x??[16] |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 104 | 0x6800 | 0x0068 |
word count | 2 | 16-bit integer | 24 | 0x1800 | 0x0018 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Permit to set the Customer key
Parameters:
[Query frame layout] bKey : Customer key (only writable on the module) [32 bytes containing a AES key]
[Query frame layout] bPublicKey : IV (Initialisation vector) for the AES cryptography [16 bytes containing a AES key]
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 55 | 0x3700 | 0x0037 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 11200 | 0xC02B | 0x2BC0 |
word count | 2 | 16-bit integer | 24 | 0x1800 | 0x0018 |
byte count | 1 | 8-bit integer | 48 | 0x30 | 0x30 |
bKey | 32 | 8-bit integer array | See the description above | 0x??[32] | 0x??[32] |
bPublicKey | 16 | 8-bit integer array | See the description above | 0x??[16] | 0x??[16] |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 11200 | 0xC02B | 0x2BC0 |
word count | 2 | 16-bit integer | 24 | 0x1800 | 0x0018 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Starts an autorefresh acquisition using provided configuration.
In the auto refresh mode the measurement value is updated automatically after each acquisition. The analog acquisition is initialised and the values of each channels are stored in memory on the Ethernet E/A module MSX-E301x.
The client reads the data asynchronously to the acquisition via the data socket or a SOAP/MODBUS function.
You can define a mask of all channels that should be acquired.
In the auto refresh mode you can activate the channel average value computation on the module:
You can start the acquisition by a hardware trigger or a synchro trigger.
The hardware trigger can react to a rising wave, falling wave or both edges.
You have the following possibility:
There are two trigger modes:(for the hardware or synchro trigger)
Parameters:
[Query frame layout] ulChannelMask : Mask of the channel to acquire by the auto refresh (1 bit = 1 Channel)
[Query frame layout] pulGainArray : Define the gain (1 or 2) to use for each channel.
[Query frame layout] ulAverageMode : Set the average mode :
[Query frame layout] ulAverageValue : Set the average value (only used, when average is used) :
[Query frame layout] ulConversionTimeUnit : Conversion Time Unit
[Query frame layout] ulConversionTime : Conversion Time
[Query frame layout] ulTriggerMask : Define the source of the trigger
[Query frame layout] ulTriggerMode : Define the trigger mode
[Query frame layout] ulHardwareTriggerEdge : Define the edge of the hardware trigger who generates a trigger action
[Query frame layout] ulHardwareTriggerCount : Define the number of trigger events before the action occur
[Query frame layout] ulByTriggerNbrOfSeqToAcquire : Define the number of sequences to acquire by each trigger event
[Query frame layout] ulDataFormat :
[Query frame layout] ulOption1 : Reserved
[Query frame layout] ulOption2 : Reserved
[Query frame layout] ulOption3 : Reserved
Possible return value on the remote system (read them with GetLastCommandStatus)
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 192 | 0xC000 | 0x00C0 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 1 | 0x0100 | 0x0001 |
word count | 2 | 16-bit integer | 92 | 0x5C00 | 0x005C |
byte count | 2 | 16-bit integer | 184 | 0xB800 | 0x00B8 |
ulChannelMask | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
pulGainArray | 64 | 32-bit integer array | See the description above | 0x????????[16] | 0x????????[16] |
pulPolarityArray | 64 | 32-bit integer array | See the description above | 0x????????[16] | 0x????????[16] |
ulAverageMode | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulAverageValue | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulConversionTime | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulConversionTimeUnit | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulTriggerMask | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulTriggerMode | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulHardwareTriggerEdge | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulHardwareTriggerCount | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulByTriggerNbrOfSeqToAcquire | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulDataFormat | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption1 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption2 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption3 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 1 | 0x0100 | 0x0001 |
word count | 2 | 16-bit integer | 92 | 0x5C00 | 0x005C |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Starts an autorefresh acquisition using provided configuration.
In the auto refresh mode the measurement value is updated automatically after each acquisition. The analog acquisition is initialised and the values of each channels are stored in memory on the Ethernet E/A module MSX-E301x.
The client reads the data asynchronously to the acquisition via the data socket or a SOAP/MODBUS function.
You can define a mask of all channels that should be acquired.
In the auto refresh mode you can activate the channel average value computation on the module:
You can start the acquisition by a hardware trigger or a synchro trigger.
The hardware trigger can react to a rising wave, falling wave or both edges.
You have the following possibility:
There are two trigger modes:(for the hardware or synchro trigger)
Parameters:
[Query frame layout] ulChannelMask : Mask of the channel to acquire by the auto refresh (1 bit = 1 Channel)
[Query frame layout] pulGainArray : Define the gain (1 or 2) to use for each channel.
[Query frame layout] ulAverageMode : Set the average mode :
[Query frame layout] ulAverageValue : Set the average value (only used, when average is used) :
[Query frame layout] ulConversionTimeUnit : Conversion Time Unit
[Query frame layout] ulConversionTime : Conversion Time
[Query frame layout] ulTriggerMask : Define the source of the trigger
[Query frame layout] ulTriggerMode : Define the trigger mode
[Query frame layout] ulHardwareTriggerEdge : Define the edge of the hardware trigger who generates a trigger action
[Query frame layout] ulHardwareTriggerCount : Define the number of trigger events before the action occur
[Query frame layout] ulByTriggerNbrOfSeqToAcquire : Define the number of sequences to acquire by each trigger event
[Query frame layout] ulDataFormat :
[Query frame layout] ulOption1 : Reserved
[Query frame layout] ulOption2 : Reserved
[Query frame layout] ulOption3 : Reserved
Possible return value on the remote system (read them with GetLastCommandStatusEx)
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 191 | 0xBF00 | 0x00BF |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 1100 | 0x4C04 | 0x044C |
word count | 2 | 16-bit integer | 92 | 0x5C00 | 0x005C |
byte count | 1 | 8-bit integer | 184 | 0xB8 | 0xB8 |
ulChannelMask | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
pulGainArray | 64 | 32-bit integer array | See the description above | 0x????????[16] | 0x????????[16] |
pulPolarityArray | 64 | 32-bit integer array | See the description above | 0x????????[16] | 0x????????[16] |
ulAverageMode | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulAverageValue | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulConversionTime | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulConversionTimeUnit | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulTriggerMask | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulTriggerMode | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulHardwareTriggerEdge | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulHardwareTriggerCount | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulByTriggerNbrOfSeqToAcquire | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulDataFormat | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption1 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption2 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption3 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 1100 | 0x4C04 | 0x044C |
word count | 2 | 16-bit integer | 92 | 0x5C00 | 0x005C |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Stops the current autorefresh acquisition.
Must be called before any another call to MSXE302x__AnalogInputInitAndStartAutoRefresh.
Parameters:
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 12 | 0x0C00 | 0x000C |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
byte count | 2 | 16-bit integer | 4 | 0x0400 | 0x0004 |
Dummy | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Stops the current autorefresh acquisition.
Must be called before any another call to MSXE302x__AnalogInputInitAndStartAutoRefresh.
Parameters:
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 11 | 0x0B00 | 0x000B |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 1150 | 0x7E04 | 0x047E |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
byte count | 1 | 8-bit integer | 4 | 0x04 | 0x04 |
Dummy | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 1150 | 0x7E04 | 0x047E |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Initialise and start the analog input sequence acquisition mode
This function is not available for the S7. See function MSXE302x__AnalogInputInitAndStartSequenceTrimed.
A sequence is a list of channels (max 16) that are acquired. It can be any order of the channels in this list.
There are different sequence modes
You can start the acquisition by a hardware or synchro trigger.
The hardware trigger can react to a rising, falling or both edges.You have the following possibility:
There are two trigger modes:(for the hardware or synchro trigger)
Parameters:
[Query frame layout] ulNbrOfChannel : nbr of channel in the sequence
[Query frame layout] pulChannelList : list of the channel who compose the sequence
[Query frame layout] pulGainArray : Define the gain (1 or 2) to use for each channel.
[Query frame layout] pulPolarityArray : Define the polarity (0:Unipolar or 1:Bipolar) to use for each channel
Each index of the array correspond to the channel :
sample :
[Query frame layout] ulConversionTime : Conversion Time (min 10 us or 40 us)
[Query frame layout] ulConversionTimeUnit : Conversion Time Unit
[Query frame layout] ulNbrOfSequence : Number of sequence to acquire :
[Query frame layout] ulNbrMaxSequenceToTransfer : Max nbr of sequence to acquire before a data transfer : (1,65535)
[Query frame layout] ulDelayMode : Delay Mode :
[Query frame layout] ulDelayTimeUnit : Selection of the time unit
[Query frame layout] ulDelayValue : Delay Value : (1..0xFFFF)
[Query frame layout] ulTriggerMask : Define the source of the trigger
[Query frame layout] ulTriggerMode : Define the trigger mode
[Query frame layout] ulHardwareTriggerEdge : Define the edge of the hardware trigger who generate a trigger action
[Query frame layout] ulHardwareTriggerCount : Define the number of trigger events before the action occur
[Query frame layout] ulByTriggerNbrOfSeqToAcquire : define the number of sequences to acquire by each trigger event
[Query frame layout] ulDataFormat : Data format option
[Query frame layout] ulOption1 : Reserved
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 260 | 0x0401 | 0x0104 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
word count | 2 | 16-bit integer | 126 | 0x7E00 | 0x007E |
byte count | 2 | 16-bit integer | 252 | 0xFC00 | 0x00FC |
ulNbrOfChannel | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
pulChannelList | 64 | 32-bit integer array | See the description above | 0x????????[16] | 0x????????[16] |
pulGainArray | 64 | 32-bit integer array | See the description above | 0x????????[16] | 0x????????[16] |
pulPolarityArray | 64 | 32-bit integer array | See the description above | 0x????????[16] | 0x????????[16] |
ulConversionTime | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulConversionTimeUnit | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulNbrOfSequence | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulNbrMaxSequenceToTransfer | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulDelayMode | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulDelayTimeUnit | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulDelayValue | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulTriggerMask | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulTriggerMode | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulHardwareTriggerEdge | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulHardwareTriggerCount | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulByTriggerNbrOfSeqToAcquire | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulDataFormat | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption1 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
word count | 2 | 16-bit integer | 126 | 0x7E00 | 0x007E |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Initialise and start the analog input sequence acquisition mode
This function is not available for the S7. See function MSXE302x__AnalogInputInitAndStartSequenceTrimed.
A sequence is a list of channels (max 16) that are acquired. It can be any order of the channels in this list.
There are different sequence modes
You can start the acquisition by a hardware or synchro trigger.
The hardware trigger can react to a rising, falling or both edges.You have the following possibility:
There are two trigger modes:(for the hardware or synchro trigger)
Parameters:
[Query frame layout] ulNbrOfChannel : nbr of channel in the sequence
[Query frame layout] pulChannelList : list of the channel who compose the sequence
[Query frame layout] pulGainArray : Define the gain (1 or 2) to use for each channel.
[Query frame layout] pulPolarityArray : Define the polarity (0:Unipolar or 1:Bipolar) to use for each channel
Each index of the array correspond to the channel :
sample :
[Query frame layout] ulConversionTime : Conversion Time (min 10 us or 40 us)
[Query frame layout] ulConversionTimeUnit : Conversion Time Unit
[Query frame layout] ulNbrOfSequence : Number of sequence to acquire :
[Query frame layout] ulNbrMaxSequenceToTransfer : Max nbr of sequence to acquire before a data transfer : (1,65535)
[Query frame layout] ulDelayMode : Delay Mode :
[Query frame layout] ulDelayTimeUnit : Selection of the time unit
[Query frame layout] ulDelayValue : Delay Value : (1..0xFFFF)
[Query frame layout] ulTriggerMask : Define the source of the trigger
[Query frame layout] ulTriggerMode : Define the trigger mode
[Query frame layout] ulHardwareTriggerEdge : Define the edge of the hardware trigger who generate a trigger action
[Query frame layout] ulHardwareTriggerCount : Define the number of trigger events before the action occur
[Query frame layout] ulByTriggerNbrOfSeqToAcquire : define the number of sequences to acquire by each trigger event
[Query frame layout] ulDataFormat : Data format option
[Query frame layout] ulOption1 : Reserved
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 259 | 0x0301 | 0x0103 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 1200 | 0xB004 | 0x04B0 |
word count | 2 | 16-bit integer | 126 | 0x7E00 | 0x007E |
byte count | 1 | 8-bit integer | 252 | 0xFC | 0xFC |
ulNbrOfChannel | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
pulChannelList | 64 | 32-bit integer array | See the description above | 0x????????[16] | 0x????????[16] |
pulGainArray | 64 | 32-bit integer array | See the description above | 0x????????[16] | 0x????????[16] |
pulPolarityArray | 64 | 32-bit integer array | See the description above | 0x????????[16] | 0x????????[16] |
ulConversionTime | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulConversionTimeUnit | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulNbrOfSequence | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulNbrMaxSequenceToTransfer | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulDelayMode | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulDelayTimeUnit | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulDelayValue | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulTriggerMask | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulTriggerMode | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulHardwareTriggerEdge | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulHardwareTriggerCount | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulByTriggerNbrOfSeqToAcquire | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulDataFormat | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption1 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 1200 | 0xB004 | 0x04B0 |
word count | 2 | 16-bit integer | 126 | 0x7E00 | 0x007E |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Stops the current sequence acquisition.
Must be called before any another call to MSXE302x__AnalogInputInitAndStartSequence.
Parameters:
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 12 | 0x0C00 | 0x000C |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 4 | 0x0400 | 0x0004 |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
byte count | 2 | 16-bit integer | 4 | 0x0400 | 0x0004 |
Dummy | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 4 | 0x0400 | 0x0004 |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Stops the current sequence acquisition.
Must be called before any another call to MSXE302x__AnalogInputInitAndStartSequence.
Parameters:
Returns:
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 11 | 0x0B00 | 0x000B |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 1250 | 0xE204 | 0x04E2 |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
byte count | 1 | 8-bit integer | 4 | 0x04 | 0x04 |
Dummy | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 1250 | 0xE204 | 0x04E2 |
word count | 2 | 16-bit integer | 2 | 0x0200 | 0x0002 |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Initialise and start the analog input sequence acquisition mode
This function performs the same as MSXE302x__AnalogInputInitAndStartSequence, but has parameters with smaller types that allows it to be compliant with Schneider Electric MODBUS standard.
Available from OS revision 5492.
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 92 | 0x5C00 | 0x005C |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 5 | 0x0500 | 0x0005 |
word count | 2 | 16-bit integer | 42 | 0x2A00 | 0x002A |
byte count | 2 | 16-bit integer | 84 | 0x5400 | 0x0054 |
ulNbrOfChannel | 1 | 8-bit integer | See the description above | 0x?? | 0x?? |
pulChannelList | 16 | 8-bit integer array | See the description above | 0x??[16] | 0x??[16] |
pulGainArray | 16 | 8-bit integer array | See the description above | 0x??[16] | 0x??[16] |
pulPolarityArray | 16 | 8-bit integer array | See the description above | 0x??[16] | 0x??[16] |
ulConversionTime | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulConversionTimeUnit | 1 | 8-bit integer | See the description above | 0x?? | 0x?? |
ulNbrOfSequence | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulNbrMaxSequenceToTransfer | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulDelayMode | 2 | 16-bit integer | See the description above | 0x???? | 0x???? |
ulDelayTimeUnit | 1 | 8-bit integer | See the description above | 0x?? | 0x?? |
ulDelayValue | 2 | 16-bit integer | See the description above | 0x???? | 0x???? |
ulTriggerMask | 1 | 8-bit integer | See the description above | 0x?? | 0x?? |
ulTriggerMode | 1 | 8-bit integer | See the description above | 0x?? | 0x?? |
ulHardwareTriggerEdge | 1 | 8-bit integer | See the description above | 0x?? | 0x?? |
ulHardwareTriggerCount | 2 | 16-bit integer | See the description above | 0x???? | 0x???? |
ulByTriggerNbrOfSeqToAcquire | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulDataFormat | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption1 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 5 | 0x0500 | 0x0005 |
word count | 2 | 16-bit integer | 42 | 0x2A00 | 0x002A |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Initialise and start the analog input sequence acquisition mode
This function performs the same as MSXE302x__AnalogInputInitAndStartSequence, but has parameters with smaller types that allows it to be compliant with Schneider Electric MODBUS standard.
Available from OS revision 5492.
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 91 | 0x5B00 | 0x005B |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 1254 | 0xE604 | 0x04E6 |
word count | 2 | 16-bit integer | 42 | 0x2A00 | 0x002A |
byte count | 1 | 8-bit integer | 84 | 0x54 | 0x54 |
ulNbrOfChannel | 1 | 8-bit integer | See the description above | 0x?? | 0x?? |
pulChannelList | 16 | 8-bit integer array | See the description above | 0x??[16] | 0x??[16] |
pulGainArray | 16 | 8-bit integer array | See the description above | 0x??[16] | 0x??[16] |
pulPolarityArray | 16 | 8-bit integer array | See the description above | 0x??[16] | 0x??[16] |
ulConversionTime | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulConversionTimeUnit | 1 | 8-bit integer | See the description above | 0x?? | 0x?? |
ulNbrOfSequence | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulNbrMaxSequenceToTransfer | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulDelayMode | 2 | 16-bit integer | See the description above | 0x???? | 0x???? |
ulDelayTimeUnit | 1 | 8-bit integer | See the description above | 0x?? | 0x?? |
ulDelayValue | 2 | 16-bit integer | See the description above | 0x???? | 0x???? |
ulTriggerMask | 1 | 8-bit integer | See the description above | 0x?? | 0x?? |
ulTriggerMode | 1 | 8-bit integer | See the description above | 0x?? | 0x?? |
ulHardwareTriggerEdge | 1 | 8-bit integer | See the description above | 0x?? | 0x?? |
ulHardwareTriggerCount | 2 | 16-bit integer | See the description above | 0x???? | 0x???? |
ulByTriggerNbrOfSeqToAcquire | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulDataFormat | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
ulOption1 | 4 | 32-bit integer | See the description above | 0x???????? | 0x???????? |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 6 | 0x0600 | 0x0006 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x10 | 0x10 | 0x10 |
Reference number (=register) | 2 | 16-bit integer | 1254 | 0xE604 | 0x04E6 |
word count | 2 | 16-bit integer | 42 | 0x2A00 | 0x002A |
Field | Size (Bytes) | Type | Value | little endian (Intel) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x90 | 0x90 | 0x90 |
Exception code | 1 | 8-bit integer | See corresponding chapter | 0x?? | 0x?? |
Functions in this group are used to read/write values on the module.
This functions permits to call a write (FC16) and then a read(FC3) function in one command.
Field | Size (Bytes) | Type | Value | little endian (Motorola) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | Depends to the FC16 function called | ? | ? |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x17 | 0x17 | 0x17 |
Reference number for read (=register) | 2 | 16-bit integer | FC3 reference | ? | ? |
Word count for read | 2 | 16-bit integer | See the corresponding FC3 function | ? | ? |
Reference number for write (=register) | 2 | 16-bit integer | FC16 reference | ? | ? |
Word count for write | 2 | 16-bit integer | See the corresponding FC16 function | ? | ? |
Byte count | 1 | 8-bit integer | (= 2xWord count for write) | ? | ? |
Register values | ? | ? | See the corresponding FC16 function | ? | ? |
Field | Size (Bytes) | Type | Value | little endian (Motorola) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | Depends to the FC3 function called | ? | ? |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x17 | 0x17 | 0x17 |
Byte count | 1 | 8-bit integer | (= 2x word count for read) | ? | ? |
Register values | ? | ? | See the corresponding FC3 function | ? | ? |
Field | Size (Bytes) | Type | Value | little endian (Motorola) | big endian (Motorola) |
---|---|---|---|---|---|
transaction identifier | 2 | 16-bit integer | User defined - copied by server - usually 0 | 0x0000 | 0x0000 |
protocol identifier | 2 | 16-bit integer | 0 | 0x0000 | 0x0000 |
length | 2 | 16-bit integer | 3 | 0x0300 | 0x0003 |
unit identifier | 1 | 8-bit integer | 0 or 1 | 0x00 or 0x01 | 0x00 or 0x01 |
MODBUS Function code | 1 | 8-bit integer | 0x97 | 0x97 | 0x97 |
Exception code | 1 | 8-bit integer | See corresponding chapter | ?? | ?? |
Name | Value | Description |
---|---|---|
MODBUS_ILLEGAL_FUNCTION | 0x1 | function code is not allowable action for the slave |
MODBUS_ILLEGAL_DATA_ADDRESS | 0x2 | data address received in query is not allowable |
MODBUS_ILLEGAL_DATA_VALUE | 0x3 | incorrect value int the query data field or the length is incorrect |
MODBUS_ILLEGAL_DATA_RESPONSE_LENGTH | 0x4 | the request as framed would generate a response whose size exceeds the available MODBUS datasize. |
MODBUS_ACKNOWLEDGE | 0x5 | specialized use in conjunction with programming commands |
MODBUS_DSLAVE_DEVICE_BUSY | 0x6 | specialized use in conjunction with programming commands |
MODBUS_NEGATIVE_ACKNOWLEDGE | 0x07 | specialized use in conjunction with programming commands |
MODBUS_MEMORY_PARITY_ERROR | 0x08 | the extended file area failed to pass a consistency check |
MODBUS_REMOTE_EXECUTION_ERROR | 0x09 | the remote function performed incorrectly (use function GetLastCommandStatus to know why) |
MODBUS_GATEWAY_PATH_UNAVAILABLE | 0x0A | used with modbus plus gateway |
MODBUS_GATEWAY_TARGET_DEVICE_FAILED_TO_RESPOND | 0x0B | used with modbus plus gateway |
Due to limitations of the S7 platform, some names of function and parameter have been shortened in the AWL and S7 code. This table summarizes the changes against the standard version as described above.
Function/Parameter | Renamed as |
---|---|
MXCommon__GetModuleType | GetModuleType |
MXCommon__GetTime | GetTime |
MXCommon__TestCustomerID | TestCustomerID |
MSXE302x__AnalogInputGetAutoRefreshValues | 301x_AIGetAutoRefVal |
MSXE302x__AnalogInputGetChannelType | 301x_AIGetChannelType |
MXCommon__SetHardwareTriggerFilterTime | SetHwTrigFiltTime |
MXCommon__InitAndStartSynchroTimer | InitStartSyncTimer |
MXCommon__StopAndReleaseSynchroTimer | StopRelSyncTimer |
MXCommon__Reboot | Reboot |
MXCommon__SetCustomerKey | SetCustomerKey |
MSXE302x__AnalogInputInitAndStartAutoRefresh | 301x_AIIniStaAutoRef |
ulByTriggerNbrOfSeqToAcquire | ulByTrigNbrOfSeqToAcq |
MSXE302x__AnalogInputStopAndReleaseAutoRefresh | 301x_AIStopRelAutoRef |
MSXE302x__AnalogInputInitAndStartSequence | not available |
MSXE302x__AnalogInputStopAndReleaseSequence | 301x_AIStopRelSeq |
MSXE302x__AnalogInputInitAndStartSequenceTrimed | 301x_AIInitStartSeq |
ulNbrMaxSequenceToTransfer | ulNbrMaxSeqToTransf |
ulByTriggerNbrOfSeqToAcquire | ulByTrigNbrOfSeqToAcq |