去年为电子厂开发的这套六工位转盘贴标系统,核心控制部分采用三菱FX5U PLC搭配GT系列触摸屏,实现了从物料定位、视觉检测到贴标完成的自动化流程。这个案例特别适合刚接触运动控制的电气工程师,因为它涵盖了PLC编程的多个典型应用场景:多轴伺服控制、视觉通讯协同、HMI数据监控以及故障安全处理。
硬件架构上,系统配置了6台伺服电机(转盘主驱动+5个辅助工位轴),每轴均采用差分脉冲输出方式控制。视觉检测部分选用500万像素工业相机,通过RS485接口与PLC采用MC协议通讯。实际生产中这套系统达到了每分钟120件的标定产能,定位精度控制在±0.1mm范围内。
关键设计理念:通过状态机(S寄存器组)管理工艺流程,用变址寄存器实现多轴参数统一处理,配合中断机制确保视觉触发与机械位置的严格同步。
转盘主驱动采用200W伺服电机,驱动器参数设置需特别注意:
接线时,伺服驱动器的CN1接口与PLC的脉冲输出端子对应连接:
急停回路采用独立硬件电路,通过安全继电器控制:
相比传统PLSY指令,PLSV的优势在于运行时可动态调整脉冲频率。以下是优化后的斜坡加速程序:
st复制// 加速阶段(5级渐变)
MOV K2000 D100 // 初始频率2000Hz
FOR K1 TO K5 // 5级加速循环
PLSV D100 Y0 // 执行变速脉冲输出
DADD D100 K600 D100 // 每级增加600Hz
TIMER T1 K50 // 每级保持50ms
NEXT
// 恒速运行阶段
PLSV K5000 Y0 // 目标频率5000Hz
调试发现三个关键点:
通过CMP指令实现工位间的相位同步:
st复制// 轴2跟随轴1运动(相位差90°)
LD M8000 // 常ON触点
CMP D0 K10000 // 判断轴1位置
MOV K2500 D10 // 轴2目标位置
PLSY D10 Y2 // 驱动轴2
实际应用中发现,当采用变址寄存器统一管理多轴参数时,程序可读性大幅提升:
st复制MOV K0 Z0 // 初始化变址
FOR K0 TO K5 // 6轴循环控制
MOV D200Z D300Z // 传递目标位置
PLSY D300Z Y0Z // 脉冲输出
INCP Z0 // 变址递增
NEXT
FX5U内置的MC协议通讯参数设置:
视觉结果读取程序段:
st复制LD SM400 // 运行常ON
RS D100 K8 D200 K4 // 读取8字节到D200-D203
采用硬件中断+软件滤波确保触发精度:
st复制// 硬件中断设置
IMASK K1 // 允许X0中断
ICPT X0 K1 // X0上升沿触发
// 中断程序
ISR K1
MOV CNT235 D300 // 锁存编码器值
CMP D300 K5000 // 位置校验
BMOV D310 D400 K10 // 保存视觉数据
IRET
GT Designer3中的关键设置:
利用文件寄存器实现参数存储:
st复制// 保存当前参数
MOV K10 D1000 // 配方编号
BMOV D100 D1100 K50// 保存50个参数
// 读取配方
MOV K11 D1000 // 目标配方号
BMOV D1100 D100 K50// 加载参数
st复制LD X20 // 报警输入
TON T0 K50 // 50ms滤波
MOV D200 D9000 // 存储报警代码
ZRST Y0 Y20 // 立即停止输出
CALL P10 // 执行复位序列
| 故障现象 | 可能原因 | 排查方法 |
|---|---|---|
| 伺服抖动 | 刚性不足 | 调整PA10(速度环增益) |
| 位置偏差 | 机械背隙 | 补偿参数PB02(反向间隙) |
| 通讯中断 | 终端电阻 | 检查485线路两端120Ω电阻 |
| 视觉误判 | 触发不同步 | 检查X10信号滤波时间 |
完整项目应包含以下目录结构:
code复制/Project
├── /PLC # GX Works3工程
│ ├── MainProgram.gxw # 主程序
│ └── Parameters.csv # 参数表
├── /HMI # GT Designer3工程
│ ├── MainScreen.got # 主界面
│ └── AlarmList.csv # 报警列表
└── /Docs # 文档
├── IOList.xlsx # IO映射表
└── Manual.pdf # 操作手册
程序架构设计建议:
这个项目让我深刻体会到,好的PLC程序不仅要实现功能,更要考虑后期维护的便利性。比如在触摸屏上添加了"轴参数一键备份"功能,当需要更换驱动器时,技术人员可以快速恢复所有参数。另外,所有关键参数都做了上下限保护,防止误操作导致设备损坏。