4. 开发环境搭建

台达EtherCAT多轴运动控制工程的开发环境不是单一软件,而是由“伺服参数调试—主站工程组态—运动逻辑编程”三层工具链协同构成。ASDA-Soft负责ASDA-A3/A2系列伺服驱动器的参数读写、增益整定与试运行;DIADesigner是台达新一代EtherCAT主站编程平台,内置CODESYS V3内核,用于建立EtherCAT网络、添加从站、编写PLCopen运动控制程序;CODESYS则作为底层运行内核与标准编程环境,提供IEC 61131-3语言支持与SoftMotion库。理解三者的分工与数据流向,是搭建可运行工程的第一步。

本节示例参数均以ASDA-A3伺服、DIADesigner 1.0x、CODESYS 3.5 SP17为参考,实际版本号与菜单名称可能略有差异,请以本机安装版本为准。

一、软件安装顺序与版本匹配

安装顺序直接影响EtherCAT驱动与设备描述文件能否被正确识别。推荐顺序为:先装CODESYS主程序(若使用独立版),再装DIADesigner(其安装包通常已集成CODESYS内核与台达设备库),最后装ASDA-Soft。若先装ASDA-Soft,其USB驱动可能占用端口,导致后续主站扫描不到EtherCAT从站。

版本匹配需注意三点:DIADesigner的EtherCAT主站版本必须与CODESYS内核版本一致;ASDA-A3的EtherCAT XML设备描述文件(ESI)需与固件版本对应,例如固件V1.08对应ESI文件ASDA-A3_ECAT_V1.08.xml;ASDA-Soft的通信版本需支持A3系列,否则只能识别A2。安装完成后,在DIADesigner中通过“工具—设备库”确认已加载台达EtherCAT从站库,若未加载,需手动导入ESI文件。

二、ASDA-Soft伺服参数配置

ASDA-Soft通过USB或RS-485连接伺服驱动器,主要完成三件事:通信参数设置、增益整定、试运行验证。以ASDA-A3为例,关键参数如下:

参数名称示例值说明
P1.001控制模式0x0CEtherCAT位置/速度/扭矩模式
P2.001增益切换1启用增益切换
P2.004位置环增益500单位0.1 rad/s
P2.006速度环增益300单位0.1 Hz
P2.011速度环积分100单位0.1 ms
P3.001DI功能0x101SON使能

设置完成后,使用ASDA-Soft的“试运行”功能,在JOG模式下以低速(如100 rpm)点动电机,观察波形图中位置误差是否收敛。若误差持续增大,说明增益偏低或方向设置错误;若出现高频振荡,则增益过高,需降低P2.004。这一步是后续EtherCAT控制能否稳定的基础。

三、DIADesigner/CODESYS主站工程创建

打开DIADesigner,新建“标准工程”,设备选择“Delta EtherCAT Master”,编程语言选ST(结构化文本)。工程创建后,左侧设备树中会出现“EtherCAT_Master”节点。右键点击该节点,选择“扫描设备”,此时需确保所有从站已上电且EtherCAT线缆连接正确(IN口接上一站OUT口)。扫描成功后,设备树会列出各从站,例如:

EtherCAT_Master
├─ ASDA-A3_1 (Node 1)
├─ ASDA-A3_2 (Node 2)
├─ ASDA-A3_3 (Node 3)
└─ ASDA-A3_4 (Node 4)

每个从站节点下会自动生成PDO映射。对于多轴运动控制,需确认PDO中是否包含“目标位置”、“实际位置”、“状态字”、“控制字”等关键对象。若缺少,可在“过程数据”选项卡中手动添加。例如,目标位置对应0x607A,实际位置对应0x6064,控制字0x6040,状态字0x6041。

四、EtherCAT主站参数与分布式时钟配置

主站参数中,最影响多轴同步的是分布式时钟(DC)。在“EtherCAT_Master—通用”选项卡中,将“分布式时钟”设为“启用”,同步周期设为1 ms(与伺服P1.001的插补周期一致)。若各轴需要严格同步,还需在从站DC设置中勾选“同步到主站时钟”,并设置偏移补偿。DC未启用时,各轴位置更新会存在几十微秒到毫秒级的抖动,对于多轴插补加工,这种抖动会直接反映为轨迹误差。

此外,主站看门狗时间建议设为同步周期的3倍,即3 ms。若从站掉线,主站会在3 ms内报错并停止所有轴,避免飞车。

五、工程编译与在线验证

完成组态后,点击“编译”,若无错误,将工程下载到主站控制器(如台达AX-308E或PC-based软主站)。下载后切换至“在线”模式,观察设备树中各从站图标是否变为绿色。若某从站显示红色,检查该从站的EtherCAT IN/OUT接线、节点地址拨码(通常为0)以及ESI文件是否匹配。

验证阶段可编写一段最小ST程序:使能第一轴,给定一个相对运动指令,观察电机是否按设定位置移动。例如:

MC_Power(Axis1, Enable:=TRUE, Status=>bStatus);
MC_MoveRelative(Axis1, Execute:=bExec, Distance:=10000, Velocity:=5000);

其中Distance单位为用户单位(默认脉冲),10000对应电机转动一定角度。若电机不转,检查MC_Power的Status是否为TRUE,以及伺服面板是否显示“RUN”。

台达EtherCAT多轴开发环境工具链与数据流 ASDA-Soft 伺服参数 / 增益整定 / JOG USB / RS-485 连接 DIADesigner EtherCAT组态 / 设备扫描 PDO映射 / DC配置 CODESYS 内核 IEC 61131-3 / SoftMotion PLCopen 运动控制库 EtherCAT 主站(AX-308E / 软主站) 同步周期 1 ms · DC 分布式时钟 · 看门狗 3 ms EtherCAT 帧(IN→OUT 菊花链) ASDA-A3_1 Node 1 · 0x607A/0x6064 P1.001=0x0C ASDA-A3_2 Node 2 · 0x607A/0x6064 P1.001=0x0C ASDA-A3_3 Node 3 · 0x607A/0x6064 P1.001=0x0C ASDA-A3_4 Node 4 · 0x607A/0x6064 P1.001=0x0C 在线验证:从站绿色=通信正常 · 红色=检查接线/ESI/节点地址 MC_Power → MC_MoveRelative → 观察实际位置反馈

整个环境搭建的核心逻辑是:ASDA-Soft把伺服“调稳”,DIADesigner把网络“组通”,CODESYS把逻辑“写对”,三者缺一不可。实际工程中,最常见的失败不是程序写错,而是ESI文件版本不匹配或DC未启用导致多轴不同步。建议在首次搭建时,先用单轴验证通信与运动,再逐轴增加,每增加一轴就检查一次DC同步状态,这样能把问题定位在最小范围内。