在工业自动化领域,冲压件在线检测与分拣一直是个技术难点。这次我们接到的项目要求三菱FX5U PLC与雅马哈RCX340四轴机械手协同作业,实现金属冲压件的在线检测与收料。产线节拍要求极高——机械手必须在0.3秒内完成抓取判定,伺服定位精度需控制在±0.02mm以内。
这个项目的特殊之处在于需要整合多种技术:
整个系统采用分层式架构:
code复制[PLC主站] --CC-Link IE--> [机械手控制器]
|--232串口--> [激光测距仪]
|--脉冲输出--> [伺服驱动器]
关键硬件选型:
CC-Link IE Basic参数设置:
特别注意:机械手输入输出采用内存映射方式,需要预先在GX Works3中配置远程寄存器:
text复制X0-X1F -> U3\G0-G31
Y0-Y1F -> U3\G100-G131
PLC通过CC-Link实时读取机械手状态寄存器:
st复制MOV U3\G100 D200 //报警代码转存
CMP D200 K0 //非零判断
MPS
CALL P10 //报警处理子程序
MPP
OUT Y10 //复位信号
关键技巧:使用MOV指令而非直接读取,可减少CC-Link网络负载,实测响应时间从25ms降至15ms
采用绝对位置控制指令,需注意脉冲量计算:
st复制DDRVI K5000 K300000 Y0 Y4 //参数说明:
//K5000:脉冲当量(5000脉冲/mm)
//K300000:目标脉冲数(对应60mm行程)
//Y0:脉冲输出端口
//Y4:方向信号
调试发现的问题及解决:
机械手程序段:
rob复制MOVJ VJ=50% PL=1 //快速接近
WAIT DI(10)=ON //到位检测
IF M_OUT(3)=OFF JUMP *ERR //真空检测
TIMER T=0.5 //防抖延时
MOVL V=80 //精准下压
该方案将误抓率从3%降至0.1%,关键点:
232通讯数据格式处理:
st复制STRCPY D100 K4 D200 //截取"DIST=12.34mm"中的"12.3"
ASC D200 D210 //ASCII转十六进制
FLT D210 D220 //转为浮点数
CMP D220 K5.0 //阈值判断
踩坑记录:机械手默认波特率38400,需与测距仪(9600)手动同步
使用GT Works3开发的关键功能:
提前进行的离线测试:
遇到的典型问题及对策:
| 问题现象 | 排查方法 | 解决方案 |
|---|---|---|
| CC-Link偶发断线 | 用示波器检测网络波形 | 增加磁环,改用STP电缆 |
| 伺服原点偏移 | 检查编码器接线 | 更换带屏蔽的编码器线 |
| 真空检测误触发 | 监测气压曲线 | 调整检测延时从0.3s到0.5s |
易损件管理:
参数备份策略:
text复制/备份/
├── PLC参数.fx5u
├── 机械手参数.rcx
└── 伺服参数.s7p
故障快速诊断:
这套系统经过三个月连续运行,平均无故障时间达到1800小时。最大的收获是认识到工业通讯中"协议一致"比"速率匹配"更重要,下次类似项目会优先考虑Profinet等更开放的协议标准。