1. 项目概述与背景
在工业自动化领域,物料分拣系统是最基础也最考验工程师功底的实战项目之一。这次分享的球体分拣系统,是我们车间为提升分拣效率而自主设计的一套解决方案。核心采用三菱FX3U PLC作为主控制器,搭配组态王上位机监控软件,实现了对不同材质球体的自动识别、抓取和分类。
这个看似简单的系统,在实际调试过程中却遇到了不少意料之外的问题。从传感器信号抖动到组态王通信异常,从真空度调节到机械臂轨迹优化,每个环节都需要精细调整。本文将详细拆解整个系统的设计思路、实现细节和调试经验,希望能给正在实施类似项目的同行提供有价值的参考。
2. 硬件系统设计与配置
2.1 核心硬件选型
系统硬件架构经过多次方案对比后确定:
-
主控制器:三菱FX3U-48MT/ES-A PLC
- 选择理由:24点输入/24点晶体管输出,满足当前I/O需求且有余量;内置3轴脉冲输出,为后续扩展机械臂预留接口
- 扩展模块:FX3U-4AD模拟量输入模块(用于金属传感器信号采集)
-
执行机构:
- 真空吸盘:SMC ZH10B系列,配磁性开关检测伸出/缩回状态
- 驱动气缸:亚德客SC50x50-S,配套调速阀调节运动速度
- 输送电机:松下MINAS A5系列伺服,通过PLC脉冲控制精确定位
-
检测元件:
- 金属传感器:基恩士LX-41电感式接近开关
- 位置检测:欧姆龙EE-SX671光电开关
2.2 I/O分配与电气设计
电气原理图设计时特别注意了信号隔离和抗干扰措施:
plaintext复制输入信号分配:
X0 - 金属检测传感器
X1 - 吸盘下限位
X2 - 水平到位信号
X3 - 急停按钮(硬件回路)
输出信号分配:
Y0 - 真空电磁阀
Y1 - 破真空电磁阀
Y2 - 水平移动电机脉冲+
Y3 - 水平移动电机方向
Y4 - 允许抓取信号
重要提示:所有数字量输入信号均通过中间继电器隔离,模拟量信号采用双绞屏蔽线传输,有效抑制车间电磁干扰。
3. PLC程序架构解析
3.1 主控制流程设计
程序采用模块化设计,主要功能块包括:
- 系统初始化(M8002上电脉冲触发)
- 传感器信号处理(含数字滤波)
- 球体分类算法
- 机械臂运动控制
- 安全互锁逻辑
- 计数与报警处理
assembly复制; 主程序结构示例
LD M8002 ; 上电初始化
CALL P100 ; 初始化子程序
MAIN:
CALL P200 ; 信号采集
CALL P300 ; 分类判断
CALL P400 ; 运动控制
CALL P500 ; 安全监控
JMP MAIN
3.2 关键算法实现细节
信号滤波处理:
assembly复制; 吸盘位置信号防抖处理
LD M8000 ; 运行常ON触点
LDI X001 ; 吸盘下限位取反
OUT T0 K50 ; 设置500ms延时
LD T0 ; 延时后信号
OUT M100 ; 有效吸合信号
球体分类逻辑:
assembly复制; 模拟量采集与处理
MOV K1 D100 ; 指定通道1
CALL P0 ; 调用AD转换
MOV D0 D200 ; 转换结果存储
; 带死区的分类判断
LD<= D200 K350 ; 小球条件(AD值≤350)
MOVP K1 D300 ; 分类标志置1
LD>= D200 K550 ; 大球条件(AD值≥550)
MOVP K2 D300 ; 分类标志置2
调试发现:金属球AD值通常在600-800,塑料球200-300。但环境温度变化会导致±50的波动,因此设置350-550的死区避免误判。
4. 组态王监控系统开发
4.1 通信配置要点
-
通信参数设置:
- 接口类型:RS485
- 波特率:19200bps
- 数据格式:8位数据位,1停止位,偶校验
- 站号:1(PLC站地址)
-
变量绑定技巧:
plaintext复制寄存器映射表:
D200 -> 当前AD值(实时显示)
D300 -> 分类结果(1=小球,2=大球)
D500 -> 大球计数
D501 -> 小球计数
M10 -> 急停状态
4.2 人机界面设计
主监控画面包含:
- 设备状态动态显示(吸盘位置、电机运行)
- 分类计数实时更新
- 历史数据趋势图
- 手动操作面板(含急停按钮)
vb复制' 手动操作按钮示例
Sub btnStart_Click()
If PLC.WriteDevice("M100", 1) Then
Log "启动命令已发送"
Else
Alarm "通信失败!"
End If
End Sub
踩坑记录:组态王写入整型数据时需要先转换为ASCII字符串,直接写数值会报格式错误。解决方案:
vb复制PLC.WriteDevice "D100", CStr(Val(txtSetValue.Text))
5. 安全系统设计
5.1 双重急停保护
-
硬件回路:
- 急停按钮直接切断控制电源
- 安全继电器监控关键输出状态
-
软件保护:
assembly复制; 急停逻辑处理
LD X003 ; 硬件急停信号
OR M10 ; 软件急停标志
OUT M11 ; 总急停状态
ANI M11 ; 互锁所有输出
5.2 运动互锁机制
机械臂动作必须满足严格的条件判断:
assembly复制LD X002 ; 水平到位
ANB Y003 ; 垂直机构停止
AND M8000 ; 系统运行中
ANI M11 ; 无急停
OUT Y004 ; 允许抓取
6. 现场调试与优化
6.1 真空系统调节
通过实验确定的优化参数:
- 真空度:-65kPa(金属球),-45kPa(塑料球)
- 吸附时间:金属球300ms,塑料球500ms
- 破真空时间:统一150ms
经验分享:真空度过高会导致塑料球变形,建议通过调节阀逐步测试不同材质的临界吸附力。
6.2 运动轨迹优化
采用S曲线加减速算法(PLSR指令):
assembly复制PLSV K50000 ; 目标速度500Hz
DDRVI K100000 ; 加减速时间100ms
K200000 ; 总脉冲数
Y002 Y003 ; 脉冲+方向输出
调试发现:加速度设为300mm/s²时振动最小,定位精度可达±0.5mm。
7. 系统扩展与改进方向
当前系统日均处理3000+球体,运行稳定性达99.2%。计划中的改进包括:
-
视觉识别升级:
- 增加工业相机进行多特征检测
- 结合OpenCV实现形状+颜色+材质综合判断
-
数据追溯功能:
- 将生产数据存储到SQL数据库
- 实现批次追溯和质量分析
-
能源优化:
- 增加真空泵间歇运行控制
- 利用伺服电机再生制动能量
这套系统的开发过程让我深刻体会到,好的自动化设计不仅需要扎实的编程功底,更需要对机械特性、电气参数和现场工况的综合把握。特别是在信号处理和运动控制方面,往往需要反复调试才能找到最优参数组合。
