上周刚交完学校的毕设小项目——三菱FX5U+MCGS的药品自动生产线装药工位,折腾了快俩礼拜,终于把坑都踩完了,今天把干货整理出来唠唠
No.1118 三菱PLC和MCGS组态药品自动生产线的装药 我们主要的后发送的产品有带解释的梯形图接线图原理图图纸io分配组态画面首先得明确咱们这个工位是干啥的就是流水线把空瓶送到装药位检测到瓶子到位就自动喷药粉/药液装够量之后送往下一个工位缺料了还要报警基本就是药厂流水线最基础的一环。先从最基础的IO分配说起毕竟接线接错了后面全白搭我整理的分配表都是贴合实际需求的没瞎凑点数输入点对应设备/功能输出点对应设备/功能X0瓶子到位光电开关Y0装药电磁阀X1料仓缺料传感器Y1输送带推进电机X2手动启动按钮Y2红色报警灯X3急停按钮Y3绿色运行指示灯X4封盖到位检测配合整条线的--当然这个是装药工位的核心IO整条线的话还要加别的但今天主要唠装药部分哈。接下来是梯形图我用的GX Works3写的贴一段核心的装药逻辑我尽量用大白话解释别整那些论文式的套话// 自动装药主逻辑 LD X0 // 瓶子碰到光电到位了 AND M0 // M0是自动启动继电器按了启动按钮就激活 OUT Y0 // 触发装药电磁阀 LD X1 // 料仓缺料了 OUT M10 // 触发报警内部继电器 AND Y0 // 要是缺料还在装药的话 OUT Y0 // 直接把装药停了别瞎喷 LD X3 // 急停按钮常闭点 AND M0 // 串在自动回路里 OUT M0 // 急按了就把自动启动给断了其实这段就是最基础的互锁触发逻辑一开始我忘了加料仓缺料的互锁结果料空了还在喷差点把电磁阀烧了后来加了X1串到Y0的回路里才踏实。对了我还加了个3秒的延时定时器T0 K30就是装药不能一直喷装3秒就停不然药量超标了药品不合格。No.1118 三菱PLC和MCGS组态药品自动生产线的装药 我们主要的后发送的产品有带解释的梯形图接线图原理图图纸io分配组态画面然后是MCGS组态的部分这个才是跟用户交互的门面我没搞那种花里胡哨的工业大屏够用就行做了三个主要画面首页总控放了个进度条显示当前流水线走到哪一步了还有启动/停止/急停的按钮实时显示料仓的料量百分比还有运行灯和报警灯的状态直接跟PLC里的Y2、Y3绑定就行。工位详情放大了装药的实时画面比如有个模拟的料仓用滑块显示料量还有个装药的动画当Y0触发的时候就会弹出“正在装药”的提示框。报警记录存一下最近的报警比如缺料、急停这种方便后期排查问题。我还加了个小脚本就是料仓低于10%的时候自动弹报警窗口不用守着灯看代码超简单!Delay(1000) // 延迟1秒再查避免误触发 local var !ReadData(设备1.D0, 0) // 从PLC的D0寄存器读料位计数 IF var 10 THEN !ShowWindow(报警提示) !SetOutput(设备1.Y2, 1) // 点亮报警灯 ENDIF这里的D0寄存器我是提前在PLC里写了计数程序每装一次药就减1料仓满的时候会被光电充到100这样就能实时显示料量了。一开始我连通讯都没搞定老是显示“设备未连接”后来才知道FX5U的RS485口波特率要设成9600数据位8停止位1奇偶校验关掉跟MCGS里的串口配置对上就好了折腾了我一晚上。接线图这块我画的是极简版毕竟是学校实训项目没搞那种工业控制柜就是把PLC的X端接传感器和按钮Y端接电磁阀和电机特别要注意COM端的电压我一开始把输入COM接成了24V正结果所有按钮按了都没反应查了半天才发现是COM端应该接0V血的教训啊。对了我还把所有的图纸、带注释的梯形图、IO表还有组态源文件都整理好了需要的小伙伴评论区留个言就行我有空发网盘链接。整体下来这个小项目其实不算难就是细节特别多从接线到调试一步步抠下来就顺了比对着课本死记硬背有用多了。