71 lines
2.5 KiB
Plaintext
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
|