Skip to main content

对象:隐式检查的 POU

您可以将这些特殊的 POU 添加到应用程序中,为它们提供隐式监控功能。在运行时,这些函数会检查数组或子范围类型的限制、指针地址的有效性以及除以零。注意:对于已经配备此类监控块的设备,可以通过特殊的隐式库禁用此选项。

添加对象 → POU 进行隐式检查 命令用于将其添加到应用程序中。该命令打开 为隐式检查添加 POU 对话框,您可以在其中选择监控功能类型(见下表)。根据监控功能,您必须编辑实现代码或自己从头开始创建。

为防止多次包含,已插入的监控功能在 为隐式检查添加 POU 对话。

有关更多信息,请参阅: 使用构建块进行隐式检查

重要

要获得监视功能的特性,请不要编辑声明部分。但是,您可以添加局部变量。

删除隐式监控功能后(例如: Check Bounds) 从项目中,只能下载,不能在线更改。显示相应的消息。

提示

默认, CODESYS 不会对应用程序中使用的库中的功能块运行隐式检查。但是,您可以通过打开 特性 应用程序对话框并指定编译器定义 checks_in_libs 在里面 编译器定义 场上 建造 标签。此定义影响实现库(*.library) 仅,不受保护的库 (*.compiled-library)。

您可以使用“no_check”属性来禁用对项目中特殊 POU 的检查。

62. 可用功能

监控功能

类型

检查边界

绑定检查

妥善处理违章行为;此类处理包括设置标志或更改字段索引

CheckDivDInt

部门检查

监控除数以避免被零除

CheckDivLint

检查DivReal

检查DivLReal

检查范围签名

范围检查

在运行时模式下监视子范围类型的范围限制

对数据类型有效 DINT/UDINT

检查范围无符号

CheckLRangeSigned

L-范围检查

在运行时模式下监视子范围类型的范围限制

对数据类型有效 LINT/ULINT

CheckLRange无符号

检查指针

指针检查

您负责用实现代码完全填写此函数。请参阅“POU 'CheckPointer'”的帮助页面。该函数应监视传递的指针是否引用了有效的内存地址,以及所引用的内存区域的方向是否与指针所指的变量类型相匹配。如果两个条件都满足,则返回指针。如果没有,那么 CheckPointer 应该完成适当的错误处理。 CheckPointer 监视方式与类型变量相同 REFERENCE TO.