Skip to main content

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;