Modbus报文详解
MOdbuS
协议概述
MOdbUS作为在工业设备通讯上使用最多,应用最广的国际标准协议,在应用层的协议定义
举一个最简单的例子,我们在SymL ink中查看报文的时候可以看到:
SymLink发送:01 03 00 01 00 02 95 CB
01代表设备地址1
03代表读取保持寄存器的值
00 01代表采集点对应的寄存器号
00 02代表读取2个连续寄存器的值
95 CB 为01 03 00 01 00 02 计算所得的CRC I
SymLink接收:01 03 04 00 00 00 00 FA 33
01代表设备地址1
03代表读取保持寄存器的值
04代表设备返回的数据个数,字节为单位
00 00 00 00为数据返回的连续2个寄存器的值
FA 33 为01 03 04 00 00 00 00 计算所得的CRC I
SymLink在判断01、03、04这些反馈信息都合法,并且CR(校验无误的情况下, 就可以对00 00 00 00 所在的数据值进行规定数据格式的解析。
目前支持MOdbUS协议的设备越来越多,包括PLG智能仪表、通讯模块等等,如果厂家设备支持的通讯协议为标准格式的MOdbUS协议,那么在选择厂家的时
候就直接选择国际标准的MOdbUS
准备工作
RS485通讯,设备的A端子对应连接SymLink的A端子、设备的B端子对应连接SymLink的B端子,需要注意的是一根线上接多个IED的情况,一个是设备地址要唯
一、波特率和其他串口参数要一致,另外接线的时候需要从一台IED的AB端子跳接到
下一台IED的AB端子,防止并联分散传输信号。
RS232通讯,设备的发送针对应连接SymLink的RX设备的接收针对应连接
SymLink的TX 设备的接地针对应SymLink的GND=
以太网通讯,设备的网口对应连接到同一网段的SymLink LAN 口,如果含多
台以太网设备通讯,需要加交换机。
设备配置
参考实际的设备说明书:
1) 选择协议,如果设备支持多种协议,需要在配置里面选择为MOdbuSRTU或者
MOdbUSASCii协议。
2) 定义通讯接口参数。串口定义传输波特率,数据位,停止位,奇偶检验。以太网通讯定
义IP地址,TCP端口号。
3) 定义设备地址。
4) 用厂家提供的设备点表和设备面板显示的数据进行简单的对应。
5) 用厂家提供的测试软件,或者第三方测试软件(modscan ModbusPoll 等) 对设备进行通
讯测试。
通讯配置
选中工程下的“采集服务”,点右键后在菜单中选择“新建通道”
罗3OPC?1S
丨?s≡s务
在弹出的界面在定义通道名称,点击规约旁边的浏览按钮选择MOdbUS RTU驱动。
在左侧的分类中选择国标下的ModbUS RTU,点确定按钮完成
定义端口信息,MOdbuS RTU多采用串口通讯,在下方的端口参数中定义串口号, 波特率,数据位等通讯参数,定义完成后点击确定按钮完成。
歹
B
X QMB- ≡il
通道的配置只是完成了协议选择及通讯的接口参数。 还需要在通道下创建连接的
设备及设备参数后才算完成与具体设备的通讯配置。
选中新建的通道,点击右键,在右键菜单在选择“新建设备” ?- 口顶郎
?-Γj 工痢
通道质性"
?1
删Imd
在设备配置面板中定义设备名称,设备地址(ModbUS 协议主要依靠设备地址来 识别一条总线上的多个设备)。
点击设备配置界面左下方的+号按钮,可以定义MOdbuS RTU协议的高级参数
点击确定按钮就完成了通道及设备的通讯配置。
需要说明一下规约参数中的包最大长度,这里默认是32 ,代表组织协议的时候
一次最大可读取连续32个寄存器数据,如果点数较多并且通讯条件较好的情况下,我们最大可以调整到12 8。
1.1.6.数据连接
完成ModbUS设备和通道的通讯配置后,并未采集到设备中具体的数据。如要对设备的数据进行逐个的采集,需要在采集服务中的通道下的设备中创建一个一个的IO 点,并配置正确的IO连接参数。
在左侧导航中选择采集服务中的通道下的设备后,右侧视图为IO点的列表视图。
默认没有任何IO采集点。
设备酋a?
在空白区域点击右键,在弹出的右键采单在选择创建
IO 点
弹出新建采集点对话框:
ME —_
F —, ta ≡
SJm ΓTWf?
J- 1- 4 ? <5 ? -I K.4
设备配置
? enA
ALlI
√*?
叩
?
為理
承廉用配 CTft(∏?,b W??