1. 项目背景与核心需求
去年接手某化工厂原料车间的自动化改造项目时,遇到个典型痛点:每天20多辆原料车的装车作业完全依赖人工配料,不仅效率低下,还频繁出现配比误差。最严重的一次错配直接导致整批产品报废,损失超过50万。这套自动配料装车系统就是在这样的背景下诞生的。
系统核心要解决三个问题:
- 精度控制:多种原料的配比误差需控制在±0.5%以内
- 防错机制:杜绝人工操作导致的原料混装
- 效率提升:单车装料时间从原来的25分钟压缩到8分钟
2. 硬件架构设计
2.1 控制核心选型
对比了三款主流PLC后选择了西门子S7-1200(1215C DC/DC/DC型号),主要考量:
- 自带4路高速计数器(接流量计脉冲信号)
- 支持4个PROFINET设备扩展(实际用到3个:称重模块、触摸屏、条码枪)
- 脉冲输出功能控制变频器(关键参数见下表)
| 型号 | 最大DI/DO | 高速计数器 | 脉冲输出 | 价格 |
|---|---|---|---|---|
| 1215C DC/DC | 14/10 | 4×100kHz | 2×100kHz | ¥4200 |
| 三菱FX5U-32 | 16/16 | 4×200kHz | 3×200kHz | ¥3800 |
| 欧姆龙CP1E | 12/8 | 2×50kHz | 1×50kHz | ¥2900 |
实际测试发现西门子的PROFINET通讯稳定性明显优于其他品牌的同类方案,这对需要实时传输称重数据的关键场景尤为重要
2.2 人机交互方案
TP700 Comfort触摸屏的选型要点:
- 7寸屏幕足够显示配料参数+实时曲线
- 通过PROFINET与PLC直连(响应时间<50ms)
- 开发了双重确认界面:配料单需扫码+人工复核
3. 软件实现关键点
3.1 PLC程序架构
采用模块化编程,核心FB块包括:
structured_text复制// 流量累计计算FB
FUNCTION_BLOCK FB_FlowTotalizer
VAR_INPUT
Pulse : BOOL; // 流量计脉冲信号
K_Factor : REAL; // 仪表系数(pulse/m³)
END_VAR
VAR_OUTPUT
Total : REAL; // 累计流量(m³)
END_VAR
VAR
LastPulse : BOOL;
PulseCount : UDINT;
END_VAR
IF Pulse AND NOT LastPulse THEN
PulseCount := PulseCount + 1;
END_IF;
Total := PulseCount / K_Factor;
LastPulse := Pulse;
3.2 防错逻辑设计
通过三步验证确保装车正确性:
- 车辆RFID识别(读取车载标签)
- 原料条码扫描(核对物料编码)
- 重量交叉校验(当前重量 vs 配方理论值)
4. 调试避坑指南
4.1 流量计信号处理
初期遇到脉冲丢失问题,通过以下措施解决:
- 在DI端口并联104电容滤除毛刺
- PLC程序增加上升沿+下降沿双触发
- 设置500ms的脉冲间隔超时报警
4.2 称重模块校准
发现称重传感器线性度问题后,采用五点校准法:
- 空载零点校准
- 25%量程砝码校准
- 50%量程砝码校准
- 75%量程砝码校准
- 100%量程砝码校准
校准后误差从1.2%降至0.3%,关键代码如下:
structured_text复制// 五点线性校准计算
CALCULATE_SCALE :=
(RAW_VALUE - OFFSET) *
(SPAN4/(WEIGHT4*3) + SPAN2/(WEIGHT2*3) + SPAN1/WEIGHT1) / 3;
5. 实战代码解析
5.1 配料控制主程序
structured_text复制// 配料状态机实现
CASE State OF
0: // 待机状态
IF StartCmd THEN
State := 1;
END_IF;
1: // 原料A添加
RunValveA := TRUE;
IF FlowA >= Recipe.A_Amount THEN
RunValveA := FALSE;
State := 2;
END_IF;
2: // 原料B添加
// ...类似逻辑...
END_CASE;
5.2 触摸屏报警界面
使用WinCC的脚本实现三级报警:
javascript复制function ShowAlarm(level, message) {
var color = (level == 1) ? "red" :
(level == 2) ? "orange" : "yellow";
SetProp("AlarmPanel", "BackColor", color);
SetText("AlarmText", message);
if(level == 1) {
PlaySound("AlarmSiren.wav");
}
}
6. CAD机械设计要点
输送管道布局特别注意:
- 45°斜管段需设置振动器防物料堆积
- 旋转接头处保留3倍管径的直管段
- 气动阀门安装位置要便于手动应急操作
在SolidWorks中通过配置表实现参数化设计:
code复制// 管道参数配置表
DIA LENGTH ANGLE MATERIAL
150mm 3200mm 45° 304SS
200mm 4500mm 30° PP
这套系统实施后,装车效率提升68%,配料准确率达到99.97%。最让我意外的是操作工反馈:"现在晚上值班终于敢打盹了"——这大概就是对自动化最好的肯定。
