Beckhoff ADS 主站
插件用途
通过 Beckhoff ADS 按符号名、内存区或显式索引组地址读写 TwinCAT 变量。配置页面中的插件名称为“BeckhoffAdsMaster”。
公共通道、设备、变量和数据格式见采集配置。本页只说明 AMS/ADS 路由、地址和调试。
选择入口
进入“开发配置 → 采集配置”,创建 TCP 客户端通道,再创建设备并选择“BeckhoffAdsMaster”。开始前应在 TwinCAT 中配置允许网关访问的 ADS 路由。
支持范围
| 项目 | 说明 |
|---|---|
| 通道 | TCP 客户端。 |
| 地址 | 符号地址、M/I/Q 内存地址、显式索引组地址。 |
| 数据类型 | Boolean、Byte、常用有符号/无符号整数、Float、Double、String、Decimal。 |
插件参数
该插件只支持 TcpClient 通道。远程地址由 ADS 路由字段决定,不会从 TCP 地址自动推导。读写超时、失败重试、写优先、字符串反转、串口/TLS等公共属性仍按采集配置配置。
| 参数 | 必填 | 说明 |
|---|---|---|
| 源 AMS Net ID | 是 | 网关侧 AMS Net ID,使用六段点分十进制格式,例如 192.168.1.10.1.1。TwinCAT 路由中必须允许该 ID。 |
| 源 ADS 端口 | 是 | 网关侧大于 0 的逻辑 ADS 端口。 |
| 目标 AMS Net ID | 是 | PLC 的 AMS Net ID,必须与 TwinCAT 路由配置一致。 |
| 目标 ADS 端口 | 是 | TwinCAT Runtime 的 ADS 端口;TwinCAT 3 Runtime 1 通常为 851。 |
默认“数据解析顺序”为 DCBA(ADS 小端字节序),默认“最大打包长度”为 1024 字节。若 PLC 符号类型包含结构或大数组,优先保持符号变量独立,不要为了提高打包长度而跨符号合并。
地址规则
| 地址示例 | 说明 |
|---|---|
M100、I100、Q100 | M、I、Q 区的字节地址。 |
M100.0、I100.0、Q100.0 | M、I、Q 区的布尔位地址;未写位号时从第 0 位开始。 |
ig=0x4020;io=100 | 显式索引组和索引偏移地址。 |
s=MAIN.Variable | TwinCAT 符号地址。 |
符号模式优先用于稳定的工程变量;显式地址适合已有 ADS 索引组和偏移的点表。
特殊方法
本插件不提供额外特殊方法,变量直接使用 ADS 地址读写。
设备调试
进入“开发配置 → 采集配置”,选择 Beckhoff ADS 设备后点击“更多功能”并打开“调试”。
| 功能 | 作用 |
|---|---|
| 读写 | 按符号或 ADS 地址执行单点读取或授权写入。 |
| 消息 | 查看 ADS 请求、响应和连接日志。 |
读写
填写 ADS 地址、数据类型和数组长度,先读取已确认变量;确认 TwinCAT 模式和现场允许后才执行写入。

消息
启动消息记录后查看请求和响应,用于检查 AMS 路由、ADS 端口、符号和返回码。

验证方法
- 先读取一个已确认的
s=符号变量,核对值和数据类型。 - 查看“消息”中的 ADS 请求和正常响应。
- 再验证 M/I/Q 或显式索引组地址;写入只用于允许测试的变量。
常见问题
| 现象 | 检查方法 |
|---|---|
| 无法建立 ADS 连接 | TCP 通道、源/目标 AMS Net ID、源/目标 ADS 端口和 TwinCAT 路由。 |
| 符号不存在 | s= 前缀、完整符号名、大小写和 TwinCAT 工程下载状态。 |
| 显式地址失败 | ig= 索引组、io= 偏移和十六进制格式。 |
| 数值不正确 | 数据类型、数组长度、字节顺序和实际 PLC 变量类型。 |
| 写入失败 | TwinCAT 运行模式、变量权限和现场联锁。 |