QJ71MB91_Modbus循环通信测试.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
QJ71MB91_Modbus循环通信测试

1、测试背景 在使用 Modbus 与第三方设备通信时,第三方设备方仅支持功能码“03 ”和“06 ”,因 此无法使用QJ71MB91 模块的自动刷新功能,需要使用MBREQ 指令。 同时,为了确保远程/本地控制方式,对远程设备的写入需要采用触发方式;读取采用 循环方式。 2、MBREQ 指令 MBREQ 指令是QJ71MB91 模块专用指令,使用该指令可以实现Modbus 任意功能码的读 写控制。但是,相对于自动刷新功能和MBRW 指令,MBREQ 指令使用较为复杂,需要 根据功能码生成报文、进行字内数据交换等编程工作。MBREQ 指令结构如下图。使用时, 需要准备控制数据(S1)和报文数据(S2),反馈报文存储在(D1)中,(D2)为执行结果。 2.1 控制数据(S1) 控制数据主要包括使用通道、目标站号、断线检测时间等参数,如下表所示 使用通道2,访问1 号站,超时检测为50ms 的程序如下图所示。 2.2 报文数据(S2) (S2)+0 中为报文长度,(S2)+1 以后为报文内容。根据功能码不同,报文数据不同,因此 (S2)的长度不固定。下图为使用功能码“03 ”时的报文结构。 使用“03 ”码读取地址“0000 ”起始的1 个寄存器的程序如下图所示。 2.3 反馈报文(D1) 执行 MBREQ 指令后,如果子站及网络正常。将会在(D1)中收到反馈报文。其中,(D1)+0 中为反馈报文长度,(D1)+1 以后为报文内容。同(S2)中的发送报文一样,反馈报文也因 功能码不同而不同。下图为使用“03 ”功能码时的反馈报文结构。 程序运行后,1 号站的反馈报文如下: 2.4 执行结果(D2) 执行结果(D2) 占用两个位元件,其中(D2)+0 为执行完成标志位,(D2)+1 为执行异常标志 位,如下图所示。当MBREQ 指令执行完成时,(D2)+0 会置位 1 个扫描周期,如果执行 异常,(D2)+1 会同时置位1 个扫描周期。 3、编程 客户对于编程的要求主要有2 点:循环读取和触发写入。程序正常运行时,主站依次读 取各站数据信息,仅当有写入请求时,执行1 次数据写入操作。 根据客户要求,设计程序流程如下: 其中各站读取与写入指令间,采用MBREQ 指令的执行完成标志位((D2)+0)进行连锁触发。 当执行完最后一个站的读取时,检测是否有写入请求。如果有,执行1 次写入操作,没 有则返回读取第一个站。 4 、测试 测试时共连接了4 个从站,系统构成如下 主站: Q04UDEH+QJ71MB91 从站1: Q04UDEH+QJ71MB91 从站2: FX3U-32MT+FX3U-485ADP-MB 从站3: RKC 温控仪FB-400 从站4 : RKC 温控仪FB-400 使用MBREQ 指令,通过“03 ”功能码可以循环读取各个从站中的数据,如下图所示。 其中FBK_DATE_1~4 为从站1~4 的反馈报文。 使用MBREQ 指令,通过“06 ”码写入一次,结果如下。其中FBK_DATE_WR 为写入执行 结果的反馈报文。 5、后续工作 由于Modbus 报文是以字节为单位,因此使用MBREQ 指令时,报文数据(S2)和反馈报文 数据(D1)中的数据都存在着高低字节数据交换的问题。例如下图中的反馈报文,实际读 取到的数据应为1080 对应十六进制数H438,而实际接收到的数据是H3804。 根据报文结构不同,还会出现一个字的数据出现在两个连续数据寄存器中的情况。例如 下图中的“06 ”功能码的反馈报文,实际读取的寄存器地址是1287,对应十六进制H507, 而实际收到的数据是H0506 和H0007,地址数据分别存储在两个数据寄存器中。 因此报文数据的转换还需要编写相应的外部程序。 附:FB-400 温控仪Modbus 通信设定方法 1、相关参数 需要设定以下参数:站号、波特率、数据停止位及校验方式、通信协议。 其中,通信协议在FB60 参数中,需要将温控仪切换到停止方式才能设置。 2、外部接线 FB-400 采用两线制485 ,接线方式如下图。其端子的定义与我们的模块相反,即T/R(A) 接我们模块的RDB/SDB,T/R(B)接我们模块的RDA/SDA,请务必注意! 3、支持的功能码

文档评论(0)

138****7331 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档