View Categories

非标协议如何接入

非标HEX(16进制)报文如何接入Modbus物联网平台? #

非标 数值类型 传感器接入 #

下面以一款 某厂家 七合一空气质量 私有协议举例

报文如下:

非标协议如何接入插图

查询报文:1A 11 22 33 44 86 86 86 0F (XX XX XX XX XX替换成是七合一传感器实际地址)

返回报文:1A 11 22 33 44 00 01 01 00 02 01 00 03 01 00 04 01 00 05 01 00 06 01 00 07 01 0F

返回解释:五位地址后,每3个字节为一组,通过位置判断是具体哪个环境参数

下面我们根据厂家提供的协议进行配置:

设备管理→协议管理→添加协议

非标协议如何接入插图1

根据下文的说明,我们可以得出帧头 :1A 11 22 33 44,帧长度: 27,校验起始:6,校验结束:26,校验帧尾:自定义,自定义:0F,轮询指令:1A 11 22 33 44 86 86 86 0F

其实,效验帧尾设置为不校验也是可以,报文0F结尾,属于固定值,对解析影响不大。

非标协议如何接入插图2

如何设置帧头 ( 自定义协议解析帧头设置) #

帧头是起始字节到非变量的整段报文,每个解析帧头必须不同, 在帧头中输入起始字节到非变量的报文,可起到精确设备进行解析的作用,如在帧头中输入1A 11 22 33 44 ,通过索引1A 11 22 33 44设备地址后,就可以准确地对该地址设备解析。

如何设置帧长度 #

帧长度即将接收的帧总长度,包括帧头、数据位和帧尾

例如:1A 11 22 33 44 00 01 01 00 02 01 00 03 01 00 04 01 00 05 01 00 06 01 00 07 01 0F

所有字节加起来总和,这里是27

如何设置校验起始 #

帧尾校验从哪一位开始

如何设置校验结束 #

帧尾校验从哪一位结束

如何设置效验帧尾 #

勾选校验帧尾,即添加帧尾校验,可选择对应的效验方式,勾选不校验,即不对报文进行校验。点击校验帧尾输入框,弹出 CRC16 累加和 自定义 不校验 下拉框,在帧尾中选择指令函数CRC16,可对指令帧尾进行 MODBUS 校验。

轮询指令 #

设备的状态查询的完整报文。

添加设备 #

设备管理→设备配置→添加设备

非标协议如何接入插图3

添加设备时,选择刚刚添加的协议“七合一传感器协议

非标协议如何接入插图4

添加数据 #

非标协议如何接入插图5

如何设置寄存器/偏移量 格式 数据格式 数据顺序 #

寄存器/偏移量:它的意思是选取该数值的第几位 (从 0 开始数) ,比如1A 11 22 33 44 00 01 01 00 02 01 00 03 01 00 04 01 00 05 01 00 06 01 00 07 01 0F 的甲醛偏移量为 5 ,甲醛的数据只有2字节,那么格式选择“16位 无符号数”,数据格式 AB CD

根据这个说明得到:

甲醛:寄存器/偏移量 5

TVOC:寄存器/偏移量 8

PM2.5:寄存器/偏移量 11

温度:寄存器/偏移量 14

湿度:寄存器/偏移量 17

PM10:寄存器/偏移量 20

二氧化碳:寄存器/偏移量 23

根据上图把算出的寄存器/偏移量按上图全部添加即可!

非标 开关类型 继电器接入 #

下面以一款 某厂家 8路继电器 私有协议举例

报文如下:

非标协议如何接入插图6

查询报文:11 22 33 44 55 86 86 86 0F (XX XX XX XX XX替换成是七合一传感器实际地址)

返回报文:11 22 33 44 55 00 00 00 00 00 00 00 00 0F (00为关,01为开)

下面我们根据厂家提供的协议进行配置:

设备管理→协议管理→添加协议

非标协议如何接入插图1

根据下文的说明,我们可以得出帧头 :11 22 33 44 55,帧长度: 14,校验起始:6,校验结束:13,校验帧尾:自定义,自定义:0F,轮询指令:11 22 33 44 55 86 86 86 0F

其实,效验帧尾设置为不校验也是可以,报文0F结尾,属于固定值,对解析影响不大。

非标协议如何接入插图7

如何设置帧头 ( 自定义协议解析帧头设置) #

帧头是起始字节到非变量的整段报文,每个解析帧头必须不同, 在帧头中输入起始字节到非变量的报文,可起到精确设备进行解析的作用,如在帧头中输入11 22 33 44 55 ,通过索引11 22 33 44 55设备地址后,就可以准确地对该地址设备解析。

如何设置帧长度 #

帧长度即将接收的帧总长度,包括帧头、数据位和帧尾

例如:11 22 33 44 55 00 00 00 00 00 00 00 00 0F

所有字节加起来总和,这里是14

如何设置校验起始 #

帧尾校验从哪一位开始

如何设置校验结束 #

帧尾校验从哪一位结束

如何设置效验帧尾 #

勾选校验帧尾,即添加帧尾校验,可选择对应的效验方式,勾选不校验,即不对报文进行校验。点击校验帧尾输入框,弹出 CRC16 累加和 自定义 不校验 下拉框,在帧尾中选择指令函数CRC16,可对指令帧尾进行 MODBUS 校验。

轮询指令 #

设备的状态查询的完整报文。

添加设备 #

设备管理→设备配置→添加设备

非标协议如何接入插图3

添加设备时,选择刚刚添加的协议“8路继电器协议

非标协议如何接入插图8

添加数据 #

非标协议如何接入插图9

如何设置寄存器/偏移量 格式 数据格式 打开命令 关闭命令 #

寄存器/偏移量:它的意思是选取该数值的第几位 (从 0 开始数) ,比如11 22 33 44 55 00 00 00 00 00 00 00 00 0F 的 第一路继电器 偏移量为 5 ,继电器的数据只有1字节,那么格式选择“8位 无符号数”,打开命令:11 22 33 44 55 00 00 01 0F,关闭命令:11 22 33 44 55 00 00 00 0F 。(打开和关闭命令填写完整的控制报文)

根据这个说明得到:

第一路继电器:寄存器/偏移量 5

第二路继电器:寄存器/偏移量 6

第三路继电器:寄存器/偏移量 7

第四路继电器:寄存器/偏移量 8

第五路继电器:寄存器/偏移量 9

第六路继电器:寄存器/偏移量 10

第七路继电器:寄存器/偏移量 11

第八路继电器:寄存器/偏移量 12

根据上图把算出的寄存器/偏移量按上图全部添加即可!

如何使用 开关转换配置 #

大部分继电器是00代表关闭,01代表打开,部分厂家可能会有例外,比如使用FF代表打开,00代表关闭,这时候就要用到我们的 开关转换配置 0=00*1=FF 进行转换了

非标ASCII报文如何接入Modbus物联网平台? #

非标 数值类型 传感器接入 #

待完善。。。

非标 开关类型 继电器接入 #

待完善。。。

Powered by BetterDocs

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注