Это мне не интересно.
Но интересно вот что. Можно ли этот код на ST переписать на FBD?
Код:
PROGRAM MHO
VAR
ItemTank: INT := 0;
ItemConsole: INT := 0;
TankItem: POINTER TO Tank;
ConsoleItem: POINTER TO Console;
PumpItem: POINTER TO Pump;
END_VAR
FOR ItemTank := 1 TO 12 DO
TankItem := ADR(Tank[ItemTank]);
IF TankItem^.IdPump > 0 THEN
PumpItem := ADR(Pump[TankItem^.IdPump]);
IF TankItem^.IdConsole > 0 THEN
ConsoleItem := ADR(Console[TankItem^.IdConsole]);
IF PumpItem^.OnTMR.Q THEN
ConsoleItem^.LampStart := 0.5;
ELSE
ConsoleItem^.LampStart := 1;
END_IF
IF TankItem^.Level1 AND NOT TankItem^.AlarmLevelD THEN
IF ConsoleItem^.KeyStart AND ConsoleItem^.KeyStop THEN
PumpItem^.State := TRUE;
END_IF
ELSE
PumpItem^.State := FALSE;
END_IF
IF NOT ConsoleItem^.KeyStop AND NOT ConsoleItem^.KeyStart THEN
PumpItem^.State := FALSE;
END_IF
END_IF
END_IF
END_FOR