76 lines
2.8 KiB
Plaintext
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
|