- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ModbusRTU_.
MODBUS串行通信协议
简介
第一章 简介
本文详细地描述了装置MODBUS 通讯模式下的输入和输出命令、信息和数据,以便第三方使用和开发。
1.1 串行通讯协议的目的
通信协议的作用是使信息和数据在上位机主站和装置
允许主站访问和设定所接装置2) 允许访问装置
第二章 装置 MODBUS2.1协议基本规则
以下规则确定在RS485 或者RS232C 回路控制器和其他RS485 串行通信回路中设备的通信规则:
所有RS485 回路通信应遵照主/从方式。在这种方式下,信息和数据在单个主站和最多32 个从站监控设备之间传递;
主站将初始化和控制所有在RS485通信回路上传递的信息;
无论如何都不能从一个从站开始通信;
所有RS485环路上的通信都以“打包”方式发生,一个包裹就是一个简单的字符串(每个字符8位),一个包裹中最多可含255个字节。组成这个包裹的字节构成标准异步串行数据,并按8位数据位,1位停止位,无校验位的方式传递。串行数据流由类似于RS232C中使用的设备产生;
主站发送包裹称为请求,从站发送包裹称为响应;
任何情况只能有一个从站响应主站的请求。
2.2 传送模式
MODBUS协议可以采用ASCII或者RTU模式传送数据。本文仅仅针对RTU模式,8位数据位,无校验位,1位停止位。
2.3 MODBUS 包裹结构描述
每个MODBUS 包裹都由以下几个部分组成:
(1) 地址域
(2) 功能码域
(3) 数据域
(4) 校验域
2.3.1 地址域
MODBUS的从站地址域长度为一个字节,包含包裹传送的从站地址。有效的从站地址范围从1~247。从站如果接收到一帧从站地址域信息与自身地址相符合的包裹时,应当执行包裹中所包含的命令。从站所响应的包裹中该域为自身地址。
2.3.2 功能码域
MODBUS包裹中功能域长度为一个字节,用以通知从站应当执行何操作。从站响应包裹中应当包含主站所请求操作的相同功能域字节。有关装置
功能码 含义 功能 0x03 读取寄存器 获得当前装置0x05 设置继电器 将指定的继电器设置为ON或OFF 0x10 设置寄存器 将指定数值写入装置2.3.3 数据域
MODBUS 数据域长度不定,依据其具体功能而定。MODBUS数据域采用”BIG INDIAN”模式,即是高位字节在前低位字节在后。举例如下:
Example 2.1
1 个16 位寄存器包含数值为0x12AB 寄存器数值发送顺序为
高位字节= 0x12
低位字节= 0x0AB
2.3.4 校验域
MODBUS-RTU模式采用16 位CRC 校验。发送设备应当对包裹中的每一个数据都进行CRC16计算,最后结果存放入检验域中。接收设备也应当对包裹中的每一个数据(除校验域以外)进行CRC16计算,将结果域校验域进行比较。只有相同的包裹才可以被接受。具体的CRC校验算法参照附录。
2.4 网络时间考虑
在RS485 网络上传送包裹需要遵循以下有关时间的规定:
主站请求包裹结束到从站响应包裹开始之间的时间最小为20毫秒,最大为250毫秒,典型值为60毫秒;
从站响应包裹结束到主站下一请求包裹开始之间的时间在16位模式下典型值为100 毫秒,在32位模式下典型值为500 毫秒;
包裹中相邻两个字节之间的最大时间依据通讯波特率不同而不同,一般来说最大字节时间为3倍的字节发送时间 (例如9600 波特率下,字节间隔为3毫秒;4800波特率时,字节间隔为6 毫秒 )。
2.5 异常响应
如果主站发送了一个非法的包裹给装置1时,说明此时的数据帧为异常响应。下表说明异常功能码的含义:
功能码名称 说 明 (field of the request packet.) 01 非法功能码 表示从站接收到非法的功能码(03H,10H以外)或者是装置 02 非法数据地址 说明装置 03 非法的数据值 由主机传来的参数值不在所选中的数据地址允许范围内 04 遥控继电器错误 遥控继电器时,当时装置不满足遥控继电器的条件 05 密码寄存器错误 给密码包裹寄存器写入时,密码不正确;或者未写入正确密码就去写需要密码的寄存器;或者读取密码寄存器时,未正确写入密码包
2.6 广播命令
装置 MODBUS 装置装置MODBUS协议仅支持16位数据模式,也就说传输任何数据最大为65535。对于更大的数据,则分成多个寄存器读写。比如,对于32位数据,则高字占一个寄存器,低字占一个寄存器。64位数据则用4个寄存器表示。
3.1 设置继电器输出状态(功能码0X05)
主站指定要操作的继电器的地址,继电器的地址从0开始编址,1号继电器的地址为0。数据域的内容指定继电器的动作,0XFF00为“ON”,0X0000为“OFF”。
文档评论(0)