您可以将这些特殊 POU 添加到应用程序中,使其具备隐式监控功能。在运行时,这些函数会检查数组或子范围类型的限制、指针地址的有效性以及除以零。请注意对于已经通过特殊隐式库配备了此类监控模块的设备,可以禁用该选项。
命令“Add Object POU for Implicit Checks” 用于添加到应用程序中。该命令将打开“Add POU for Implicit Checks” 对话框,您可以在对话框中选择监控功能类型(见下表)。根据监控功能的不同,您必须调整实施代码或从头开始创建代码。
为防止多重包含,已插入的监控功能将在“Add POU for Implicit Checks” 对话框中禁用。




注意

要获得监控功能的特性,请勿编辑其声明部分。不过,您可以添加本地变量。
从项目中删除隐式监控功能(例如:Check Bounds
)后,只能下载,不能在线更改。发出相应的信息。
默认情况下,CODESYS 不会对应用程序所用库中的功能块进行隐式检查。不过,您可以打开应用程序的“Properties” 对话框,并在“Build”选项卡的 “Compiler-Defines”字段中指定编译器定义checks_in_libs
,从而将检查扩展到库。该定义只影响实现库 (*.library
) ,不影响保护库 (*.compiled-library
) 。
您可以使用 "no_check "属性停用对项目中特殊 POU 的检查。
监测功能 |
类型 |
---|---|
“检查边界” |
“绑定支票” 适当处理违反约束的情况;此类处理包括设置标记或更改字段索引。 |
“CheckDivDInt” |
“分部检查” : 监控除数值,避免除数为零。 |
“CheckDivLInt” |
|
“CheckDivReal” |
|
“CheckDivLReal” |
|
“CheckRangeSigned” |
“范围检查” : 在运行模式下监控子范围类型的范围限制。对数据类型 |
“CheckRangeUnsigned” |
|
“CheckLRangeSigned” |
“L-range 检查” : 在运行模式下监控子范围类型的范围限制。对数据类型 |
“CheckLRangeUnsigned” |
|
“CheckPointer” |
“指针检查” 您有责任在此函数中填写完整的执行代码。请参阅 "POU 'CheckPointer'"帮助页面。函数应监控传递的指针是否引用了有效的内存地址,以及引用内存区域的方向是否与指针所引用的变量类型相匹配。如果两个条件都满足,则返回指针。如果没有,则 |
另见