MODBUS通讯协议-RTU.docx

上传人:Che****ry 文档编号:4551065 上传时间:2021-09-29 格式:DOCX 页数:19 大小:219.11KB
返回 下载 相关 举报
MODBUS通讯协议-RTU.docx_第1页
第1页 / 共19页
MODBUS通讯协议-RTU.docx_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《MODBUS通讯协议-RTU.docx》由会员分享,可在线阅读,更多相关《MODBUS通讯协议-RTU.docx(19页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精品word 可编辑资料 - - - - - - - - - - - - -Modbus通讯协议(RTU 传输模式)本说明仅做内部参考,具体请参阅英文版本;第 1 页,共 18 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -Modbus 通讯协议 (RTU 传输模式)第一章Modbus 协议简介Modbus协议是应用于电子掌握器上的一种通用语言 ;通过此协议,掌握器相互之间、掌握器经由网络(例如以太网)和其它设备之间可以通信;它已经成为一通用工业标准;有了它,不同厂商生产的掌握设备可以连成工业网络,进行集中监控;此协议定义

2、了一个掌握器能熟悉使用的消息结构, 而不管它们是经过何种网络进行通信 的;它描述了一掌握器恳求拜访其它设备的过程,假如回应来自其它设备的恳求,以及怎样侦测错误并记录;它制定了消息域格局和内容的公共格式;当在一 Modbus 网络上通信时,此协议打算了每个掌握器必要知道它们的设备地址,识别按地址发来的消息,打算要产生何种行动;假如需要回应,掌握器将生成反馈信息并用Modbus 协议发出;在其它网络上,包含了Modbus 协议的消息转换为在此网络上使用的帧或包结构;这种转换也扩展了依据具体的网络解决节地址、路由路径及错误检测的方法;协议在一根通讯线上使用应答式连接(半双工 ),这意味着在一根单独的

3、通讯线上信号沿着相反的两个方向传输;第一,主运算机的信号寻址到一台唯独的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传输给主机; 协议只答应在主运算机和终端设备之间, 而不答应独立的设备之间的数据交换, 这就不会在使它们初始化时占据通讯线路, 而仅限于响应到达本机的查询信号;1 1传输方式传输方式是一个信息帧内一系列独立的数据结构以及用于传输数据的有限规章,以 RTU模式在 Modbus 总线上进行通讯时,信息中的每8 位字节分成2 个 4 位 16 进制的字符,每个信息必需连续传输下面定义了与Modebus 协议 RTU 方式相兼容的传输方式;代码系统8 位二进制,十六进制数

4、0.9, A.F消息中的每个8 位域都是一个两个十六进制字符组成每个字节的位1 个起始位8 个数据位,最小的有效位先发送1 个奇偶校验位,无校验就无1 个停止位(有校验时),2 个 Bit (无校验时)错误检测域CRC(循环冗长检测 )第 2 页,共 18 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -Modbus 通讯协议 (RTU 传输模式)1 2协议当信息帧 到达终端设备时,它通过一个简洁的“口”进入寻址到的设备,该设备去掉数据帧的“信封” (数据头) ,读取数据,假如没有错误,就执行数据所恳求的任务,然后,它将自己

5、生成的数据加入到取得的“信封”中,把数据帧返回给发送者;返回的响应数据中包含了以下内容:终端从机地址(Address) 、被执行了的命令(Function) 、执行命令生成的被恳求数据 (Data) 和一个校验码 (Check) ;发生任何错误都不会有胜利的响应;1 2 1信息帧AddressFunctionDataCheck8-Bits8-BitsN x 8-Bits16-Bits图 1 1 . 信息帧格式特注: Modbus 信息帧所答应的最大长度为256 个字节 ,即 N 的范畴是大于等于零且小于等于 252( N0 , 252 );即,全部的数据一共256 个,数据剩下253 个;1

6、2 2地址( Address)域信息帧地址域(信息地址 )在帧的开头部分,由8 位组成,有效的从机设备地址范畴0-247 ( 十进制 ),各从机设备的寻址范畴为1-247 ;主机把从机地址放入信息帧的地址区,并向从机寻址; 从机响应时, 把自己的地址放入响应信息的地址区,让主机识别已作出响应的从机地址;地址 0 为广播地址,全部从机均能识别;当 Modbus 协议用于高级网络时,就不答应广播或其它方式替代;1 2 3功能( Function )域信息帧功能域代码告知了被寻址到的终端执行何种功能;有效码范畴1-225( 十进制 ) ,有些代码是适用于全部掌握器,有些适应于某种掌握器,仍有些保留以

7、备后用;有关功能代替码的全部内容见附录 A;当主机向从句发送信息时,功能代码向从机说明应执行的动作;如读一组离散式线圈或 输入信号的ON/OFF 状态,读一组寄存器的数据,读从机的诊断状态,写线圈(或寄存器),答应下截、记录、确认从机内的程序等;当从机响应主机时,功能代码可说明从机正常响应或显现错误 (即不正常响应),正常响应时,从句简洁返回原始功能代码;不正常响应时,从机返回与原始代码相等效的一个码,并把最高有效位设定为“1”;如,主机要求从机读一组保持寄存器时,就发送信息的功能码为:0000 0011 (十六进制03)如从机正确接收恳求的动作信息后,就返回相同的代码值作为正常响应;发觉错时

8、, 就返回一个不正常响信息:1000 0011(十六进制83)从机对功能代码作为了修改,此外, 仍把一个特别码放入响应信息的数据区中,告知主机显现的错误类型和不正常响应的缘由,不正常响应见 附录 B;主机设备的应用程序负责处理不 正常响应,典型处理过程是主机把对信息的测试和诊断送给从机,并通知操作者;表1 1列出了全部设备常用的功能码、它们的意义及它们的初始功能;表 1 1 常用功能码代码名称作用1 读取线圈状态取得一组规律线圈的当前状态(ON/OFF)第 3 页,共 18 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -M

9、odbus 通讯协议 (RTU 传输模式)2 读取输入状态取得一组开关输入的当前状态(ON/OFF)3 读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值4 读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值5 强置单线圈强置一个规律线圈的通断状态6 预置单寄存器放置一个特定的二进制值到一个单寄存器中7 读取反常状态取得 8 个内部线圈的通断状态15 强置多线圈强置一串连续规律线圈的通断16 预置多寄存器放置一系列特定的二进制值到一系列多寄存器中17 报告从机标识可使主机判定编址从机的类型及该从机运行指示灯的状态1 2 4数据域数据域包含了终端执行特定功能所需要的数据或者终端响应查

10、询时采集到的数据;这些数据的内容可能是数值、参考地址或者极限值;他由数据区有2 个 16 进制的数据位 (2 的 8次方 256),数据范畴为00-FF(16 进制 );例如: 功能域码告知终端读取一个寄存器,数据域就需要指明从哪个寄存器开头及读取多少个数据,内嵌的地址和数据依照类型和从机之间的不同才能而有所不同;如无错误显现, 从机向主机的响应信息中包含了恳求数据,如有错误显现, 就数据中有一个不正常代码,使主机能判定并作出下一步的动作;数据区的长度可为 “零”以表示某类信息;1 2 5错误校验域该域答应主机和终端检查传输过程中的错误; 有时, 由于电噪声和其它干扰, 一组数据在从一个设备传

11、输到另一个设备时在线路上可能会发生一些转变, 出错校验能够 保证主机或者终端不去响应那些传输过程中发生了转变的数据 ,这就提高了系统的安全性和效率, 出错校验使用了 16 位循环冗余的方法,即 CRC 校验;错误检测域包含一16Bits 值(用两个 8 位的字符来实现) ;错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的;CRC 域附加在消息的最终,添加时先是低字节然后是高字节;故CRC 的高位字节是发送消息的最终一个字节;1 2 6字符的连续传输当消息在标准的Modbus 系列网络传输时, 每个字符或 字节 按由左到右的次序方式发送:最低有效位( LSB ) .最高有效位 (MSB

12、) ;位的序列是:有奇偶校验启始位12345678奇偶位停止位无奇偶校验启始位12345678停止位停止位图 12 .位次序( RTU)1 3 错误检测1、奇偶校验第 4 页,共 18 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -Modbus 通讯协议 (RTU 传输模式)用户可以配置掌握器是奇或偶校验,或无校验;这将打算了每个字符中的奇偶校验位是如何设置的;假如指定了奇或偶校验,“ 1”的位数将算到每个字符的位数中( ASCII 模式 7 个数据位,RTU 中 8 个数据位);例如RTU 字符帧中包含以下8 个数据位:

13、 1 1 0 0 0 1 0 1整个“ 1”的数目是4 个;假如便用了偶校验,帧的奇偶校验位将是0,便得整个“ 1”的个数仍是4 个;假如便用了奇校验,帧的奇偶校验位将是1,便得整个“ 1”的个数是5 个;假如没有指定奇偶校验位,传输时就没有校验位,也不进行校验检测;代替一附加的停止位填充至要传输的字符帧中;2、CRC 检测RTU 方式时, 采纳 CRC 方法运算错误校验码,CRC 校验传送的全部数据;它忽视信息中单个字符数据的奇偶校验方法;循环冗余校验( CRC)域占用两个字节,包含了一个 16 位的二进制值; CRC 值由传送设备运算出来,然后附加到数据帧上,接收设备在接收数据时重新运算

14、CRC 值,然后与接收到的 CRC 域中的值进行比较,假如这两个值不相等,就发生了错误;CRC 开头时先把寄存器的16 位全部置成“ 1”, 然后把相邻2 个 8 位字节的数据放入当前寄存器中,只有每个字符的8 位数据用作产生CRC ,起始位,停止位和奇偶校验位不加到 CRC 中;在生成 CRC 时,每个8 位字节与寄存器中的内容进行异或,然后将结果向低位移位, 高位就用“ 0”补充,最低位(LSB )移出并检测,假如是1,该寄存器就与一个预设的固定值进行一次异或运算,假如最低位为0,不作任何处理;上述处理重复进行,知道执行完了 8 次移位操作,当最终一位(第 8 位)移完以后,下一个 8 位

15、字节与寄存器材的当前值进行异或运算, 同样进行上述的另一个 8 次移位异或操作, 当数据帧中的全部字节都作了处理,生成的最终值就是 CRC 值;生成一个 CRC 的流程为:1、预置一个16 位寄存器为0FFFFH (全 1),称之为 CRC 寄存器;2、把数据帧中的第一个8 位字节与 CRC 寄存器中的低字节进行异或运算,结果存回 CRC寄存器;3、将 CRC 寄存器向右移一位,最高位填以0,最低位移出并检测;4、假如最低位为0:重复第3 步(下一次移位) ;假如最低位为1:将 CRC 寄存器与一个预设的固定值(0A001H )进行异或运算;5、重复第 3 步和第 4 步直到 8 次移位;这样

16、处理完了一个完整的八位;6、重复第 2 步到第 5 步来处理下一个八位,直到全部的字节处理终止;7、最终 CRC 寄存器得值就是CRC 的值;CRC 值附加到信息时,低位在先,高位在后;查阅附录 C 中的一个实例,它具体说明白 CRC 的校验;其次章Modbus 数据和掌握功能详解Modbus信息中的全部数据地址以零作为基准,各项数据的第一个数据地址的编号为0;如无特别说明在此节文中用进制值表示,图中的数据区就用十六进制表示;图 2-1 为一个例子,说明白Modbus 的查询信息,图2-2 为正常响应的例子,这两例第 5 页,共 18 页 - - - - - - - - - -精品word 可

17、编辑资料 - - - - - - - - - - - - -Modbus 通讯协议 (RTU 传输模式)子中的数据均是16 进制的,也表示了以RTU 方式构成数据帧的方法;主机查询是读保持寄存器,被恳求的从机地址是06,读取的数据来自地址40108 保持寄有器;留意,该信息规定了寄存器的起始地址为0107 (006BH) ;从机响应返回该功能代码,说明是正常响应,字节数“Bylecount”中说明有多少个8 位字节被返回; 它说明白附在数据区中8 位字节的数量,当在缓冲区组织响应信息时,“字节数”区域中的值应与该信息中数据区的字节数相等;如RTU方式时, 63H用一个字节 (01100011)

18、 发送; 8 个位为一个单位运算“字节数”,它忽视了信息帧用组成的方法;AddrFunData startreg hiData startreg loData #ofregs hiData #ofregs loCRC16hiCRC16lo06H03H00H6BH00H01HXXHXXH图 2 1 Modbus 的查询信息AddrFunByteData1Data1Data 2Data2Data3Data3CRC16CRC16counthiLohilohilohilo06H03H06H02H2BH00H00H00H63HXXHXXH图 2 2 Modbus 的响应信息2 1 读取线圈状态(功能码0

19、1)读取从机离散量输出口(DO,0X 类型)的ON/OFF状态,不支持广播;查询查询信息规定了要读 的起始线圈和线圈量,线圈的起始地址为0000H,1-16 个线圈的寻址地址分为0000H 0015H ( DO1=0000H , DO2=0001H ,依此类推) ;图 2 3 的例子是从地址为17 的从机读取DO1 至 DO6 的状态;AddrFunDO start reg hiDO start reg loDO #of regs hiDO #of regs loCRC16hiCRC16lo11H01H00H00H00H06HXXHXXH图 2 3 读取线圈状态- 查询响应响应信息中的各线圈的

20、状态与数据区 的每一位的值相对应,即每个DO 占用一位( 1 =ON, 0 = OFF),第一个数据字节的LSB 为查询中的寻址地址,其他的线圈按次序在该字节 中由低位向高位排列,直至 8 个为止, 下一个字节也是从低位向高位排例;如返回的线圈数不是 8 的倍数,就在最终的数据字节中的剩余位至字节的最高位全部填0,字节数区说明全部数据的字节数;图 2 4 所示为线圈的输出状态响应的实例;AddrFunByte countDataCRC16hiCRC16lo11H01H01H2AHXXHXXH数据000000DO2DO1MSB765432LSB图 2 4 读取线圈状态- 响应第 6 页,共 18

21、 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -Modbus 通讯协议 (RTU 传输模式)2 2 读取输入状态(功能码02)读取从机离散量输入 信号( DI,0X类型)的 ON/OFF 状态,不支持广播;查询查询信息规定了要读的输入起始地址,以及输入信号的数量; 输入的起始地址为0000H , 1-16 个输入口的地址分别为0-15 (DO1=0000H , DO2=0001H ,依此类推) ;图 2 5 的例子是从地址为17 的从机读取DI1 到 DI16 的状态;AddrFunDI startaddrhiDI sta

22、rtaddrloDI numhiDI numloCRC16hiCRC16lo11H02H00H00H00H10HXXHXXH图 2 5 读取输入状态- 查询响应响应信息中的各输入口的状态,分别对应于 数据区 中的每一位值, 1 = ON; 0 = OFF ,第一个 数据字节的LSB 为查询中的寻址地址,其他输入口按次序在该字节中由低位向高位排列, 直至 8 个位为止; 下一个字节中的 8 个输入位也是从低位到高位排列; 如返回的输入位数不是 8 的倍数, 就在最终的数据字节中的剩余位直至字节的最高位全部填零; 字节数区说明白全部数据的字节数;图 2 6 所示为读数字输出状态响应的实例;Addr

23、FunByte countData1Data2CRC16 hiCRC16 lo11H02H02H33HCCHXXHXXH数据1DI8DI7DI6DI5DI4DI3DI2DI1数据2MSBLSBDI16DI15DI14DI13DI12DI11DI10DI9MSBLSB图 2 6 读取输入状态- 响应2 3 读取保持寄存器(功能码03)读取从机保持寄存器(4X 类型)的二进制数据,不支持广播;查询查询信息规定了要读的保持寄存器起始地址及保持寄存器的数量,保持寄存器寻址起始地址为 0000H,寄存器1-16 所对应的地址分别为0000H 0015H;图 2 7 的例子是从17 号从机读 3 个采集到

24、的基本数据U1、U2、U3,U1 的地址为 0000H,U2 的地址为0001H, U3 的地址为0002H ;AddrFunData startaddrhiData startaddr loData #ofregs hiData #ofregs loCRC16hiCRC16lo11H03H00H00H00H03HXXHXXH第 7 页,共 18 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -Modbus 通讯协议 (RTU 传输模式)图 2 7 读取保持寄存器- 查询响应响应信息中的寄存器数据为二进制数据,每个寄存器分别

25、对应2 个字节,第一个字节为高位值数据,其次个字节为低位数据;图 2 8 的例子是读取U1,U2,U3(U1=03E8H,U2=03E7H,U3=03E9H)的响应;AddrFunBytecountData1hiData1LoData 2hiData2loData3hiData3loCRC16hiCRC16lo11H03H06H03HE8H03HE7H03HE9HXXHXXH图 2 8 读取保持寄存器- 响应2.4 读取输入寄存器(功能码04)读取从机输入寄存器(3X 类型 )中的二进制数据,不支持广播;查询查询信息规定了要读的寄存器的起始地址及寄存器的数量,寻止起始地址为0,寄存器 1-16

26、 所对应的地址分别为0000H 0015H ;图 2 9 的例子是恳求17 号从机的0009 寄存器;AddrFunDO addr hiDO addr loData #of regs hiData #of regs loCRC16hiCRC16lo11H04H00H08H00H01HXXHXXH图 2 9 读取输入寄存器- 查询响应响应信息中的寄存器数据为每个寄存器分别对应2 个字节, 第一个字节为高位数据,其次个字节为低位数据;图 2 10 的例子寄存器30009 中的数据用000AH 2 个字节表示;AddrFunByte countData hiData LoCRC16hiCRC16lo

27、11H04H02H00H0AHXXHXXH图 2 10 读取输入寄存器- 响应2.5 强置单线圈(功能码05)强制单个线圈 (DO , 0X 类型 ) 为 ON 或 OFF 状态,广播时,该功能可强制全部从机中同一类型的线圈均为ON 或 OFF 状态;该功能可越过掌握器内存的爱护状态和线圈的禁止状态;线圈强制状态始终保持有效直至下一个掌握规律作用于线圈为止;掌握规律中无线圈程序时,就线圈处于强制状态;查询查询信息规定了需要强制一个单独线圈的类型,线圈的起始地址为0000H , 1-16 个线圈的寻址地址分为0000H 0015H ( DO1=0000H , DO2=0001H ,依此类推) ;

28、由查询数据区中的一个常量,规定被恳求线圈的ON/OFF 状态,FF00H 值恳求线圈第 8 页,共 18 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -Modbus 通讯协议 (RTU 传输模式)处于 ON 状态, 0000H 值恳求线圈处于OFF 状态,其它值对线圈无效,不起作用;图示 2-11 的例子是恳求17 号从机开DO1 的 On 状态;AddrFunDO addrhiDO addrloValuehiValueloCRC16hiCRC16lo11H05H00H00HFFH00HXXHXXH图示2-11 强制单线圈

29、 - 查询响应图 2 12 所示为对这个命令恳求的正常响应是在DO 状态转变以后传送接收到的数据;AddrFunDO addrhiDO addrloValuehiValueloCRC16hiCRC16lo11H05H00H00HFFH00HXXHXXH图示2-12 强制单线圈 -响应2 6预置单寄存器(功能码06)把一个值预置到一个保持寄存器( 4X 类型)中,广播时,该功能把值预置到全部 从机的相同类型的寄存器中;该功能可越过掌握器的内存爱护;使寄存器中的预置值保持有效;只能由掌握器的下一个规律信号来处理该预置值;如掌握规律中无寄存器程序时,就寄存器中的值保持不变;查询查询信息规定了要预置寄

30、存器的类型,寄存器寻址起始地址为0000H ,寄存器 1 所对应的地址为0000H ;图示2-13 的例子是恳求17 号从机 0040H. 的值为 2717;AddrFunData startreghiData startreg loValue hiValue loCRChiCRClo11H06H00H40H0AH 9DHXXHXXH图示2-13 预设单寄存器 - 查询响应图 2 14 所示对于预置单寄存器恳求的正常响应是在寄存器值转变以后将接收到的数据传送回去;AddrFunData startreghiData startreg loValue hiValue loCRChiCRClo11

31、H06H00H40H0AH 9DHXXHXXH图示2-14 预设单寄存器 - 响应2 7 读取反常状态(功能码7)读从中机中8 个不正常状态线圈的数据,某些线圈号已在不同型号的掌握器中预定义,而其它的线圈由用户编程,作为有关掌握器的状态信息,如“machineON/OFF ”,“ headsretraced”, (缩回标题 ),“ safeties satisfied”( 安全性中意 ) ,“error conditions ”(存在错误条件)第 9 页,共 18 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -Modbus

32、 通讯协议 (RTU 传输模式)或其它用户定义的标志等;该功能码不支持广播;该功能代码为存取该类信息供应了一种简洁的方法,不正常线圈的类型是已知的(在功能代码中不需要线圈类型) 预定义的不正常线圈号如下:掌握器型号线圈设定M84,184/384,584,9841-8用户定义484257电池状态258-264用户定义884761电池状态762内存爱护状态763R10 工况状态764-768用户预定义查询图示2-15 的例子是恳求读从机设备17 中的不正常状态;AddrFunCRC16hiCRC16lo 11H07HXXHXXH图示2-15 读取反常状态 - 查询响应正常响应包含8 个不正常的线圈

33、状态,为一个数据字节,每个线圈一位;LSB 对应为最低线圈类型的状态;图 2 16 所示按查询要求返回响应:AddrFunDO DataCRC16hiCRC16lo11H07H6DHXXHXXH图示2-16 读取反常状态 - 响应该例子中,线圈数据为 6DH ( 二进制 0110 ,1101),从左到右 (最高位至最低位 ) 的线圈状态分别为 : OFF ON ON OFF ON ON OFF ON ;如掌握器型号为 984,这些位表示线圈 8 至 1 的状态;如掌握器型号为 484 就表示线圈 264 至 257 的状态;2 8强置多线圈(功能码15)按线圈的次序把各线圈(DO , 0X类型

34、 ) 强制成ON 或 OFF;广播时,该功能代码可对各从机中相同类型的线圈起强制作用;该功能代码可越过内存爱护和线圈的禁止状态线圈;保持强制状态有效,并只能由掌握器的下一个规律来处理;如无线圈掌握规律程序时,线圈将保持强制状态;查询查询信息规定了被强制线圈的类型,线圈的起始地址为0000H ,1-16 个线圈的寻址地址分为 0000H 0015H( DO1=0000H ,DO2=0001H ,依此类推) ;查询数据区规定了被恳求线圈的ON/OFF状态, 如数据区的某位值为“ 1”表示恳求的相应线圈状态为ON,位值为“ 0”,就为 OFF 状态;图示 2-17 例子为恳求从机设备17 中一组10

35、 个线圈为强制状态,起始线圈为20 (就第 10 页,共 18 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -Modbus 通讯协议 (RTU 传输模式)寻址地址为19 或 13H) ,查询的数据为2 个字节,CD01H ( 二进制11001101 0000 0001)相应线圈的二进制位排列如下:Bit:1100110100000001Coll:2726252423222120-2928传送的第一个字节CDH对应线圈为27-20,LSB对应线圈20,传送的其次个字节为 01H ,对应的线圈为29-28, LSB为继圈28,

36、其余未使用的位均填“0”;AddrFunDO addrhiDO addr loData #ofreghiData #ofreg loBytecountValuehiValueloCRChiCRClo11H0FH00H13H00H0AH02HCDH01HXXHXXH图示2-17 强置多线圈 -查询响应正常响应返回从机地址,功能代码,起始地址以及强制线圈数;图 2 18 对上述查询返回的响应;AddrFunDO addrhiDO addr loData #ofreghiData #ofreg loCRC16hiCRC16lo11H0FH00H13H00H0AHXXHXXH图示2-18 强置多线圈

37、-响应2 9 预置多寄存器(功能码16)把数据按次序预置到各(4X 类型 ) 寄存器中,广播时该功能代码可把数据预置到全部从机中的相同类型的寄存器中;该功能代码可越过掌握器的内存爱护,在寄存器中的预置值始终保持有效,只能由掌握器的下一个规律来处理寄存器的内容,掌握规律中无该寄存器程序时,就寄存器中的值保持不变;查询查询信息规定了要预置寄存器的类型,寄存器寻址起始地址为0000H ,寄存器 1 所对应的地址为0000H ;图示2-19 的例子是恳求17 号从机 0040H. 的值为 178077833 ;AddrFunData startreghiData startreg loData #of

38、 reghiData #of reg loByte countValue hiValue loValue hiValue loCRChiCRClo11H 10H00H40H00H02H04H40H89H0AH 9DHXXHXXH图示2-19 预设多寄存器 - 查询响应图 2 20 所示对于预置单寄存器恳求的正常响应是在寄存器值转变以后将接收到的数据传送回去;AddrFunData startreghiData startreg loData #ofreghiData #ofreg loCRC16hiCRC16lo11H10H00H40H00H02HXXHXXH图示2-20 预设多寄存器 - 响

39、应2 10 报告从机标识(功能码17)第 11 页,共 18 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -Modbus 通讯协议 (RTU 传输模式)返回一个从机地址掌握器的类型,从机的当前状态,以及有关从机的其他说明,不支持广播;查询图示2-21 的例子是恳求报告从机设备17的标识 ID和状态;AddrFunCRC1611H11HXXHhiCRC16loXXH图示2-21 报告从机标识 - 查询响应图 2 22 所示正常响应格式,数据内容对应每台掌握器的类型;AddrFunByte CountSlave IDRun I

40、ndicatorStatusAdditfional DataCRC16hiCRC16lo11H11HXXHXXHXXHXXHXXHXXH图示2-22 报告从机标识 - 响应从机ID总结数据区第一个字节为Modicon掌握器返回的从机ID Slave IDController0Micro 8414842184/384358488849984特注:具体信息见Modbus 协议英文版或中文版;第三章附录附录 A :MODBUS 全部功能码ModBus网络是一个工业通信系统,由带智能终端的可编程序掌握器和运算机通过公用线 路或局部专用线路连接而成;其系统结构既包括硬件、亦包括软件; 它可应用于各种数据采集和过程监控;下表3-1是 ModBus的功能码定义;表 3-1 ModBus功能码功能码名称作用01读取线圈状态取得一组规律线圈的当前状态(ON/OFF)02

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com