如何在 TwinCAT 中热启动一个方法?
How can warm start a method in TwinCAT?
基于Beckoffsite定义的方法的特点之一是:
All data of a method are temporary and are only valid while the method is executed (stack variables). This means that TwinCAT re-initializes all variables and function blocks, which you have declared in a method, with each call of the method.
有没有办法在plc循环中使用一个方法作为warm start!
这意味着我们使用没有 re_initializing 的方法和方法声明变量 运行 在我们第一次调用它时只使用一次,其余时间被调用的变量保留自己的价值观?
是的,这可以通过 VAR_INST
或 VAR_STAT
实现。
只需将您的变量声明为 VAR_INST/VAR_STAT
,然后它们将在调用之间保留它们的值。
VAR_INST
意味着它对于方法所在的功能块的每个实例都是唯一的,而 VAR_STAT
将充当 static/global (所有实例都将指向相同的内存位置)。
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=