Skip to content

Modbus TCP Server ​

注意:Modbus TCP Server 功能只在 TKG(网关运行 TKL)和 TKE(边缘侧服务器)中支持,云平台不支持此功能。

ThinkLink 内置 Modbus TCP Server,可将设备的遥测数据、属性暴露为 Modbus 寄存器,供 SCADA、HMI 等工业系统以标准 Modbus TCP 协议读取。同时,第三方系统向寄存器写值时,ThinkLink 可自动触发绑定的 RPC 向下游设备下发指令,实现双向联动。

Modbus TCP Server 寄存器映射列表

数据流向 ​

ThinkLink 设备上报遥测 / 属性变更
        ↓
Modbus 寄存器自动更新
        ↑(读寄存器)
SCADA / HMI / PLC(Modbus TCP Client)
        ↓(写寄存器)
ThinkLink 触发绑定的 RPC → 下发指令给 IoT 设备

配置步骤 ​

第一步:启动 Modbus TCP Server ​

  1. 确认系统管理员已在系统配置 → 组织服务使用权限允许 ModbusTcpServer。
  2. 进入当前组织的系统管理 → 服务器配置 → Modbus TCP Server。
  3. 配置监听端口(通常为 502),点击“提交”,再点击“重启”。
  4. 刷新并核对运行状态与错误信息。

2.00.077 起,关闭全局 Modbus 权限会停止服务,禁止访问点表和服务配置,也不能手动启动或自动恢复。配置与点表保留;重新允许后需手动“重启”。保存配置不会改变服务的实际运行状态,停止服务会保留已保存的配置。

同一运行实例只为一个组织提供 Modbus 服务;切换服务组织会替换原实例,不应在同一进程靠不同端口实现多组织并行。

第二步:在设备上启用 Modbus 映射 ​

在设备管理中打开目标设备的配置详情:

  1. 切换到基本信息 Tab
  2. 将 modbus_tcp 开关设为 TRUE
  3. 保存设备配置

只有启用了 modbus_tcp 的设备,其数据才会被映射到寄存器地址空间。

第三步:配置寄存器映射 ​

进入运维管理 → Modbus TCP 的寄存器列表,为已启用的设备添加寄存器映射条目:

配置项说明
设备 EUI选择要映射数据的目标设备
寄存器类型coils(线圈,1 bit 读写)/ discrete_inputs(离散输入,1 bit 只读)/ holding_registers(保持寄存器,16 bit 读写)/ input_registers(输入寄存器,16 bit 只读)
寄存器地址十六进制地址;ThinkLink 自动检测冲突,同一类型内地址不可重复
数据来源映射到设备的哪个数据源:telemetry_data(遥测数据)/ shared_attrs(共享属性)/ server_attrs(服务端属性)
字段路径(name_path)具体字段名,支持多级路径,如 temperature、sensor.value
数值类型选择具体编码类型:string、boolean、Int16LE、Int16BE、Int32LE、Int32BE、FloatLE、FloatBE、DoubleLE、DoubleBE;界面没有通用 number 选项
RPC 绑定可选。绑定后,当 Modbus Client 写该寄存器时,ThinkLink 自动触发指定 RPC 向设备下发指令

新增表单的填写约束 ​

寄存器类型、寄存器地址、Eui、数据来源、子属性路径和数值类型均标为必填。寄存器地址以十六进制填写,寄存器个数以十进制显示,两者不要混用。

“寄存器个数”由类型联动计算。例如选择 FloatBE 后显示为 2,且不可手工修改。LE / BE 是编码选择,需与读取方的字节解释方式一致。分配后续地址时应考虑整个占用长度,不能只核对起始地址。

数据来源、物模型和子属性路径共同确定具体字段;先确定设备和来源,再选择字段。默认值可选。基础新增窗口未提供直接填写 RPC 的输入框,有写控制需求时,应同时核对物模型的 Modbus 映射及 RPC 绑定配置。

读写行为说明 ​

  • Client 读取寄存器时,ThinkLink 返回该寄存器映射的设备字段当前值
  • 值在设备每次上报数据后自动更新,无需额外配置轮询
  • Client 写寄存器,该寄存器必须绑定了 RPC
  • ThinkLink 收到写操作后,自动以写入值作为参数调用绑定的 RPC
  • RPC 将指令通过 LoRaWAN 或 MQTT 下发给设备

典型用途:SCADA 系统通过写 holding_registers 修改设备的采样间隔,ThinkLink 触发"设置采样间隔"RPC 下发到设备。

导出点表 ​

Modbus 点表(寄存器地址映射表)可以导出为 Excel,用于交付给第三方系统集成商,也可从 Excel 导入批量配置。

  1. 在 Modbus 寄存器列表页点击"导出",下载当前所有寄存器映射
  2. 按需修改后点击"导入"批量写入(已存在 ID 的条目会被覆盖更新)

在正式部署前,通常需要将点表提供给 BMS/SCADA 的集成商,以便对方配置 Modbus Client 的点位地址。ThinkLink 的导出文件包含对象类型、地址、名称、描述、数据类型、单位、读写权限等完整信息。

相关文档 ​

  • 在物模型中配置 BACnet 字段 → BACnet
  • 设备开启 modbus_tcp 开关 → 设备管理