Rob*_*t S 3 plc structured-text twincat
在 TwinCAT 3 中使用功能块时,我看到可以使用 anaction代替 a 的选项method。我只熟悉方法。两者之间有什么区别,什么时候应该使用其中一种而不是另一种?
我想知道为什么TwinCAT中的FIFO数据结构使用动作而不是方法。
方法允许您声明只能在方法内部使用的变量。这些变量是临时的,在多次调用后不会保留其值。此外,方法可以具有输入和输出变量,这些变量可用于在调用时将数据传递给方法并生成结果。
操作不允许您声明变量或定义输入或输出。但是,您可以访问和修改所属功能块或程序的数据(这也可以在方法中实现)。
所以基本上,方法比操作提供更多的功能。除此之外,两者非常相似。在适用时使用或不使用操作而不是方法有不同的原因。例如,通过使用操作来明确在调用期间不会发生数据传输,或者即使在操作就足够的情况下,也不使用操作而仅使用方法来简化代码结构。
如果我没记错的话,在 TwinCAT 中实施方法之前,动作就已经存在了。这可能是 FIFO 结构使用操作的另一个原因。