Ну так я тоже могу "упростить"
По числу строк кода мой ещё проще...Код:tx:= time_to_udint(GET_TIME()); IF P THEN StartTime:= tx - ET; END_IF IF IN AND NOT clk THEN StartTime:= tx; clk:= TRUE; ELSIF NOT IN THEN clk:= FALSE; Q:= FALSE; ET:= 0; END_IF IF clk AND NOT Q THEN IF PT > (tx - StartTime) THEN ET:= tx - StartTime; ELSE ET:= PT; END_IF Q:= ET = PT AND IN; END_IF
![]()