万能采集协议¶
云端配置(万能采集协议)¶
新建通道¶
新建一个采集通道,协议选择万能采集协议,本驱动用于一些报文简单的通信协议,可以实现由客户自己组包发送、自己解析报文,目前仅支持串口类型。
例:通过本万能采集协议,实现标准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功能码写值。