Modbus 关键字
MODBUS V1.1b3 :
http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf
modbus关键字可用于匹配Modbus请求的各种属性。使用此关键字有三种方法:
(1)“function”:匹配功能
(2)“access”:直接匹配数据访问
(3)“unit”: 匹配单元标识符,或与先前设置“function”或“access”匹配。
1.使用function,您可以匹配:
(1)基于功能代码字段和子功能代码的操作(如果适用);
(2)三种Modbus功能分类之一:
(2.1)public:公开定义的公共功能
(2.2)user:用户定义的功能
(2.3)reserved:专用于Modbus专有扩展的保留功能
(3)公共功能的两个子小组之一:
(3.1)assigned: 指定的函数,其定义已在Modbus规范中给出
(3.2)unassigned: 未分配的函数,这些函数保留给将来使用
语法(!代表相反):
modbus: function <value>
modbus: function <value>, subfunction <value>
modbus: function [!] <assigned | unassigned | public | user | reserved | all>
示例:
modbus: function 21 # 写文件记录函数
modbus: function 4, subfunction 4 #强制只听模式(诊断)功能
modbus: function assigned # 由Modbus应用协议规范V1.1b3定义
modbus: function public # 通过Modbus.org社区验证
modbus: function user # 内部使用且不受规范支持
modbus: function reserved # 一些公司将其用于遗留产品,而不能供公众使用
modbus: function !reserved # 除保留函数外的所有函数
2.使用access 设置,您可以匹配:
(1)数据访问的一种类型(读或写);
(2)一个主表访问(离散输入、线圈、输入寄存器和保持寄存器)
(3)访问地址的范围
(4)写入的值
语法:

使用_ <value> _设置匹配地址或值,因为它的访问或写入如下:

示例:

3.使用unit设置,您可以匹配:
一种远程设备的MODBUS从地址,连接在桥接器或网关后面的子网络上。目标IP地址标识网桥本身,网桥使用MODBUS单元标识符将请求转发到正确的从设备.
语法:

使用_ <value> _设置匹配地址或值,因为它的访问或写入如下:

示例:

注意:
(1)读写地址从1开始。因此,如果您的系统使用从0开始的值,您需要添加1的地址值。
(2)根据TCP/IP实现指南V1.0b上的MODBUS消息传递中建议使用远程设备打开TCP连接,而不是为每个MODBUS/TCP事务打开和关闭它。在这种情况下,将流重新组装的深度设置为无限制非常重要(stream.reassembly.depth: 0)
(3)根据TCP/IP实现指南V1.0b上的MODBUS消息传递,串行线上的MODBUS从设备地址分配范围为1到247(十进制)。地址0用作广播地址.
TCP/IP实现指南V1.0b:
MODBUS.modbus.org/docs/Modbus_Messaging_Implementation_Guide_V1_0b.pdf
有关于Modbus支持的文件和演示文档(法语):