Comprehensive guide for integrating Proxus with Modbus TCP devices for industrial data acquisition, including detailed parameter configurations, address formats, and data type specifications.
Parameter | Description | Default Value | Range/Format | Required |
---|---|---|---|---|
Host | IP address of the Modbus TCP device | - | IPv4 format | Yes |
Port | TCP port number for Modbus communication | 502 | 1-65535 | No |
ReadingFrequency | Interval between reading cycles (ms) | 1000 | 100-60000 | No |
ConnectTimeOut | Connection timeout duration (ms) | 1000 | 500-30000 | No |
ReceiveTimeOut | Response timeout duration (ms) | 1000 | 500-30000 | No |
DataFormat | Byte order for multi-register data | ABCD | ABCD, BADC, CDAB, DCBA | No |
Component | Description | Default | Example |
---|---|---|---|
s=station | Modbus station/slave ID | 1 | s=2 |
x=function | Read function code | 3 | x=4 |
address | Register or coil number | - | 100 |
.bit | Specific bit within a register | - | .5 |
Function Code | Operation | Address Prefix | Description |
---|---|---|---|
01 | Read Coils | x=1; | Read discrete output coil status |
02 | Read Discrete Inputs | x=2; | Read discrete input contact status |
03 | Read Holding Registers | (default) | Read holding register values |
04 | Read Input Registers | x=4; | Read input register values |
Address Format | Description | Function Code |
---|---|---|
100 | Holding register 100 | 03 |
s=2;100 | Register 100 on station 2 | 03 |
x=4;100 | Input register 100 | 04 |
s=2;x=4;100 | Input register 100 on station 2 | 04 |
100.0 | Bit 0 of holding register 100 | 03 |
x=2;100 | Discrete input 100 | 02 |
x=1;100 | Coil 100 | 01 |
Data Type | Size (Registers) | Size (Bytes) | Description | Range |
---|---|---|---|---|
Bool | - | 1 bit | Boolean value (coil/discrete) | true/false |
Short | 1 | 2 bytes | Signed short integer | -32,768 to 32,767 |
UShort | 1 | 2 bytes | Unsigned short integer | 0 to 65,535 |
Int | 2 | 4 bytes | Signed integer | -2,147,483,648 to 2,147,483,647 |
UInt | 2 | 4 bytes | Unsigned integer | 0 to 4,294,967,295 |
Float | 2 | 4 bytes | Single-precision floating point | IEEE 754 single precision |
Long | 4 | 8 bytes | Signed long integer | Large signed integer values |
ULong | 4 | 8 bytes | Unsigned long integer | Large unsigned integer values |
Double | 4 | 8 bytes | Double-precision floating point | IEEE 754 double precision |
DateTime | 4 | 8 bytes | Date and time value | Date and time representation |
Data Type | Description | Length Usage | Calculation |
---|---|---|---|
String | Variable-length string for text data | Required | Characters = Length × 2 |
Bytes | Variable-length byte data for binary data | Required | Bytes = Length × 2 |
.bit
to the address:
Issue | Possible Cause | Solution |
---|---|---|
Connection Timeout | Network connectivity, wrong IP/port | Verify network settings and device availability |
Connection Refused | Device not responding, firewall blocking | Check device status and network configuration |
Intermittent Disconnections | Network instability, timeout settings | Adjust timeout values and check network stability |
Issue | Possible Cause | Solution |
---|---|---|
Invalid Address | Address doesn’t exist on device | Check device documentation for valid address ranges |
Data Format Error | Wrong byte order for multi-register values | Adjust DataFormat parameter (ABCD, BADC, etc.) |
Function Code Error | Device doesn’t support function code | Try different function codes (03, 04, 01, 02) |
Length Parameter Error | Wrong Length for String/Bytes | Set correct Length value for variable data types |
Address Range Error | Length exceeds available registers | Reduce Length or check device memory map |
Memory Area | Function Code | Address Prefix | Data Types | Typical Use |
---|---|---|---|---|
Coils | 01 | x=1; | Bool | Digital outputs status |
Discrete Inputs | 02 | x=2; | Bool | Digital inputs status |
Holding Registers | 03 | (default) | All types | Process variables, setpoints |
Input Registers | 04 | x=4; | All types | Sensor readings, measurements |