MCGS洗车程序 MCGS嵌入版7.7组态仿真程序 全自动洗车机,脚本程序编写 有完整的流程图
"这洗车机PLC程序怎么又卡在喷淋环节了?"凌晨两点的工控车间里,我盯着MCGS嵌入版的仿真界面直挠头。全自动洗车机的脚本调试真是个磨人的小妖精,不过摸清它的运作规律后倒也有趣得紧。
先看这个工作流程图,活脱脱像份洗车服务菜单:
- 车辆到位检测→2. 预喷淋→3. 泡沫覆盖→4. 主刷洗→5. 清水漂洗→6. 风干→7. 结束复位。每个环节都得用脚本精准控制电磁阀和电机,稍有不慎就会变成"洗车事故现场"。
重点说说喷淋环节的脚本实现。MCGS的脚本语法虽然简单,但配合设备通道操作是真香:
Sub 喷淋控制() If 车辆到位=1 Then !SetDevice(喷淋泵,1) '启动水泵 Delay 3000 '预冲洗3秒 For i=1 To 5 '5次间歇喷淋 !SetDevice(侧喷阀,1) Delay 800 !SetDevice(顶喷阀,1) Delay 1200 !SetDevice(侧喷阀,0) !SetDevice(顶喷阀,0) Delay 500 Next End If End Sub这个循环结构用For...Next实现间歇喷淋,Delay单位是毫秒。注意设备操作前要加感叹号,这是MCGS脚本的硬规则。调试时发现喷淋时间要控制在3秒内,否则水压过大容易触发安全保护。
MCGS洗车程序 MCGS嵌入版7.7组态仿真程序 全自动洗车机,脚本程序编写 有完整的流程图
刷洗环节的脚本更有意思,得处理电机正反转:
Sub 滚刷控制() If 泡沫完成=1 Then !SetDevice(滚刷电机正转,1) Delay 4500 While 压力传感器<200 '防止卡死 !SetDevice(滚刷电机反转,1) Delay 300 !SetDevice(滚刷电机反转,0) End While !SetDevice(滚刷电机正转,0) End If End Sub这里用While循环做异常处理,当压力传感器数值异常时自动反转脱困。实际测试时发现反转时间超过500ms会导致刷条缠绕,所以控制在300ms恰到好处。
最后的风干模块有个小技巧——用PWM模拟自然风:
Dim fanSpeed As Integer Sub 风干控制() For fanSpeed=60 To 100 Step 20 !SetDevicePWM(风机,fanSpeed) 'PWM调速 Delay 1500 Next !SetDevice(风机,0) End SubSetDevicePWM函数实现无极调速,从60%到100%分三档增强风力。调试时拿纸巾测试风速,发现这个阶梯式加速方案既省电又能避免突然强风吓到车主。
整个程序调通那天下着小雨,看着仿真界面里虚拟洗车机流畅地完成全套动作,突然觉得这些脚本就像洗车工的手——该轻柔时别太猛,该用力时别犹豫。或许这就是工业自动化的浪漫吧,把机械动作写成诗,让钢铁也能跳华尔兹。