4. 台达运动控制平台与编程环境
龙门双驱同步控制不是靠一个参数就能调好的,它需要“伺服调试—运动编程—同步逻辑”三层工具协同。台达为此提供了两条互补的软件主线:一条面向单轴伺服调试的 ASDA-Soft,另一条面向系统级运动控制的 DIAStudio 生态。理解它们各自管什么、在哪里交接,是后续所有同步调试工作的前提。
一、ASDA-Soft:把每个伺服轴先“调干净”
ASDA-Soft 是台达 ASDA 系列交流伺服驱动器的 PC 调试软件,通过 USB 或 RS-485/RS-232 与驱动器 CN3 通讯口连接。它的核心价值在于:在进入双驱同步之前,先把单轴的电流环、速度环、位置环整定到稳定状态。龙门双驱的两个轴如果各自都不稳,同步算法再优秀也无法弥补。
典型使用流程是:先用“自动增益调谐”让软件根据负载惯量比自动给出增益建议,再手动微调。关键参数包括:
- P1-37(惯量比):负载惯量与电机转子惯量之比,自动调谐会先估算它;
- P2-00 / P2-04:位置环与速度环增益,决定响应快慢;
- P2-06:速度积分时间常数,影响低速平稳性;
- P2-23 / P2-25:共振抑制滤波器,用于压制机械谐振。
调试时最直观的观察工具是 ASDA-Soft 内置的示波器(Scope)。以位置阶跃为例,可以同时抓取“位置命令”“位置反馈”“速度反馈”“转矩命令”四条曲线,观察上升时间、超调量和整定时间。若速度反馈出现明显振荡,说明增益偏高或滤波器未开;若跟随误差长期偏大,则可能是前馈不足。这些曲线是判断单轴是否“调干净”的直接依据。
二、DIAStudio:系统级运动控制的统一入口
DIAStudio 是台达新一代的整合式工程平台,它把多个工具收进同一个界面,主要包括:
- DIADesigner:PLC 编程环境,支持 IEC 61131-3 的 LD、ST、FBD 等语言;
- DIADesigner-AX:面向运动控制器的编程环境,支持 PLCopen 运动控制功能块;
- COMMGR:通讯管理工具,负责 PC 与控制器之间的连接配置;
- DIAScreen:HMI 画面编辑工具。
对于龙门双驱同步,真正承载运动逻辑的是 DIADesigner-AX。它运行在台达 AX 系列运动控制器(如 AX-308E、AX-364E 等)上,支持电子凸轮、电子齿轮、插补和同步轴组等功能。双驱同步通常通过“主从轴电子齿轮/凸轮”或“轴组插补”两种方式实现,前者适合刚性同步,后者适合带轨迹规划的同步。
三、PLCopen 运动控制功能块:编程的“标准语言”
PLCopen 是国际组织制定的运动控制功能块规范,台达 AX 控制器遵循这套规范。它的好处是:功能块名称、引脚定义、状态机行为都有统一约定,学会一套就能迁移到其他品牌。常用的功能块包括:
| 功能块 | 作用 | 典型引脚 |
|---|---|---|
| MC_Power | 使能轴 | Axis, Enable, Status |
| MC_Home | 回原点 | Axis, Execute, Done |
| MC_MoveAbsolute | 绝对定位 | Position, Velocity, Done |
| MC_MoveRelative | 相对定位 | Distance, Velocity |
| MC_GearIn | 电子齿轮啮合 | Master, Slave, Ratio |
| MC_CamIn | 电子凸轮啮合 | Master, Slave, CamTable |
| MC_GearOut / MC_CamOut | 解除啮合 | Execute, Done |
这些功能块都遵循“上升沿触发 Execute、Busy 置位、Done 或 Error 结束”的状态机。理解这个状态机,是写出可靠运动程序的关键——不能靠反复触发 Execute 来“碰运气”,而要用 Done 的上升沿去驱动下一步。
四、项目创建:从新建到第一个同步动作
在 DIADesigner-AX 中创建一个龙门双驱项目的典型步骤如下:
- 新建项目,选择对应的 AX 控制器型号(例如 AX-308E);
- 在“轴配置”中定义两个伺服轴,分别绑定到实际驱动器,设置每转脉冲数、软限位、最大速度等;
- 在 COMMGR 中建立与控制器的通讯通道,下载硬件配置;
- 编写 ST 程序:先调用 MC_Power 使能两轴,再调用 MC_Home 回原点;
- 用 MC_GearIn 把从轴(Y2)啮合到主轴(Y1),设定齿轮比;
- 触发主轴运动,观察两轴位置反馈是否同步。
下面是一段简化的 ST 示例,展示双轴使能与齿轮啮合的基本结构:
// 双轴使能
MC_Power_Y1(Axis := AxisY1, Enable := TRUE);
MC_Power_Y2(Axis := AxisY2, Enable := TRUE);
// 回原点
MC_Home_Y1(Axis := AxisY1, Execute := bHome);
MC_Home_Y2(Axis := AxisY2, Execute := bHome);
// 从轴 Y2 啮合到主轴 Y1,齿轮比 1:1
MC_GearIn_Y2(
Master := AxisY1,
Slave := AxisY2,
RatioNumerator := 1,
RatioDenominator := 1,
Execute := bGearIn
);
// 主轴绝对定位,从轴跟随
MC_MoveAbsolute_Y1(
Axis := AxisY1,
Position := 100.0,
Velocity := 50.0,
Execute := bMove
);
这段代码的观察重点是:MC_GearIn 的 Done 置位后,从轴才真正跟随主轴;主轴运动时,两轴的“位置反馈”差值应保持在一个很小的范围内。如果差值持续增大,说明齿轮比、方向或增益匹配有问题,需要回到 ASDA-Soft 检查单轴状态。
整个工具链的分工可以这样理解:ASDA-Soft 负责把“每个轴”调稳,DIAStudio 负责把“轴与轴之间”的关系编出来,PLCopen 功能块则是表达这种关系的标准词汇。项目创建的过程,本质上就是把这三层依次打通:先单轴、再配置、后编程、最后验证。任何一层没走通,同步误差都会在最终的位置反馈曲线上暴露出来。