ModBus通讯格式

ModBus通讯格式

ID:40750876

大小:64.00 KB

页数:5页

时间:2019-08-07

上传者:U-3743
ModBus通讯格式_第1页
ModBus通讯格式_第2页
ModBus通讯格式_第3页
ModBus通讯格式_第4页
ModBus通讯格式_第5页
资源描述:

《ModBus通讯格式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

附录:------通讯规约1.ModBus基本规则:1.1.所有RS485通讯回路都应遵照主/从方式。依照这种方式,1.2.数据可以在一个主站(如:PC)和32个子站(如:YD2000)之间传递。1.3.主站将初始化和控制在RS485通讯回路上传递的所有信息。1.4.任何一次通讯都不1.5.能从子站开始。1.6.在RS485回路上的所有通讯都以“信息帧”方式传递。1.7.如果主站或子站接收到含有未知命令的信息帧,1.8.则不1.9.予以响应。“信息帧”就是一个由数据帧(每一个字节为一个数据帧)构成的字符串(最多255个字节),是由信息头和发送的编码数据构成标准的异步串行数据,该通讯方式也与RTU通讯规约相兼容。2.数据帧格式:通讯传输为异步方式,并以字节(数据帧)为单位。在主站和子站之间传递的每一个数据帧都是11位的串行数据流。数据帧格式:起始位1位数据位8位(低位在前、高位在后)奇偶校验位1位:有奇偶校验位;无:无奇偶校验位停止位1位:有奇偶校验位;2位:无奇偶校验位有校验位的时序图:无校验位的时序图: 3.通讯规约:当通讯命令发送至仪器时,符合相应的地址码的设备接收通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。返送的信息中包括地址码、执行动作的功能码、执行动作后的数据以及错误校验码(CRC)。如果出错就不发送任何信息。3.1.信息帧格式:STARTADDCSDATACRCEND初始结构地址码功能码数据区错误校验结束结构延时(相当于4个字节的时间)1字节8位1字节8位N字节N×8位2字节16位延时(相当于4个字节的时间)3.1.1.地址码(ADD):地址码为每次通讯传送的信息帧中的第一个数据帧(8位),从0到255。这个字节表明由用户设定地址码的子机将接收由主机发送来的信息。并且每个子机都有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的子机地址,而子机发送的地址码表明回送的子机地址。3.1.2.功能码(CS):功能码是每次通讯传送的信息帧中的第二个数据帧。作为主机请求发送,通过功能码告诉子机执行什么动作。作为子机响应,子机发送的功能码与主机发送来的功能码一样,并表明子机已响应主机进行操作。如果子机发送的功能码的最高位是1(功能码>127),则表明子机没有响应或出错。下表列出的功能码都具体的含义及操作。MODBUS部分功能码功能码定义操作03H读寄存器读取一个或多个寄存器的数据10H写多个连续寄存器把多个16位二进制数写入多个寄存器03,读寄存器: 功能码03H映射的数据区的保持和输入寄存器值都是16位(2字节)。子机响应的命令格式是子机地址、功能码、数据区及CRC码。数据区的数据都是每2个字节为一组的双字节数,且高字节在前。10,写多个点连续寄存器:Modbus通讯规约中的寄存器指的是16位(即2字节),并且高位在前。3.1.3.数据区(DATA):数据区随功能码不同而不同。由主机发送的读命令(03H)信息帧的数据区与子机应答信息帧的数据区是不同的,由主机发送的写命令(10H)信息帧的数据区与子机应答信息帧的数据区是完全相同。数据区包含需要子机执行什么动作或由子机采集的需要回送的信息。这些信息可以是数值、参考地址等等。例如,功能码告诉子机读取寄存器的数值,则数据区必须包含要读取寄存器的起始地址及读取长度(寄存器个数)。1、与功能码03对应的数据区格式:u主机发送数据顺序12数据含义起始地址读寄存器个数字节数22u子机应答数据顺序12数据含义回送字节数N个寄存器的数据字节数12×Nn与功能码10对应的数据区格式:数据顺序12…N数据含义起始地址写入数据1…写入数据N字节数22...23.1.4.错误校验码(CRC): 主机或子机可用校验码进行判别接收信息是否出错。有时,由于电子噪声或其他一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或子机对在传送过程中出错的信息不起作用。这样增加了系统的安全和效率。错误校验码采用CRC-16校验方法。二字节的错误校验码,低字节在前,高字节在后。注意:信息帧的格式都是相同的:地址码、功能码、数据区和错误校验码。3.2.错误校验冗余循环码(CRC)包含2个字节,即16位二进制。CRC码由发送端计算,放置于发送信息的尾部。接收端的设备再重新计算接收到信息的CRC码,比较计算得到的CRC码是否与接收到的相符,如果二者不相符,则表明出错。CRC码的计算方法是,先预置16位寄存器全为。再逐渐把每8位数据信息进行处理。在进行CRC码计算时只用8位数据位,起始位及停止位,如有奇偶校验位的话也包括奇偶校验位,都不参与CRC码计算。在计算CRC码时,8位数据与寄存器的数据相异或,得到的结果向低位移一位,用0填补最高位。再检查最低位,如果最低位为1,把寄存器的内容与预置数相异或,如果最低位为0,不进行异或运算。这个过程一直重复8次。第8次移位后,下一个8位再与现在寄存器的内容相异或,这个过程与上以上一样重复8次。当所有的数据信息处理完后,最后寄存器的内容即为CRC码值。3.3.CRC-16码的计算步骤为:置16位寄存器为十六进制FFFF(即全为1)。称此寄存器为CRC寄存器。把一个8位数据与16位CRC寄存器的低位相异或,把结果放于CRC寄存器。把寄存器的内容右移一位(朝低位),用0填补最高位,检查最低位(移出位)。如果最低位为0:复第3步(再次移位)。如果最低位为1:CRC寄存器与多项式A001(1010000000000001)进行异或。重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理。重复步骤2到步骤5,进行下一个8位的处理。 最后得到的CRC寄存器即为CRC码,低字节在前,高字节在后。3.4.信息帧格式举例3.4.1.功能码03:000300020001241BCRC码固定格式其始地址功能码子机地址3.4.2.功能码10子机地址为00,把0064保存到地址0004。0010000400020400640000B77FCRC码高位数据低位数据固定格式其始地址功能码子机地址

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

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

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