Skip to content

Beckhoff ADS ​

TwinCAT 是由 Beckhoff Automation 开发的一种控制技术。它是一种基于软件的控制系统,用于自动化和控制应用。TwinCAT 能够运行在多种平台上并支持多种编程语言。

通用配置步骤见添加南向驱动与组与点位。

EMQX Neuron Beckhoff ADS 驱动使用户可以通过 TCP/IP 连接到 Beckhoff TwinCAT PLC。

添加驱动 ​

在 数据采集 → 南向设备 页点击 添加设备,驱动类型选择 Beckhoff ADS。

连接参数 ​

点击驱动卡片进入设备配置页填写:

字段说明
设备 IP 地址远程设备 IP。
设备端口远程设备 TCP 端口(默认 48898)。
源 AdsAmsNetId运行 EMQX Neuron 的设备的 AMS Net ID。
源 AdsPortNr运行 EMQX Neuron 的设备的 AMS Port (默认 851)。
目标 AdsAmsNetId目标 PLC 的 AMS Net ID。
目标 AdsPortNr目标 PLC 的 AMS Port(默认 851)。

请注意,为了让 EMQX Neuron 能与 TwinCAT PLC 正常通信,需要在目标 TwinCAT 软件中添加和设置对应的 ADS 路由。

其中涉及的关键 ADS 概念如下:

概念说明
ADS 协议ADS (Automation Device Specification) 是 TwinCAT 的通讯协议。
它使得 TwinCAT 系统能够通过媒介独立的串行或网络连接,实现数据的交换和控制。
ADS 旨在为 TwinCAT 系统中控制器与用户界面之间的通信提供标准接口。
AMS Net IDAMS Net ID 是 TwinCAT 网络中本地计算机的地址。它由6个字节组成,用点分十进制表示(例如: “1.2.3.4.5.6”) 。
为避免通信冲突,AMS Net ID 在 TwinCAT 网络中必须是唯一的。
默认情况下,TwinCAT 通过在系统的 IP 地址后附加 “.1.1” 来生成 AMS Net ID 。
例如,在 IP 地址为 “172.17.213.60” 的系统中, 默认生成的 AMS Net ID 将为 “172.17.213.60.1.1” 。注意:实际场景不一定会使用默认生成的方式,这时请在 TwinCAT 软件中查看 AMS Net ID。
AMS portTwinCAT 网络中的 ADS 设备由 AMS Net ID 和 AMS port 标识。
每个 TwinCAT 系统通常为特定的目的使用特定的 AMS Port 。
例如,Port 801 用于系统通信,Port 851 用于事件通知。
Index group/offsetADS index group 和 index offset 是 TwinCAT ADS 系统服务中用于设备或程序之间进行数据交换的规范。
所有的读取和写入操作都通过 index group 和 index offset 在 PLC 上进行。
Index offset 是16位的,index offset 是32位的。
Index group 用于指定正在访问的数据的类别或类型,而 index offset 指定该类别或类型中的特定数据元素。

点位配置 ​

以下为本驱动支持的数据类型与地址格式。

数据类型 ​

  • BOOL
  • INT8
  • UINT8
  • INT16
  • UINT16
  • INT32
  • UINT32
  • INT64
  • UINT64
  • FLOAT
  • DOUBLE
  • STRING

地址格式 ​

对 ADS 驱动来说,一个点位地址由 INDEX_GROUP 和 INDEX_OFFSET 两个部分组成,分别表示 index group 和 index offset 。

INDEX_GROUP,INDEX_OFFSET

INDEX_GROUP 和 INDEX_OFFSET 可以分别使用十进制或十六进制指定。

地址示例 ​

地址数据类型说明
0x4040,0x7d01cboolindex_group 0x4040, index_offset 0x7d01c
16448,51029uint8index_group 0x4040, index_offset 0x7d01d
0x4040,512896.5stringindex_group 0x4040, index_offset 0x7d380, 字符串长度为 5

应用场景 ​

您可通过 EMQX Neuron 通过 ADS 协议采集倍福 PLC 上不同地址区域的数据,具体步骤,见采集 PLC 数据(Beckhoff ADS 协议)。