MBAP报文头(MBAP、Modbus Application Protocol、Modbus应用协议)分4个域,共7个字节,如表3所示。 字串8
3. Modbus功能代码
字串9
共有3种类型分别为:
(1)公共功能代码(如表4所示):已定义好的功能码,保证其唯一性,由Modbus.org认可; 字串7
(2)用户自定义功能代码有两组,分别为65~72和100~110,无需认可,但不保证代码使用的 唯一性。如变为公共代码,需交RFC认可;(3)保留的功能代码,由某些公司使用在某些传统设备的代码,不可作为公共用途。 字串8
功能代码划分:按应用深浅,可分为3个类别。
字串5
-
类别0,对于客户机/服务器最小的可用子集:读多个保持寄存器(fc.3);写多个保持寄存器(fc.16)。 字串4
-
类别1,可实现基本互易操作的常用代码:读线圈(fc.1);读开关量输入(fc.2);读输入寄存器(fc.4);写线圈(fc.5);写单一寄存器(fc.6)。 字串5
-
类别2,用于人机界面、监控系统的例行操作和数据传送功能: 字串5
-
强制多个线圈(fc.15);读通用寄存器(fc.20);写通用寄存器(fc.21);屏蔽写寄存器(fc.22);读写寄存器(fc.23)。
字串3
4. Modbus应用举例 字串9
-
字串7
-
读寄存器(见表5)。
字串2
-
Modbus TCP请求报文举例(见表6)。 字串9
-
Modbus TCP客户端的实况。
字串9用Connect()命令建立目标设备TCP 502端口的连接数据通信的过程:
字串4
-
准备Modbus报文,包括7个字节的MBAP在内的请求;
字串5 -
使用send()命令发送;
字串7 -
在同一连接等待应答;
字串5 -
同recv()读报文,完成一次数据交换过程。
当通信任务结束时,关闭TCP连接,使服务器可以为其他服务 字串6
-
-
Modbus TCP的样板程序
字串7 -
用户可通过网站www.transparent-factory.com下载到:
字串9
-
JAVA的应用程序; 字串3
-
基于Unix系统下,C的应用程序; 字串5
-
基于Win32系统下,C的应用程序。。
-



