codesys 中 __QUERYPOINTER ( <ITF_Source>, <Pointer_Dest> ) 用法
时间: 2024-02-23 09:00:29 浏览: 78
CoDeSys.rar_CoDeSys_codesys 北京_codesyskeygen_hollysys_和利时
CODESYS中的 __QUERYPOINTER(<ITF_Source>, <Pointer_Dest>) 函数用于查询指针对象的类型,并将其存储在指定的变量中。该函数的语法如下:
```
__QUERYPOINTER(<ITF_Source>, <Pointer_Dest>) : BOOL
```
其中,<ITF_Source> 是实现了ITF指针所指向的对象的数据类型;<Pointer_Dest> 是一个指向任何对象的指针变量,用于存储查询结果。
__QUERYPOINTER函数返回一个BOOL类型的值,表示查询结果。如果指针所指向的对象与 <ITF_Source> 指定的类型相同,则返回TRUE;否则返回FALSE。
下面是一个简单的示例代码,演示了如何使用 __QUERYPOINTER 函数:
```
VAR
pVar: POINTER TO INT;
bIsInt: BOOL;
bIsNull: BOOL;
END_VAR
pVar := ADR(MyInteger);
bIsInt := __QUERYPOINTER(INT, pVar);
bIsNull := __QUERYPOINTER(INT, NULL);
```
在上述示例中,我们首先定义了一个指向 INT 类型的指针变量 pVar,然后使用 ADR 函数将其指向了一个名为 MyInteger 的变量。接着,我们使用 __QUERYPOINTER 函数查询 pVar 所指向的对象类型是否与 INT 类型相同,并将查询结果存储在 bIsInt 变量中。最后,我们使用 __QUERYPOINTER 函数查询 NULL 指针所指向的对象类型是否与 INT 类型相同,并将查询结果存储在 bIsNull 变量中。
阅读全文