协议

AB-ETH

qianmoQqianmoQ· 更新于 2026-10-01· 阅读 6 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

AB-ETH 使用在以太网上传输的 Allen-Bradley DF1 协议(即早期 Allen-Bradley/Rockwell PLC-5 和 SLC 500 控制器所使用的「PCCC over Ethernet/IP」封装方式)。它通过控制器基于文件的内存(整数文件、状态文件、定时器、计数器等)来寻址数据,而不是通过符号标签名。

支持的操作

名称值描述
read从文件中读取单个元素(或一组元素)。
subscribe通过轮询模拟实现。AB-ETH 没有原生的订阅或变更通知机制。订阅是通过在常规读取路径上对标签进行轮询来模拟的(循环订阅和状态变更订阅均通过此方式支持)。
write不支持,Java 驱动和 Go 驱动均不支持。
browse不支持。

连接字符串

ab-eth://<host>[:<port>]

示例,通过默认的 tcp 传输:

ab-eth://192.168.24.40

连接字符串选项

名称

类型

默认值

是否必填

描述

名称

Allen Bradley ETH

代码

ab-eth

Maven 依赖

<dependency>
  <groupId>org.apache.plc4x</groupId>
  <artifactId>plc4j-driver-ab-eth</artifactId>
  <version>1.0.0</version>
</dependency>

默认传输协议

tcp

支持的传输方式

  • tcp

配置选项:

station

INT

0

我们想要连接的站点的 ID。

request-timeout-ms

INT(整数)

10000

等待网关确认连接请求或读取响应的最长时间(以毫秒为单位)。

传输配置选项:

tcp

tcp.connect-timeout-ms

INT

5000

连接超时时间(毫秒)。

tcp.read-timeout-ms

INT

0

以毫秒为单位的套接字读取超时时间。0 表示不超时。

tcp.write-timeout-ms

INT

0

Socket 写入超时时间(毫秒)。0 表示不超时。

tcp.no-delay

BOOLEAN

true

启用 TCP_NODELAY(禁用 Nagle 算法)。

tcp.keep-alive

BOOLEAN

false

启用 SO_KEEPALIVE。

tcp.send-buffer-size

INT

81920

发送缓冲区大小(字节)。0 表示使用系统默认值。

tcp.receive-buffer-size

INT

81920

以字节为单位的接收缓冲区大小。0 表示使用系统默认值。

tcp.local-address

STRING

要绑定的本地地址(可选)。如果未设置,则使用默认值。

tcp.local-port

INT

0

绑定的本地端口(可选)。0 表示使用临时端口。

标签地址

地址解析在 Java 中实现。Go 驱动可以读取但不能写入。具体每种实现所支持的功能请参见协议支持矩阵]。

通用格式

N<fileNumber>:<elementNumber>[/<bitNumber>]:<dataType>[[<size>]]
  • fileNumber - 整数文件号(1 到 7 位数字)。
  • elementNumber - 该文件内的元素编号(1 到 7 位数字)。
  • bitNumber - 可选;被寻址元素内的某一位(1 到 7 位数字),与元素编号之间用 / 分隔。
  • dataType - 解释该元素所用的数据类型;参见下文的数据类型](https://plc4x.apache.org/plc4x/latest/users/protocols/ab-eth.html#_data_types)。
  • size - 可选;要读取的字节数,用方括号括起。不论此处填写什么,WORD 和 SINGLEBIT 始终使用固定的 2 字节大小,DWORD 始终使用固定的 4 字节大小;其他所有数据类型都要求明确给出该值。

数据类型

dataType 段落会与驱动程序的 FileType 枚举进行大小写不敏感的匹配:

类型说明
STATUS处理器状态文件。
BIT位文件。
TIMER定时器文件。
COUNTER计数器文件。
CONTROL控制文件。
INTEGER整数文件。
FLOAT浮点文件。
OUTPUT输出文件。
INPUT输入文件。
STRING字符串文件。
ASCIIASCII 文件。
BCD二进制编码十进制文件。
WORD自定义 2 字节整数,从整数文件中读取。固定 2 字节大小。
DWORD自定义 4 字节整数,从整数文件中读取。固定 4 字节大小。
SINGLEBIT自定义单个位,从整数文件中读取。固定 2 字节大小。

示例

N7:0:WORD

整数文件 7 的第 0 个元素,按 2 字节 WORD 读取。

N7:5:DWORD

整数文件 7 的元素 5,以 4 字节 DWORD 读取。

N7:3:INTEGER[8]

整数文件 7 的第 3 个元素,以显式 8 字节大小读取为 INTEGER。

N7:0/3:WORD

整数文件 7 中元素 0 的第 3 位,读取为 WORD。

评论

登录后参与评论

正在加载评论…