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

来聊聊用西门子1200玩转液体混合控制的骚操作。这个项目最带劲的地方在于用仿真系统就能模拟真实产线的全套流程,省了买设备的钱还能随便折腾

液体混合装置plc控制系统 西门子1200仿真系统 采用博途V15编写,全自动仿真完成。 宝贝包含程序和画面。 实现要求:液体混合装置控制系统,由液面传感器SL1、SL2、SL3,液体A、B、C阀门与混合液阀门(电磁阀YV1、YV2、YV3、YV4),搅匀电机M,加热器H,温度传感器T组成。 实现三种液体的混合,搅匀,加热等功能。 打开“启动”开关,装置投入运行时。 首先液体A、B、C阀门关闭,混合液阀门打开10秒将容器放空后关闭。 然后液体A阀门打开,液体A流入容器。 当液面到达SL3时,SL3接通,关闭液体A阀门,打开液体B阀门。 液面到达SL2时,关闭液体B阀门,打开液体C阀门。 液面到达SL1时,关闭液体C阀门。 搅匀电机开始搅匀、加热器开始加热。 当混合液体在6秒内达到设定温度,加热器停止加热,搅匀电机工作6秒后停止搅动;当混合液体加热6秒后还没有达到设定温度,加热器继续加热,当混合液达到设定的温度时,加热器停止加热,搅匀电机停止工作。 搅匀结束以后,混合液体阀门打开,开始放出混合液体。 当液面下降到SL3时,SL3由接通变为断开,再过2秒后,容器放空,混合液阀门关闭,开始下一周期。 关闭“启动”开关,在当前的混合液处理完毕后,停止操作。

在博途V15里搭框架时,先给IO口打标签是基操。比如液位传感器SL1~SL3直接绑定到I0.0~I0.2,几个电磁阀用Q0.0~Q0.3输出。这里有个坑要注意:电磁阀要加互锁,防止多个阀门同时开导致液体乱窜。

核心逻辑用梯形图撸出来看着最直观。比如初始化阶段这段:

| M0.0(启动信号) T37(10秒定时) |----| |----------------(TON)- | T37.DN |----| |----------------(MOV 0, QB0)

这段的意思是按下启动后先跑10秒排空残留液体,时间到立即关闭所有阀门(QB0清零)。这里用了TON定时器,注意预设值要设成10000ms才准确。

装液阶段的跳转条件处理是个重点。用比较指令配液位高度特别方便:

IF #液位高度 >= SL3 THEN #阀门A := 0; #阀门B := 1; END_IF;

这种结构化文本写法比梯形图更灵活,特别是处理连续量的时候。不过记得在OB1里加个Cyclic中断,保证检测实时性。

加热搅拌部分的逻辑最烧脑。这里用了个复合条件判断:

| T38(温度达标计时) T39(保底6秒) |----|/|-----| |--------(SET_M) | T40(搅拌计时) |----| |----------------(TON)-

这组电路实现了:温度达标立即停止加热,否则硬等6秒。同时搅拌机不管温度是否达标都要转够6秒。用两个定时器嵌套解决了条件竞争问题。

放料阶段的处理有个细节骚操作——用下降沿触发延时:

CALL "检测下降沿" ( CLK := #SL3信号, Q => #下降沿标志); IF #下降沿标志 THEN TON("PT" := T#2S); END_IF;

这个自编的边沿检测函数比系统自带的更省资源,特别适合在循环里反复调用。等2秒放空的设定有效避免了残液滞留。

HMI画面上做了个动态液位显示,直接关联PLC的液位计算值:

<矩形填充> <连接变量>%DB4.DBD12</连接变量> <填充颜色>梯度渐变</填充颜色> </矩形填充>

这种绑定方式让液位变化肉眼可见,调试时直接看画面就能知道程序跑到哪步了。实测时把各步骤的触发条件做成闪烁提示,排错效率直接翻倍。

整个项目最爽的是在PLCSIM Advanced里做闭环测试,直接模拟传感器信号反馈。比如手动修改DB块里的温度数值,立马能看到加热器的响应状态。这种虚拟调试比真实设备快得多,特别是测试异常工况时,直接改个数值就能触发保护逻辑。

最后留个彩蛋:在OB100初始化块里藏了个摩尔斯电码的彩蛋,设备连续重启三次会进入演示模式。虽然实际项目用不上,但甲方验收时秀这个彩蛋,能加分不少(别问我是怎么知道的)...

http://www.jsqmd.com/news/183241/

相关文章:

  • MongoDB保存非结构化元数据如动作参数配置
  • 【开题答辩全过程】以 高校日常日常教学管理系统为例,包含答辩的问题和答案
  • 【开题答辩全过程】以 基于uni-app框架的智慧迎新系统为例,包含答辩的问题和答案
  • SEO优化标题这样写:吸引更多开发者关注Sonic数字人
  • 边缘计算环境中基于启发式算法的深度神经网络卸载策略附Matlab代码
  • 政务数字人落地实践:基于Sonic模型的智能播报系统构建
  • 再见 Pip!Python 包管理神器 uv 上手指南:用 Rust 重写的安装速度快到离谱
  • 【开题答辩全过程】以 基于Python的学生选课系统设计与实现为例,包含答辩的问题和答案
  • CH340/CP2102/FT232常见芯片驱动下载对照表及识别方法
  • 本地知识库:数据安全时代的智能文件管家
  • 不同的多电平变换器拓扑在电池储能应用中的应用附Simulink仿真
  • 利用Jupyter快速启动VoxCPM-1.5-TTS-WEB-UI详解
  • MyBatis-Plus 分页插件失效?深扒 PageHelper 与 MP 冲突的底层源码,教你避开“假分页”陷阱
  • 【开题答辩全过程】以 基于python的阳泉房产推荐系统为例,包含答辩的问题和答案
  • DeepSeek 部署报错 “Connection refused“?Ollama 本地服务连接失败的 3 种终极解决方案
  • 采用SRF算法的分流有源滤波器【并联有源滤波器的仿真电路可降低谐波和无功功率】附Simulink仿真
  • 实用指南:AI RAG 向量数据库深度对比
  • 168_尚硅谷_二维数组介绍和入门
  • Sonic数字人四川话模拟可行性分析:地域化应用新方向
  • Node.js console.time轻松测函数耗时
  • VoxCPM-1.5-TTS-WEB-UI语音合成支持服务注册与发现机制
  • Mathtype授权一台机?我们的服务支持多实例运行
  • HTML表单提交数据?现在用API调用生成语音
  • 导师严选10个AI论文写作软件,助本科生轻松搞定毕业论文!
  • 军事模拟系统:指挥官训练中使用VoxCPM-1.5-TTS-WEB-UI生成敌情通报
  • 达姆施塔特工业大学发现:专家混合模型AI安全机制存在脆弱性
  • LabVIEW与VisionPro联调实战:工业视觉那些不能跳过的坑
  • uniapp+ssm中学生社团管理系统小程序
  • uniapp+ssm中学生社团管理系统小程序
  • 中科大联手字节跳动:用涂鸦就能编辑图片的神奇AI工具诞生了