POU: CheckPointer
指针监控功能(CheckPointer)
使用此函数可以在运行时模式下监视指针的内存访问。相对于其他 监控功能, 不存在实施的标准建议 CheckPointer
.您必须根据自己的要求定义实现。
这 CheckPointer
函数应该检查传递的指针是否引用了有效的内存地址,以及引用的内存区域的方向是否与指针所指的变量类型匹配。如果两个条件都满足,则返回指针。如果不是,则该函数应完成适当的错误处理。
小心
要获得监视功能的特性,请不要编辑声明部分。但是,您可以添加局部变量。
重要
对于 THIS 指针和 SUPER 指针,不会发生隐式监控函数调用。
重要
在编译器版本 3.5.7.40 及更高版本中, 检查指针 也影响 REFERENCE
变量与指针变量相同。
例 538. 模板
宣言:
// Automatically generated code: DO NOT EDIT FUNCTION CheckPointer : POINTER TO BYTE VAR_INPUT ptToTest : POINTER TO BYTE; iSize : DINT; iGran : DINT; bWrite: BOOL; END_VAR
实施:(不完整)
// Not a standard implementation. Insert your code here. CheckPointer := ptToTest;
. 调用该函数时,它接收以下输入参数:
ptToTest
: 指针的目标地址iSize
: 引用变量的大小;的数据类型iSize
必须兼容INT
并覆盖变量的维度范围iGran
:参考尺寸的粒度;这是引用变量中包含的最大的非结构化数据类型;的数据类型iGran
必须兼容INT
bWrite
:访问类型(TRUE
= 写访问,FALSE
= 读访问);的数据类型bWrite
必须BOOL
当检查结果为正时,返回不变的指针 (ptToTest
)。