怎么理解编写阀门定时循环切换程序
郑志武
发布于2012-12-27 22:00
253
0
标签:
有张时序图,假如一共有6个阀门,va1-va6。而每个阀门的开断时间都是不一样的,比如在60秒的周期内,va1开40s,关20s;va2关15秒,开45s,并在周期内循环运行。我看程序有时候运用2个定时器,一个定时器t1常开,一个定时器t2常闭,然后串联输出q,有的是并联然后输出q。怎么理解?
图片说明: 1,1 2,2
佳答案
实际你这个可以不用定时器直接用ob35一类的中断里面用计数就可以了,比如你设置了ob35的周期是1s,那么ob35执行一次就是1s。里面用一个变量记录ob35扫描的次数,然后和你的设定时间进行比较就行了。
比如你的这个两个阀门的控制:
astart//点启动按钮后初始化
fponstart
jcn*
srun
l0
truntime
*:nop0
astop//点停止按钮不再运行,设备保存在当前状态,如果如果要停止输出可以加上
rrun//rval1和rval2
arun
jcnend
lruntime//运行时间
l1
+i
truntime
lruntime_sp//周期设定值超过这个时间从新计时
>=i
jcnm1
l0
truntime
m1:nop0
//阀门1控制
lruntime
l40//如果这个常数改成变量可以修改val1的开关时间
<=i
jcnm2
sval1
m2:rval1
//阀门2控制
lruntime
l15//如果这个常数改成变量可以修改val2的开关时间
<=i
jcnm3
rval2
m3:rval2
end:nop0