.

对象‘隐式检查POU’

.

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

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

为防止包含多个对象,已在添加用于隐式检查的POU对话框中禁用了已插入的监视功能。

提示!

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

删除隐式监视功能后(例如:Check Bounds)后,只能进行下载,而不能进行在线更改。发出相应的消息。

 

默认情况下,CODESYS不对应用程序中使用的库中的功能块运行隐式检查。但是,您可以通过打开应用程序的属性对话框并在编译选项卡的编译器定义字段中指定编译器定义checks_in_libs来扩展对库的检查。此定义仅影响实现库(*.library),而不影响受保护的库(*.compiled-library)。

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

.

.可用的函数

监视函数

类型

Check Bounds

绑定检查

适当处理绑定违规行为;此类处理包括设置标志或更改字段索引。

CheckDivDInt

除法检查:

监视除数,以避免被零除。

CheckDivLInt

CheckDivReal

CheckDivLReal

CheckRangeSigned

范围检查:

在运行时模式下监视子范围类型的范围限制。对数据类型DINT/UDINT有效。

CheckRangeUnsigned

CheckLRangeSigned

L-range检查:

在运行时模式下监视子范围类型的范围限制。对数据类型LINT/ULINT有效。

CheckLRangeUnsigned

CheckPointer

指针检查

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