Overview
Modbus TCP is the recommended protocol for most PLC integrations. It provides a simple, standardized way to exchange data with virtually any industrial controller.
Modbus TCP is supported by PLCs from Siemens, Allen-Bradley, ABB, Schneider, Festo, Beckhoff, and many others. It's the most portable integration option.
Configuration
Connection Settings
-
Open PLC Configuration
Go to Settings > PLC Configuration
-
Select Protocol
Choose Modbus TCP from the Protocol dropdown
-
Configure Connection
Connection Parameters
IP Address 192.168.1.100PLC IP address Port 502Standard Modbus port Slave ID 1Usually 1 or 255 for TCP Timeout 3000Connection timeout (ms)
Register Map
Configure the Modbus register addresses for data exchange:
Setpoint Registers (Write)
| Register | Count | Type | Description |
|---|---|---|---|
| 0 | 96 | Float | Zone 1-48 Setpoints (0-100%) |
| 100 | 48 | Int16 | Zone 1-48 Mode (0=Auto, 1=Manual) |
| 150 | 1 | Int16 | Global Mode |
| 151 | 1 | Int16 | Heartbeat Counter |
Feedback Registers (Read)
| Register | Count | Type | Description |
|---|---|---|---|
| 200 | 96 | Float | Zone 1-48 Feedbacks (0-100%) |
| 300 | 48 | Int16 | Zone 1-48 Status |
| 350 | 1 | Int16 | System Status |
The register addresses above are examples. Configure the actual addresses to match your PLC programming. Document your register map for future reference.
Configuring Register Addresses
Register Configuration
| Setpoint Start Register | 0 |
| Feedback Start Register | 200 |
| Status Start Register | 300 |
| Number of Zones | 48 |
| Data Type | Float 32-bit |
Data Types
Float 32-bit
Position values (setpoints and feedbacks) are typically stored as IEEE 754 32-bit floating point numbers, using 2 Modbus registers per value.
Float Configuration
| Byte Order | Big Endian |
Most PLCs |
| Word Order | High-Low |
High word first |
Int16
Mode and status values use 16-bit integers (1 register per value).
Communication Timing
| Parameter | Value | Description |
|---|---|---|
| Write Interval | 500 ms | How often setpoints are written |
| Read Interval | 500 ms | How often feedbacks are read |
| Connection Timeout | 3000 ms | Max wait for response |
| Retry Count | 3 | Retries before error |
Testing
-
Test Connection
Click Test Connection in PLC Configuration. Verify "Connection successful".
-
Verify Feedbacks
Check that feedback values are reading correctly (0-100% range).
-
Test Manual Control
In Manual mode, adjust a zone setpoint and verify the valve moves.
-
Verify All Zones
Test several zones across the range to ensure all are communicating.
Troubleshooting
| Problem | Cause | Solution |
|---|---|---|
| Connection timeout | Network issue | Check IP, ping PLC, verify port 502 |
| Exception 02 | Invalid register address | Verify register map in PLC |
| Wrong values | Byte order mismatch | Toggle endian/word order settings |
| Values not updating | Wrong function code | Use FC3 for holding registers |