FB对应数据块DB的使用
刘玉蓉
发布于2014-10-17 16:52
14
0
标签:
FB的管脚类型有IN,OUT,IN_OUT,而且在FB对应的DB块中有对应IN,OUT,IN_OUT的存储空间,比如在FB的定义程序中,RN(应答)为IN类型,对应的地址为1.7,DB126是FB对应的数据块,我使用DB126.DBX1.7的常开点连接另外一个FB的In输入管脚,这种用法是否稳妥呢,还是需要将RN(应答)更换为IN_OUT类型呢?
网上搜索了一些关于IN,IN_OUT,OUT分析的帖子,还是没搞懂?
请高手指点一下,IN,OUT,IN_OUT.
图片说明: 1,FB截图1 2,FB截图2
佳答案
对功能块FB来说,IN、OUT、IN_OUT都是局部变量声明表中的参数,它们是逻辑块的接口,可在调用块(如OB)和被调用块(如这里FB1)间传递数据,如其中参数IN是FB1中需要的输入信号,必须由调用FB1的其他逻辑快提供具体的信号来源(即实际参数),即需要外部输入信号(只读性参数);OUT为FB中执行完成的结果输出,它可以返回给调用该逻辑块的其他逻辑块,结果输出的位置即实际参数由调用该逻辑块的其他块提供(只写型参数);IN_OUT兼有IN和OUT的特性,变量的初值由调用该逻辑块的其他逻辑块提供,但是在执行过程中,其状态将被逻辑块所修改,修改后的结果仍然返回个调用该逻辑快的其他逻辑块(既有读访问,又有写访问的形式参数)。
从以上分析可以看出,参数IN是需要外部输入的信号,它是确定的;而IN_OUT首先由外部提供信号,经过FB所修改后再返回,即它是程序执行后的结果(经过PLC的输出刷新),正是你的另外一个FB需要的PLC处理后的输入信号。因此从这个意义上讲应该将RN(应答)更换为IN_OUT类型