4. 开发环境搭建
台达EtherCAT多轴运动控制工程的开发环境不是单一软件,而是由“伺服参数调试—主站工程组态—运动逻辑编程”三层工具链协同构成。ASDA-Soft负责ASDA-A3/A2系列伺服驱动器的参数读写、增益整定与试运行;DIADesigner是台达新一代EtherCAT主站编程平台,内置CODESYS V3内核,用于建立EtherCAT网络、添加从站、编写PLCopen运动控制程序;CODESYS则作为底层运行内核与标准编程环境,提供IEC 61131-3语言支持与SoftMotion库。理解三者的分工与数据流向,是搭建可运行工程的第一步。
一、软件安装顺序与版本匹配
安装顺序直接影响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 | 控制模式 | 0x0C | EtherCAT位置/速度/扭矩模式 |
| P2.001 | 增益切换 | 1 | 启用增益切换 |
| P2.004 | 位置环增益 | 500 | 单位0.1 rad/s |
| P2.006 | 速度环增益 | 300 | 单位0.1 Hz |
| P2.011 | 速度环积分 | 100 | 单位0.1 ms |
| P3.001 | DI功能 | 0x101 | SON使能 |
设置完成后,使用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”。
整个环境搭建的核心逻辑是:ASDA-Soft把伺服“调稳”,DIADesigner把网络“组通”,CODESYS把逻辑“写对”,三者缺一不可。实际工程中,最常见的失败不是程序写错,而是ESI文件版本不匹配或DC未启用导致多轴不同步。建议在首次搭建时,先用单轴验证通信与运动,再逐轴增加,每增加一轴就检查一次DC同步状态,这样能把问题定位在最小范围内。