用户名    密码 设为首页   加入收藏    联系我们




皖科PROFIBUS PA认证书



PROFIBUS-ID-WNK0B6E

首 页  >  工程总线  


MODBUS/TCP 规范
浏览:2261  2008/03/01/9:43

MODBUS/TCP 规范

MODBUS/TCP 为MODBUS 的TCP网络协议。TCP 网络端口号为502。

MODBUS/TCP 在MODBUS 协议前,增加了6 个字节的协议头,

同时取消了普通MODBUS 的CRC16 校验和。格式如下:

字节 含义 取值(Hex)

1 协议标识 00

2 协议标识 00

3 协议标识 00

4 协议标识 00

5 MODBUS 信文长度高8 位 00

6 MODBUS 信文长度低8 位 为字节7 及以后字节数

7 从站地址 0~255

8 功能码

9 … n 数据

【示例】在从站17 读AI108~AI110

主站发送信文如下:

字节 含义 示例(Hex)

1 协议标识 00

2 协议标识 00

3 协议标识 00

4 协议标识 00

5 MODBUS 信文长度高8 位 00

6 MODBUS 信文长度低8 位 06

7 从站地址 11

8 功能码 04

9 起始地址高8 位 00

10 起始地址低8 位 6B

字节 含义 示例(Hex)

11 数据个数高8 位 00

12 数据个数低8 位 03

上例的从站响应信文如下:

字节 含义 示例(Hex)

1 协议标识 00

2 协议标识 00

3 协议标识 00

4 协议标识 00

5 MODBUS 信文长度高8 位 00

6 MODBUS 信文长度低8 位 09

7 从站地址 11

8 功能码 04

9 字节数 06(限制了最大可以发送的字节数目)

10 数据Hi(AI108) 02

11 数据Lo(AI108) 2B

12 数据Hi(AI109) 00

13 数据Lo(AI109) 00

14 数据Hi(AI110) 00

15 数据Lo(AI110) 64

示例中,

AI108-AI110 的测值返回为022BH、0000H、0064H。

MODBUS/TCP 使用端口号为502。

MODBUS/TCP 编程指南

从站为MODBUS/TCP 服务器端(Server),用户程序为客户端程序(Client)。

下面介绍客户端程序的编程规范。

 客户端程序典型应用

一般说来,MODBUS/TCP 客户端程序包含以下步骤:

1. 用socket()调用建立流式套接口s(TCP);

2. 用connect()调用将套接口s 与从站连接(端口502);

3. 准备MODBUS / TCP 报文;

4. 用send()调用在套接口s 上发送报文;

5. 用select()调用判断套接口s 上是否有数据可读,超时10s;

6. 用recv()调用在套接口s上接收报文。其中首先接收6字节MODBUS/TCP报文头,再根据报文头中的长度接收实际报文;

7. 处理报文;

8. 重复3~7 步骤。

MODBUS-TCP作为一种网络通讯协议目前在大量的自动化设备上使用,如施奈德的系列PLC,QUANTUM, Preminum等。

其不足在于每次信文的长度受限,每次最大发送字节数目为255(从站返送的第九个字节),因此在大数据量传送的情况下,或者寄存器不顺序的情况下,组态软件可能会需要更多的时间来读取数据,从而对通讯的速率得不到保证。

建议大数据量(如1000个字),不要采用标准的MODBUS-TCP协议,可以采用自定义协议或者根据需求扩展的MODBUS-TCP。

简单的扩展是将第九个字节和第十个字节作为字节数目,这样最大的字节数目为65535,比标准规约扩大了255倍。

从站响应信文如下:

字节 含义 示例(Hex)

1 协议标识 00

2 协议标识 00

3 协议标识 00

4 协议标识 00

5 MODBUS 信文长度高8 位 00

6 MODBUS 信文长度低8 位 09

7 从站地址 11

8 功能码 04

9 字节数Hi 00

10 字节数Lo 06

11 数据Hi(AI108) 02

12 数据Lo(AI108) 2B

13 数据Hi(AI109) 00

14 数据Lo(AI109) 00

15 数据Hi(AI110) 00

16 数据Lo(AI110) 64

   由于MODBUS-TCP协议中主要采用TCP的校验方式,因此去掉了原来MODBUS规约中的CRC校验,根据实际经验,在接收到响应信文后必须检查协议标识、从站地址及功能码,这样可以避免在网络设备转换过程中出现的意外情况(如光电转换等)。


打印 』※ 收藏此页 ※『 关闭
走进皖科 | 工程总线 | PLC开发 | PROFIBUS-DP | PROFIBUS-FMS | PROFIBUS-PA | WNK7系列 | 资料下载 | 联系我们
版权所有:CopyRight © 2008 合肥皖科智能技术有限公司 
电话:0551-65369666/65369660/65369676
传真:0551-65369655/65369656                     技术支持:卓讯科技
备案号:皖ICP备17018084号