Modbus TCP Integration

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.

Universal Protocol

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

  1. Open PLC Configuration

    Go to Settings > PLC Configuration

  2. Select Protocol

    Choose Modbus TCP from the Protocol dropdown

  3. Configure Connection

    Connection Parameters

    IP Address 192.168.1.100 PLC IP address
    Port 502 Standard Modbus port
    Slave ID 1 Usually 1 or 255 for TCP
    Timeout 3000 Connection 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
Custom Register Map

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

  1. Test Connection

    Click Test Connection in PLC Configuration. Verify "Connection successful".

  2. Verify Feedbacks

    Check that feedback values are reading correctly (0-100% range).

  3. Test Manual Control

    In Manual mode, adjust a zone setpoint and verify the valve moves.

  4. 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