1. 项目背景与需求解析
去年接了个新能源汽车马达点胶机的改造项目,客户原先用的是手动点胶工艺,良品率一直上不去。他们新上的三轴自动点胶设备需要匹配台达AS228T中型PLC,核心要求是实现0.5mm精度的圆形胶路控制。听起来就是X/Y轴画圆加Z轴高度补偿?真干起来才发现双轴圆弧插补的水比想象中深得多。
这个项目的硬件配置很典型:
- 控制核心:台达AS228T PLC(支持最多4轴EtherCAT控制)
- HMI:威纶通TK8071IP触摸屏(通过以太网与PLC通讯)
- 执行机构:三个步进电机驱动的直线模组(X/Y/Z三轴)
- 工艺要求:在电机定子表面涂布直径8mm的圆形密封胶,厚度公差±0.1mm
2. 系统架构设计要点
2.1 硬件组网方案
采用星型拓扑结构,威纶通HMI作为主站,通过以太网连接台达PLC。三个步进驱动器通过脉冲+方向信号接入PLC的本地IO,省去了额外的运动控制模块。这里有个细节:X/Y轴必须接在PLC的同步输出通道上,否则无法实现硬件级插补。
2.2 软件框架搭建
使用台达ISPSoft 2.05编程环境,程序结构分为三层:
- 基础层:轴参数配置、IO映射、安全回路
- 控制层:运动控制FB(函数块)库
- 应用层:工艺配方、HMI交互逻辑
特别要注意的是,台达的圆弧插补指令MC_MoveCircular必须配合MC_GroupCreate使用,先要把X/Y轴绑定成轴组才能执行协同运动。
3. 核心功能实现细节
3.1 圆弧插补参数配置
圆弧轨迹质量取决于四大参数:
ladder复制|--[MOV K2000 D100]------------------(Y轴加速度)
|--[MOV K1500 D101]------------------(Y轴减速度)
|--[MOV K300 D102]-------------------(Jerk时间)
|--[MC_Power Axis:=Y轴 Enable:=1]----(上电使能)
调试中发现的问题:
- 初始设置的2000mm/s²加速度会导致拐角过冲
- 减速度大于加速度时会出现"点头"现象
- Jerk时间低于200ms时电机有明显振动
最终优化参数:
- 加速度:1200mm/s²(分三段渐变)
- 减速度=加速度×0.8
- Jerk时间:300ms
3.2 圆弧插补函数块调用
核心代码采用MC_MoveCircular FB实现:
st复制MC_MoveCircular(
AxisGroup:=XY组, //必须预先创建的轴组
CenterX:=W100, //圆心X坐标(相对起点)
CenterY:=W102, //圆心Y坐标(相对起点)
EndX:=W104, //终点X坐标(绝对坐标)
EndY:=W106, //终点Y坐标(绝对坐标)
Velocity:=500, //线速度mm/s(建议≤800)
Direction:=2, //1=逆时针,2=顺时针
BufferMode:=1); //0=立即停止,1=平滑过渡
踩过的坑:
- 圆心坐标必须使用相对值(相对于起点)
- 终点坐标要用绝对值模式
- BufferMode设为0会导致每个圆弧段停顿
3.3 Z轴压力补偿算法
通过压力传感器反馈实时调节Z轴高度:
ladder复制|--[PID D200 D202 D204]------------(压力PID运算)
|--[MOV D210 D300]-----------------(Z轴补偿量)
|--[ADD D1000 D300 D1000]----------(动态修正原点)
关键参数:
- 采样周期:10ms(通过定时中断实现)
- PID参数:P=0.5, I=0.2, D=0.1
- 死区范围:±5N(防止频繁调节)
4. 调试问题全记录
4.1 圆弧轨迹偏移问题
现象:绘制的圆在第四象限出现明显变形
排查过程:
- 检查机械传动间隙(正常)
- 验证各轴脉冲当量(正确)
- 最终发现MC_GroupCreate后未执行坐标系清零
解决方案:
ladder复制|--[MC_Home Axis:=X轴]-------------(回零)
|--[MC_Home Axis:=Y轴]-------------(回零)
|--[MC_GroupCreate]----------------(创建轴组)
4.2 拐角胶量不均匀
现象:圆弧段连接处胶线变细
优化措施:
- 启用速度前瞻功能(BufferMode=1)
- 在HMI增加"过象限补偿"参数(默认3%)
- 采用梯形速度曲线替代S曲线
4.3 通讯抖动处理
当HMI频繁读写PLC寄存器时,会出现运动卡顿:
- 优化方案:将监控数据打包到连续寄存器区
- 修改通讯周期:从100ms调整为200ms
- 关键运动参数改用保持寄存器
5. 功能块封装建议
5.1 标准化FB库
项目最终封装了18个功能块,例如:
code复制FB_胶量检测(带软FIFO缓冲)
FB_急停处理(多级减速停止)
FB_参数保存(EEPROM读写)
5.2 报警处理架构
采用分层报警设计:
- 轴级报警:超程、过载等
- 工艺报警:胶量不足、超时等
- 系统报警:通讯中断、看门狗等
每个报警对应独立的处理FB,并通过报警代码映射到HMI显示。
6. 台达与欧姆龙方案对比
6.1 编程便利性
-
台达优势:
- 笛卡尔坐标直接输入
- 在线修改无需重新编译
- 中文变量名支持更好
-
欧姆龙特点:
- 需要向量坐标转换
- 但支持G代码直接解析
- NJ系列有更精细的电子齿轮功能
6.2 运动性能表现
测试数据对比(相同机械结构):
| 指标 | 台达AS228T | 欧姆龙NJ501 |
|---|---|---|
| 圆弧精度 | ±0.3mm | ±0.15mm |
| 最大插补速度 | 1m/s | 2m/s |
| 响应延迟 | 8ms | 2ms |
7. 工程经验总结
- 原点管理要严格:所有运动FB执行前必须确保坐标系一致
- 速度参数要留余量:标称值的70%是安全线
- 善用在线监控:威纶通的实时曲线比PLC自带示波器好用
- 注释要立体:除了梯形图注释,还要单独写操作手册
这个项目让我对台达PLC的运动控制能力有了新认识。虽然比不过高端日系PLC的性能,但在性价比和易用性上确实有优势。特别是ISPSoft的在线调试功能,在现场排查问题时能省下至少30%的时间。不过如果客户预算充足,下次我会推荐用台达的AH500系列加EtherCAT总线方案,那才是真正的"真香"体验。
