重量限制器modbus通讯协议()

重量限制器modbus通讯协议()

ID:46561002

大小:57.00 KB

页数:4页

时间:2019-11-25

重量限制器modbus通讯协议()_第1页
重量限制器modbus通讯协议()_第2页
重量限制器modbus通讯协议()_第3页
重量限制器modbus通讯协议()_第4页
资源描述:

《重量限制器modbus通讯协议()》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、modbus通讯协议详解重量限制器的通讯物理层为半双工RS-485,波特率为9600bps串行口数据格式:1个起始位,8个数据位,1个停止位,无奇偶校验位。一、、MODBUS协议简介Modbus协议是一种串行主/从协议。Modbus协议定义了通讯链路上串行传输的内容。这里仅有一台设备(主机)可以请求数据交换(叫作“查询”),其它设备(从机)单独向主机回送消息(叫作“响应”)。典型的主机为上位计算机,典型的从机为四重量限制器。1、查询与响应Modbus协议定义了主机查询消息的格式和从机响应消息的格式。主机查询消息包括地址、功能

2、代码、数据以及错误校验。从机响应消息包括地址、功能代码、数据及错误校验。如果从机在接收消息时出错或是从机不能执行所接收的命令,它将生成错谋消息并作为响应发送给主机或不作响应使主机产生超时错误。主设备的查询消息设备地址功能代码数据错误检测设备地址功能代码数据错误检测丛设备的回应消息图1主一从查询一回应周期表查询:查询消息中的功能代码告诉从机做什么。数据是从机执行命令所需耍的附加信息。例如:功能代码()3表示让从机读通道测呈值,并把所读内容返冋主机。功能代码之后的数据告诉从机:从哪个通道开始读,读多少个通道的测量值。错谋校验为从

3、机提供了验证信息正确性的方法。响应:如果从机作出常规响应,则响应消息中的功能代码就是查询消息中的功能代码。数据域包含从机收集的信息,如通道测量值等等。如果发牛错谋,则功能代码被修正以指示这是一个错课响应,数据域包含了对错课的描述代码。错课校验使主机可以确认信息的有效性。2、传输模式Modbus协议冇两种不同的传输模式:ASCII模式和RTU模式。鉴于RTU模式更加高效简洁,四重量限制器采用了RTU模式,所以下面只介绍RTU模式。RTU模式:当采用RTU模式时,每一个8位字节用2个4位16进制字符表示。这种模式的主要优点是,在

4、相同的波特率下,能提供比ASCII模式更人的数据吞吐最。每一帧消息必须连续传输。RTU模式中每字节的格式为:码制:8位二进制,16进制()〜9,A〜F,每一个8位字节用两个16进制字符表示。每字节位数:1个起始位8个数据位,低位在前无奇偶校验位1个停止位错课校验:循环冗余校验(CRC)3、Modbus消息帧在RTU模式中,消息以至少3.5个字符间隔的空闲开始,这是最容易实现的,在网络使用的波特率下,它是一个字符传输吋间的整倍数,紧随其后的第一个域是设备地址。在消息帧中,所冇数据域只允许以16进制字符表示;联网设备连续监视网络

5、总线,包括对空闲间隔的监视。当接收到第一个域(地址域)时,所有设备都对地址进行译码,检查是否本设备被寻址。整个消息帧必须连续传输,如果在一帧消息结束丽,出现大于3.5个字符的时间间隔,则设备将不完整的消息溢出并认为下一个字节是一个新消息帧的地址域。同样地,如果一个新消息的开始紧随前一个消息,其时间间隔小于3.5个字符,则设备将把它看作是前一个消息的连续,这将导致错误,因为最后的CRC域与所接收的内容不一致。典型的消息帧表示如下:开始地址功能数据CRC校验结束T1-T2-T3-T48bits8bitsn*8bits16bits

6、T1-T2-T3-T44、CRC校验在RTU模式中,消息帧含有一个校验域,是基于循环冗余校验(CRC)方法生成的,CRC校验域是对整个消息帧的内容进行校验,它的应用与位校验无关。CRC校验域有两个字节,含16位二进制数,CRC值由发送设备计算生成,附加在消息之后。接收设备在接收信息过程中,对消息的CRC进行计算,并将计算值与接收的CRC值进行比较,如果两个值不相等,则产生错误。CRC的计算从预装FFH到一个16位寄存器开始,然后将消息的8位字节顺序与寄存器中的值运算。仅使用字符贞中的8位参与CRC运算,起始位、停止位和校验位

7、不参与CRC运算。在CRC生成过程屮,每一个8位字节与CRC寄存器的内容进行异或操作,将结果向低位(LSB)移位,高位(MSB)用0填充。对移岀的LSB位进行检查,如果是1,则寄存器与一个固定的值进行界或操作;如果为0,则不进行界或。这一•过程重复,直到将8位全部移出。在最后一次移出之后,下一个字节与CRC寄存器进行异或操作。重复上述操作,所有消息贞小的字节都运算完Z后,CRC寄存器中的值就是CRC值。生成CRC的过程为:(1)用FFFFH装载16位的CRC寄存器。(2)将CRC寄存器与消息帧中的第一个字节进行界或操作,结果

8、存于CRC寄存器中。(3)将CRC寄存器向低位(LSB)方向移位一次,高位(MSB)用0填充,检查移出的位。(4)如果是0,则重复第(3)步。如果是1,则将CRC寄存器与A001H进行异或操作,结果存于CRC寄存器。(5)重复第(3)、(4)步8次,处理完一个字节。(5)重复笫(2)〜(5

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

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

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