1. AB PLC 协议
AB PLC 协议是指可编程逻辑控制器(Programmable Logic Controller,PLC)厂商 Rockwell Automation 公司所研发的一系列通信协议。AB 是 Rockwell Automation 公司旗下品牌 Allen-Bradley 的缩写,因此也被称为 Allen-Bradley 协议。
AB PLC 协议主要包括以下几种:
ControlNet 协议:用于高速、实时的控制和数据采集。
DeviceNet 协议:用于低速、实时的控制和数据采集,适用于连接各种外围设备。
EtherNet/IP 协议:基于以太网的工业控制网络协议,支持实时控制、数据传输和网络管理等功能。
Data Highway Plus 协议:一种早期的串行通信协议,适用于连接 AB PLC 产品和其他设备。
AB PLC 协议具有灵活性、可扩展性和高效性等特点,广泛应用于工业自动化、过程控制、机器人控制等领域。同时,AB PLC 协议也支持多种编程语言和开发工具,如 Ladder Diagram、Structured Text、Function Block Diagram 等编程语言和 RSLogix 5000 等编程工具。
2. AB PLC 与 EntherNet/IP
AB PLC 的 Ethernet/IP 是一种基于以太网的工业自动化协议。它可以提供高速、可靠、实时的数据传输和控制,同时也支持远程控制、监视和诊断。
AB PLC 的 Ethernet/IP 协议的特点和要点:
-
速度:Ethernet/IP 支持高速数据传输,最高可达 1Gbps。它可以提供实时控制和监视功能,提高生产效率。
-
可靠性:Ethernet/IP 协议具有高度的可靠性,可以在复杂的工业环境中稳定运行。它支持数据包确认、错误检测和重传机制,从而提高数据传输的可靠性。
-
灵活性:Ethernet/IP 协议具有高度的灵活性,可以适应不同的应用场景和需求。它支持多种不同的通信方式,包括点对点、广播和组播。
-
安全性:Ethernet/IP 协议可以提供高度的数据安全性和保密性,以保护机器和设备的数据不被未经授权的人员访问或篡改。它支持多种安全协议和加密机制,如 TLS、IPSec 等。
-
易用性:Ethernet/IP 协议易于使用和管理,可以通过简单的设置和配置实现各种功能。AB PLC 提供了易于使用的编程软件和工具,使用户可以在短时间内完成网络配置和编程设置。
-
兼容性:Ethernet/IP 协议具有高度的兼容性,可以与其他不同类型的设备和协议进行通信,包括其他 PLC、传感器、驱动器等。
3. 数据读取方式
在 Ethernet/IP 协议数据读取方面,主要有以下几种方式:
-
Polling 方式:该方式是最常用的数据读取方式,由主站定时向从站请求数据,从站将数据返回给主站。这种方式实现简单,但是对网络负载和响应速度有一定的影响。
-
Cyclic 方式:该方式是将数据读取周期定时上报,主站与从站之间只需要进行连接建立,从站按照设定的周期主动发送数据。这种方式对网络负载和响应速度影响较小,但是需要配置从站的数据上报周期,不适用于实时控制应用。
-
Change of State (COS)方式:该方式是在设备状态发生变化时,从站将变化的数据自动上报给主站,主站通过监听来获取数据。这种方式适用于数据变化频率低的应用场景,可以缩短数据读取的响应时间。
-
Explicit Message 方式:该方式是主站通过发送读取请求消息,从站将数据返回给主站,适用于低速数据读取和高实时性的应用。
在实际应用中,通常会根据应用要求选择合适的数据读取方式。
4. UCMM
Ethernet/IP 协议中的 UCMM(Unconnected Message Manager)是一种通信方式,它可以实现设备之间的数据交换和控制。以下是通过 Ethernet/IP 协议中的 UCMM 读取数据的步骤:
确定要读取的数据的命令码(Command Code),该命令码通常由设备提供商或协议标准定义。
创建一个 UCMM 请求消息,其中包括要读取的数据的描述以及读取的地址。通常 UCMM 请求消息是一个 Ethernet/IP 包,它包含以下字段:
一些基本的以太网头部字段,例如目的 MAC 地址、源 MAC 地址、以太网类型等等。
一个 IP 头字段,通常使用 TCP 或 UDP 协议。
一个 Ethernet/IP 头部字段,其中包括通信的一些基本信息,例如是否需要进行显式或隐式 I/O 操作。
一个 UCMM 具体请求命令的头部字段,其中包括命令码和数据的描述(如数据类型、长度等)。
将请求消息发送到要读取数据的设备,该设备需要支持 Ethernet/IP 协议。
等待设备的响应消息。响应消息包含了实际的数据。响应消息的格式与请求消息类似,但是头部字段中包含的命令码表示响应消息。
从响应消息中提取所需的数据,例如通过解析 Ethernet/IP 头部、UCMM 头部等字段,并根据数据的描述进行解析。
注意事项:
在发送 UCMM 请求之前,必须建立与设备的连接,并进行握手协议。握手协议包括设备之间的身份验证、通信协议版本号等。
UCMM 是一种基于以太网的高级通信方式,通常用于工业自动化和控制领域。因此对于非专业的网络技术人员而言,使用 UCMM 进行通信可能会较为复杂。
5. Connected Message 方式读取数据
使用 Connected Message 方式读取数据需要遵循以下步骤:
-
建立与目标设备的连接。在 Connected Message 方式中,数据传输是基于已经建立好的连接完成的。可以使用 CIP 协议的 Forward Open 报文或者 UCMM 报文等方式建立连接。
-
发送数据读取请求。使用 CIP 协议的 Read Request 报文向目标设备发送数据读取请求。在请求中需要指定数据的类型和地址等相关信息。
-
接收数据响应。目标设备接收到数据读取请求后,会返回 CIP 协议的 Read Response 报文,其中包含请求的数据。
-
关闭连接。在 Connected Message 方式中,当数据传输完成后,需要使用 CIP 协议的 Forward Close 报文或者 UCMM 报文等方式关闭连接。
需要注意的是,在使用 Connected Message 方式进行数据读取时,需要提前知道目标设备的 IP 地址、端口号、数据类型和地址等相关信息。同时,基于 Connected Message 方式的数据读取对网络的带宽和延迟等要求相对较高,需要对网络进行充分优化和配置,以保证数据传输的稳定和可靠。