请高手帮忙详细解析FB,FC中interface里面的IN_OUT这个的使用,我查阅了好多资料,都是只言片语的,没有详细的使用介绍。希望高手帮忙解析。
最好能够举例子说明,谢谢了
问题补充:
阿鸣你好,我看了你给我的答复。依旧不是很清晰对IN_OUT的用法,正如你所说,我在FB中或者FC中使用上升沿和下降沿的时候不一定要对参数定义啊,我可以通过使用M存储器来实现上升、下降沿的检测啊。是不是IN_OUT跟STAT可以通用啊,还希望阿鸣能够再帮忙解释一下,谢谢。
最佳答案
1、FB,FC中interface里面的IN_OUT这个的使用?
输入/输出参数IN_OUT理解起来要简单化,顾名思义,这个变量既能作为输入也能作为输出。IN_OUT 输入输出变量: 本程序块和其他程序都可以读写这个引脚的值.。
2、举例子说明:
转帖:
A、在FC中定义SR触发器时候,SR触发器上端应该定义为out,还是inout,还是in,还是定义为temp?
在FC或者FB中,我拿起保停电路来说,其输出则定义为OUT,不用定义为IN-OUT,为什么?但是如果我用FC105写模拟量采集程序,然后比较做报警,我分了两个network为什么FC105输出的结果,在下一个网络中用,这个结果必须定义为IN-OUT;
B、大家能帮忙说些常用的容易出错的定义么?像上升沿下降沿这样的?
答:IN 变量是外部输入的,只能被本程序块读,不能被本程序块写;
OUT 是本程序块输出的,他可以被本程序块读写,其他程序通过引脚只能读值不能写;
IN_OUT 输入输出变量 :本程序块和其他程序都可以读写这个引脚的值。
TEMP 临时变量是一种在块执行时,用来暂时存储数据的变量,这些数据存储在CPU工作存储区的局部数据堆栈(L堆栈)中。临时变量可以在组织快OB、功能FC和功能块FB中使用,当块执行时它们被用来临时存储数据,一旦块执行介绍,堆栈重新分配,临时变量中的数据将丢失。
上面的定义你先理解清楚下!
<1>、可以定义为temp,但是必须是位,在引用之前也必须遵循先赋值后引用。
也可以定义为in, out in_out变量,但是跟你触发引用这个变量有关系。如果你触发这个位在下端程序还要引用,就定义为in_out变量,根据上面的定义来理解。
<2>、这个结果必须定义为in_out 变量
<3>、对于L堆栈下列用法都是错误的:
《1》、将临时变量用于上升/下降沿指令
《2》、将临时变量用于自保持逻辑
《3》、临时变量未在所在程序段中赋值,直接使用。
因此,像上升沿下降沿这样的变量必须定义为in_out变量,原因是本程序块和其他程序都可以读写这个引脚的值。
提问者对于答案的评价:
谢谢阿鸣及各位朋友的答案。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc248857.html