跳转到内容
返回官网

串行通信采集

提供读写串口功能,用来通过指定格式和本地串口通讯,获取或写入串口数据。

(1) 进入 CommBridge 页面的【智慧孪生】,在左侧点击切换至【设备智联】。

(2) 依次拖拽 串行通信、数据处理和 MQTT 上传插件到插件工作区,分别生成三个节点。

(3) 依次连接三个节点,连接顺序:串行通信 → 数据处理 → MQTT 上传。

(1) 双击【串行通信】,点击【添加方案】按钮。

(2) 填写连接配置,点击【下一步】。

(3) 点击【添加配置】,填写配置信息,点击【确认】。

(4) 点击下一步,成功进入数据帧解析页面。

(5) 点击【添加解析】,填写点位数据,点击【确认】。

(6) 点击【完成】,成功添加采集方案。

(7) 打开方案的开关,点击【保存】。

(1) 点击【设备智联】的【部署】按钮,部署成功。

(2) 点击切换至【智慧孪生】,鼠标移动至【串行通信】节点,弹出节点信息列表。

(3) 点击方案,查看该方案下各分组的点位实时数据和历史数据。

采集实时数据的值为 16 进制

参数 描述 格式 举例 备注
方案名称 用户自定义该方案的名称 非空 采集温湿度
接口 根据具体设备上的实际串口决定 ttyS0、ttyS1 ttyO3 一般运行在 RS485,取决于 usb 插入的顺序
数据位 表示一组数据实际包含的数据位数 7、8 8
停止位 用于表示单个包的最后一位 1、2 1
校验位 串口通信中一种简单的验错方式 Odd、Even 或 None None
波特率 衡量符号传输速率的参数,表示每秒传送的符号的个数 11520、57600、38400、19200、9600 或 4800 19200
参数 前提 描述 格式 举例 备注
名称 用户自定义名称 非空,不能以数字开头,不能包含.,[]{}();= 距离分组一
帧模式 数据帧传输模式 HEX 、 ASCII HEX ASCII 运用很少
数据帧格式 帧模式决定 正则: ^(?:[0-9a-fA-F]{2} )*[0-9a-fA-F]{2}$ 以空格间隔的十六进制字符串 0f 03 00 00 00 01 85 24
循环时间 (ms) 数字 1000
使能 若选择 disabled,则在数据帧解析中不能出现,且进行配置 disabled 、 enabled enabled

注意:Serial 一次性只能读取 20 条数据。

参数 描述 格式 举例 备注
名称 用户自定义名称 非空 H
解析 byte[3]byte[4]
使能 若选择 disabled,则在数据帧解析中不能出现,且进行配置 disabled 、 enabled enabled

帧模式:

  • HEX:十六进制,表示 16 种不同的 0~F 的字符
  • ASCII:字符集,能够表示 128 个不同的字符

ASCII 和 Hex 的主要区别在于它们表示的字符范围不同。

以下以 Modbus RTU 读取保持寄存器(功能码 0x03)的 HEX 请求为例:

设备地址[1 字节] 功能码[1 字节] 起始地址[2 字节] 寄存器数量[2 字节] CRC 校验[2 字节]
address 03 AddrH AddrL NumH NumL CRCL CRCH

其中,CRC(循环冗余校验)采用 CRC-16/MODBUS,多项式为 X16+X15+X2+1,校验值低字节先传输。

例如:01 03 00 10 00 01 85 CF

指令 01 03 00 10 00 01 85 CF
说明 设备地址 读指令 寄存器起始地址高 寄存器起始地址低 读取数量高位 读取数量低位 CRCL CRCH

以下以 Modbus ASCII 读取保持寄存器(功能码 0x03)的请求为例。每个原始字节编码为两个 ASCII 十六进制字符;下表不含起始字符“:”及结束字符 CR/LF:

设备地址[2 字符] 功能代码[2 字符] 起始地址[4 字符] 寄存器数量[4 字符] LRC 校验[2 字符]
address 03 AddrH AddrL NumH NumL LRC 的两个十六进制字符

其中,LRC(纵向冗余校验)对地址、功能码及数据的原始字节求和,丢弃超出 8 位的进位,再取二进制补码,得到一个字节的校验值。计算不包含起始字符“:”及结束字符 CR/LF。