首页 > 解决方案 > 通过 TwinCAT ADS 读取值,无需声明 PLC 变量

问题描述

我是 EtherCAT/TwinCAT 的新手。我有一个连接到主设备的从设备。如果我在我的 PLC 中创建一个变量并将该变量链接到从设备上的一个值,我可以使用 ADS 客户端从从设备读取数据。有没有一种方法可以从从站获取值而无需创建 PLC 变量?我希望能够读取和修改从站上的多个对象,而不必在 PLC 中为每个对象创建一个变量。

标签: c#twincattwincat-ads

解决方案


要启用此功能,您只需在您尝试访问的 EtherCAT 设备上启用 ADS 服务器。

使 ADS IO 符号可用

完成这项工作需要一些设置步骤,但它相当简单。

  1. 从 EtherCAT 链扫描 IO
  2. 添加一个新的“带图像的双猫任务”
    • 从“系统>任务”的上下文菜单中添加
  3. 创建并将变量从添加的任务链接到 IO
    • 强制同步单元更新并允许控制 EtherCAT 时序
    • 我添加了一个使用 UINT 链接到 SlaveCount 的变量,非常基本
  4. 对于 EtherCAT 主站,启用“启用 ADS 服务器”和“创建符号”
  5. 像在控制器上访问任何其他符号一样访问符号
    • 唯一奇怪的是您需要访问 CONTROLLER 网络 ID,而不是 EtherCAT 主站,但您仍然使用 EtherCAT 主站的端口

在哪里可以找到“启用 ADS 服务器”、“创建符号”和 ADS 端口

启用 ADS 服务器


IO 设备列表中的符号路径示例

XAE中显示的符号路径


推荐阅读