离散输入 单比特,由 I/O 系统提供,只读
离散输出 单比特,由应用程序更改,读写
输入寄存器 16 比特,数值,由 I/O 系统提供 ,只读
输出寄存器 16 比特,数值,由应用程序更改,读写
输入和输出之间以及可寻址位和可寻址代码的数据对象之间的差别并不意味着任何应
用性能的不同。如果这是我们所讨论的目标机械的最自然的解释,那么认为所有的四个基本
表是相互覆盖的看法也是非常普通而完全可以接受的。
对于每一个基本表,协议允许单独选择 65536 个数据对象中的任何一个,而且对那些对
象的读写操作可以跨越多个连续的数据对象,直到达到基于处理事务功能代码的数据大小限
制。
这儿没有假定数据对象代表一种真正邻接的数据阵列,而这是大多数简单 PLC’s 的解
释。
“读写常用参考”功能代码被定义为携带 32 位的参考值并且能允许在“非常”大的空间里
可以直接访问数据对象。现在没有可以利用这一特点的 PLC 设备。
一个易造成混乱的潜在来源是用于 MODBUS 功能的参考值和用于 Modicon PLC’s 的
“寄存器值”之间的关系。由于历史原因,用户参考值使用从 1 开始的十进制数表示。而
MODBUS 采用更普通的从 0 开始的无符号整数进行软件数据整理分析。
于是,请求从 0 读取寄存器的 Modbus 消息将已知值返回建立在寄存器 4:00001(存储类
型 4=输出寄存器,参考值 00001)中的应用程序。
2.4 隐含长度基本原则
所有的 MODBUS 请求和响应都被设计成在此种方法下工作,即接收者可确认消息的完
整性。 对于请求和响应为固定长度的功能代码,仅发送功能代码就足够了。对于在请求和
响应中携带不定长数据的功能代码,数据部分前将加上一个字节的数据统计。
当 Modbus 通过 TCP 运送,前缀中携带附加的长度信息以便接收者识别消息的边界,
甚至消息被分成若干组进行传输。 外在的和隐含的长度准则的存在,以及 CRC-32 检错代
码(以太网)的使用使请求和响应消息中发生未被识别的错误的机率减至无限小。
3. 一致性等级概述
当从草稿开始定义一种新的协议,有可能加强编码方式和阐述的一致性。MODBUS 由
于其先进的特性,已经在很多地方得到了实施,必须避免破坏它已经存在的实施。
因此,已经存在的成套的处理类型被划分出一致性等级:等级 0 代表普遍使用且总体上
一致的功能;等级 2 代表有用的功能,但带有某些特性。现存装置的不适应于互用性的功能
也已确认。
必须注意到,将来对该标准的扩充将定义附加的功能代码来处理现存事实标准不适用的
情形。然而,被提议扩充的详细资料出现在本手册中将会另人误解。通过将代码“随机的”
发送或者即便是通过检查异常响应的类型来确定特别的目标装置是否支持特别的功能代码
总是可能的,而且该方法将保证引入这些扩充的现使用的 MODBUS 设备的连续的互用性。
事实上,这就是当前功能代码的分级原则。