Modbus报文详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Modbus
协议概述
Modbus作为在工业设备通讯上使用最多,应用最广的国际标准协议,在应
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值
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值
SymLink在判断01、03、04这些反馈信息都合法,并且CRC校验无误的情况下,就可以对00 00 00 00 所在的数据值进行规定数据格式的解析。
目前支持Modbus协议的设备越来越多,包括PLC、智能仪表、通讯模块等等,如果厂家设备支持的通讯协议为标准格式的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等)对设备进行通讯测试。
通讯配置
选中工程下的“采集服务”,点右键后在菜单中选择“新建通道”。
在弹出的界面在定义通道名称,点击规约旁边的浏览按钮选择Modbus RTU驱动。
在左侧的分类中选择国标下的Modbus RTU,点确定按钮完成。
定义端口信息,Modbus RTU多采用串口通讯,在下方的端口参数中定义串口号,波特率,数据位等通讯参数,定义完成后点击确定按钮完成。
通道的配置只是完成了协议选择及通讯的接口参数。
还需要在通道下创建连接的设备及设备参数后才算完成与具体设备的通讯配置。
选中新建的通道,点击右键,在右键菜单在选择“新建设备”
在设备配置面板中定义设备名称,设备地址(Modbus协议主要依靠设备地址来识别一条总线上的多个设备)。
点击设备配置界面左下方的+号按钮,可以定义Modbus RTU协议的高级参数。
点击确定按钮就完成了通道及设备的通讯配置。
需要说明一下规约参数中的包最大长度,这里默认是32,代表组织协议的时候一次最大可读取连续32个寄存器数据,如果点数较多并且通讯条件较好的情况下,我们最大可以调整到128。
1.1.6. 数据连接
完成Modbus设备和通道的通讯配置后,并未采集到设备中具体的数据。
如要对设备的数据进行逐个的采集,需要在采集服务中的通道下的设备中创建一个一个的IO点,并配置正确的IO连接参数。
在左侧导航中选择采集服务中的通道下的设备后,右侧视图为IO点的列表视图。
默认没有任何IO采集点。
在空白区域点击右键,在弹出的右键菜单在选择创建IO点。
弹出新建采集点对话框:
点击连接线右侧的浏览按钮,即可进入到具体的协议配置参数。