1. 项目概述
去年为某电子厂开发的六工位转盘贴标设备,采用三菱FX5U PLC作为主控制器,集成六轴伺服运动控制和视觉检测功能。这套系统已经过2000+小时的生产验证,处理速度达到每分钟120件,定位精度±0.1mm。程序采用结构化设计,包含运动控制、视觉处理、HMI交互等模块,特别适合作为PLC进阶学习的实战案例。
硬件配置上,FX5U-64MT/ES作为主站,通过脉冲输出控制六台MR-JE-40A伺服驱动器,视觉系统采用基恩士CV-X系列相机,通过MC协议与PLC通信。这种组合在中小型自动化设备中非常典型,掌握其编程要点对工控从业者极具实用价值。
提示:FX5U系列PLC相比传统FX3U的最大升级在于支持SFC语言和结构化文本(ST)混合编程,本案例虽然主要使用梯形图,但在视觉处理部分巧妙运用了ST语言的优势。
2. 核心功能解析
2.1 多轴协同控制架构
六轴控制采用主从式结构:
- 主轴(转盘):Y0脉冲输出
- 辅轴(贴标/取料):Y1-Y5脉冲输出
- 同步控制通过PLSV指令实现
st复制// 主轴变速控制示例
LD M8000 // 常ON触点
PLSV D100 Y0 // D100存储实时频率值
这种设计的关键在于:
- 各轴运动参数独立存储在D寄存器组(D100-D199)
- 通过CMP指令建立轴间联动关系
- 急停时使用ZRST指令同时复位所有轴
2.2 视觉位置同步方案
视觉检测与转盘位置的同步是本项目的技术难点,解决方案包含三个关键点:
-
位置锁存:使用高速计数器CNT235记录转盘实时位置
st复制LD X10 // 视觉触发信号 MOV CNT235 D300 // 锁存当前位置值 -
误差补偿:在D8176存储视觉触发时的工位编码
st复制CMP D300 K5000 // 位置容差检查 AND M0 // 在允许范围内 MOV D8176 D350 // 存储工位编码 -
数据映射:使用变址寄存器实现多工位数据管理
st复制MOV K4 Z0 // 第5工位偏移量 MOV D200Z0 D500 // 映射扭矩数据
3. 关键程序段详解
3.1 原点复归优化方案
原始方案使用D8340做原点复归,实际调试中出现两个问题:
- 接近开关抖动导致重复触发
- 伺服使能时序不当引发电机异响
改进后的方案:
st复制LD X0 // 原点传感器
TON T10 K20 // 20ms防抖延时
AND T10
MOV K0 D8340 // 清除当前位置
PLSV K-3000 Y0 // 低速回归
配合伺服参数调整:
- Pr41(回归速度)设为3000
- Pr42(爬行速度)设为200
- Pr45(原点偏移量)根据机械实际调整
3.2 多段速控制实现
传统PLSY指令的局限性在于无法运行时修改频率,本项目采用PLSV指令实现柔性变速:
st复制// 五级加速控制
FOR K1 TO K5 // 循环5次
MOV K2000 D100 // 初始频率
PLSV D100 Y0 // 执行变速
DINC D100 K600 // 频率递增
NEXT
参数选择依据:
- 加速度梯度(K600)根据负载惯量计算
- 级数(K5)通过测试确定最优值
- 基础频率(K2000)需大于伺服最低响应频率
4. 调试问题全记录
4.1 伺服报警D200.4处理
故障现象:设备运行2小时后频繁报错
排查过程:
- 检查硬件接线(发现接地电阻>10Ω)
- 测量信号线干扰(峰值达1.2V)
- 程序增加软件滤波:
st复制LD X20 // 报警信号 TON T0 K50 // 50ms延时滤波 OUT M200
最终解决方案:
- 重新铺设接地线(电阻<4Ω)
- 信号线改用双绞屏蔽线
- 程序增加报警计数功能
4.2 视觉误判问题
典型场景:转盘停止时出现误触发
优化措施:
- 增加运动状态判断
st复制LD M8349 // 脉冲输出监控 AND X10 // 视觉触发 MOVP D300 D350 // 条件满足才锁存 - 设置视觉检测窗口(D500-D503)
- 引入二次验证机制
5. 工程实践技巧
5.1 程序结构优化
-
使用FEND划分功能块:
- 主程序(运动控制)
- 子程序1(视觉处理)
- 子程序2(报警处理)
-
避免双线圈问题的规范:
- 输出指令只在主程序出现
- 子程序用CALLP调用
st复制LD M100 CALLP P10 // 视觉处理子程序
5.2 HMI设计要点
-
趋势图控件配置:
- 采样周期:200ms
- 数据源:D500-D505(六轴扭矩)
- 缩放比例:1mV/Nm
-
关键参数保护:
st复制CMP D100 K10000 // 速度上限检查 AND M0 MOV D100 D110 // 合法值才更新
6. 完整IO映射表
| 地址 | 功能说明 | 备注 |
|---|---|---|
| X0 | 转盘原点 | OMRON E3Z光电 |
| Y0 | 转盘脉冲 | MR-JE-40A PP模式 |
| D100 | 视觉OK信号 | 位映射格式 |
| D200 | 伺服报警代码 | 每轴占用2个寄存器 |
7. 进阶开发建议
-
可扩展性改进:
- 采用FB功能块封装运动控制
- 使用结构体管理轴参数
st复制// 轴参数结构体示例 Axis1.Speed := 5000; Axis1.Pulse := 20000; -
安全功能增强:
- 增加STO(安全扭矩关断)回路
- 实现安全速度监控功能
这套程序最值得借鉴的是其异常处理机制的设计思路。在实际调试中发现,约70%的设备故障源于边界条件处理不当。例如在急停逻辑中,我们不仅复位了运动指令,还增加了以下处理:
st复制LD X30 // 急停信号
ZRST S0 S100 // 复位所有状态
MOV K0 D100 // 速度清零
OUT M50 // 报警指示灯
这种全方位的安全设计,使得设备在三个月试运行期间实现了零故障停机。对于PLC编程而言,真正的专业水准往往体现在这些异常情况的处理细节上。