西门子plc s7-200写的先进先出范例 用fifo

本人最近写了一个五台锅炉共用一个冷却水泵的程序,开始打算用时间戳来记录每台锅炉需要冷却的时间,然后用时间进行排序,但是后来无意中发现fifo可以实现表的先进先出的功能,就抱着学习的目的,用fifo写了本程序。

第一步,先要建立一个表如下图,上电初始化建立一个具有5个值的表,从VW200开始,VW200存放的是表的容量,VW202仿的是当表内的实际个数,然后给vw100-vw108(每台锅炉在表里的id)赋值。


第二部,5个i口作为5台锅炉发来的请求冷却信号,这5个信号必须用上升沿P或者下降沿N来触发


第三步,当表内有数据,且水泵处于休眠状态下,执行先进先出程序,vw300就是目前出去的值(锅炉序号)



第四步,检测当前的先进先出执行到哪台锅炉,对应锅炉就执行输出,这里的q0.1-q0.5就是5台锅炉,vw202和vw300只是方便测试用的,可以删除,m0.1-m0.5都是是同一个水泵的工作信号,为了防止双线圈,才命名不一样



第五步,双线圈的解决办法,q1.0就是水泵电机



fifo这个函数在很多地方都可以用到,排队程序在工业自动化中占比也算大的,但是网络上都找不到详细的说明,希望我这个教程能帮助到大家,给个回复就算谢谢了。日行一善!


  • 41
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值