在没有 PLC 变量声明的情况下通过 TwinCAT ADS 读取值

Read values through TwinCAT ADS without PLC variable declaration

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

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

使 ADS IO 符号可用

完成这项工作需要几个设置步骤,但相当简单。

  1. 扫描来自 EtherCAT 链的 IO
  2. 添加一个新的'Twincat Task with Image'
    • 从 'System>Tasks'
    • 的上下文菜单中添加
  3. 创建并 link 从添加任务到 IO 的变量
    • 强制同步单元更新并允许控制 EtherCAT 时序
    • 我添加了一个变量,该变量 link 使用 UINT 编辑到 SlaveCount,非常基本
  4. 对于 EtherCAT 主站启用 'Enable ADS Server' 和 'Create Symbols'
  5. 像访问控制器上的任何其他内容一样访问符号
    • 唯一奇怪的是您需要访问 CONTROLLER 网络 ID,而不是 EtherCAT 主站,但是您仍然使用 EtherCAT 主站的端口

在哪里可以找到 'Enable ADS Server'、'Create Symbols' 和 ADS 端口


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