Ну, я про красивость, а не распространенность (с ней не поспоришь).
А насчет примера у меня такая строчка может быть в цикле (20 одинаковых объектов), плюс расчетные задачи (выход целое или плавающее, а не логическое; тот же ПИД). Мне удобнее изменить в одном месте, чем в 20 сразу при изменении логики. Или приведенный пример; он тоже на LD реализуется?
Код:
tim3(in:=TRUE,pt:=t#5s);
IF tim3.Q THEN
time4:=DINT_TO_WORD(TIME_TO_DINT(tim2.ET)/60000);
IF tp1c<>tp1co THEN
n:=n+1;
ss:=ss+tp1;
ELSE
tp1:=t;
END_IF;
IF tp2c<>tp2co THEN
n:=n+1;
ss:=ss+tp2;
ELSE
tp2:=t;
END_IF;
IF tp3c<>tp3co THEN
n:=n+1;
ss:=ss+tp3;
ELSE
tp3:=t;
END_IF;
IF tp4c<>tp4co THEN
n:=n+1;
ss:=ss+tp4;
ELSE
tp4:=t;
END_IF;
IF tp5c<>tp5co THEN
n:=n+1;
ss:=ss+tp5;
(* ELSE
tp5:=t; *)
END_IF;
tim3(in:=FALSE);
tp1co:=tp1c; tp2co:=tp2c; tp3co:=tp3c; tp4co:=tp4c; tp5co:=tp5c;
IF n<>0 THEN
t:=ss/n;
END_IF;
ttemp:=t;
END_IF;