该【Modbus报文详解 】是由【秋江孤影】上传分享,文档一共【8】页,该文档可以免费在线阅读,需要了解更多关于【Modbus报文详解 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。实用标准文案
Modbus
协议概述
Modbus作为在工业设备通讯上使用最多,应用最广的国际标准协议,在应
用层的协议定义上我们对其进行简单的介绍:
类型描述
设备地址对应通讯设备设定的1-255的任意一个数字地址号。
功能码对应读取模拟量一般采用0304号功能码,对于读取开关
量一般采用0102号功能码。
起始地址数据在通讯设备中的寄存器定义,一般由厂家提供点表。
数据格式数据在寄存器中的格式,较多的为16位无符号,因为一个
寄存器就是一个16位的长度。
CRC校验经过CRC校验算法后,添加CRC计算的值在协议传输帧的
最后面,主要是防止串口误码导致数据错误。
举一个最简单的例子,我们在SymLink中查看报文的时候可以看到:
SymLink发送:095CB
01代表设备地址1
03代表读取保持寄存器的值
00代01表采集点对应的寄存器号
00代02表读取2个连续寄存器的值
95为CB010300计算01所得00的CRC02值
SymLink接收:000FA33
01代表设备地址1
03代表读取保持寄存器的值
04代表设备返回的数据个数,字节为单位
0000为数据00返回00的连续2个寄存器的值
FA为计算00所得的00CRC值00
SymLink在判断01、03、04这些反馈信息都合法,并且CRC校验无误的情况下,
就可以对000000所在的数据值进行00规定数据格式的解析。
目前支持Modbus协议的设备越来越多,包括PLC、智能仪表、通讯模块等等,
如果厂家设备支持的通讯协议为标准格式的Modbus协议,那么在选择厂家的时
候就直接选择国际标准的Modbus。
准备工作
序号名称数量备注
1厂家设备任意支持标准的Modbus协议
绞线,长度建议不要超过100米。
以太网通讯为带隔离保护的标准网
线,长度建议不要超过50米。
文档大全
实用标准文案
3Symlink工业智能机1任意型号
4设备说明书和点表1说明书指导设置设备地址、波特率
等通讯参数。点表用来配置采集点
信息。
设备连接
通讯,设备的端子对应连接的端子、设备的端子对应
RS485ASymLinkAB
连接SymLink的B端子,需要注意的是一根线上接多个IED的情况,一个是
设备地址要唯一、波特率和其他串口参数要一致,另外接线的时候需要从一
台IED的AB端子跳接到下一台IED的AB端子,防止并联分散传输信号。
通讯,设备的发送针对应连接的、设备的接收针对应连接
RS232SymLinkRX
SymLink的TX、设备的接地针对应SymLink的GND。
以太网通讯,设备的网口对应连接到同一网段的口,如果含多
SymLinkLAN
台以太网设备通讯,需要加交换机。
设备配置
参考实际的设备说明书:
)选择协议,如果设备支持多种协议,需要在配置里面选择为或
1ModbusRTU
者ModbusAscii协议。
)定义通讯接口参数。串口定义传输波特率,数据位,停止位,奇偶检验。
2
以太网通讯定义IP地址,TCP端口号。
)定义设备地址。
3
)用厂家提供的设备点表和设备面板显示的数据进行简单的对应。
4
)用厂家提供的测试软件,或者第三方测试软件(、等)
5modscanModbusPoll
对设备进行通讯测试。
通讯配置
选中工程下的“采集服务”,点右键后在菜单中选择“新建通道”。
在弹出的界面在定义通道名称,点击规约旁边的浏览按钮选择ModbusRTU驱动。
文档大全
实用标准文案
在左侧的分类中选择国标下的ModbusRTU,点确定按钮完成。
定义端口信息,ModbusRTU多采用串口通讯,在下方的端口参数中定义串口号,
波特率,数据位等通讯参数,定义完成后点击确定按钮完成。
文档大全
实用标准文案
通道的配置只是完成了协议选择及通讯的接口参数。还需要在通道下创建连接的
设备及设备参数后才算完成与具体设备的通讯配置。
选中新建的通道,点击右键,在右键菜单在选择“新建设备”
在设备配置面板中定义设备名称,设备地址(Modbus协议主要依靠设备地址来
识别一条总线上的多个设备)。
文档大全
实用标准文案
点击设备配置界面左下方的+号按钮,可以定义ModbusRTU协议的高级参数。
点击确定按钮就完成了通道及设备的通讯配置。
需要说明一下规约参数中的包最大长度,这里默认是32,代表组织协议的时候
一次最大可读取连续32个寄存器数据,如果点数较多并且通讯条件较好的情况
下,我们最大可以调整到128。
完成Modbus设备和通道的通讯配置后,并未采集到设备中具体的数据。如要对
设备的数据进行逐个的采集,需要在采集服务中的通道下的设备中创建一个一个
的IO点,并配置正确的IO连接参数。
在左侧导航中选择采集服务中的通道下的设备后,右侧视图为IO点的列表视图。
默认没有任何IO采集点。
文档大全
实用标准文案
在空白区域点击右键,在弹出的右键菜单在选择创建IO点。
弹出新建采集点对话框:
文档大全
实用标准文案
点击连接线右侧的浏览按钮,即可进入到具体的协议配置参数。
连接项说明
功能码参考厂家协议说明,一般读取模拟量用0304号命令,
读取开关量用0102号命令。区分是04和02是只读区,
03和01类型的寄存器支持用06和05的命令码回写操
作。
文档大全
实用标准文案
数据地址参考厂家点表,我们SymLink的数据地址从0开始,要
注意厂家的点表是否是从1开始的,如果是可能需要减
1,另外是否是16进制的描述,如果是16进制则需转换
成10进制的进行填写,如010A的十进制是266。
数据类型数据格式选择,一个寄存器代表16位长度的数据,两个
寄存器就能代表32位长度格式的数据。需要注意的是
32位长度的数据格式,有可能需要选择对应的高低位,
默认都是从高到低。
位偏移如果用0304号命令码读取一个寄存器的16位数据,并
且需要取这16位数据中的每一个位,则选择数据类型
位,然后偏移由低到高为0-15。
读写属性根据寄存器类型不同而自动设定。
文档大全
到此这篇modbus报文解析(modbus报文解析0f)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/53913.html