Modbus协议试验台控制设备基础协议.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Modbus协议范文_试验台控制设施基础协议 Modbus协议范文_试验台控制设施基础协议 Modbus协议范文_试验台控制设施基础协议 Modbus协议_试验台控制设施根基协议 2016-10-28 更新 一、Modbus串行链路协议根本要求 物理层 RS232 接口或 RS485接口: RJ45/DB 9 连接器与电缆相接 数据信号发送速率 :要求 9600bps 波特率,举荐 19200bps 波特率 串行链路系统上的 Modbus 只运用于短距离( 20m)点到点的互连 Modbus 串行链路电缆有必需 障蔽 。在电缆两端,其障蔽有必需接到保护地上 (若在这个端部运用了连接器,该连接器外壳要连在电缆障蔽上) 可视确诊 有必需用 LED(发光两极管)指示通信状况和设施状况。 Modbus 结束等级 Modbus 串行链路上的每个设施有必需遵守同样结束等级的全部的强迫的要求, 老例等级 有必需供应可装备才能。 二、Modbus串行链路帧形式 RTU传输形式(主张采用) 当设施使用 RTU (Remote Terminal Unit) 模式在 Modbus 串行链路通信, 报文中每个 8 位字节含有两个 4 位十六进制字符。 这类形式的首要优点是较高的数据密度, 在同样的波特 率下比 ASCII 形式有更高的吞吐率。每个报文有必需以接连的字符流传递。 RTU形式位序列 报文中每个 8 位字节含有两个 4 位十六进制字符 (0–9, A–F),每个字符传递 11位。 1 初步位 8 数据位, 首要发送最低实用位 1 位作为奇偶校验 ( 默认偶校验 ) 1 中断位( 注: 运用无校验 要求 2 其中断位。) 通用Modbus帧 PDU-协议数据单元 ADU-运用数据单元 RS232 / RS485 ADU = 253 字节+服务器地点 (1 byte) + CRC (2 字节) = 256 字节 RTU形式帧序列 由发送设施将 Modbus 报文构造为带有已知初步和完成符号的帧。 这使设施能够在报文 的初步采取新帧, 并且知道何时报文完成。 不完满的报文有必需能够被检测到而过失标记有必需 作为成就被设置。 CRC校验 在RTU 模式包含一个对所有报文内容执行的,鉴于循环冗余校验 (CRC - Cyclical RedundancyChecking) 算法的错误检验域。 CRC 域检验整个报文的内容。不论报文有无奇 偶校验,均执行此检验。 CRC 包含由两个 8 位字节构成的一个 16 位值。 CRC 域作为报文 的最后的域附带在报文以后。核算后,首要附带低字节, 而后是高字节。 CRC高字节为报文 发送的最后一个子节。其结束的 C语言程序附后。 unsigned CRC16 (unsigned char *puchMsg ,unsigned usDataLen ) { unsigned char uchCRCHi = 0xFF ; /* CRC 的高字节初始化 */ unsigned char uchCRCLo = 0xFF ; /* CRC 的低字节初始化 */ unsigned uIndex ; /* CRC 查问表索引 */ while (usDataLen--) /* 达成整个报文缓冲区 */ { uIndex = uchCRCLo ^ *puchMsgg++ ; uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex}; uchCRCHi = auchCRCLo[uIndex]; } return (uchCRCHi 8 | uchCRCLo); } 高字节表 static unsigned char auchCRCHi[] = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81,0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1,0x81, 0x40, 0x01,0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81,0

文档评论(0)

185****8835 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档