MODBUS 通信协议

MODBUS 通信协议

ID:38260072

大小:96.50 KB

页数:6页

时间:2019-06-07

MODBUS 通信协议_第1页
MODBUS 通信协议_第2页
MODBUS 通信协议_第3页
MODBUS 通信协议_第4页
MODBUS 通信协议_第5页
资源描述:

《MODBUS 通信协议》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MODBUS通信协议一.MODBUS通信协议概述1.1.MODBUS通信协议概述MODBUS通信协议是由美国Modicon公司研发和提出的,目前已经成为国际通用标准。MODBUS通信协议工作在ISO/OSI模型的数据链路层,其工作条件是物理层通信接口已经建立并且工作正常。MODBUS通信协议主要包括如下内容:●MODBUS通信接口MODBUS通信接口符合RS232C/RS485以及兼容的串行接口,该接口定义了针脚、电缆、信号位、波特率、奇偶校验。各种智能设备能够直接利用MODBUS接口规约进行组网。●MODBUS通信符合主从的通信模式通信只

2、能由主站主动发起并传送给从站。若主站发出的是广播命令,则从站不给予任何回应;若主站发出的是行动命令,则从站必须给予回应。从站的回应中包括描述命令执行域信息、数据表以及错误检验域信息;若从站不能执行该命令,则从站将建立错误消息并作为回应发送回去。自主站发至从站的信息报文称为命令或下行通信帧,而自从站发至主站的信息报文则称为响应或上行通信帧。●MODBUS通信的两种数据传输方式:ASCII和RTU模式当数据代码采用ASCII数据传输方式时被称为MODBUS-ASCII。当数据代码采用RTU(远程终端单元)数据传输方式时被称为MODBUS-RTU

3、。在以RTU数据传输方式下,1个8Bits的字节由2个4Bits的16进制字符构成。十进制/16进制/二进制数代码表如下:MODBUS-RTU在发送1个字节时其中的位分布如下:数值(十进制代码)十六进制代码(H表示十六进制数)二进制代码(B表示二进制数)000H0000B101H0001B202H0010B303H0011B404H0100B505H0101B606H0110B707H0111B808H1000B909H1001B100AH1010B110BH1011B120CH1100B130DH1101B140EH1110B150FH1

4、111B█1位起始位█8位数据位█1位奇偶校验位,若选择无校验则无本位█1位停止位,若无奇偶校验则为2位停止位(多数情况下仍然采用1位停止位)在MODBUS-RTU模式下,错误校验码采用CRC16模式。若无特别说明,在本文中所描述的通信协议均为MODBUS-RTU。●MODBUS-RTU的消息帧结构MODBUS-RTU的消息帧结构如下:█地址:指从站的ID地址当主站向某从站发送消息时将该从站的地址放入消息帧的地址域中;当从站发送回应消息时,将自己的地址放入消息帧的地址域中以便主站知道哪个从站作了回应。地址0为广播命令。当MODBUS网络为更

5、复杂的网络时,广播命令可能会取消或以其它形式取代。从站地址的范围为1-247(十进制),但为了与RS232C/RS485接口配合一般选择为1-32。█功能域:指主站发布的功能命令虽然Modicon公司发布了多条MODBUS功能命令,但常用的命令只有9条,列表如下:起始位地址域功能域或命令代码域数据域CRC校验域停止位T1-T2-T3-T48Bit8BitN个8Bit16BitT1-T2-T3-T4命令代码(十六进制)定义说明01H读继电器输出状态02H读开关量DI输入状态03H读寄存器组04H读输入模拟量寄存器组05H单路继电器输出06H写

6、单个寄存器07H读异常状态0FH写多个寄存器10H写寄存器组若从站对主站发布的命令有异议,则从站将功能域的最高位置1作为回应消息的功能域。例如若主站发布的命令代码是03H即二进制00000011B,则从站回应的异议功能代码是83H即二进制10000011B。█数据域:数据区数据域的集合是由若干组2位16进制数构成的,其中包括寄存器地址、要处理项的数目和域中实际数据字节数。对应于03H,数据域的结构是:寄存器地址高字节+寄存器地址低字节+寄存器数量高字节+寄存器数量低字节对应于10H,数据域的结构是:寄存器地址高字节+寄存器地址低字节+寄存器

7、数量高字节+寄存器数量低字节+字节数量+第1寄存器数值+第2寄存器数值+…+第N寄存器数值寄存器地址的编码:寄存器地址范围功能主站信息帧中的地址十进制十进制十六进制0XXXX基址数字量输出区0000-9999)0000-270FH1XXXX基址数字量输入区10000-199992710-4E1FH2XXXX基址预留区20000-299994E20-752FH3XXXX基址输入寄存器区30000-399997530-9C3FH4XXXX基址保持寄存器区40000-499999C40-C34FH5XXXX基址预留区50000-65535C350

8、-FFFFH注意当主站需要读从站中某寄存器数据,则从站返回的消息帧中数据所在真实寄存器地址为返回地址减1。例如在下图中:主站报文中填写的寄存器地址为8656,且48656寄存器中

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。