MODBUS标准通讯协议.pdf

MODBUS标准通讯协议.pdf

ID:52707931

大小:144.82 KB

页数:7页

时间:2020-03-29

MODBUS标准通讯协议.pdf_第1页
MODBUS标准通讯协议.pdf_第2页
MODBUS标准通讯协议.pdf_第3页
MODBUS标准通讯协议.pdf_第4页
MODBUS标准通讯协议.pdf_第5页
资源描述:

《MODBUS标准通讯协议.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、MODBUS标准通讯协议(简版)(基于Modbus应用协议RTU通讯模式)1.前言本协议适用于符合MODBUS标准通讯协议的规定以及在Modbus网络上以RTU模式通信运行的设备和应用软件。本协议按照Modbus应用协议标准制定。2.波特率可选范围代码67891011121314波特率24004800960014400192002880038400576001152003.RTU通讯数据传输模式3.1RTU模式每个字节(11位)的格式为:通讯传输为异步方式,并以字节(数据帧)为单位。在主站和从站之间传递的每一个数据帧都是11位的串行数据流。编码系

2、统:8–位二进制,报文中每个8位字节含有两个4位十六进制字符(0–9,A–F)数据位:1个起始位8个数据位,首先发送最低有效位1个奇偶校验(注:偶校验是要求的,其它模式(奇校验,无校验)也可以使用)1个停止位(注:使用无校验时要求2个停止位)帧校验域:循环冗余校验(CRC)3.2字符的串行传送方式:每个字符或字节按如下顺序发送(从左到右):最低有效位(LSB)...最高有效位(MSB)有奇偶校验起始位12345678校验位停止位通过配置,设备可以接受奇校验、偶校验或无校验。如果无奇偶校验,那么传送一个附加的停止位来填充数据帧使其成为完整的11位异

3、步字符:无奇偶校验起始位12345678停止位停止位3.3数据编码:Modbus处理的所有数据按照存储数据的类型可以分为位寄存器(容量为1位)和16位寄存器(容量为16位)两种,它们的宽度都是16位(Dataispackedastwobytesperregister),协议允许单个选择65536个数据项,而且其读写操作可以越过多个连续数据项直到数据大小规格限制,这个数据大小规格限制与事务处理功能码有关。在ModbusPDU中从0~65535寻址每个数据。Modbus使用一个‘big-Endian’表示地址和数据项,即最高有效字节在低地址存储,最低

4、有效字节在高字节存储。这意味着当发送多个字节时,首先发送最高有效位例如:寄存器大小值16位0x1234发送的第一字节为0x12,然后发0x34。4.RTU报文帧结构ModbusRTU报文帧格式如下:地址码功能码数据区错误校验码2字节1字节1字节0到252字节CRC低CRC高4.1地址码地址码为通讯传输的第一字节,这个字节表明,由用户设定地址码的从站将接收由主站发送来的数据。每个从站都有唯一的地址码,只有符合主站发送的地址码的从站才能响应回送,且响应回送均以各自的地址码开始。主站发送的地址码表明将发送的从站地址,而从站发送的地址表明从站回送的地址。

5、地址0用作广播地址,以使所有从站都能识别,从站的地址范围为(1~247)。4.2数据区数据区根据功能码的不同而不同。数据区包含需要从站执行什么动作,或由从站采集的返回信息。这些信息可以是实际数值、设置点、主站发给从站或从站发给主站的地址等。数据区的保持和输入寄存器值都是16位(2字节),且高字节在前,低字节在后。4.3错误校验码主站或从站可用校验码判别报文在通讯过程中是否出错。错误检测域包含一个16位的值(用两个8位的字符来实现),错误检测域的内容是通过对报文内容进行循环冗长检测(CRC)方法得出的。CRC域附加在报文的最后,添加时先是低字节然后

6、是高字节。故CRC的高位字节是发送报文的最后一个字节。4.4功能码功能码为通讯传输的第二字节。Modbus协议定义的功能码范围是1~255,对于不同的控制器,功能码范围不同。主站发送请求,通过功能码告诉从站执行什么动作;从站响应请求,发送的功能码与主站发送来的功能码一样表明从站响应主站的操作。如果从站发送的功能码最高位为1,表明从站没有响应或发送出错,主站可以根据得到的异常响应做进一步的处理,比如重发命令。广播方式是主站向所有从站发送命令(从站地址为0),不需要等待从站应答;从站接到广播命令后,执行命令,也不向主站应答。M-2036数字化就地处理

7、箱能够处理的功能码如下表所示。功能码名称作用01(01H)读取线圈状态取得一组逻辑线圈的当前状态03(03H)读取保持寄存器在一个或过个保持寄存器中取得当前的二进制值15(0FH)写多个线圈设置一组逻辑线圈的状态16(10H)写多个寄存器设置一个或多个寄存器的值各功能码描述如下:4.1.1功能码01(0x01)读取线圈状态使用该功能从一个远程设备中读取1~2000个连续的线圈通断状态。请求PDU详细说明了起始地址,即指定的第一个线圈地址和线圈数目。在PDU中从0开始寻址线圈,因此因此编号1~16的线圈寻址为0~15。响应报文中的线圈按数据域的每位

8、一个线圈进行打包。状态被表示为1=ON和0=OFF。第一个数据字节的LSB(最低有效位)包括在询问中寻址的输出。其它线圈依次类推,一直到

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

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

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