Именно так, понимаете верно + всегда стараюсь с модуля взять не целочисленное значение, а прям готовое, с плавающей точкой.
Оно реагирует на обрыв и КЗ
Код делаю такой:
tmp1:=REAL_TO_STRING(TE1_P14);
tmp2:=REAL_TO_STRING(TE2_P14);
tmp3:=REAL_TO_STRING(TE3_P14);
tmp4:=REAL_TO_STRING(TE4_P14);
IF tmp1 = '-1.123548e37' THEN TE1_P14_M:=1.111; ELSE TE1_P14_M:=TE1_P14+1.5; END_IF;
IF tmp2 = '-1.123548e37' THEN TE2_P14_M:=1.111; ELSE TE2_P14_M:=TE2_P14; END_IF;
IF tmp3 = '-1.123548e37' THEN TE3_P14_M:=1.111; ELSE TE3_P14_M:=TE3_P14+5.3; END_IF;
IF tmp4 = '-1.123548e37' THEN TE4_P14_M:=1.111; ELSE TE4_P14_M:=TE4_P14; END_IF;