基于 Beckoff站点定义的方法的特点之一是:
方法的所有数据都是临时的,并且仅在方法执行时有效(堆栈变量)。这意味着 TwinCAT 会在每次调用方法时重新初始化您在方法中声明的所有变量和功能块。
有没有办法在 plc 循环中使用方法作为warm start!
这意味着我们在没有重新初始化的情况下使用该方法,并且方法声明变体在我们第一次调用它时只运行一次,其余时间被称为变量保留它们自己的值?
基于 Beckoff站点定义的方法的特点之一是:
方法的所有数据都是临时的,并且仅在方法执行时有效(堆栈变量)。这意味着 TwinCAT 会在每次调用方法时重新初始化您在方法中声明的所有变量和功能块。
有没有办法在 plc 循环中使用方法作为warm start!
这意味着我们在没有重新初始化的情况下使用该方法,并且方法声明变体在我们第一次调用它时只运行一次,其余时间被称为变量保留它们自己的值?
是的,这可以通过VAR_INST
or来实现VAR_STAT
。只需将您的变量声明为VAR_INST/VAR_STAT
,然后它们将在调用之间保留其值。
VAR_INST
意味着它对于方法所在的功能块的每个实例化都是唯一的,同时VAR_STAT
将充当静态/全局(所有实例将指向相同的内存位置)。
https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_plc_intro/2528798091.html&id=
https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_plc_intro/2528787339.html&id=