- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
开放型Modbus/TCP规范
修订版1.0,1999年3月29日
Andy Swales
Schneider电气公司
aswales@
目录
目录 错误!未定义书签。
1.该规范的发展概况 错误!未定义书签。
2.概述 错误!未定义书签。
2.1面向连接 3
2.2 数据编码 4
2.3 参考编号的解释 4
2.4 隐含长度基本原则 5
3. 一致性等级概述 5
3.1 类型 0 5
3.2 类型 1 5
3.3 类型 2 6
3.4机器/厂家/网络的特殊功能 6
4.协议结构 7
5. 一致性等级的协议参考值 8
5.1 类型0指令详述 9
5.1.1 读乘法寄存器 (FC 3) 9
5.1.2 写乘法寄存器 (FC 16) 9
5.2类型1指令详述 10
5.2.1读线圈 (FC 1) 10
5.2.2 读离散输入 (FC 2) 10
5.2.3 读输入寄存器 (FC 4) 11
5.2.4 写线圈(FC 5) 11
5.2.5 写单一寄存器 (FC 6) 12
5.2.6读异常状态字 (FC 7) 13
5.3类型2 指令详述 13
5.3.1 强制多点线圈 (FC 15) 13
5.3.2读一般参考值 (FC 20) 14
5.3.3 写一般参考值 (FC 21) 15
5.3.4掩模写寄存器 (FC 22) 16
5.3.5读/写寄存器 (FC 23) 17
5.3.6 读FIFO队列 (FC 24) 17
6. 异常代码 18
附录 错误!未定义书签。
A.客户机和服务器应用指导 19
A.1 客户机设计 20
A.2服务器设计 20
A.2.1 多线程服务器 20
A.2.2单线程服务器 21
A.3必需的及期望的性能 22
B. 非指令数据的编码 23
B.1指令字中的比特数 23
B.2多指令字变量 24
B.2.1 984数据类型 24
B.2.2 IEC-1131 数据类型 25
本规范的发展概况
原始版本1997年9月3日
作为公共评论的草案。
再版1999年3月29日,即修订版1.0。
没有大的技术改动,仅作了补充说明。
增加了附录A和B作为对执行中的一些共性问题的回应。
本MODBUS/TCP规范在国际互联网上公布。它表明开发者的意愿是把它作为工业自动化领域具有互用性的标准。
既然MODBUS和MODBUS/TCP已作为“事实上”的标准,而且很多生产商已在他们的产品和系统中实现了它的功能,所以,此规范主要是阐述基于互联网上普遍使用的TCP通讯协议的MODBUS报文的特殊编码。
2.概述
MODBUS/TCP是简单、不依赖于特定厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品。显而易见,它覆盖了使用TCP/IP协议的“Intranet”和“Internet”环境中MODBUS 报文的用途。协议最通常用于具有以太网连接的PLC和I/O模块,以及其它简单现场总线或I/O模块的网关。
MODBUS/TCP协议是作为一种(事实上的)自动化标准公布的。既然MODBUS已经广为人知,所以只将别处没有收录的少量信息列入本规范中。然而,本规范力图阐明MODBUS中哪种功能对于普通自动化设备具有互用性价值,哪些部分是作为可编程的协议交替使用的“包裹”用于PLC。
通过把支持的报文类型归为“一致性等级”,以区别报文的普遍适用性和可选性,特别适用于那些特殊设备的PLC报文。
2.1 面向连接
MODBUS网络数据传输系统有很强的抗噪声干扰能力,而且在网络任一端维护只需要最小的恢复信息。
另一方面,编程操作期望一种面向连接的方法。这种方法对于简单MODBUS通过唯一的“登录”符号完成,对于Modbus Plus变种,通过“显式”的“编程通道”来完成,该功能维持一种双工连接直到“显式”被中断。
MODBUS/TCP处理两种情况。连接在网络中协议层很容易辨认,单一的连接可以支持多个独立的数据传输。此外,TCP允许很大数量的并发连接,因而,在很多情况下,连接方选择在请求时重新连接或重新使用长时间的连接。
熟悉MODBUS的开发者会感到疑惑:为什么面向连接的TCP协议而不是面向数据包的UDP协议。主要原因是可对封装连接中的每个数据传输保持控制,数据可被识别,管理和取消而无须请求客户和服务器采用特别的措施。这就使这种机制对网络性能的变化具有适应能力,而且可以容许方便的添加如防火墙和代理服务器等安全特征。
类似的原因,最初的互联网的开发者们选用了TCP及端口80去实现一个作为单一的数据传输最少的网络询问。
2.2 数据编码
MODBUS 采用高位数据在前的方法(big-endian)来表示地址和数据对象。 这就意味着当一个被传输数字的表示数量大于一个字节时,最高字节将首先被发送。例如:
16 - bits
文档评论(0)