Files
HundM_awl/SCL-Export/=A01+UH07-KF00/EP_OmniFahren.scl
T

76 lines
2.8 KiB
Plaintext

FUNCTION_BLOCK "EP_OmniFahren"
{ S7_Optimized_Access := 'FALSE' }
// Mechanische AWL->SCL-Konvertierung (awl2scl.py). Kontrollfluss per GOTO,
// wo im Original mit Sprungmarken gearbeitet wurde. Vor Uebernahme in TIA
// Portal pruefen/kompilieren (siehe SCL-Export/README.md).
VAR_OUTPUT
DEP_Sorter : Word; // war "DEP_Sorter"
END_VAR
VAR_IN_OUT
BG4502 : Word; // war "BG4502"
BG4503 : Word; // war "BG4503"
DOutbound_Bereich : Word; // war "DOutbound_Bereich"
DVPtoEP_Antriebe : Word; // war "DVPtoEP_Antriebe"
MA0325 : Bool; // war "MA0325"
MB4503 : Byte; // war "MB4503"
END_VAR
VAR
Schleuse_4503 { S7_SetPoint := 'False'} : "MHMOmniSchleuse";
EP_1_voll { S7_SetPoint := 'True'} : Bool;
EP_2_voll { S7_SetPoint := 'True'} : Bool;
EP_3_voll { S7_SetPoint := 'True'} : Bool;
EP_4_voll { S7_SetPoint := 'True'} : Bool;
END_VAR
VAR_TEMP
ErrQuit : Bool;
ErrAnz : Bool;
Stau_raus : Bool;
Start_ok : Bool;
B_aktiv : Bool;
B_vor_Schleuse : Bool;
B_nach_Schleuse : Bool;
Antrieb_aktiv : Bool;
Antrieb_start : Bool;
Antrieb_stop : Bool;
Fahren_Ok : Bool;
Antrieb_nicht_stoppen : Bool;
END_VAR
BEGIN
REGION Systemzeug
#Schleuse_4503.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
#Schleuse_4503.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UC074.BereichErr);
END_REGION
REGION Störungen quittieren UZ7402
#ErrQuit := (#DOutbound_Bereich.A01_UZ7402.StOk_aktiv OR #DOutbound_Bereich.A01_UC074.StOk_aktiv) OR #DOutbound_Bereich.A01_UH07.StOk_aktiv;
END_REGION
REGION Schleuse 4503
#Schleuse_4503(Schleusen_Nr := 4503, ErrQuit := #ErrQuit, B_VorSchleuse := #BG4502, B_InSchleuse := #BG4503, B_AusSchleuse := , Antrieb_Schleuse_aktiv := #MA0325, Schleuse_geöffnet := #MB4503, Error := %DB708.DBW564, Antrieb_Schleuse_vor := #DVPtoEP_Antriebe.MA0325.Stat.A_vor, Antrieb_Schleuse_start := #DVPtoEP_Antriebe.MA0325.Stat.A_start, Antrieb_Schleuse_stop := #DVPtoEP_Antriebe.MA0325.Stat.Stop_vor, Antrieb_Schleuse_PS := #DVPtoEP_Antriebe.MA0325.Stat.A_PS, hStOk := #ErrAnz); // weiterfahrt über Sorter-Sep
IF #Schleuse_4503.Dyn.Status.Reset_aktiv THEN
#DEP_Sorter.Sorter_MB4503.Dyn.Scanner.Rec_IDX := 0;
#DEP_Sorter.Sorter_MB4503.Separator.Default_Ziel := 0;
#DEP_Sorter.Sorter_MB4503.Dyn.Scanner.Rec_DEST_Ziel := 0;
END_IF;
END_REGION
REGION Störungen anzeigen UZ7402
IF #ErrAnz THEN
#ErrAnz := FALSE;
#DOutbound_Bereich.A01_UZ7402.StOk_blinken := TRUE;
#DOutbound_Bereich.A01_UC074.StOk_blinken := TRUE;
#DOutbound_Bereich.A01_UH07.StOk_blinken := TRUE;
END_IF;
END_REGION
REGION Ende
RETURN;
END_REGION
END_FUNCTION_BLOCK