1. 项目背景与核心需求
去年接手了一个社区智能洗车房改造项目,业主方要求实现全自动化洗车流程。经过多方对比,最终选择了西门子S7-1200 PLC作为主控制器,配合KTP700 Basic触摸屏搭建整套控制系统。这个方案最大的优势在于TIA Portal平台的集成化开发环境,从硬件组态到HMI设计都能在一个软件里完成。
整个系统需要实现六个标准洗车工序:
- 车辆定位检测(通过光电传感器)
- 高压预冲洗(包含泡沫喷洒)
- 旋转刷洗(侧刷+顶刷联动)
- 清水漂洗
- 风刀干燥
- 完成提示
特别需要注意的是,各工序间必须实现严格的互锁保护。比如刷洗机构未完全收回时,绝对不能启动车辆移动;风干系统工作时,喷水阀门必须确保完全关闭。这些安全逻辑都需要在PLC程序中完整实现。
2. 硬件系统设计
2.1 电气原理图设计
使用TIA Portal的电路图功能绘制的主控制回路包含:
- 主电源进线(三相380V+PE)
- 断路器保护(主回路3P 32A,控制回路1P 10A)
- 接触器组(控制水泵、风机等大功率设备)
- 中间继电器(扩展PLC输出点容量)
传感器部分采用24V DC供电,包括:
- E3Z-D61光电开关(车辆检测)
- SICK WT12-2P2431液位传感器
- 欧姆龙EE-SX671限位开关
关键经验:所有电磁阀线圈必须并联续流二极管,我们曾因反向电动势损坏过三个输出点。建议选用1N4007二极管,安装时注意极性。
2.2 PLC模块选型
主控制器配置:
- 6ES7 214-1AG40-0XB0 CPU1214C
- 6ES7 223-1BL30-0XB0 SM1223 16DI/16DO
- 6ES7 231-4HD32-0XB0 SM1231 4AI
扩展考虑:预留了1个信号模块插槽,为后续增加刷卡支付功能做准备。实际DI点使用了14个,DO点用了12个,模拟量输入用了2路(水压检测和泡沫浓度检测)。
3. 控制程序开发
3.1 工艺流程图设计
采用GRAPH编程语言实现顺序控制,定义七个主要步骤:
GRAPH复制// 步序定义
STEP1: 待机状态 [初始步]
TRANSITION1: 车辆到位信号
STEP2: 预冲洗阶段
TRANSITION2: 定时器T1(60s)
STEP3: 刷洗阶段
...
每个步骤都关联了对应的输出动作和转移条件。使用S7-Graph的最大好处是调试时可以直接监控当前激活的步序,比传统梯形图更直观。
3.2 关键功能块实现
- 急停处理FB
SCL复制FUNCTION_BLOCK "EmergencyStop"
VAR_INPUT
Estop_Signal : Bool;
Motor_Status : Bool;
END_VAR
VAR_OUTPUT
Safe_Stop : Bool;
END_VAR
BEGIN
Safe_Stop := Estop_Signal OR NOT Motor_Status;
END_FUNCTION_BLOCK
- 水泵软启动FC
LAD复制Network1: 软启动控制
TON_SoftStart(IN:=Start_Cmd, PT:=T#5S);
MOV(IN:=TON_SoftStart.Q * 27648, OUT:=PQW256);
- 故障报警处理
建立了包含16个报警位的报警字,通过触摸屏显示具体故障描述。每个报警都关联了时间戳记录,方便后期排查。
4. HMI界面开发
4.1 主操作界面设计
采用分层式菜单结构:
- 一级界面:运行状态总览(含急停按钮)
- 二级界面:手动操作面板(调试用)
- 三级界面:参数设置(密码保护)
重点优化了以下元素:
- 流程动画:用矢量图形模拟刷洗机构运动
- 实时趋势图:显示水压和泡沫浓度变化
- 故障历史记录:支持按日期筛选
4.2 仿真测试技巧
在TIA Portal中建立PLCSIM Advanced仿真实例时,发现几个实用技巧:
- 将HMI变量表导出为CSV,用Excel批量修改测试值
- 使用强制表模拟传感器故障
- 通过Trace功能记录IO变化,分析时序问题
实测发现:触摸屏响应时间在200ms左右,复杂画面切换可能达到500ms。在设计动画时要考虑这个延迟,避免出现动作不同步的情况。
5. 现场调试要点
5.1 传感器校准
-
光电开关:调整检测距离时,要用实际车辆反复测试。我们发现浅色车身的反射率差异会导致检测不稳定,最终将检测距离设定为标称值的80%。
-
液位传感器:需要做空桶/满桶两点校准。注意安装位置要避开进水口湍流区域。
5.2 执行机构调试
刷洗电机采用了变频控制,参数设置要点:
- 加速时间:5秒(防止皮带打滑)
- 运行频率:35Hz(实测最佳清洁效果)
- 制动方式:直流制动(停止时间2秒)
水泵控制特别注意:
- 每次停止后要执行5秒泄压程序
- 冬季需增加防冻排空功能
6. 典型问题解决方案
6.1 干扰问题处理
遇到过的奇怪现象:每天上午10点左右会出现随机误动作。最终发现是附近商铺的微波炉干扰。解决方案:
- 所有信号线换用双绞屏蔽电缆
- 模拟量信号加装信号隔离器
- PLC接地单独引至接地桩
6.2 程序优化案例
原设计的刷洗流程是固定时长控制,实际使用发现不同车型清洁效果差异大。改进方案:
- 增加清洁度检测(通过摄像头+图像处理)
- 实现自适应刷洗时长控制
- 设置最小/最大时间限制(30s-120s)
7. 系统扩展方向
当前系统已稳定运行8个月,正在规划二期升级:
- 增加移动端状态监控(通过OPC UA)
- 集成车牌识别自动扣费
- 开发预测性维护功能(通过振动传感器数据分析)
这个项目给我的最大启示是:自动化系统设计必须考虑实际使用场景的复杂性。我们前后修改了11版程序才达到理想效果,但正是这些细节打磨造就了可靠的系统。