Skip to content

1.2 串口设备采集 ​

「串口设备」页用来采集挂在设备串口上的第三方从机:Modbus 仪表、DL/T645 电表、三菱 FX PLC。采集到的数据写进指定的 PLC 寄存器,之后可以被云交互上云、被梯形图或逻辑编程读取参与控制。

怎么配 ​

路径:上位机 → 设备详情页 → DTU 功能 → 串口设备 → 打开「启用串口设备」→「增加串口」。一路串口一张卡片。

配置是三层的:先定这路串口的通信参数,再在它下面挂从机,最后给每台从机配采集点。

串口采集的三层结构:串口 → 子设备 → 采集点,采集点写进 D 寄存器

串口本身的参数 ​

字段说明
串口号用设备上的第几路串口
波特率300 ~ 115200,要和从机一致
校验无校验 / 奇 / 偶,要和从机一致
数据位7bit / 8bit
停止位1bit / 2bit
轮询时间(ms)轮询该路串口上所有从机的间隔时间

每路串口下挂子设备 ​

字段说明
设备类型Modbus / DL/T645 / FX PLC
协议类型RTU / ASCII
设备地址从机站号
浮点解码顺序字节序 AB / BA,双字序 ABCD / CDAB / BADC / DCBA
接收超时(ms)等待应答的时间

再配采集点 ​

为每个采集点配置数据区、地址、数据类型(S16 / U16 / …)、读写权限,以及采集到的值写入哪个寄存器。

串口设备:一路串口挂一个 Modbus 子设备

配完要点 💾 写入配置 → 🔄 重启生效。

三种现场协议 ​

协议通道配置要点
Modbus RTU从站序号、数据区(0/1 区对应 PLC 的 M,3/4 区对应 PLC 的 D)、寄存器地址、数据类型、读写方向
DL/T645 电表电表数据标识 + 落地的 PLC 寄存器 D
三菱 FX源寄存器、目标寄存器、类型、读写方向

Modbus 数据区与 PLC 寄存器映射:0/1 区 → M 区(位),3/4 区 → D 区(字)

浮点数读出来是乱码?先换字节序 ​

Modbus 浮点数没有统一标准,不同厂家的仪表字节序不同。

Modbus 浮点数字节序:同一个 32 位值,4 字节排列顺序不同,多数国产仪表使用 CDAB

读到的值明显异常时先改字节序

表现为极大值、恒为 0、或正负乱跳。通常是双字序设置不符:把 ABCD 改成 CDAB 再试,多数国产仪表使用后者。

轮询时间和接收超时要配合 ​

轮询时间与接收超时的关系:轮询时间 ≥ 从机数 × 接收超时,否则请求堆积导致采集卡死

轮询时间不能短于"所有从机应答一遍的总时间"

否则请求会堆积,表现为采集变慢甚至整路串口卡死。估算方式:

轮询时间 ≥ 从机数 × 接收超时

仪表数量较多时,把轮询时间放宽到 5000ms 以上更稳定。

采集进来的数据怎么用 ​

写进寄存器之后有三条去向:

想做什么怎么做
送到云端看1.1 云交互数据点 绑定这个寄存器
参与控制逻辑编程里用「取通信变量 Dn」块读,见 取通信变量 Dn
判断从站掉线逻辑编程的「从站通信状态 Dn」块,见 从站通信状态 Dn

判断掉线很重要

从站掉线后寄存器里留的是最后一次的值。用过期的数据做控制会造成误动作,用「从站通信状态」块判断,异常时停止相关输出。

排查 ​

现象先查什么
一个数据都采不上波特率 / 校验 / 站号是否与仪表一致;接线方向(485 的 A/B)
采上来但数值不对字节序;采集点的数据类型与仪表实际格式是否一致
采集很慢或时断时续轮询时间是否短于从机数 × 接收超时
改完没生效没点「重启生效」

LPPLC 工业物联网云平台 · 软硬件与云平台全栈自研