现在在做一个粉磨站项目,立磨主减速机有一个控制要求:共有四台高压泵输出十六路高压,这十六路高压任意四路或者相邻的两路压力低于设定值的时候,要求停机并报警。
停机,报警,和比较设定值我都会做。但是这个十六路中任意四路和这个相邻两路搞的我很迷茫。不知道该怎么做。
我自己想了一个办法,就是在十六路里,任意四路和相邻两路的组合都单独写出来,但这样的话,程序会很长(我只会梯形图,各位大侠见笑啦),不知道有没有更好的方法?
第一次做,没有遇到过这样的情况,关键还是自己对工艺控制不了解,经验不足吧。请各位不吝赐教。要是我的问题太过白痴,也请大家莫喷,给点指导。
问题补充:
CV是什么?计数器是怎么用的啊?不太了解~能不能详细的讲讲?
最佳答案
简单想了下,可以把每一路的报警位整合到一个字中,正好16路,然后利用移位指令,连续2次移出值为1则退出循环并报警,并在16次移位的过程中实时累加移出1的个数,只要=4也可退出循环并报警。当然,使用STL编写会很方便。对了,第1路和第16路也算相邻么?
其实,相邻2路判断还有一个很容易的方法:
假如MW0是你的16路状态位组成的字,MW2是MW0右移1位得到的字,那么:
如果(MW0 AND MW2)>0,则表示有相邻2路报警了。
写成STL如下:
L MW0
SRW 1
T MW2
L MW0
L MW2
AW
T MW4
L MW4
L 0
<>I
= #AlarmBit
提问者对于答案的评价:
最后交给别人做了。不过还是感谢您
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc245133.html