检测声明为临时变量的功能块实例。这将影响在方法或函数中声明的实例,或作为VAR_TEMP
声明的实例,因此在每个处理周期或每次 POU 调用时都要重新初始化。
理由功能块的状态通常在多个 PLC 周期内保持不变。堆栈上的实例只在函数调用期间存在。因此,将实例创建为临时变量很少有意义。其次,功能块实例通常很大,需要在堆栈上占用大量空间(通常仅限于控制器)。第三,功能块的初始化和调度往往需要很长时间。
重要性:中型
示例
PROGRAM PLC_PRG VAR END_VAR VAR_TEMP yafb: AFB; END_VAR FUNCTION Fun : INT VAR_INPUT END_VAR VAR funafb: AFB; END_VAR METHOD METH : INT VAR_INPUT END_VAR VAR methafb: AFB; // SA0167 END_VAR --> SA0167: Temporary function block instance: 'methafb'