当前位置: 首页 > news >正文

上周刚交完学校的毕设小项目——三菱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组态的部分,这个才是跟用户交互的门面,我没搞那种花里胡哨的工业大屏,够用就行,做了三个主要画面:

  1. 首页总控:放了个进度条显示当前流水线走到哪一步了,还有启动/停止/急停的按钮,实时显示料仓的料量百分比,还有运行灯和报警灯的状态,直接跟PLC里的Y2、Y3绑定就行。
  2. 工位详情:放大了装药的实时画面,比如有个模拟的料仓,用滑块显示料量,还有个装药的动画,当Y0触发的时候就会弹出“正在装药”的提示框。
  3. 报警记录:存一下最近的报警,比如缺料、急停这种,方便后期排查问题。

我还加了个小脚本,就是料仓低于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表还有组态源文件都整理好了,需要的小伙伴评论区留个言就行,我有空发网盘链接。整体下来这个小项目其实不算难,就是细节特别多,从接线到调试一步步抠下来就顺了,比对着课本死记硬背有用多了。

http://www.cnnetsun.cn/news/1523112.html

相关文章:

  • 3个关键问题带你掌握ONNX模型优化:从原理到实战落地
  • Joplin+腾讯云COS同步云笔记:从零配置到完美避坑的完整指南
  • macOS开发者必备:JDK安装与配置全攻略
  • 手把手教你用Genspark的AI Copilot功能:从搜索到智能决策的全流程指南
  • Phi-4-Reasoning-Vision商业应用:工业质检图像+文本指令联合推理方案
  • 列式校验加速8.7倍,实时数据质量门禁落地——Polars 2.0 Struct/Enum类型清洗全解析,
  • 麒麟Server部署东方通TongLINK/Q:从零到生产就绪的完整指南
  • 从MySQL到PostgreSQL:一个Java JDBC程序搞定异构数据库迁移(附完整代码与避坑指南)
  • 尺寸智能管理:从被动检验到主动预防的质量革命
  • 如何快速设置Android离线语音键盘:3分钟完整指南
  • ShardingSphere与国产数据库的兼容性实践:问题解析与解决方案
  • Lenovo拯救者15ISK BIOS升级全流程指南(附常见问题排查)
  • leetcode 困难题 1521. 找到最接近目标值的函数值
  • 避坑指南:Wan2.1模型部署常见的7个报错解决方案(含CUDA版本冲突/依赖项缺失/权重下载失败)
  • 掌握Web AR开发:从痛点到实战的AR.js技术指南
  • 高密度PCB贴装实战:如何用模块化治具解决0.3mm间距元件定位难题
  • 【双足机器人(2)】从轨道能量到捕获点:动态步态规划的Python实践
  • 【实践指南】从零上手CompressAI:端到端图像压缩模型部署与效果实测
  • MovieLens数据集深度解析:从数据字段到用户画像的实战指南(附Python代码)
  • 路侧3D检测翻车实录:Rope3D数据集标签里的航向角坑,我是怎么填上的
  • 【算法对抗】打穿查重黑盒!论文降AI太难?8个实测有效策略与高性价比工具
  • 宝塔面板下phpMyAdmin导入大文件报错?三步搞定Incorrect format parameter问题
  • COCO2014数据集下载与使用指南:从镜像加速到实战应用
  • 如何用Python模拟光的多普勒效应?从零开始实现相对论可视化
  • Qt串口通信实战:用QSerialPort从零搭建一个串口调试助手(附完整源码)
  • 当古壁画遇上AI:我是如何用MindSpore 1.8让破损文物重获新生的
  • Postman环境变量进阶玩法:除了Token还能这样用(含URL动态配置技巧)
  • 不止是聊天:我用Python+Flask把企业微信机器人变成了内部工具‘中枢’
  • 别再只会用图形界面了!Windows自带FTP命令行工具,5分钟搞定文件批量上传下载
  • 5分钟搭建视频增强环境:PyTorch-2.x镜像+MMagic指南