文档介绍:.该规范的发展概况
原始版本
1997
年 9 月 3 日作为公共评论的草案。
再版 1999
年 3
月 29 日,即修订版 。
没有大的技术改动,仅作了补充说明。增加了附录
A 和 B 作为对一些常用执行问题的回
应。
Modbus/TCP 规范在万维网上公开发行。它表明开发者的意愿是把它作为工业自动化领域具有互用性的标准。
既然 MODBUS 和 MODBUS/TCP 作为事实上的 “实际 ”标准, 而且很多生产商已经实现了它
的功能,此规范主要是阐述在互连网上具有普遍可用性的基于 TCP 通讯协议的 MODBUS
报文的特殊编码。
2. 概 述
MODBUS/TCP 是简单的、 中立厂商的用于管理和控制自动化设备的 MODBUS 系列通
讯协议的派生产品。显而易见,它覆盖了使用 TCP/IP 协议的 “Intranet和”“Internet 环”境中
MODBUS 报文的用途。协议的最通用用途是为诸如 PLC’s, I/O 模块,以及连接其它简单
域总线或 I/O 模块的网关服务的。
MODBUS/TCP 协议是作为一种(实际的)自动化标准发行的。既然 MODBUS 已经广
为人知,该规范只将别处没有收录的少量信息列入其中。然而,本规 范力图阐明 MODBU
S 中哪种功能对于普通自动化设备的互用性有价值, 哪些部分是 MODBUS 作为可编程的协
议交替用于 PLC’s的 “多余部分 ”。
它通过将配套报文类型 “一致性等级 ”,区别那些普遍适用的和可选的, 特别是那些适用于
特殊设备如 PLC’s的报文。
面向连接
MODBUS 中,数据处理传统上是无国界的,使它们对由噪音引起的中断有高的抵抗力,而且在任一端只需要最小的维护信息。
编程操作,另一方面,期望一种面向连接的方法。这种方法对于简单变量通过唯一的 “登
录”符号完成,对于 Modbus Plus 变量,通过明确的 “程序路径 ”容量来完成,而 “程序路径 ”
容量维持了一种双向连接直到被彻底击穿。
MODBUS/TCP 处理两种情况。连接在网络协议层很容易被辨认,单一的连接可以支持
多个独立的事务。此外, TCP 允许很大数量的并发连接,因而很多情况下,在请求时重新
连接或复用一条长的连接是发起者的选择。
熟悉 MODBUS 的开发者会感到惊讶:为什么面向连接 TCP 协议比面向数据报的 UDP
要应用广泛。主要原因是通过封装独立的 “事务 ”在一个连接中,此连接 可被识别,管理和
取消而无须请求客户和服务器采用特别的动作。这就使进程具有对网络性能变化的适应能
力,而且容许安全特色如防火墙和代理可以方便的添加。
类似的推理被最初的万维网的开发者所采用,他们选用 TCP 及端口 80 去实现一个作为
单一事务的最小的环球网询问。
数据编码
MODBUS 采用 “ big-endian ”来表示地址和数据对象。
这就意味着当一个数字表示的数量大于所传输的单一字节, 最大有效字节将首先被发送。
例如:
16
bits
0x1234
将为
0x12
0x34
32
bits
0x12345678L
将为
0x12
0x34
0x56
0x78
参考编号的解释
MODBUS 将其数据模型建立在一系列具有不同特征的表的基础之上。 这四个基本表如下
l
离散输入
单比特,由 I/O 系统提供,只读
l
离散输出
单比特,由应用程序更改,读写
l
输入寄存器
16
比特,数值,由 I/O 系统提供
,只读
l
输出寄存器
16
比特,数值,由应用程序更改,读写
输入和输出之间以及可寻址位和可寻址代码的数据对象之间的差别并不意味着任何应用
性能的不同。 如果这是