CODESYS Development System
访问数组、结构体和块中的变量 访问数组元素 句法: <数组变量的名称> [ <以逗号分隔的维度索引列表> ] <数组变量的名称> 数组变量的名称 例子: aiCounter 有关更多信息,请参阅: 分配标识符 <以逗号分隔的维度索引列表> 每个维度一个索引,以便识别数组的一个元素 例子: 2 索引从索引最小值到索引最大值有效。例子: 0..9 例 184 . 例子 具有 10 个分量的一维数组 /
CODESYS Development System
变量中的位访问 重要 只有当处理器可以直接在内存上执行位访问时,才能实现两个任务的并发位访问。所有 x86 和 x64 系统都有用于内存中位访问的命令。 ARM 和 PPC 等系统无法直接访问内存中的位。 如果两个任务同时执行位访问,即使处理器不能直接在内存中执行位访问,则进行如下操作。使用信号量 ( SysSemEnter ) 或类似的技术来防止竞争位访问。但是,最好在任务中执行位访问。 通过索
CODESYS Development System
运算符:__VARINFO 运算符是 IEC 61131-3 标准的扩展。 运算符产生有关变量的信息。您可以将信息作为数据结构保存在数据类型的变量中 __SYSTEM.VAR_INFO . 声明中的语法 <name of the info variable> : __SYSTEM.VAR_INFO; // Data structure for info variable 调用语法 <name of
CODESYS Development System
操作员:__CURRENTTASK 运算符是 IEC 61131-3 标准的扩展。 在运行时,操作员提供有关当前正在运行的 IEC 任务的信息。 提示 仅在目标系统设置为 memory-layout\max-stack-size 设置为 > 0 的值。 运算符允许访问具有两个变量的结构。 TaskIndex :标识任务的从零开始的索引 pTaskInfo : 当前运行任务的详细信息 可以分配给一个
CODESYS Development System
运算符:__COMPARE_AND_SWAP 多核运算符是 IEC 61131-3 标准的扩展。 运算符可用于实现信号量,例如保证对不同任务写入的变量的独占访问。 __COMPARE_AND_SWAP 获取指向数据类型的指针 __XWORD 变量、旧值和新值作为其输入(例如: bMutex := __COMPARE_AND_SWAP(ADR(dwSynch), dwOld, dwNew); )。新
CODESYS Development System
运算符:__XADD 多核运算符是 IEC 61131-3 标准的扩展。 该运算符可用于实现原子计数器。如果一个整数变量通过普通加法的方式递增,例如 iTest := iTest + 1; , 那么这个操作不是原子执行的。对变量的另一次访问可能发生在读取和写入变量之间。 如果计数器在多个任务中递增,则计数器结果可能小于计数周期数。因此,如果两个任务一次执行上述代码并且变量先前具有该值 0 , 然后
CODESYS Development System
运算符:__POSITION 运算符是 IEC 61131-1 标准的扩展。 在运行时,运算符产生变量在声明部分或 POU 的实现部分中的位置。必须为运算符分配类型的变量 STRING 在声明部分或实现部分。 . 的结果 __POSITION 声明部分: 'Line <line number> (Decl)' 实现部分: 'Line <line number>, Column <Column nu
CODESYS Development System
运算符:__POUNAME 运算符是 IEC 61131-1 标准的扩展。 在运行时,运算符生成包含运算符的 POU 的名称 __POUNAME .结果是类型 STRING . . 的结果 __POUNAME 取决于它在哪里使用 在一个程序中:程序名 在函数名中:函数名 在功能块中:功能块名称 在一个方法中:用 FB 名称限定的方法名称 在属性的 Get/Set 访问器中:属性名称 + 使用 FB
CODESYS Development System
运算符:TEST_AND_SET 多核运算符是 IEC 61131-3 标准的扩展。 运算符可用于实现信号量,例如保证对不同任务写入的变量的独占访问。 TEST_AND_SET 得到一个类型 DWORD 变量作为其输入。必须可以对该变量进行写访问。变量设置为 1 并且之前的值作为结果返回。 该操作是原子的,这意味着它不能被另一个任务中断。这也适用于多核平台。 例如程序中的调用是 dwOldValu
CODESYS Development System
运算符:全局命名空间 运算符是 IEC 61131-3 标准的扩展。 以点开头的实例路径 . 总是打开一个全局命名空间。如果存在同名的局部变量 <varname> 作为全局变量,那么您将全局变量称为 .<varname> . 本节内容如下 :