01
一.MODBUS TCP 通讯概述
MODBUS TCP 结合了以太网物理网络和网络标准 TCP/IP 以及以 MODBUS 作为应用协议标准的数
据表示方法。MODBUS TCP 通信报文被封装于以太网 TCP/IP 数据包中,MODBUS 协议规范一帧数据的Zui大长度为 256 个字节。
MODBUS TCP/IP 的通信系统中有两种类型的设备:MODBUS TCP/IP 客户端和服务器设备。
MODBUS 客户端:
客户端(TCP Client)主动向服务器(TCP Server)发起连接请求,连接建立成功,仅允许客户端主动发起通讯请求。
以太网机型作为 MODBUS TCP 客户端时,通过 S_OPEN 指令建立 TCP 连接,通过 M_TCP 指令发起 MODBUS 请求。
MODBUS 服务器:
服务器主动** 502 端口,等待客户端连接请求,连接建立成功,响应符合 Modbus TCP 协议规范的数据通讯请求。
以太网机型上电默认开启此服务,Zui大响应不超过 4 个 TCP 连接。
MODBUS 通讯功能码
以信捷PLC为例:以太网机型支持 Modbus 通讯功能码如下表所示:
02
自由格式通讯协议
基于以太网的自由通信分为两大类:TCP 和 UDP,以太网机型采用 TCP 方式通信时可以作为 TCP客户端(TCP 客户端),也可以作为 TCP 服务端(TCP 服务器)。
1、作为 TCP 客户端,主动与 TCP 服务器建立 TCP 连接,并绑定套接字 ID。
2、作为 TCP 服务器,等待 TCP 客户端与之建立 TCP 连接,并绑定套接字 ID。
3、使用 UDP,**指定的本机端口,并绑定套接字 ID。
基于以上三种形式,可以实现以太网上的自由通信。自由格式通讯是以数据块的形式进行数据传送,受 PLC 缓存的限制,单次发送和接收的数据量Zui大为 1000 个字节。
自由格式通讯的关键参数:
数据缓冲方式:8 位、16 位
1、选择 8 位缓冲形式进行通讯时,通讯过程中寄存器的高字节是无效的,PLC 只利用寄存器的低字节进行发送和接收数据。
2、选择 16 位缓冲形式进行通讯时,PLC 将接收的数据,先低字节再高字节储存;PLC 发送数据时,先发送低字节再发送高字节。
3、接收数据包长度大于设定接收长度时,数据按 16 位存储方式存储。