Files

71 lines
2.5 KiB
Plaintext

FUNCTION_BLOCK "LP_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
DLP_Sorter : Word; // war "DLP_Sorter"
END_VAR
VAR_IN_OUT
BG3304 : Word; // war "BG3304"
BG3305 : Word; // war "BG3305"
DEPtoLP_Antriebe : Word; // war "DEPtoLP_Antriebe"
DOutbound_Bereich : Word; // war "DOutbound_Bereich"
MA0064 : Bool; // war "MA0064"
MB3305 : Byte; // war "MB3305"
END_VAR
VAR
Schleuse_3305 { S7_SetPoint := 'False'} : "MHMOmniSchleuse";
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_3305.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
#Schleuse_3305.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UH07.BereichErr);
END_REGION
REGION Störungen quittieren UZ0702
#ErrQuit := #DOutbound_Bereich.A01_UZ0702.StOk_aktiv OR #DOutbound_Bereich.A01_UH07.StOk_aktiv;
END_REGION
REGION Schleuse 3305
#Schleuse_3305(Schleusen_Nr := 3305, ErrQuit := #ErrQuit, B_VorSchleuse := #BG3304, B_InSchleuse := #BG3305, B_AusSchleuse := , Antrieb_Schleuse_aktiv := #MA0064, Schleuse_geöffnet := #MB3305, Error := %DB708.DBW524, Antrieb_Schleuse_vor := #DEPtoLP_Antriebe.MA0064.Stat.A_vor, Antrieb_Schleuse_start := #DEPtoLP_Antriebe.MA0064.Stat.A_start, Antrieb_Schleuse_stop := #DEPtoLP_Antriebe.MA0064.Stat.Stop_vor, Antrieb_Schleuse_PS := #DEPtoLP_Antriebe.MA0064.Stat.A_PS, hStOk := #ErrAnz); // weiterfahrt über Sorter-Sep
IF #Schleuse_3305.Dyn.Status.Reset_aktiv THEN
#DLP_Sorter.Sorter_MB3305.Dyn.Scanner.Rec_IDX := 0;
#DLP_Sorter.Sorter_MB3305.Separator.Default_Ziel := 0;
#DLP_Sorter.Sorter_MB3305.Dyn.Scanner.Rec_DEST_Ziel := 0;
END_IF;
END_REGION
REGION Störungen anzeigen UZ0702
IF #ErrAnz THEN
#ErrAnz := FALSE;
#DOutbound_Bereich.A01_UZ0702.StOk_blinken := TRUE;
#DOutbound_Bereich.A01_UH07.StOk_blinken := TRUE;
END_IF;
END_REGION
REGION Ende
RETURN;
END_REGION
END_FUNCTION_BLOCK