跳转至

万能采集协议

云端配置(万能采集协议)

新建通道

新建一个采集通道,协议选择万能采集协议,本驱动用于一些报文简单的通信协议,可以实现由客户自己组包发送、自己解析报文,目前仅支持串口类型。

例:通过本万能采集协议,实现标准modbus-rtu采集协议功能。

现有modbus从站地址为18,要以03功能码读取寄存器地址为20-30、04功能码读取寄存器地址为40-50的数据;

打开规约特征配置界面,配置读命令以及校验方式

提示

规约特征配置中的命令均为十六进制,以字符串的形式表示,且区分大小写(通配符中的字母为大写,十六进制报文中的a-f为小写),2个字符串合为1个字节,

例如字符串a3代表十六进制的0xa3,为1个字节长度。

通配符说明如下:

符号 描述
%?A 将被替换为设备通讯地址(Address),?处填写字符串长度,下同
%?P 将被替换为设备公共地址(Public Address)
%?R 将被替换为同一命令下最小的寄存器地址(Register Address)
%?V 将被替换为要写的值(Value)
%?N 读命令中将被替换为测点的个数,写命令中将被替换为写入字节的个数(Number)
%?C 将被替换为校验码(Check)

举例

%号后面的?,为数字,代表字符串长度,

例如设备地址为5,通配符为%2A,那么实际发出去的报文就是1字节的05

例如寄存器个数为3,通配符为%4N,那么实际发出去的报文就是2字节的0003

该长度肯定为偶数

新建设备

新建一个采集设备,设备通讯地址填写例子中的18。

新建测点

读命令

新建一个测点,功能码选择读命令1(和规约特征中的参数相匹配),地址填写3,数据类型数据格式以实际情况填写;

按照上图配置的测点,当收到报文后,会从报文的第3个字节(首个字节从0开始计算)开始,按照16位有符号进行解析,其值为20;下一个寄存器,地址应该为5,其值为21,以此类推。

写命令

模拟06和10功能码写值,规约特征配置如下:

写命令1实现了06功能码写值。

对地址为20的寄存器写入十进制的33,数据类型为16位有符号,报文如下:

写命令2实现了10功能码写值。

对地址为38的寄存器写入十进制的55,数据类型为单精度浮点数,报文如下:

本地配置(万能采集协议)

新建通道

新建一个采集通道,协议选择万能采集协议,本驱动用于一些报文简单的通信协议,可以实现由客户自己组包发送、自己解析报文,目前仅支持串口类型。

例:通过本万能采集协议,实现标准modbus-rtu采集协议功能。

现有modbus从站地址为18,要以03功能码读取寄存器地址为20-30、04功能码读取寄存器地址为40-50的数据;

打开规约特征配置界面,配置读命令以及校验方式(0:CRC循环冗余校验,1:SUM和校验,2:XOR异或校验);

提示

规约特征配置中的命令均为十六进制,以字符串的形式表示,且区分大小写(通配符中的字母为大写,十六进制报文中的a-f为小写),2个字符串合为1个字节,

例如字符串a3代表十六进制的0xa3,为1个字节长度。

通配符说明如下:

符号 描述
%?A 将被替换为设备通讯地址(Address),?处填写字符串长度,下同
%?P 将被替换为设备公共地址(Public Address)
%?R 将被替换为同一命令下最小的寄存器地址(Register Address)
%?V 将被替换为要写的值(Value)
%?N 读命令中将被替换为测点的个数,写命令中将被替换为写入字节的个数(Number)
%?C 将被替换为校验码(Check)

举例

%号后面的?,为数字,代表字符串长度,

例如设备地址为5,通配符为%2A,那么实际发出去的报文就是1字节的05

例如寄存器个数为3,通配符为%4N,那么实际发出去的报文就是2字节的0003

该长度肯定为偶数

新建设备

新建一个采集设备,设备通讯地址填写例子中的18;

新建测点

读命令

新建一个测点,功能码选择读命令1(和规约特征中的参数相匹配),地址填写3,数据类型数据格式以实际情况填写;

按照上图配置的测点,当收到报文后,会从报文的第3个字节(首个字节从0开始计算)开始,按照16位有符号进行解析,其值为20;下一个寄存器,地址应该为5,其值为21,以此类推。

写命令

模拟06和10功能码写值,规约特征配置如下:

写命令1实现了06功能码写值。

写命令2实现了10功能码写值。