Skip to main content

Modbus TCP Direct

1. Functional Overview

ThingsPanel's Modbus TCP access service supports direct connection to industrial devices, automatically collecting data and reporting to the platform. Key features:

  • Visual Configuration: Web interface to configure device parameters and data address tables.
  • Smart Polling: Flexible data collection strategies and cycle configuration.
  • Device Control: Supports writing to coils and registers for control.
  • Connection Management: Automatic reconnection, connection pool management, status monitoring.

2. Quick Start

Prerequisite: Modbus TCP connectivity service is deployed and registered to the platform.

2.1 Prepare Device Information

Collect the following device information before configuration:

ParameterDescriptionExample
IP AddressDevice IP Address192.168.1.100
PortModbus TCP Port502
Slave IDDevice SlaveID1
Data AddressRegister Address Range40001-40010

2.2 Create Device Template

Create Device Template

  1. Go to Device Connectivity - Device Templates.
  2. Select Access Type: Direct Device.
  3. Select Modbus TCP (Direct), set Authentication Type to None.
  4. Fill in Collection Interval, enable Address Merge Optimization if needed.
  5. Configure Collection Parameters as follows:
Config DataDescriptionExample
Data Point NameUnique Identifiertemperature
Function CodeModbus Function Code03 (Read Holding Registers)
Start AddressRegister Address40001
Data TypeData Parsing TypeFloat32
EndiannessBig/Little EndianBig Endian
Scaling FactorOptional, Value Scaling0.1
UnitOptional°C

2.3 Create Device

Create Device

  1. Go to Device Connectivity - Device ManagementAdd Device.
  2. Fill in device name, select device type: The device template created in the previous step.
  3. Enter Device Details, select the Connection tab, fill in Device IP, Port, Slave ID, and Save.
Device IP: 192.168.1.100
Port: 502
Slave ID: 1

3. Data Address Table Configuration

3.1 Add Data Points

Click Data Address TableAdd Data Point to configure parameters:

Config ItemDescriptionExample
Data Point NameUnique Identifiertemperature
Function CodeModbus Function Code03 (Read Holding Register)
Start AddressRegister Address40001
Data LengthRegister Quantity2
Data TypeData Parsing TypeFloat32
EndiannessBig/Little EndianBig Endian
Scaling FactorValue Scaling0.1

3.2 Supported Function Codes

Function CodeDescriptionAddress Range
01/05Read/Write Coil Status00001-09999
02Read Discrete Input10001-19999
03/06Read/Write Holding Register40001-49999
04Read Input Register30001-39999

3.3 Data Types

TypeRegisters OccupiedDescription
Bool1Boolean
Int16116-bit Signed Integer
UInt16116-bit Unsigned Integer
Int32232-bit Signed Integer
UInt32232-bit Unsigned Integer
Float32232-bit Float
Float64464-bit Float

4. Device Control

4.1 Supported Control Types

  • Coil Control: Function Code 05 (Single Coil)
  • Register Control: Function Code 06 (Single Register), 16 (Multiple Registers)

4.2 Control Operations

Real-time control can be performed from the platform by sending control commands using the configured data point names:

{
"temperature": 15.2,
"switch": 1,
"speed": 1200
}

Explanation:

  • temperature: Set target temperature value
  • switch: Control switch state (0=OFF, 1=ON)

5. Troubleshooting

5.1 Common Issues

IssuePossible CauseSolution
Device DisconnectedNetwork unreachable, IP errorCheck network, confirm device IP
Read FailAddress error, unsupported function codeCheck register address and function code
Data AbnormalData type error, endianness errorConfirm data type and endianness
Control FailDevice read-only, permission deniedCheck write permission and function code support

5.2 Debugging Suggestions

  1. Step-by-step: Configure a few data points first, then add more.
  2. Tools: Use Modbus tools to verify communication.
  3. Logs: Check system logs for detailed errors.
  4. Network: Use ping to test connectivity.

6. Performance Optimization

6.1 Address Merge Optimization

Enable address merge optimization to improve efficiency:

  • Continuous Addresses: System automatically merges continuous register addresses.
  • Reduce Requests: Reduces Modbus request count, improving response speed.
  • Suggestion: Configure related data points in continuous address ranges.

6.2 Collection Cycle Setting

Set appropriate collection cycles:

  • High Frequency: Important parameters (1-5s).
  • Normal: General parameters (10-30s).
  • Status: Slowly changing parameters (60s+).

References

ThingsPanel Modbus TCP Direct Access [Video]