文档介绍:MODBUS--TCPIP协议--介绍
1.该标准的开展概况
                              
    原始版本1997年9月3日作为公共评论的草案。
    再版1999年3月29日,即议允许单独选择65536个数据对象中的任何一个,而且对那些对象的读写操作可以跨越多个连续的数据对象,直到到达基于处理事务功能代码的数据大小限制。
    这儿没有假定数据对象代表一种真正邻接的数据阵列,而这是大多数简单PLC’s的解释。
    “读写常用参考〞功能代码被定义为携带32位的参考值并且能允许在“非常〞大的空间里可以直接访问数据对象。现在没有可以利用这一特点的PLC设备。
    一个易造成混乱的潜在来源是用于MODBUS功能的参考值和用于Modicon                                PLC’s的“存放器值〞之间的关系。由于历史原因,用户参考值使用从1开始的十进制数表示。而MODBUS采用更普通的从0开始的无符号整数进行软件数 据整理分析。
    于是,请求从0读取存放器的Modbus消息将值返回建立在存放器4:00001〔存储类型4=输出存放器,参考值00001〕中的应用程序。
                              
    所有的MODBUS 请求和响应都被设计成在此种方法下工作,即接收者可确认消息的完整性。对于请求和响应为固定长度的功能代码,仅发送功能代码就足够了。对于在请求和响应中 携带不定长数据的功能代码,数据局部前将加上一个字节的数据统计。
    当 Modbus通过TCP运送,前缀中携带附加的长度信息以便接收者识别消息的边界,甚至消息被分成假设干组进行传输。外在的和隐含的长度准那么的存在,以及 CRC-32检错代码〔以太网〕的使用使请求和响应消息中发生未被识别的错误的机率减至无限小。
                              
 
 
 
 
3. 一致性等级概述
                              
    当从草稿开始定义一种新的协议,有可能加强编码方式和阐述的一致性。MODBUS由于其先进的特性,已经在很多地方得到了实施,必须防止破坏它已经存在的实施。
    因此,已经存在的成套的处理类型被划分出一致性等级:等级0代表普遍使用且总体上一致的功能;等级2代表有用的功能,但带有某些特性。现存装置的不适应于互用性的功能也已确认。
    必须注意到,将来对该标准的扩充将定义附加的功能代码来处理现存事实标准不适用的情形。然而,被提议扩充的详细资料出现在本手册中将会另人误解。通过将代 码“随机的〞发送或者即便是通过检查异常响应的类型来确定特别的目标装置是否支持特别的功能代码总是可能的,而且该方法将保证引入这些扩充的现使用的 MODBUS设备的连续的互用性。事实上,这就是当前功能代码的分级原那么。
                              
                               
     这是最小的有用功能,对主站和从站来说。
         读乘法存放器 (fc 3)
         写乘法存放器 (fc 16)
                              
1
                              
    这是附加的被普遍实现的和能共同使用的成套功能,正如前面介绍过的,许多从站把输入,输出,离散值和存放器值作为同等的进行处理。
l         读线圈 (fc 1)
l         读离散输入 (fc 2)
l         读存放器输入 (fc 4)
l         写线圈 (fc 5)
l         写单一存放器 (fc 6)
l         读异常状态字 (fc 7)
                              
    此功能对于每一个从站系列显然具有不同的含义。
                              
2
                              
    这些是需要HMI和管理等例行操作的数据传送功能。
l         强制型多路线圈 (fc 15)
l         读一般参考值 (fc 20)
    该功能可以处理并发的多个请求,而且能接收32位的参考数值。当前的584和984