POU:CheckDivLReal
防止被“0”除的功能: CheckDivInt, CheckDivLint, CheckDivReal, and CheckDivLReal
为了防止被零除,您可以使用函数 CheckDivInt
, CheckDivLint
, CheckDivReal
, 和 CheckDivLReal
.如果您在应用程序中包含这些函数,则它们会在代码中的每个除法操作之前调用。
有关更多信息,请参阅: 使用构建块进行隐式检查, 用于隐式检查的 POU
小心
要获得监控功能的特性,请不要编辑声明部分。但是,您可以添加局部变量。
例 532. CheckDivReal 的默认实现:
声明部分:
// Automatisch erzeugter Code : NICHT EDITIEREN FUNCTION CheckDivReal : REAL VAR_INPUT divisor:REAL; END_VAR
实现部分:
// Automatisch erzeugter Code: Es handelt sich hierbei um einen Implementierungsvorschlag. IF divisor = 0 THEN CheckDivReal:=1; ELSE CheckDivReal:=divisor; END_IF;
这 DIV
运算符使用 CheckDivReal
起到除数的作用。在下面的示例程序中, CheckDivReal
防止除以 0
通过改变除数的隐含值 d
从“0”到 1
在执行除法操作之前。因此,除法结果为 799
.
PROGRAM PLC_PRG VAR erg:REAL; v1:REAL:=799; d:REAL:=0; END_VAR erg:= v1 / d;