超声水表Modbusrtu通信协议V11_第1页
超声水表Modbusrtu通信协议V11_第2页
超声水表Modbusrtu通信协议V11_第3页
超声水表Modbusrtu通信协议V11_第4页
超声水表Modbusrtu通信协议V11_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

超声水表MODBUS-RTU通信协议V1.1.RTU模式物理层传输接口:RS-485通信波特率:9600bpsRTU模式中每个字节的格式为编码系统:8位二进制每个8位域包含两个十六进制字符(0-9、A-F)传输模式:异步主从半双工方式。每个字节的位:1个起始位8个数据位奇偶不校验1个停止位帧校验域:循环冗余校验(CRC),对全部报文内容执行校验。一个数据包格式(除CRC校验外,所发送字时均是先高位字节后低位字节)地址Address功能码Function数据Data检验码CRC1字节1字节N字节2字节,先低字节后高字节注:数据包的发送序列总是相同的,地址一功能码一数据一检验码,每个数据包必须作为一个连续的位流传输。4.1地址(Address)域地址域在数据包的开始部分,由一个8bit数据组成,这个数据表明了从站的地址,而每一个从站的地址必须是唯一的,有效地址范围为:1~247。主站发送数据包后,只有与主站查询地址相同的从站才会响应。4.2功能(Function)域功能域代码指定被寻址的从站执行何种功能,表1列出了所有的功能码。代码意义功能03H读保持寄存器读取一个或多个变量的当前二进制值06H预置单个寄存器值用一个预置值改写一个变量的值10H预置多个寄存器值用多个预置值改写多个变量的值4.3数据(Data)域数据域是由两个十六进制数集合构成的,范围00...FF。从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代码所定义的所为。这包括了象不连续的寄存器地址,要处理项的数目,域中实际数据字节数。例如,如果主设备需要从设备读取一组保持寄存器(功能代码03),数据域指定了起始寄存器以及要读的寄存器数量。如果没有错误发生,从从设备返回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码,主设备应用程序可以用来判断采取下一步行动。4.4错误校验(CRC)域错误检测域包含一16Bits值(用两个8位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的。CRC值有发送设备计算出来,然后附加到数据包上传送,接收设备在接收数据时重新计算CRC值,然后与接收到的校验码(CRC)域中的值进行比较,如果这两个数据不相等,则说明数据在传输过程中发生了错误。CRC码计算时,首先将一个16bits寄存器预置为全1,然后连续把数据包中的8bits字节与该寄存器的当前值进行运算,仅仅每个字节的8位数据进行计算,起始位和停止位与可能使用的奇偶校验位都不影响CRC。生成CRC时,每个8bits字节与寄存器中的内容进行异或运算,结果向低位移位,高位则补0,最低位(LSB)移出并检测,如果是1,该寄存器就与一个预设的固定值进行一次异或运算,如果是0,则不进行任何处理。上述处理重复进行,直到执行完8位移位操作为止,当最后移位移完后,下一个8bits字节与该寄存器进行异或,同样进行另一个8bits字节进行移位异或操作,当数据包中所有字节都处理了,生成的最终值就是CRC值。CRC码生成流程:1、 将一个16bits寄存器(称之为CRC寄存器)置为FFFFH(全1);2、 把数据包中的第一个字节与CRC寄存器低字节相异或结果存回到CRC寄存器;3、 将CRC寄存器向右移一位,最高位(MSB)补以“0”,最低位(LSB)移出并检测;4、 如果移出位为“0”:重复地3步(下一次移位)如果移出位为“1”:将CRC寄存器与一个预设的固定值(A001H)进行异或运算;5、 重复第3、4步直到8次移位结束,这样就处理完成8bits字节;6、 重复第2步至第5步处理下一个8bits字节,直到所有字节全部处理结束;7、 最终的CRC寄存器中的值就是CRC值。

.寄存器地址及定义序号寄存器字地址意义说明读写状态140001~40020000~0001仪表编号4字节BCD码,8位编号读240003~40040002~0003瞬时流量Float(IEEE754),单位:m3/h读340005~40080004~0007正向总量Double(IEEE754),单位:m3读440009~40120008-000B反向总量Double(IEEE754),单位:m3读540013000C工作状态字Int,水表的工作状态字,字的构成如下:BIT15〜BIT9=未用BIT8-声道2信号弱标识0:正常1:声道2信号弱BIT7-声道1信号弱标识0:正常1:声道1信号弱BIT6-声道2故障标识0:正常1:声道2故障BIT5-声道1故障标识0:正常1:声道1故障BIT4-测量信号强度低标识0:正常1:信号强度低BIT3-气泡含量过多标识0:正常1:气泡过多BIT2-测量错误标识0:正常1:测量错误BIT1-空管标识0:正常1:空管BIT0-电池欠压标识0:正常1:欠压读640014000D日期:年Int,2字节:年读/写740015000E日期:月、日Byte高字节:月,低字节:日读/写840016000F日期:时、分Byte高字节:时,低字节:分读/写9400170010日期:秒Byte高字节:秒读/写10400180011Gprs通信间隔时间Int范围:1〜65535小时读/写三.功能代码1.03读保持寄存器说明:读从机保持寄存器的数据。主站请求帧:地址1字节功能码1字节0x03起始地址2字节0x0000〜0x0011寄存器数量2字节1~18(0x0012)CRC校验2字节

从站响应帧:地址1字节功能码1字节0x03字节数1字节2XN(寄存器数量)寄存器值2XN字节CRC校验2字节示例(假设地址为01)读水表瞬时流量、总量与状态寄存器数据主站请求帧:0L 03 0002 000BA5CD地址功能码起始地址数量CRC从站响应帧:010316;地址、功能码、字节计数00000000;体积(瞬时)流量:0.0m3/h3FF3C0CA2A5B1D5D ;正向总量:1.2345m33FF3C1C5B852655D ;反向总量:1.2348m30002;仪表状态字:0002(状态:空管)01CF;CRC读所有寄存器数据主站请求帧:01 030000 0012C5C7地址功能码起始地址数量CRC从站响应帧:010324;地址、功能码、字节计数13088012;仪表编号:1308801200000000;体积(瞬时)流量:0.0m3/h3FF3C0CA2A5B1D5D ;正向总量:1.2345678m33FF3C1C5B852655D ;反向总量:1.2348077m30002;仪表状态字:0002(状态:空管)07DD;日期:2013年0A12;日期:10月18日0400;时间:4时0分0A00;时间:10秒05A0;GPRS通信间隔时间:1440小时4219;CRC2.预置单个寄存器值(功能码06H)查询数据域名称例如(HEX)地址01功能码06起始地址高字节00

起始地址低字节01预置值高字节00预置值低字节01CRC校验低字节19CRC校验高字节CA响应数据域名称例如(HEX)地址01功能码06起始地址高字节00起始地址低字节01预置值高字节00预置值低字节01CRC校验低字节19CRC校验高字节CA3.预置多个寄存器值(功能码10H)查询数据域名称例如(HEX)地址01功能码10起始地址高字节XX起始地址低字节XX变量的个数高字节XX变量的个数低字节XX预置值1高字节XX预置值1低字节XX预置值N低字节XX预置值N低字节XXCRC校验低字节CRCLOCRC校验高字节CRCHI响应数据域名称例如(HEX)地址0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论