1. 项目背景与核心需求
双行星动力搅拌桨混合机是化工、食品、制药等行业中常见的混合设备,其核心特点是采用两组行星式搅拌桨实现三维空间内的物料混合。这种设备对控制系统的要求主要体现在:
- 需要精确控制两组搅拌桨的转速、转向和相位差
- 要求具备配方管理功能以适应不同物料的混合工艺
- 需要实时监控温度、压力等工艺参数
- 设备运行状态需要可视化监控
本项目采用西门子S7-1200 PLC作为主控制器,配合KTP系列触摸屏实现人机交互,使用TIA Portal V14及以上版本进行开发。这种组合方案的优势在于:
- S7-1200 PLC的PROFINET通信能力可以方便连接变频器和IO设备
- 博途平台的标准化编程环境提高了开发效率
- 同一工程内可完成PLC和HMI的协同开发
2. 硬件配置与网络架构
2.1 主要硬件清单
| 设备类型 | 型号 | 数量 | 备注 |
|---|---|---|---|
| PLC控制器 | S7-1214C DC/DC/DC | 1 | 6ES7 214-1AG40-0XB0 |
| HMI面板 | KTP700 Basic | 1 | 6AV2 123-2GB03-0AX0 |
| 变频器 | G120C | 2 | 分别控制两组搅拌桨 |
| 模拟量输入模块 | SM1231 | 1 | 用于温度、压力检测 |
| 数字量输出模块 | SM1222 | 1 | 用于阀门控制 |
2.2 PROFINET网络拓扑
- PLC作为IO控制器,通过PROFINET环网连接以下设备:
- 两台G120C变频器(节点地址3、4)
- KTP700 HMI(节点地址2)
- 远程IO站(节点地址5)
- 网络配置要点:
- 设置100Mbps全双工通信模式
- 启用MRP介质冗余协议
- 配置设备名称与IP地址绑定
注意:实际组网时应先完成设备物理连接,再通过TIA Portal的拓扑视图进行逻辑配置,确保设备名称与硬件标识一致。
3. 软件架构与关键程序实现
3.1 TIA Portal项目结构
code复制Mixer_Project
├── PLC_1 [S7-1200]
│ ├── 程序块
│ │ ├── OB1:主循环组织块
│ │ ├── FB100:搅拌控制功能块
│ │ ├── DB100:配方数据块
│ │ └── FC50:报警处理功能
├── HMI_1 [KTP700]
│ ├── 画面
│ │ ├── 主画面:运行状态监控
│ │ ├── 配方画面:参数设置
│ │ └── 报警画面:历史记录
└── 工艺对象
├── PID_Compact_1:温度控制
└── MotionControl_1:搅拌定位
3.2 搅拌控制功能块(FB100)实现
pascal复制// 输入参数
VAR_INPUT
Start : BOOL; // 启动信号
RecipeNo : INT; // 配方编号
END_VAR
// 输出参数
VAR_OUTPUT
SpeedA : REAL; // A桨实际转速
SpeedB : REAL; // B桨实际转速
END_VAR
// 静态变量
VAR_STAT
PhaseDiff : REAL := 90.0; // 默认相位差
AccelTime : TIME := T#5S; // 加速时间
END_VAR
// 主逻辑
IF Start THEN
// 从配方DB读取参数
"MixerDB".SpeedSetpoint_A := "RecipeDB".Recipe[RecipeNo].SpeedA;
"MixerDB".SpeedSetpoint_B := "RecipeDB".Recipe[RecipeNo].SpeedB;
// 控制变频器启动
"G120C_1".ControlWord.16#047E := 16#047F;
"G120C_2".ControlWord.16#047E := 16#047F;
// 速度斜坡功能
SpeedA := RAMP("MixerDB".SpeedSetpoint_A, AccelTime);
SpeedB := RAMP("MixerDB".SpeedSetpoint_B, AccelTime);
END_IF;
3.3 配方管理实现要点
-
创建UDT数据类型"RecipeType"包含:
- SpeedA (REAL) - A桨转速
- SpeedB (REAL) - B桨转速
- MixTime (TIME) - 混合时间
- TempSetpoint (REAL) - 温度设定值
-
在DB中定义数组存储多个配方:
pascal复制DATA_BLOCK "RecipeDB"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
Recipe : ARRAY[1..10] OF "RecipeType";
END_DATA_BLOCK
- HMI配方视图配置:
- 创建配方视图控件
- 关联到PLC中的RecipeDB数据块
- 设置读写权限和操作按钮
4. 人机界面设计要点
4.1 主画面布局
-
左侧区域:设备状态指示
- 搅拌桨运行状态(运行/停止/故障)
- 当前转速实时曲线
- 温度压力仪表显示
-
中央区域:3D设备示意图
- 动态显示搅拌桨旋转动画
- 物料填充高度指示
-
右侧区域:操作按钮组
- 启动/停止/急停
- 配方选择下拉框
- 手动模式切换
4.2 报警管理实现
-
在PLC中配置报警文本:
- 8001:变频器A通信故障
- 8002:变频器B过载
- 8003:温度超限
-
HMI报警视图配置:
- 设置报警缓冲区大小为50条
- 启用确认功能
- 配置不同级别的颜色显示
-
添加报警声音提示:
javascript复制// 在HMI的全局脚本中添加
function System_Alarm_Activated(alarm)
{
if(alarm.Priority == 3) // 高优先级报警
{
PlaySound("Alarm_High.wav");
}
}
5. 调试与优化经验
5.1 变频器参数优化
-
关键参数设置:
- P1300=20 (速度控制模式)
- P1120=5 (加速时间)
- P1121=5 (减速时间)
- P1082=50 (最大频率限制)
-
调试技巧:
- 先进行电机参数自整定(P1900=2)
- 使用Trace功能记录启动电流曲线
- 逐步调整P增益(P1460)直到响应快速无超调
5.2 相位同步控制
-
实现方法:
- 在OB35(定时中断)中调用"MC_Sync"指令
- 设置同步窗口为±5°
- 使用"MC_ReadActualPosition"读取实际相位
-
常见问题处理:
- 相位抖动大 → 检查机械联轴器间隙
- 同步超时 → 适当增大同步窗口
- 跟随误差大 → 调整变频器速度环参数
5.3 通信故障排查
-
PROFINET诊断步骤:
- 检查物理连接指示灯状态
- 在TIA Portal中查看在线诊断缓冲区
- 使用PRONETA工具扫描网络
-
典型错误处理:
- 设备无法找到 → 检查设备名称分配
- 通信时断时续 → 检查网线质量和交换机配置
- IO数据不更新 → 验证GSD文件版本
6. 项目扩展与升级建议
-
安全功能增强:
- 添加安全继电器实现STO功能
- 配置安全DI模块用于急停回路
- 在TIA Portal中创建F程序块
-
数据追溯功能:
- 添加SQL数据库连接
- 使用Web服务器功能提供远程访问
- 配置数据记录定时存储工艺参数
-
维护便捷性改进:
- 开发设备诊断画面
- 实现参数备份/恢复功能
- 添加维护提醒计时器
在实际项目中,我们发现双行星搅拌机的控制难点主要在于两轴同步和相位保持。通过采用S7-1200的运动控制功能配合G120变频器的闭环矢量控制,最终实现了±1°的相位精度。一个实用的调试技巧是:先单独调试每个轴的速度环,待速度控制稳定后再启用同步功能,这样可以有效隔离问题源。
