1. 全自动N95口罩机控制系统概述
这套基于汇川AM401/AM403 PLC的控制系统,是我去年在东莞某医疗设备制造商实施的交钥匙项目。整套设备包含23个伺服轴、8个步进电机和12个气动单元,采用CODESYS平台全ST语言开发,程序规模达到惊人的20000步。系统核心在于实现每分钟300片口罩的高速稳定生产,其中包含几个关键技术亮点:
- 多轴同步控制:主从轴采用电子凸轮同步,相位精度控制在±0.1°
- 动态张力调节:放卷机构根据卷径变化实时计算转矩补偿
- 超声波焊接:18kHz换能器配合PID压力控制,焊接时间误差<1ms
- HMI监控:IT7070触摸屏实现设备状态可视化与生产数据分析
调试心得:在高速设备中,机械振动会显著影响控制精度。我们通过在CAM曲线中增加加速度平滑处理,成功将耳带焊接不良率从3%降至0.2%。
2. 核心控制模块实现细节
2.1 电子凸轮同步系统
口罩机的耳带焊接需要主传送带与焊头机构严格同步。我们采用主从轴架构,通过CAM表实现非接触式机械凸轮的效果。以下是关键实现步骤:
- 主轴编码器配置:
st复制// 主轴编码器参数设置
AxisX.Config.Encoder.Resolution := 10000; // 每转脉冲数
AxisX.Config.Encoder.Direction := FORWARD; // 旋转方向
AxisX.Config.PositionUnit := DEGREE; // 位置单位为度
- 凸轮曲线生成:
st复制// 生成正弦曲线CAM表
FOR i:=0 TO 359 BY 1 DO
CamTable[i] := 50 * SIN(2 * PI * i / 360)
+ 2 * SIN(4 * PI * i / 360); // 添加二次谐波抑制振动
END_FOR;
- 从轴附着配置:
st复制CamAttachTable(
Master := AxisX,
Slave := AxisY,
Table := ADR(CamTable),
Offset := 90.0, // 相位偏移90度
Scale := 1.0,
StartMode := SYNCHRONIZED
);
调试技巧:
- 凸轮曲线建议采用5°间隔先做粗调,最后1°间隔精调
- 实际运行前务必设置软限位,避免机械碰撞
- 使用
CamGetActualPosition函数实时监控跟随误差
2.2 超声波焊接控制
焊接质量直接影响口罩气密性,我们开发了多段PID控制算法:
st复制FUNCTION_BLOCK WeldingControl
VAR_INPUT
SetPressure: REAL; // 设定压力(N)
ActualPos: REAL; // 焊头实际位置(mm)
SpeedProfile: ARRAY[0..3] OF REAL; // 速度曲线
END_VAR
VAR_OUTPUT
PWM_Output: REAL; // 0-100%占空比
END_VAR
VAR
PID: PID_3STEP; // 三阶段PID控制
Phase: INT; // 焊接阶段
END_VAR
CASE Phase OF
0: // 快速接近阶段
PWM_Output := 80;
IF ActualPos < 2.0 THEN Phase := 1; END_IF
1: // 压力建立阶段
PID(SetPoint := SetPressure,
Actual := LoadCell_Value,
Kp := 0.8, Ti := 0.1, Td := 0.05);
PWM_Output := PID.Output;
2: // 保压焊接阶段
// 特殊算法处理...
END_CASE;
参数经验值:
| 材料厚度 | 预压时间(ms) | 焊接时间(ms) | 保压时间(ms) |
|---|---|---|---|
| 0.3mm | 50 | 120 | 80 |
| 0.5mm | 80 | 150 | 100 |
3. 张力控制系统实现
3.1 卷径计算算法
采用线速度同步法实时计算卷径:
st复制// 计算公式:当前卷径 = (当前线速度 / 角速度) * 2
CurrentDiameter := (LineSpeed / (ABS(AxisUnwind.ActualVelocity) * PI / 30)) * 2;
// 增加滑动平均滤波
DiameterFilter := DiameterFilter * 0.9 + CurrentDiameter * 0.1;
3.2 转矩动态补偿
根据卷径变化实时调整电机转矩:
st复制TorqueComp := (InitialDiameter^2 / CurrentDiameter^2) * BaseTorque;
TorqueComp := LIMIT(TorqueComp, MinTorque, MaxTorque);
MC_BR_TorqueControl(
Axis := AxisUnwind,
Torque := TorqueComp,
Enable := TRUE
);
常见问题处理:
- 材料打滑:增加张力辊压力或降低加速度
- 卷材蛇行:检查纠偏传感器安装位置
- 断料检测:在放卷处增加光电传感器
4. HMI界面设计与功能实现
4.1 生产监控界面
IT7070触摸屏采用多层级设计:
- 主界面:设备状态概览、急停按钮、产量显示
- 工艺参数:各工位压力、温度、速度设置
- 维护界面:伺服参数、IO测试、保养计时
4.2 数据记录功能
st复制// 班次产量统计
IF ShiftChange THEN
ShiftCount := 0;
ShiftStartTime := CURRENT_TIME;
END_IF
// OEE计算
Availability := (RunTime - DownTime) / RunTime;
Performance := (IdealCycleTime * TotalCount) / RunTime;
Quality := (TotalCount - DefectCount) / TotalCount;
OEE := Availability * Performance * Quality;
界面优化技巧:
- 关键参数使用不同颜色区分状态(正常/警告/故障)
- 频繁操作的按钮放在屏幕下半部分
- 报警信息包含处理建议和关联参数
5. 程序架构设计
5.1 模块化编程结构
采用面向对象思想封装功能块:
code复制PROGRAM MAIN
VAR
AxisCtrl: ARRAY[1..23] OF FB_ServoControl;
Welding: FB_WeldingProcess;
HMI: FB_HMI_Interface;
END_VAR
AxisCtrl[1](
Axis := AxisX,
Mode := MC_HOMING_MODE
);
5.2 报警管理系统
分级报警处理机制:
st复制FUNCTION_BLOCK AlarmManager
VAR
ActiveAlarms: ARRAY[1..50] OF ST_Alarm;
AlarmHistory: ARRAY[1..200] OF ST_Alarm;
END_VAR
METHOD AddAlarm
VAR_INPUT
ID: INT;
Message: STRING;
Level: INT;
END_VAR
// 报警过滤逻辑
IF NOT IsDuplicate(ID) THEN
// 添加到活动报警列表
END_IF
6. 调试与优化经验
6.1 伺服参数整定步骤
- 先调整位置环比例增益,确保无超调
- 再调整速度环参数,抑制振动
- 最后微调前馈参数,提高响应速度
典型参数对照表:
| 轴类型 | 位置增益 | 速度增益 | 积分时间 |
|---|---|---|---|
| 传送带 | 35 | 120 | 20ms |
| 焊头轴 | 50 | 150 | 15ms |
| 放卷轴 | 25 | 80 | 30ms |
6.2 运动平滑处理
在高速切换时采用S曲线加减速:
st复制MC_BR_MoveVelocity(
Axis := AxisX,
Velocity := 1000,
Acceleration := 5000,
Jerk := 20000,
Direction := MC_POSITIVE_DIRECTION
);
实际项目中,通过优化运动曲线将设备循环时间从0.25s缩短到0.2s,提升产能20%。这套系统经过半年生产验证,MTBF达到1500小时,完全满足医疗产品生产要求。
