本文内容是根据参考视频做的笔记:

EtherCAT 总线简单介绍

  • 从站站号:如果使用扫描,则根据接线顺序决定(如第一个连接的从站,站号=1)
  • EtherCAT Master:使用伺服进行控制,PLC 只发送控制指令
  • EtherCAT Manager:PLC 进行轨迹控制

EtherCAT Master 配置

安装对应伺服的描述文件(XML 格式)

添加主站

项目,右键 –> 添加设备

EtherCAT –> 主站,选择对应的模式

注意:这里的 Master 和 Master SoftMotion 与 Master 和 Motion 模式完全不是同一概念

  • Master = 通用的 EtherCAT 主站
  • Master SoftMotion = 经过优化的专用于运动控制的 EtherCAT 主站

Master 和 Motion 模式

  • EtherCAT Master:伺服内部控制运动轨迹,PLC 只下发控制指令
    PLC 的 MC 运动控制功能块不能用,只能使用伺服自带的功能
  • EtherCAT Motion:PLC 进行轨迹控制,伺服相当于一个变频器,不做路径控制
    可在 PLC 中使用 MC 运动控制功能块,实现独立于伺服厂家的运动控制

主站配置

主站(PLC)EtherCAT 通信扫描周期

轴的控制周期(EtherCAT 通讯 TASK 的循环周期)
轴的控制周期 = EtherCAT 通讯 TASK 的循环周期

接到主站(PLC)

将上面的 CodeSYS 项目配置好路由,使其能正常连接到 PLC。略

配置主站(PLC)通讯使用的网口

双击添加的设备,进入配置界面,点击【通用】tab 下的【浏览】

弹窗显示 PLC 拥有的网口。选择设备对应的接口,完成配置。
具体选哪个接口要根据 PLC 设备说明书、实际使用的接口来定

项目中的设备配置

在主站下添加伺服设备

在刚才添加的主站,右键 –> 添加设备

在弹窗中,找到对应的设备,点击【添加设备】
添加一个设备后,窗口不会关闭,如果要添加多个设备,则多次点【添加设备】即可

Codesys 连接 EtherCAT 总线伺服

通用配置

  1. 启用专家配置
  2. 使能分布式时钟、使能 Sync0
  3. 其他配置保持默认

配置 PDO(配置要传输的模版)

PDO = 此设备单次传输的最小数据单位

  1. 单个 PDO 有最大长度限制
  2. PDO 分为:输入、输出、邮箱输入、邮箱输出
    1. 输入、输出 PDO = 周期性传输的数据。通常是当前的实时状态值、控制指令
    2. 邮箱 PDO = 非周期性传输的数据,用于特殊的指令控制等场合
  3. 一个设备同一时间只能传输一个输入 PDO、一个输出 PDO。但在这里可配置多个 PDO 以供切换

窗口各部分的含义

  • 同步管理器:当前配置的所有 PDO 包含的各种类型的数据数量
  • PDO List:所有 PDO 的列表
  • PDO 内容:每个 PDO 实际包含的数据,以寄存器来显示。寄存器由伺服的 XML 文件定义
  • 默认有一些 XML 预先定义的 PDO
  • 也可以添加自己需要的内容、PDO
    在【PDO 内容】点击【添加】,在弹窗中可选择要添加的内容
  • 注意1:PDO 是区分输入、输出的。需要监控的数据则输入输出都要配置。
  • 注意2:一个设备同一时间只能传输一个输入 PDO、一个输出 PDO。运行时可通过软件切换控制每次获取的 PDO 是哪些

启用 PDO(选择真正传输的使用哪个模版)

实际传输只能配置一个输入 PDO 和一个输出 PDO。勾选哪个,哪个就启用,其余的就没法启用了

(可选)添加启动参数

配置PLC变量与 PDO 数据的映射

PLC 使用 PDO 数据的方法

  1. 直接操作绝对变量:绝对变量地址以 % 开头,地址系统自动分配的
  2. 这里新建变量名,到时引用这里的变量
  3. (推荐)点击【变量】格上的【…】,关联到项目内其他程序、变量表中的变量

循环刷新数据

【EtherCAT IO映射】页面,右下角下拉框,选择【使能2】

  • 使能1:优先使用自定义的任务,如果自定义任务没有配置刷新这些 IO 映射的点的任务,再用 EtherCAT 通信任务来做变量同步
  • 使能2:直接使用 EtherCAT 通信任务来做变量同步

EtherCAT Master Motion 配置

配置为 Motion 类型后,相当于使用 PLC 而不是伺服来实现运动控制,PLC 此时兼有运动控制器的功能

  • 可使用 CodeSys 提供的运动控制指令库,实现更强大的运动控制,如虚轴控制、多轴联动等
  • 这种运动控制的程序,不绑定伺服的功能,运动控制与伺服厂家、型号无关,提高了灵活度

添加主站

同 Master 添加主站,但要选 SoftMotion
主站配置、设备添加、设备配置同 Master 配置,这里省略

注意:这里的 Master 和 Master SoftMotion 与 Master 和 Motion 模式完全不是同一概念

  • Master = 通用的 EtherCAT 主站
  • Master SoftMotion = 经过优化的专用于运动控制的 EtherCAT 主站

Master 和 Motion 模式

  • EtherCAT Master:伺服内部控制运动轨迹,PLC 只下发控制指令
    PLC 的 MC 运动控制功能块不能用,只能使用伺服自带的功能
  • EtherCAT Motion:PLC 进行轨迹控制,伺服相当于一个变频器,不做路径控制
    可在 PLC 中使用 MC 运动控制功能块,实现独立于伺服厂家的运动控制

设备添加 Motion 轴

在原设备下,右键 –> 添加 CiA402 轴。此轴的控制就使用 Motion 模式进行控制了,由 PLC 进行轨迹规划和运动控制。PLC 兼做运动控制器

轴配置

通用配置

设置轴类型

设置轴的缩放

设置轴对象名称(轴号)

对应 MC 指令中指定的轴号

伺服配置

注意:根据不同厂商的要求,这里的配置不同

  1. 步科 Kinco
    1. 开启 KEBA 模式
    2. 开启 EtherCAT 同步式时钟功能、配置同步时钟周期
  2. 禾川 HCFA
    http://class./pluginfile.php/4849/mod_resource/content/0/Beckhoff%E5%92%8CX3T%E8%B0%83%E8%AF%95%E6%89%8B%E5%86%8C.pdf
    1. 配置伺服模式 = 7 (CANopen / EtherCAT 模式),从站地址 = 1
    2. PLC 通过 EtherCAT 下发启动参数

PLC 运控程序编写

添加编程库 MC3 Lib

编写相关指令

注意:Axis = 轴号 = 在伺服配置中设置的轴对象名称

将相关程序段加入 EtherCAT 任务中

将使用 MC 运控指令的程序段加入到 EtherCAT 主站自动生成的 TASK 中
这里将 ECAction 程序段添加到 EtherCAT_Task 任务中