AB-ETH
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 | 字符串文件。 |
ASCII | ASCII 文件。 |
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。
评论
登录后参与评论
KnowForge