POU:CheckDivLReal
防止被“0”除的功能: CheckDivInt, CheckDivLint, CheckDivReal, and CheckDivLReal
为了防止被零除,您可以使用函数 CheckDivInt, CheckDivLint, CheckDivReal, 和 CheckDivLReal.如果您在应用程序中包含这些函数,则它们会在代码中的每个除法操作之前调用。
有关更多信息,请参阅: 使用构建块进行隐式检查, 用于隐式检查的 POU
小心
要获得监控功能的特性,请不要编辑声明部分。但是,您可以添加局部变量。
例 537. 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;