我有一个设备,有6个%ignore_a_1%,从第1个阀门开始,每隔2分钟依次按顺序开启阀门,用的s7 200 smart,自己做的程序感觉有点复杂,有没有哪位大神有比较简单的方法,或者提供思路也行。
最佳答案
先做一个2分钟的时基脉冲,如果要求不高可以用定时器做,如果要求比较高,可以调用定时中断,然后在中断所连接的子程序中累加计算2分钟的脉冲。
再做一个循环移位指令,因为你仅仅需要移动6位,所以,一个字节的循环移位足够了。
启动这个字节的地位,同时启动定时器(定时中断),并将输出置位(保持输出),这样当2分钟时间到达,移位后,最低位由于自保保持状态,而移位能够触发高的那一位,如何循环,当第6位2分钟时间到,复位所有的输出,待下一个循环,不知道我这样的描述你是否能够看懂。
提问者对于答案的评价:
能不能做一个简单的样板程序,因为我从来没有用这种方法做过,知道有这么一种办法,但是无法自己做出来,注:阀门依次开启,下一个开启后,前面的阀门要关掉。
最佳答案作者回复:
写了2个,你转换为LAD后,按此方式继续写。
LD I0.0 //开始条件
A SM0.4 //1分钟脉冲
EU
INCB VB0 //1分钟累加
/////////////////////////////////////////////////////
LD I0.0
LPS
AB= VB0, 2
MOVB 1, QB0
LPP
AB= VB0, 4
MOVB 2, QB0
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc283302.html