1. 项目概述
最近在工业自动化领域,物流分拣系统的智能化改造是个热门话题。我花了三个月时间,基于三菱PLC和组态王(Kingview)开发了一套完整的物流货物分拣控制系统。这个系统不仅实现了传统分拣功能,还通过数据可视化大大提升了操作便利性。
这套系统的核心价值在于:
- 采用三菱Q系列PLC作为控制核心,稳定性远超普通单片机方案
- 组态王人机界面实现了分拣数据的实时监控和历史追溯
- 通过光电传感器和编码器实现了毫米级定位精度
- 整套系统成本控制在5万元以内,性价比极高
2. 系统架构设计
2.1 硬件组成
整个系统采用模块化设计,主要硬件包括:
| 模块 | 型号 | 功能 |
|---|---|---|
| PLC主机 | 三菱Q03UDE | 系统控制核心 |
| 输入模块 | QX40 | 32点数字量输入 |
| 输出模块 | QY10 | 16点继电器输出 |
| 伺服驱动器 | MR-J4-10A | 控制分拣机械手 |
| 光电传感器 | E3Z-T61 | 货物检测 |
| 编码器 | E6B2-CWZ6C | 传送带位置反馈 |
提示:选择Q系列PLC是因为其强大的运动控制功能,特别适合需要精确定位的分拣场景。
2.2 软件架构
软件部分采用分层设计:
- 底层控制层:使用GX Works2编写PLC程序
- 数据采集层:组态王通过MX Component与PLC通信
- 人机交互层:组态王开发的监控界面
- 数据存储层:SQLite数据库记录分拣数据
3. PLC程序设计
3.1 主程序流程
在GX Works2中,程序采用结构化编程方式:
st复制// 主程序示例
IF M8000 THEN // 运行标志
// 初始化处理
CALL P_Initial
// 主循环
WHILE TRUE DO
CALL P_SensorScan // 传感器扫描
CALL P_ConveyorCtrl // 传送带控制
CALL P_SortingLogic // 分拣逻辑
CALL P_AlarmHandle // 报警处理
END_WHILE
END_IF
3.2 关键功能实现
1. 编码器位置计算
采用高速计数器C235记录编码器脉冲,通过以下公式计算当前位置:
code复制实际位置(mm) = (当前计数值 × 编码器分辨率) / 传动比
在程序中实现为:
st复制// 位置计算示例
D100 := C235 * K100 / K200; // D100存储当前位置
2. 分拣控制算法
采用模糊PID控制算法,参数设置:
| 参数 | 值 | 说明 |
|---|---|---|
| Kp | 0.8 | 比例系数 |
| Ki | 0.05 | 积分系数 |
| Kd | 0.2 | 微分系数 |
4. 组态王界面开发
4.1 通信配置
通过MX Component建立连接:
- 在组态王中新建设备
- 选择"三菱Q系列以太网"驱动
- 设置PLC IP地址和端口号(默认5002)
注意:需要先在GX Works2中启用PLC的以太网通信功能
4.2 主要监控画面
-
主监控画面:
- 传送带运行状态动画
- 分拣机械手位置显示
- 实时产量统计
-
参数设置画面:
- 分拣速度设置
- 目标位置设定
- 报警阈值调整
-
数据记录画面:
- 分拣记录查询
- 产量统计报表
- 异常记录分析
4.3 脚本应用
使用组态王脚本实现高级功能:
vb复制' 示例:自动生成分拣报表
Sub Report_Generate()
Dim sql As String
sql = "SELECT * FROM SortingData WHERE Date='" & Format(Date,"yyyy-mm-dd") & "'"
Set rs = DB_Query(sql)
' 生成Excel报表
Call Excel_Export(rs, "D:\Report\" & Format(Date,"yyyymmdd") & ".xlsx")
End Sub
5. 系统调试与优化
5.1 调试步骤
-
单机测试:
- 验证各传感器信号
- 测试电机点动功能
- 检查急停回路
-
联动测试:
- 传送带速度校准
- 分拣位置标定
- 多设备协同测试
-
负载测试:
- 连续运行8小时稳定性测试
- 最大负载能力测试
- 异常情况模拟
5.2 常见问题解决
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 编码器计数不准 | 信号干扰 | 改用屏蔽电缆,加磁环 |
| 组态王通信中断 | IP冲突 | 设置固定IP,关闭防火墙 |
| 分拣位置偏差 | 机械松动 | 检查联轴器,重新校准零点 |
| PLC程序跑飞 | 扫描周期过长 | 优化程序结构,减少嵌套 |
6. 系统特色功能
6.1 智能分拣策略
根据货物尺寸和重量自动调整分拣参数:
- 轻小物品:高速模式(1.5m/s)
- 重型物品:低速模式(0.8m/s)
- 易碎品:柔和模式(特殊夹持力控制)
6.2 远程监控
通过组态王Web功能实现:
- 配置Web服务器端口
- 设置访问权限
- 开发移动端适配界面
6.3 数据追溯
采用双重数据存储:
- PLC内部保持最近1000条记录
- 组态王数据库存储完整历史数据
查询效率优化方案:
- 建立日期索引
- 采用分表存储
- 实现模糊查询
7. 项目心得
在实际开发中,有几个关键点值得注意:
-
信号处理:光电传感器信号建议增加10ms的软件滤波,避免误触发
-
运动控制:伺服电机加减速时间设置很关键,建议:
- 加速时间:100-300ms
- 减速时间:150-350ms
-
数据同步:PLC和组态王的数据交换建议采用块读写方式,效率比单点读写提升5倍以上
-
异常处理:所有关键动作都应设置超时检测,典型值:
- 气缸动作:2s超时
- 电机到位:3s超时
- 通信响应:1s超时
这套系统目前已在本地物流中心稳定运行6个月,日均处理包裹超过5000件,分拣准确率达到99.97%。后续计划增加AI视觉识别功能,进一步提升系统的智能化水平。
