恭喜,你发布的帖子
发布于 2022-08-02 08:55:41
6楼
怀疑是在FC142中形参传给FC141形参的缘故导致的,不理解其中的逻辑,希望大神给解答一下,感谢!!!
///////////////////////////////////////////////////////////////////////////////////////////////////
IN---------变量是外部输入的,只能被本程序块读,不能被本程序块写;
OUT-------是本程序块输出的,一个状态结果,其他程序通过引脚只能读值不能写;
IN_OUT--- 输入输出变量 本程序块和其他程序都可以读写这个引脚的值。
TEMP -----临时变量,顾名思义是暂时存储数据的变量。这些临时的数据存储在CPU工作存储区的局部数据堆栈(L堆栈)中。
STAT-------在PLC运行期间始终被存储。S7 将静态变量定义在背景数据块(仅对FB而言,FC和OB无静态变量),当被调用块运行时,能读出或修改静态变量;被调用块结束后,静态变量保留在数据块中。
不是啥都用FB,然后加背景DB ,有的场合比如上面的就是浪费PLC 存储空间。
OUT 是一个逻辑结果,不是一个逻辑条件,light 是个结果,你使用light 的状态去 控制它的结果,在逻辑上是说不通的。
你这里来的light 不是全局变量,而是 FC内部的逻辑结果输出。
这个与我们继电器电路,触点再次互锁线圈是不同原理的。(相当于全局变量)该触点针对你的配电柜是有且唯一存在的,这样就好理解为啥大家让你用INOUT了。
例如你 写三个逻辑到你那个FC110
1. A(
O I0.0
O Q0.0
)
AN I0.1
= Q0.0
2 A(
O I0.2
O Q0.1
)
AN I0.3
= Q0.1
2 A(
O I0.4
O Q0.2
)
AN I0.5
= Q0.2
这个是成立的,因为I/Q 是属于全局变量,哪怕你放在某一个FC/FB 内
但按照你原来的建立的FC110
发现一个停都停。现在应该清楚了吧。
请填写推广理由:
分享
只看
楼主