codesys 中 __QUERYPOINTER ( <ITF_Source>, <Pointer_Dest> )
时间: 2024-05-16 15:19:57 浏览: 98
在CODESYS中,__QUERYPOINTER(<ITF_Source>, <Pointer_Dest>)是一个系统函数,用于查询指向接口<ITF_Source>的指针,并将其存储在指针<Pointer_Dest>中。该函数返回一个布尔值,指示查询是否成功。
具体来说,该函数用于在运行时获取接口的指针,以便在代码中使用该接口。例如,在使用CODESYS中的插件或库时,可以使用__QUERYPOINTER函数获取接口指针,并使用该指针调用接口中的方法或属性。
需要注意的是,__QUERYPOINTER函数只能在CODESYS开发环境中使用,不能在运行时使用。并且,该函数对于不同的接口类型有不同的使用方式,需要根据具体情况进行调用。
相关问题
codesys 中 __QUERYPOINTER ( <ITF_Source>, <Pointer_Dest> ) 用法
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 变量中。
codesys __QUERYPOINTER
__QUERYPOINTER 是 CODESYS 中的一个内置函数,用于查询指针所指向的对象类型。其语法如下:
```
__QUERYPOINTER(pPointer): BOOL
```
其中,pPointer 是一个指向任何对象的指针变量。
__QUERYPOINTER 函数返回一个 BOOL 类型的值,表示指针所指向的对象类型。如果指针所指向的对象是 NULL,则返回 FALSE。
下面是一个简单的示例代码,演示了如何使用 __QUERYPOINTER 函数:
```
VAR
pVar: POINTER TO INT;
bIsInt: BOOL;
bIsNull: BOOL;
END_VAR
pVar := ADR(MyInteger);
bIsInt := __QUERYPOINTER(pVar);
bIsNull := __QUERYPOINTER(NULL);
```
在上述示例中,我们首先定义了一个指向 INT 类型的指针变量 pVar,然后使用 ADR 函数将其指向了一个名为 MyInteger 的变量。接着,我们使用 __QUERYPOINTER 函数查询 pVar 所指向的对象类型,并将查询结果存储在 bIsInt 变量中。最后,我们使用 __QUERYPOINTER 函数查询 NULL 指针所指向的对象类型,并将查询结果存储在 bIsNull 变量中。
阅读全文