![](https://csdnimg.cn/release/download_crawler_static/8747013/bg3.jpg)
3
Copyright
AG Copyright year
All rights reserved
1 Modbus TCP 通讯概述
MODBUS/TCP 是简单的、中立厂商的用于管理和控制自动化设备的 MODBUS 系列通讯
协议的派生产品,显而易见,它覆盖了使用 TCP/IP 协议的“Intranet”和“Internet”环境中
MODBUS 报文的用途。协议的最通用用途是为诸如 PLC’s,I/O 模块,以及连接其它简单域
总线或 I/O 模块的网关服务的.
1.1 通讯所使用的以太网参考模型
Modbus TCP 传输过程中使用了 TCP/IP 以太网参考模型的 5 层:
第一层:物理层,提供设备物理接口,与市售介质/网络适配器相兼容
第二层:数据链路层,格式化信号到源/目硬件址数据帧
第三层:网络层,实现带有 32 位 IP 址 IP 报文包
第四层:传输层,实现可靠性连接、传输、查错、重发、端口服务、传输调度
第五层:应用层,Modbus 协议报文.
1.2 Modbus TCP 数据帧
Modbus 数据在 TCP/IP 以太网上传输,支持 Ethernet II 和 802.3 两种帧格式,Modbus TCP
数据帧包含报文头、功能代码和数据 3 部分,MBAP 报文头(MBAP、Modbus Application
Protocol、Modbus 应用协议)分 4 个域,共 7 个字节.
1.3 Modbus TCP 使用的通讯资源端口号
在 Moodbus 服务器中按缺省协议使用 Port 502 通信端口,在 Modus 客户器程序中设置任意
通信端口,为避免与其他通讯协议的冲突一般建议 2000 开始可以使用.
1.4 Modbus TCP 使用的功能代码
按照使用的通途区分,共有 3 种类型分别为:
1) 公共功能代码:已定义好功能码,保证其唯一性,由 Modbus.org 认可;
2) 用户自定义功能代码有两组,分别为 65~72 和 100~110,无需认可,但不保证代码使
用唯一性,如变为公共代码,需交 RFC 认可;
3) 保留功能代码,由某些公司使用某些传统设备代码,不可作为公共用途。
按照应用深浅,可分为 3 个类别
1) 类别 0,客户机/服务器最小可用子集:读多个保持寄存器(fc.3);写多个保持寄存器
(fc.16)。