82 lines
4.3 KiB
Plaintext
82 lines
4.3 KiB
Plaintext
FUNCTION_BLOCK "Abführung_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_INPUT
|
|
g_6_HMI_Err_UH06_AMR : Word; // war "6_HMI_Err_UH06_AMR"
|
|
DHWtoOB_OmniFahren : Word; // war "DHWtoOB_OmniFahren"
|
|
DHWtoOB_Sensoren : Word; // war "DHWtoOB_Sensoren"
|
|
END_VAR
|
|
|
|
VAR_IN_OUT
|
|
BG3540 : Word; // war "BG3540"
|
|
BG3541 : Word; // war "BG3541"
|
|
BG3542 : Word; // war "BG3542"
|
|
BG3543 : Word; // war "BG3543"
|
|
BG3570 : Word; // war "BG3570"
|
|
DAMR_Bereich : Word; // war "DAMR_Bereich"
|
|
DArbeitspl_tze_Antriebe : Word; // war "DArbeitsplätze_Antriebe"
|
|
DArbeitspl_tze_Sensoren : Word; // war "DArbeitsplätze_Sensoren"
|
|
DArbeitspl_tze_Zylinder : Word; // war "DArbeitsplätze_Zylinder"
|
|
DHWtoOB_Antriebe : Word; // war "DHWtoOB_Antriebe"
|
|
MA0112 : Bool; // war "MA0112"
|
|
MA0113 : Bool; // war "MA0113"
|
|
MB3540 : Byte; // war "MB3540"
|
|
MB3543 : Byte; // war "MB3543"
|
|
END_VAR
|
|
|
|
VAR
|
|
Schleuse_3540 { S7_SetPoint := 'False'} : "MHMOmniSchleuse";
|
|
Schleuse_3543 { S7_SetPoint := 'False'} : "MHMOmniSchleuse";
|
|
END_VAR
|
|
|
|
VAR_TEMP
|
|
ErrQuit : Bool;
|
|
ErrAnz : Bool;
|
|
Stau_raus : Bool;
|
|
Start_ok : Bool;
|
|
B_aktiv : Bool;
|
|
B_AusSchleuse : Bool;
|
|
Antrieb_aktiv : Bool;
|
|
Antrieb_start : Bool;
|
|
Antrieb_stop : Bool;
|
|
Fahren_Ok : Bool;
|
|
END_VAR
|
|
|
|
BEGIN
|
|
REGION Systemzeug
|
|
#Schleuse_3540.Dyn.Sk.Auto_akt := #DAMR_Bereich.A01_UH06.AnlageEin;
|
|
#Schleuse_3543.Dyn.Sk.Auto_akt := #DAMR_Bereich.A01_UH06.AnlageEin;
|
|
#Schleuse_3540.Dyn.Sk.Bereich_ok := NOT (#DAMR_Bereich.A01_UH06.BereichErr);
|
|
#Schleuse_3543.Dyn.Sk.Bereich_ok := NOT (#DAMR_Bereich.A01_UH06.BereichErr);
|
|
END_REGION
|
|
|
|
REGION Störungen quittieren
|
|
#ErrQuit := #DAMR_Bereich.A01_UH06.StOk_aktiv;
|
|
END_REGION
|
|
|
|
REGION Schleuse hinter MPS1
|
|
#Schleuse_3540(Schleusen_Nr := 3540, ErrQuit := #ErrQuit, B_VorSchleuse := #BG3541, B_InSchleuse := #BG3540, B_AusSchleuse := #BG3542, B_Stau_raus := #DArbeitspl_tze_Sensoren.Stau_BG3542.Stat.B_Akt, Start_Ok := 1, Antrieb_Schleuse_aktiv := #MA0112, Antrieb_plus_aktiv := #MA0112, Schleuse_geöffnet := #MB3540, Y_Schleuse_Auf := #DArbeitspl_tze_Zylinder.Schleuse_3540.Stat.Ast, Error := %DB608.DBW350, Antrieb_Schleuse_vor := #DArbeitspl_tze_Antriebe.MA0112.Stat.A_vor, Antrieb_Schleuse_start := #DArbeitspl_tze_Antriebe.MA0112.Stat.A_start, Antrieb_Schleuse_stop := #DArbeitspl_tze_Antriebe.MA0112.Stat.Stop_vor, Antrieb_Schleuse_PS := #DArbeitspl_tze_Antriebe.MA0112.Stat.A_PS, hStOk := #ErrAnz);
|
|
END_REGION
|
|
|
|
REGION Schleuse vor BST 4
|
|
#Fahren_Ok := (((NOT (#g_6_HMI_Err_UH06_AMR.System.Gesamt_Feueralarm) AND NOT (#g_6_HMI_Err_UH06_AMR.System.BST4_Feueralarm)) AND NOT (#g_6_HMI_Err_UH06_AMR.System.BST4_Geschlossen)) AND NOT (#g_6_HMI_Err_UH06_AMR.System.BST4_Störung)) AND #DHWtoOB_OmniFahren.Schleuse_3546.Dyn.Sk.Bereich_ok; // / UN #Trolleys_starten.Wartezeit_aktiv //Neu: Vor AFS runter
|
|
#Stau_raus := #DHWtoOB_Sensoren.Stau_BG3570.Stat.B_Akt OR #DHWtoOB_Sensoren.Stau_BG3544.Stat.B_Akt;
|
|
#Schleuse_3543(Schleusen_Nr := 3543, ErrQuit := #ErrQuit, B_VorSchleuse := #BG3542, B_InSchleuse := #BG3543, B_AusSchleuse := #BG3570, B_Stau_raus := #Stau_raus, Start_Ok := #Fahren_Ok, Antrieb_Schleuse_aktiv := #MA0112, Antrieb_plus_aktiv := #MA0113, Schleuse_geöffnet := #MB3543, Y_Schleuse_Auf := #DArbeitspl_tze_Zylinder.Schleuse_3543.Stat.Ast, Error := %DB608.DBW352, Antrieb_Schleuse_vor := #DArbeitspl_tze_Antriebe.MA0112.Stat.A_vor, Antrieb_Schleuse_start := #DArbeitspl_tze_Antriebe.MA0112.Stat.A_start, Antrieb_Schleuse_stop := #DArbeitspl_tze_Antriebe.MA0112.Stat.Stop_vor, Antrieb_Schleuse_PS := #DArbeitspl_tze_Antriebe.MA0112.Stat.A_PS, Antrieb_plus_vor := #DHWtoOB_Antriebe.MA0113.Stat.A_vor, Antrieb_plus_start := #DHWtoOB_Antriebe.MA0113.Stat.A_start, hStOk := #ErrAnz);
|
|
END_REGION
|
|
|
|
REGION Störungen anzeigen
|
|
IF #ErrAnz THEN
|
|
#ErrAnz := FALSE;
|
|
#DAMR_Bereich.A01_UH06.StOk_blinken := TRUE;
|
|
END_IF;
|
|
END_REGION
|
|
|
|
REGION Ende
|
|
RETURN;
|
|
END_REGION
|
|
|
|
END_FUNCTION_BLOCK
|