菜鸟:
各位好,我通过上位机设定屋顶风机的起停温度,例如启动温度值37℃,停止值31℃与实际的温度数据进行比较;比较后连接一个RS触发器控制输出,RS触发器的地址定义为一个临时变量,当实际值高于启动温度时触发器置位,温度降到停止值以下时触发器复位则不输出。
现在我遇到的问题是当实际值大于31℃时RS触发器就会置位,不需要超过*大值37℃;温度小于31℃时马上就复位,造成频繁起停。给我的感觉就是只要复位条件不成立的话就置位,不符合RS触发器的逻辑
请各位指教,RS触发器我是定义的临时变量不可能在其他程序中给它赋值!!!
斑竹:
根本不需要用这个,直接定义一个fb:
in:pv//温度输入信号
out::satart//风机启停信号,为1启动
stat::pv_max//设定*高温度37度
stat:pv_min//设定*低温度31度
L pv
L pv_max
>=R
JCN M1
S start
M1:L pv
L pv_min
<=R
JCN M2
R start
M2:NOP 0
你的程序中调用这个fb块26次就好了。
菜鸟:首先非常感谢你的回答,但是您的这个程序和我说的基本上是一致的,我用的梯形图来编,也用的置位复位指令,就是不知道为什么会出现我说的那种错误,我温度设定值用的是IN,在调用块中赋上位机设定的值,调用这个块26次
斑竹:
那你把你的程序发上来看看再说呀!
游民:
楼主没看到你的程序也不好分析,是否是临时变量造成的,把你那个临时变量的地址定义到静态变量区试试。
菜鸟:多重背景里可以用静态变量吗,**次调用后进行**次调用静态变量值会发生变化么
斑竹:
RS的结果不能用临时变量,因为其结果是要保存至下一个周期,而临时变量不保存