1. 项目背景与需求分析
去年夏天接手了本地一家金属加工厂的剪板机自动化改造项目。这家工厂原先采用纯人工操作剪板机,不仅效率低下(平均每小时只能完成15-20次剪切),还存在严重的安全隐患。厂方提出的核心需求很明确:
- 实现自动送料、定位和剪切的全流程控制
- 每完成30次剪切自动停机润滑保养
- 实时监控油压、位置等关键参数
- 生成生产报表和报警记录
经过现场考察,最终确定采用组态王6.55作为上位机监控系统,搭配三菱FX5U PLC组成控制核心。这个方案的优势在于:
- 组态王的图形化界面便于操作人员快速上手
- FX5U支持结构化文本编程,逻辑实现更灵活
- 两者都支持标准通讯协议,集成难度较低
2. 硬件架构设计
2.1 设备选型与连接
整套系统硬件组成如下:
- 上位机:工业触控电脑(i5-8250U/8GB)
- PLC:三菱FX5U-32MT/ES(16DI/16DO)
- 通讯模块:FX5-232ADP(RS232转以太网)
- 传感器:欧姆龙E3Z光电开关(送料检测)
- 执行器:SMC气动元件(送料机构)
关键连接方式:
plaintext复制[工控机] --(网线)--> [交换机] --(网线)--> [FX5-232ADP] --(RS232)--> [FX5U]
2.2 IO分配策略
在CAD图纸(图号BJ-2024-06)中,我们用不同颜色标注了关键信号点:
- 红色:安全信号(急停、光栅)
- 蓝色:检测信号(料位、位置)
- 绿色:执行信号(气缸、电机)
具体点位对应关系:
| PLC地址 | 设备信号 | 注释 |
|---|---|---|
| X0 | 急停按钮 | NC常闭触点 |
| X6 | 送料到位 | 欧姆龙E3Z |
| Y14 | 液压阀控制 | SMC VQC2000 |
| D200 | 剪切计数器 | 32位整数 |
3. 通讯配置详解
3.1 组态王驱动配置
虽然使用网线物理连接,但实际走的是串口协议。这是因为FX5-232ADP模块实现了协议转换。关键配置步骤如下:
- 在组态王设备管理中新建MELSEC-FX驱动
- 端口类型选择"TCP/IP"
- 设备地址填写PLC实际IP(如192.168.3.11:3000)
- 参数设置:
vb复制Device.Add "FX5U_1", "MELSEC_FX", "COM3"
Device.SetParameter "FX5U_1", "BaudRate", "9600"
Device.SetParameter "FX5U_1", "DataBits", "7"
Device.SetParameter "FX5U_1", "Parity", "1"
调试技巧:先用串口助手测试通讯,发送ASCII格式的00FF测试命令,收到响应后再在组态王中配置。
3.2 常见通讯问题排查
我们遇到过以下典型问题:
- 通讯超时:检查防火墙是否屏蔽了3000端口
- 数据错乱:确认DataBits和Parity与PLC侧一致
- 连接闪断:在设备属性中勾选"异步读取"选项
4. 核心功能实现
4.1 自动送料逻辑
PLC结构化文本程序实现:
st复制// 送料控制逻辑
IF Di_SheetInPlace THEN
Ton_FeedTimer(IN:=TRUE, PT:=T#5S);
IF Ton_FeedTimer.Q THEN
Y_FeedMotor := TRUE;
END_IF;
ELSE
Y_FeedMotor := FALSE;
END_IF;
4.2 30次停机保养
组态王脚本实现计数功能:
vb复制If ReadTag("CutCounter") >= 30 Then
WriteTag "AutoStopFlag", 1
AlarmLog "达到保养次数", 2
// 触发润滑程序
RunMacro "Lubrication"
End If
4.3 报警曲线优化
通过以下参数调整使曲线显示更流畅:
- 采样周期:500ms → 200ms
- 显示点数:300 → 500
- 启用"平滑绘制"选项
5. 人机界面设计
5.1 主监控画面
包含以下关键元素:
- 设备状态区:实时显示各执行机构状态
- 趋势图区:油压和位置曲线并列显示
- 计数面板:当前批次/总产量统计
- 操作按钮:含权限分级控制
5.2 报表系统设计
采用SQLite+CSV双存储方案:
sql复制-- 日报表结构
CREATE TABLE daily_report (
date TEXT PRIMARY KEY,
total_count INTEGER,
avg_cycle REAL,
alarm_times INTEGER
);
6. 调试中的坑与经验
6.1 计数器异常问题
现象:总是在第29次就触发报警
原因:组态王和PLC都对计数器进行了复位操作
解决方案:改用PLC单边控制计数器,组态王只做显示
6.2 画面卡顿优化
- 将实时数据刷新与画面渲染分离
- 复杂图形采用缓存机制
- 趋势图启用"按需渲染"模式
6.3 现场干扰处理
- 所有信号线改用双绞屏蔽线
- 模拟量信号加装信号隔离器
- PLC接地单独引至接地桩
7. 项目成果
实施后关键指标对比:
| 指标 | 改造前 | 改造后 |
|---|---|---|
| 效率 | 15次/h | 45次/h |
| 不良率 | 3.2% | 0.8% |
| 人力需求 | 2人 | 0.5人 |
这套系统目前已经稳定运行8个月,期间经历过几次小优化:
- 增加远程诊断功能
- 优化润滑周期算法
- 报表导出增加Excel模板
对于想尝试类似项目的朋友,我的建议是:
- 一定要先做好信号干扰防护
- 关键计数器最好由PLC单独控制
- 组态王的趋势图要提前做压力测试
