.

使用任务-本地变量

.
.

任务-本地变量是循环一致的。在任务周期中,它们仅由已定义的任务编写,而所有其他任务均具有只读访问权限。这是考虑到任务可以被其他任务中断或可以同时运行。如果应用程序运行在具有多核处理器的系统上,则循环一致性也同样适用。

因此,当多个任务在处理相同的变量时,使用任务本地全局变量列表是自动实现同步(由编译器实现)的一种方法。使用普通 GVL 时就不是这种情况了。一个循环中,多个任务可以同时写入普通GVL变量。

但是必须注意:任务-本地变量的同步需要相对大量的时间和内存,且并非始终是每个应用程序的最佳解决方案。 因此,请参阅下面的详细技术信息和最佳实践指南,以帮助您做出正确的决定。

在 CODESYS 工程中, 变量列表(任务-本地)对象可用于定义任务本地变量。从句法上讲,它对应普通的 GVL,但也包含对变量具有写访问权的任务信息。在一个任务的周期内,另一个任务不会更改此类 GVL 中的所有变量。

下一部分包含一个简单的示例,演示了任务-本地变量的原理和功能。它包括一个写入程序和一个读取程序。程序在不同的任务中运行,但是它们访问存储在任务-本地全局变量列表中的相同数据,以便以周期一致对其进行处理。

.
 在一个示例中显示功能
.
 声明中的约束
.
 任务-本地全局变量的属性和可能的行为
.
 最佳实践
.
 监视
.
 背景:技术实施
.
 如上所述创建示例应用程序的说明