300 lines
21 KiB
Plaintext
300 lines
21 KiB
Plaintext
FUNCTION_BLOCK "EPtoLP_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_1s_Impuls : Word; // war "1s-Impuls"
|
|
g_7_HMI_Err_UH07_OB : Word; // war "7_HMI_Err_UH07_OB"
|
|
MB4445 : Byte; // war "MB4445"
|
|
MB4457 : Byte; // war "MB4457"
|
|
END_VAR
|
|
|
|
VAR_IN_OUT
|
|
BG3303 : Word; // war "BG3303"
|
|
BG3304 : Word; // war "BG3304"
|
|
BG3367 : Word; // war "BG3367"
|
|
BG3370 : Word; // war "BG3370"
|
|
BG3372 : Word; // war "BG3372"
|
|
BG3373 : Word; // war "BG3373"
|
|
BG3377 : Word; // war "BG3377"
|
|
BG4455 : Word; // war "BG4455"
|
|
BG4456 : Word; // war "BG4456"
|
|
BG4457 : Word; // war "BG4457"
|
|
BG4460 : Word; // war "BG4460"
|
|
BG4461 : Word; // war "BG4461"
|
|
BG4462 : Word; // war "BG4462"
|
|
BG4463 : Word; // war "BG4463"
|
|
BG4464 : Word; // war "BG4464"
|
|
BG4465 : Word; // war "BG4465"
|
|
BG4466 : Word; // war "BG4466"
|
|
BG4467 : Word; // war "BG4467"
|
|
BG4511 : Word; // war "BG4511"
|
|
BG4512 : Word; // war "BG4512"
|
|
BG4513 : Word; // war "BG4513"
|
|
BG4514 : Word; // war "BG4514"
|
|
BG4515 : Word; // war "BG4515"
|
|
BG4516 : Word; // war "BG4516"
|
|
BG4517 : Word; // war "BG4517"
|
|
BG4520 : Word; // war "BG4520"
|
|
BG4521 : Word; // war "BG4521"
|
|
BG4522 : Word; // war "BG4522"
|
|
BG4531 : Word; // war "BG4531"
|
|
BG4532 : Word; // war "BG4532"
|
|
DEPtoLP_Antriebe : Word; // war "DEPtoLP_Antriebe"
|
|
DEPtoLP_Sensoren : Word; // war "DEPtoLP_Sensoren"
|
|
DEPtoLP_Zylinder : Word; // war "DEPtoLP_Zylinder"
|
|
DOutbound_Bereich : Word; // war "DOutbound_Bereich"
|
|
MA0062 : Bool; // war "MA0062"
|
|
MA0063 : Bool; // war "MA0063"
|
|
MA0064 : Bool; // war "MA0064"
|
|
MA0326 : Bool; // war "MA0326"
|
|
MA0327 : Bool; // war "MA0327"
|
|
MA0330 : Bool; // war "MA0330"
|
|
MA0331 : Bool; // war "MA0331"
|
|
MA0332 : Bool; // war "MA0332"
|
|
MA0333 : Bool; // war "MA0333"
|
|
MB3303 : Byte; // war "MB3303"
|
|
MB3370 : Byte; // war "MB3370"
|
|
MB4462 : Byte; // war "MB4462"
|
|
MB4463 : Byte; // war "MB4463"
|
|
MB4466 : Byte; // war "MB4466"
|
|
MB4512 : Byte; // war "MB4512"
|
|
MB4516 : Byte; // war "MB4516"
|
|
MB4520 : Byte; // war "MB4520"
|
|
MB4522 : Byte; // war "MB4522"
|
|
MB4532 : Byte; // war "MB4532"
|
|
END_VAR
|
|
|
|
VAR
|
|
Schleuse_4512 { S7_SetPoint := 'False'} : "MHMOmniSchleuse_Plus";
|
|
Schleuse_4532 { S7_SetPoint := 'False'} : "MHMOmniSchleuse_Plus";
|
|
Schleuse_4516 { S7_SetPoint := 'False'} : "MHMOmniSchleuse";
|
|
Schleuse_4520 { S7_SetPoint := 'False'} : "MHMOmniSchleuse";
|
|
Bereich_4456 : "MHMOmniBereich_Plus";
|
|
Schleuse_4466 { S7_SetPoint := 'False'} : "MHMOmniSchleuse_Plus";
|
|
Schleuse_4462 { S7_SetPoint := 'False'} : "MHMOmniSchleuse_Plus";
|
|
Bereich_4465 : "MHMOmniBereich_Plus";
|
|
Schleuse_3370 { S7_SetPoint := 'False'} : "MHMOmniSchleuse";
|
|
Bereich_3373 : "MHMOmniBereich_Plus";
|
|
Schleuse_3303 { S7_SetPoint := 'False'} : "MHMOmniSchleuse";
|
|
Schleuse_4522 { S7_SetPoint := 'False'} : "MHMOmniSchleuse";
|
|
Schleuse_4463 { S7_SetPoint := 'False'} : "MHMOmniSchleuse";
|
|
Übergang_4514 { S7_SetPoint := 'False'} : "MHMÜbergang_ohne_Schleuse";
|
|
Trolleys_starten : Struct
|
|
Flanke : Bool;
|
|
Wartezeit_aktiv : Bool;
|
|
Timer_Wartenzeit { S7_SetPoint := 'True'} : Int;
|
|
END_STRUCT;
|
|
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;
|
|
tGen1_Flanke : Bool;
|
|
END_VAR
|
|
|
|
BEGIN
|
|
REGION Systemzeug
|
|
#Schleuse_4512.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
|
|
#Schleuse_4532.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
|
|
#Schleuse_4516.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
|
|
#Schleuse_4522.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
|
|
#Schleuse_4520.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
|
|
#Bereich_4456.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
|
|
#Schleuse_4466.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
|
|
#Schleuse_4462.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
|
|
#Schleuse_4463.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
|
|
#Bereich_4465.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
|
|
#Schleuse_3370.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
|
|
#Bereich_3373.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
|
|
#Schleuse_3303.Dyn.Sk.Auto_akt := #DOutbound_Bereich.A01_UH07.AnlageEin;
|
|
#Schleuse_4512.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UC074.BereichErr);
|
|
#Schleuse_4532.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UC074.BereichErr);
|
|
#Schleuse_4516.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UC074.BereichErr);
|
|
#Schleuse_4522.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UC074.BereichErr);
|
|
#Schleuse_4520.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UC074.BereichErr);
|
|
#Bereich_4456.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UC074.BereichErr);
|
|
#Schleuse_4466.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UC074.BereichErr);
|
|
#Schleuse_4462.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UC074.BereichErr);
|
|
#Schleuse_4463.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UC074.BereichErr);
|
|
#Bereich_4465.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UC074.BereichErr);
|
|
#Schleuse_3370.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UH07.BereichErr);
|
|
#Bereich_3373.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UH07.BereichErr);
|
|
#Schleuse_3303.Dyn.Sk.Bereich_ok := NOT (#DOutbound_Bereich.A01_UH07.BereichErr);
|
|
END_REGION
|
|
|
|
REGION Störungen quittieren UZ7402/7403
|
|
#ErrQuit := ((#DOutbound_Bereich.A01_UZ7402.StOk_aktiv OR #DOutbound_Bereich.A01_UZ7403.StOk_aktiv) OR #DOutbound_Bereich.A01_UC074.StOk_aktiv) OR #DOutbound_Bereich.A01_UH07.StOk_aktiv;
|
|
END_REGION
|
|
|
|
REGION Schleuse 4512
|
|
#Schleuse_4512(Schleusen_Nr := 4512, ErrQuit := #ErrQuit, B_VorSchleuse := #BG4511, B_InSchleuse := #BG4512, B_Zähl := #BG4531, B_Stau_raus := #DEPtoLP_Sensoren.Stau_BG4531.Stat.B_Akt, Start_Ok := 1, Antrieb_Schleuse_aktiv := #MA0326, Schleuse_geöffnet := #MB4512, Y_Schleuse_Auf := #DEPtoLP_Zylinder.Schleuse_4512.Stat.Ast, Error := %DB708.DBW576, Antrieb_Schleuse_vor := #DEPtoLP_Antriebe.MA0326.Stat.A_vor, Antrieb_Schleuse_start := #DEPtoLP_Antriebe.MA0326.Stat.A_start, Antrieb_Schleuse_stop := #DEPtoLP_Antriebe.MA0326.Stat.Stop_vor, Antrieb_Schleuse_PS := #DEPtoLP_Antriebe.MA0326.Stat.A_PS, Antrieb_plus_vor := , hStOk := #ErrAnz); // Identisch
|
|
END_REGION
|
|
|
|
REGION Schleuse 4532
|
|
#Stau_raus := #DEPtoLP_Sensoren.Stau_BG4513.Stat.B_Akt; // / O "DEP>LP_Sensoren".Stau_BG4515.Stat.B_Akt
|
|
#Schleuse_4532(Schleusen_Nr := 4532, ErrQuit := #ErrQuit, B_VorSchleuse := #BG4531, B_InSchleuse := #BG4532, B_Zähl := #BG4513, B_Stau_raus := #Stau_raus, Start_Ok := 1, Antrieb_Schleuse_aktiv := #MA0326, Antrieb_plus_aktiv := #MA0326, Schleuse_geöffnet := #MB4532, Y_Schleuse_Auf := #DEPtoLP_Zylinder.Schleuse_4532.Stat.Ast, Error := %DB708.DBW578, Antrieb_Schleuse_vor := #DEPtoLP_Antriebe.MA0326.Stat.A_vor, Antrieb_Schleuse_start := #DEPtoLP_Antriebe.MA0326.Stat.A_start, Antrieb_Schleuse_stop := #DEPtoLP_Antriebe.MA0326.Stat.Stop_vor, Antrieb_Schleuse_PS := #DEPtoLP_Antriebe.MA0326.Stat.A_PS, hStOk := #ErrAnz);
|
|
END_REGION
|
|
|
|
REGION MA0326 / Übergang 4514
|
|
#Übergang_4514(ErrQuit := #ErrQuit, B_Anfang := #BG4513, B_Am_Übergang := #BG4514, B_Stau_Antrieb_plus := #BG4515, Antrieb_aktiv := #MA0326, Antrieb_plus_aktiv := #MA0327, Antrieb_vor := #DEPtoLP_Antriebe.MA0326.Stat.A_vor, Antrieb_start := #DEPtoLP_Antriebe.MA0326.Stat.A_start, Antrieb_stop := #DEPtoLP_Antriebe.MA0326.Stat.A_PS, Antrieb_plus_vor := #DEPtoLP_Antriebe.MA0327.Stat.A_vor, Antrieb_plus_start := #DEPtoLP_Antriebe.MA0327.Stat.A_start);
|
|
END_REGION
|
|
|
|
REGION Schleuse 4516
|
|
#Schleuse_4516(Schleusen_Nr := 4516, ErrQuit := #ErrQuit, B_VorSchleuse := #BG4515, B_InSchleuse := #BG4516, B_AusSchleuse := #BG4517, B_Stau_raus := #DEPtoLP_Sensoren.Stau_BG4517.Stat.B_Akt, Start_Ok := 1, Antrieb_Schleuse_aktiv := #MA0327, Antrieb_plus_aktiv := #MA0327, Schleuse_geöffnet := #MB4516, Y_Schleuse_Auf := #DEPtoLP_Zylinder.Schleuse_4516.Stat.Ast, Error := %DB708.DBW566, Antrieb_Schleuse_vor := #DEPtoLP_Antriebe.MA0327.Stat.A_vor, Antrieb_Schleuse_start := #DEPtoLP_Antriebe.MA0327.Stat.A_start, Antrieb_Schleuse_stop := #DEPtoLP_Antriebe.MA0327.Stat.Stop_vor, Antrieb_Schleuse_PS := #DEPtoLP_Antriebe.MA0327.Stat.A_PS, Antrieb_plus_vor := , hStOk := #ErrAnz); // Identisch
|
|
END_REGION
|
|
|
|
REGION Schleuse 4522
|
|
#Schleuse_4522(Schleusen_Nr := 4522, ErrQuit := #ErrQuit, B_VorSchleuse := #BG4517, B_InSchleuse := #BG4522, B_AusSchleuse := #BG4521, B_Stau_raus := #DEPtoLP_Sensoren.Stau_BG4521.Stat.B_Akt, Start_Ok := 1, Antrieb_Schleuse_aktiv := #MA0327, Antrieb_plus_aktiv := #MA0327, Schleuse_geöffnet := #MB4522, Y_Schleuse_Auf := #DEPtoLP_Zylinder.Schleuse_4522.Stat.Ast, Error := %DB708.DBW582, Antrieb_Schleuse_vor := #DEPtoLP_Antriebe.MA0327.Stat.A_vor, Antrieb_Schleuse_start := #DEPtoLP_Antriebe.MA0327.Stat.A_start, Antrieb_Schleuse_stop := #DEPtoLP_Antriebe.MA0327.Stat.Stop_vor, Antrieb_Schleuse_PS := #DEPtoLP_Antriebe.MA0327.Stat.A_PS, Antrieb_plus_vor := , hStOk := #ErrAnz); // Identisch
|
|
END_REGION
|
|
|
|
REGION Wartezeit bis erneuter Trolleystart sinnvoll (wegen Staubildung)
|
|
#tGen1_Flanke := #MB4520 AND NOT #Trolleys_starten.Flanke;
|
|
#Trolleys_starten.Flanke := #MB4520;
|
|
IF #tGen1_Flanke THEN #Trolleys_starten.Wartezeit_aktiv := TRUE; END_IF;
|
|
IF #tGen1_Flanke THEN #Trolleys_starten.Timer_Wartenzeit := 15; END_IF;
|
|
IF NOT (#Trolleys_starten.Wartezeit_aktiv) OR ((#MB4520 AND NOT (#MA0327)) OR NOT (#g_1s_Impuls)) THEN GOTO Wait; END_IF;
|
|
#Trolleys_starten.Timer_Wartenzeit := #Trolleys_starten.Timer_Wartenzeit + -1;
|
|
IF (#Trolleys_starten.Timer_Wartenzeit + -1) > 0 THEN GOTO Wait; END_IF;
|
|
#Trolleys_starten.Wartezeit_aktiv := FALSE;
|
|
Wait: ;
|
|
END_REGION
|
|
|
|
REGION Schleuse 4520
|
|
#Fahren_Ok := NOT (#Trolleys_starten.Wartezeit_aktiv);
|
|
#B_vor_Schleuse := #BG4517 OR #BG4521;
|
|
#Schleuse_4520(Schleusen_Nr := 4520, ErrQuit := #ErrQuit, B_VorSchleuse := #B_vor_Schleuse, B_InSchleuse := #BG4520, B_AusSchleuse := #BG4455, B_Stau_raus := #DEPtoLP_Sensoren.Stau_BG4455.Stat.B_Akt, Start_Ok := #Fahren_Ok, Antrieb_Schleuse_aktiv := #MA0327, Antrieb_plus_aktiv := #MA0330, Schleuse_geöffnet := #MB4520, RestZeit_Bereich_plus := #Bereich_4456.Dyn.Restzeit, Y_Schleuse_Auf := #DEPtoLP_Zylinder.Schleuse_4520.Stat.Ast, Error := %DB708.DBW568, Antrieb_Schleuse_vor := #DEPtoLP_Antriebe.MA0327.Stat.A_vor, Antrieb_Schleuse_start := #DEPtoLP_Antriebe.MA0327.Stat.A_start, Antrieb_Schleuse_stop := #DEPtoLP_Antriebe.MA0327.Stat.Stop_vor, Antrieb_Schleuse_PS := #DEPtoLP_Antriebe.MA0327.Stat.A_PS, Antrieb_plus_vor := #Bereich_4456.Dyn.Status.Trolley_kommt_in_Bereich, hStOk := #ErrAnz);
|
|
END_REGION
|
|
|
|
REGION Störungen anzeigen UZ7402/7403
|
|
IF #ErrAnz THEN
|
|
#ErrAnz := FALSE;
|
|
#DOutbound_Bereich.A01_UZ7402.StOk_blinken := TRUE;
|
|
#DOutbound_Bereich.A01_UZ7403.StOk_blinken := TRUE;
|
|
#DOutbound_Bereich.A01_UC074.StOk_blinken := TRUE;
|
|
#DOutbound_Bereich.A01_UH07.StOk_blinken := TRUE;
|
|
END_IF;
|
|
END_REGION
|
|
|
|
REGION Störungen quittieren UZ7402/7401
|
|
#ErrQuit := ((#DOutbound_Bereich.A01_UZ7402.StOk_aktiv OR #DOutbound_Bereich.A01_UZ7401.StOk_aktiv) OR #DOutbound_Bereich.A01_UC074.StOk_aktiv) OR #DOutbound_Bereich.A01_UH07.StOk_aktiv;
|
|
END_REGION
|
|
|
|
REGION Bereich 4456
|
|
#B_vor_Schleuse := #MB4520 AND #BG4455;
|
|
#Stau_raus := #DEPtoLP_Sensoren.Stau_BG4457.Stat.B_Akt OR #DEPtoLP_Sensoren.Stau_BG4467.Stat.B_Akt;
|
|
#Bereich_4456(Bereichs_Nr := 4456, ErrQuit := #ErrQuit, B_BereichsAnfang := #B_vor_Schleuse, B_BereichsEnde := #BG4456, B_Zähl := #BG4467, B_Stau_raus := #Stau_raus, Start_Ok := 1, Antrieb_Bereich_aktiv := #MA0330, Antrieb_plus_aktiv := #MA0331, Antrieb_Bereich_vor := #DEPtoLP_Antriebe.MA0330.Stat.A_vor, Antrieb_Bereich_stop := #DEPtoLP_Antriebe.MA0330.Stat.Stop_vor, Error := %DB708.DBW478, Antrieb_Bereich_start := #DEPtoLP_Antriebe.MA0330.Stat.A_start, Antrieb_plus_vor := #DEPtoLP_Antriebe.MA0331.Stat.A_vor, Antrieb_plus_start := #DEPtoLP_Antriebe.MA0331.Stat.A_start, Antrieb_minus_vor := #DEPtoLP_Antriebe.MA0327.Stat.A_vor, hStOk := #ErrAnz);
|
|
END_REGION
|
|
|
|
REGION Störungen anzeigen UZ7402/7401
|
|
IF #ErrAnz THEN
|
|
#ErrAnz := FALSE;
|
|
#DOutbound_Bereich.A01_UZ7402.StOk_blinken := TRUE;
|
|
#DOutbound_Bereich.A01_UZ7401.StOk_blinken := TRUE;
|
|
#DOutbound_Bereich.A01_UC074.StOk_blinken := TRUE;
|
|
#DOutbound_Bereich.A01_UH07.StOk_blinken := TRUE;
|
|
END_IF;
|
|
END_REGION
|
|
|
|
REGION Störungen quittieren UZ7401
|
|
#ErrQuit := (#DOutbound_Bereich.A01_UZ7401.StOk_aktiv OR #DOutbound_Bereich.A01_UC074.StOk_aktiv) OR #DOutbound_Bereich.A01_UH07.StOk_aktiv;
|
|
END_REGION
|
|
|
|
REGION Schleuse 4466
|
|
#Start_ok := NOT (#MB4445) AND NOT (#MB4457);
|
|
#Schleuse_4466(Schleusen_Nr := 4466, ErrQuit := #ErrQuit, B_VorSchleuse := #BG4457, B_InSchleuse := #BG4466, B_Zähl := #BG4461, B_Stau_raus := #DEPtoLP_Sensoren.Stau_BG4461.Stat.B_Akt, Start_Ok := #Start_ok, Antrieb_Schleuse_aktiv := #MA0331, Antrieb_plus_aktiv := #MA0332, Schleuse_geöffnet := #MB4466, Y_Schleuse_Auf := #DEPtoLP_Zylinder.Schleuse_4466.Stat.Ast, Error := %DB708.DBW562, Antrieb_Schleuse_vor := #DEPtoLP_Antriebe.MA0331.Stat.A_vor, Antrieb_Schleuse_start := #DEPtoLP_Antriebe.MA0331.Stat.A_start, Antrieb_Schleuse_stop := #DEPtoLP_Antriebe.MA0331.Stat.Stop_vor, Antrieb_Schleuse_PS := #DEPtoLP_Antriebe.MA0331.Stat.A_PS, Antrieb_plus_vor := #DEPtoLP_Antriebe.MA0332.Stat.A_vor, Antrieb_plus_start := #DEPtoLP_Antriebe.MA0332.Stat.A_start, hStOk := #ErrAnz);
|
|
END_REGION
|
|
|
|
REGION Schleuse 4462
|
|
#Schleuse_4462(Schleusen_Nr := 4462, ErrQuit := #ErrQuit, B_VorSchleuse := #BG4461, B_InSchleuse := #BG4462, B_Zähl := #BG4460, B_Stau_raus := #DEPtoLP_Sensoren.Stau_BG4460.Stat.B_Akt, Start_Ok := 1, Antrieb_Schleuse_aktiv := #MA0332, Schleuse_geöffnet := #MB4462, Y_Schleuse_Auf := #DEPtoLP_Zylinder.Schleuse_4462.Stat.Ast, Error := %DB708.DBW560, Antrieb_Schleuse_vor := #DEPtoLP_Antriebe.MA0332.Stat.A_vor, Antrieb_Schleuse_start := #DEPtoLP_Antriebe.MA0332.Stat.A_start, Antrieb_Schleuse_stop := #DEPtoLP_Antriebe.MA0332.Stat.Stop_vor, Antrieb_Schleuse_PS := #DEPtoLP_Antriebe.MA0332.Stat.A_PS, hStOk := #ErrAnz);
|
|
END_REGION
|
|
|
|
REGION Schleuse 4463
|
|
#Schleuse_4463(Schleusen_Nr := 4463, ErrQuit := #ErrQuit, B_VorSchleuse := #BG4460, B_InSchleuse := #BG4463, B_AusSchleuse := #BG4464, B_Stau_raus := #DEPtoLP_Sensoren.Stau_BG4464.Stat.B_Akt, Start_Ok := 1, Antrieb_Schleuse_aktiv := #MA0332, Antrieb_plus_aktiv := #MA0333, Schleuse_geöffnet := #MB4463, RestZeit_Bereich_plus := #Bereich_4465.Dyn.Restzeit, Y_Schleuse_Auf := #DEPtoLP_Zylinder.Schleuse_4463.Stat.Ast, Error := %DB708.DBW584, Antrieb_Schleuse_vor := #DEPtoLP_Antriebe.MA0332.Stat.A_vor, Antrieb_Schleuse_start := #DEPtoLP_Antriebe.MA0332.Stat.A_start, Antrieb_Schleuse_stop := #DEPtoLP_Antriebe.MA0332.Stat.Stop_vor, Antrieb_Schleuse_PS := #DEPtoLP_Antriebe.MA0332.Stat.A_PS, Antrieb_plus_vor := #Bereich_4465.Dyn.Status.Trolley_kommt_in_Bereich, hStOk := #ErrAnz);
|
|
END_REGION
|
|
|
|
REGION Bereich 4465 (vor BST 1)
|
|
#Fahren_Ok := ((((NOT (#g_7_HMI_Err_UH07_OB.System.Gesamt_Feueralarm_Halle3) AND NOT (#g_7_HMI_Err_UH07_OB.System.Gesamt_Feueralarm_Halle4)) AND NOT (#g_7_HMI_Err_UH07_OB.System.BST1_Feueralarm)) AND NOT (#g_7_HMI_Err_UH07_OB.System.BST1_Geschlossen)) AND NOT (#g_7_HMI_Err_UH07_OB.System.BST1_Störung)) AND #Schleuse_3370.Dyn.Sk.Bereich_ok;
|
|
#Bereich_4465(Bereichs_Nr := 4465, ErrQuit := #ErrQuit, B_BereichsAnfang := #BG4464, B_BereichsEnde := #BG4465, B_Zähl := #BG3367, B_Stau_raus := #DEPtoLP_Sensoren.Stau_BG3367.Stat.B_Akt, Start_Ok := #Fahren_Ok, Antrieb_Bereich_aktiv := #MA0333, Antrieb_plus_aktiv := #MA0062, Antrieb_Bereich_vor := #DEPtoLP_Antriebe.MA0333.Stat.A_vor, Antrieb_Bereich_stop := #DEPtoLP_Antriebe.MA0333.Stat.Stop_vor, Error := %DB708.DBW480, Antrieb_Bereich_start := #DEPtoLP_Antriebe.MA0333.Stat.A_start, Antrieb_plus_vor := #DEPtoLP_Antriebe.MA0062.Stat.A_vor, Antrieb_plus_start := #DEPtoLP_Antriebe.MA0062.Stat.A_start, Antrieb_minus_vor := #DEPtoLP_Antriebe.MA0332.Stat.A_vor, hStOk := #ErrAnz);
|
|
END_REGION
|
|
|
|
REGION Störungen anzeigen UZ7401
|
|
IF #ErrAnz THEN
|
|
#ErrAnz := FALSE;
|
|
#DOutbound_Bereich.A01_UZ7401.StOk_blinken := TRUE;
|
|
#DOutbound_Bereich.A01_UC074.StOk_blinken := TRUE;
|
|
#DOutbound_Bereich.A01_UH07.StOk_blinken := TRUE;
|
|
END_IF;
|
|
END_REGION
|
|
|
|
REGION Störungen quittieren UZ0701
|
|
#ErrQuit := #DOutbound_Bereich.A01_UZ0701.StOk_aktiv OR #DOutbound_Bereich.A01_UH07.StOk_aktiv;
|
|
END_REGION
|
|
|
|
REGION Schleuse 3370 (hinter BST 1)
|
|
IF #Bereich_4465.Dyn.Status.Trolley_fährt_aus OR (#DEPtoLP_Sensoren.Stau_BG3367.Stat.B_Akt AND NOT (#BG3370)) THEN #DEPtoLP_Antriebe.MA0062.Stat.A_vor := TRUE; END_IF;
|
|
#Stau_raus := (#DEPtoLP_Sensoren.Stau_BG3371.Stat.B_Akt OR #DEPtoLP_Sensoren.Stau_BG3372.Stat.B_Akt) OR #DEPtoLP_Sensoren.Stau_BG3377.Stat.B_Akt;
|
|
#Schleuse_3370(Schleusen_Nr := 3370, ErrQuit := #ErrQuit, B_VorSchleuse := #DEPtoLP_Sensoren.Stau_BG3367.Stat.B_Akt, B_InSchleuse := #BG3370, B_AusSchleuse := #BG3372, B_Stau_raus := #Stau_raus, Start_Ok := 1, Antrieb_Schleuse_aktiv := #MA0062, Antrieb_plus_aktiv := #MA0063, Schleuse_geöffnet := #MB3370, RestZeit_Bereich_plus := #Bereich_3373.Dyn.Restzeit, Y_Schleuse_Auf := #DEPtoLP_Zylinder.Schleuse_3370.Stat.Ast, Error := %DB708.DBW532, Antrieb_Schleuse_vor := #DEPtoLP_Antriebe.MA0062.Stat.A_vor, Antrieb_Schleuse_start := #DEPtoLP_Antriebe.MA0062.Stat.A_start, Antrieb_Schleuse_stop := #DEPtoLP_Antriebe.MA0062.Stat.Stop_vor, Antrieb_Schleuse_PS := #DEPtoLP_Antriebe.MA0062.Stat.A_PS, Antrieb_plus_vor := #Bereich_3373.Dyn.Status.Trolley_kommt_in_Bereich, hStOk := #ErrAnz);
|
|
END_REGION
|
|
|
|
REGION Störungen anzeigen UZ0701
|
|
IF #ErrAnz THEN
|
|
#ErrAnz := FALSE;
|
|
#DOutbound_Bereich.A01_UZ0701.StOk_blinken := TRUE;
|
|
#DOutbound_Bereich.A01_UH07.StOk_blinken := TRUE;
|
|
END_IF;
|
|
END_REGION
|
|
|
|
REGION Störungen quittieren UZ0701/0702
|
|
#ErrQuit := (#DOutbound_Bereich.A01_UZ0701.StOk_aktiv OR #DOutbound_Bereich.A01_UZ0702.StOk_aktiv) OR #DOutbound_Bereich.A01_UH07.StOk_aktiv;
|
|
END_REGION
|
|
|
|
REGION Bereich 3373 (Runter ins EG)
|
|
#B_vor_Schleuse := #MB3370 AND #BG3372;
|
|
#Stau_raus := #DEPtoLP_Sensoren.Stau_BG3376.Stat.B_Akt OR #DEPtoLP_Sensoren.Stau_BG3377.Stat.B_Akt;
|
|
#Bereich_3373(Bereichs_Nr := 3373, ErrQuit := #ErrQuit, B_BereichsAnfang := #B_vor_Schleuse, B_BereichsEnde := #BG3373, B_Zähl := #BG3377, B_Stau_raus := #Stau_raus, Start_Ok := 1, Antrieb_Bereich_aktiv := #MA0063, Antrieb_plus_aktiv := #MA0064, Antrieb_Bereich_vor := #DEPtoLP_Antriebe.MA0063.Stat.A_vor, Antrieb_Bereich_stop := #DEPtoLP_Antriebe.MA0063.Stat.Stop_vor, Error := %DB708.DBW456, Antrieb_Bereich_start := #DEPtoLP_Antriebe.MA0063.Stat.A_start, Antrieb_plus_vor := #DEPtoLP_Antriebe.MA0064.Stat.A_vor, Antrieb_plus_start := #DEPtoLP_Antriebe.MA0064.Stat.A_start, Antrieb_minus_vor := #DEPtoLP_Antriebe.MA0062.Stat.A_vor, hStOk := #ErrAnz);
|
|
END_REGION
|
|
|
|
REGION Störungen anzeigen UZ0701/0702
|
|
IF #ErrAnz THEN
|
|
#ErrAnz := FALSE;
|
|
#DOutbound_Bereich.A01_UZ0701.StOk_blinken := TRUE;
|
|
#DOutbound_Bereich.A01_UZ0702.StOk_blinken := TRUE;
|
|
#DOutbound_Bereich.A01_UH07.StOk_blinken := TRUE;
|
|
END_IF;
|
|
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 3303
|
|
#Schleuse_3303(Schleusen_Nr := 3303, ErrQuit := #ErrQuit, B_VorSchleuse := #BG3377, B_InSchleuse := #BG3303, B_AusSchleuse := #BG3304, B_Stau_raus := #DEPtoLP_Sensoren.Stau_BG3304.Stat.B_Akt, Start_Ok := 1, Antrieb_Schleuse_aktiv := #MA0064, Antrieb_plus_aktiv := #MA0064, Schleuse_geöffnet := #MB3303, Y_Schleuse_Auf := #DEPtoLP_Zylinder.Schleuse_3303.Stat.Ast, Error := %DB708.DBW522, 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, Antrieb_plus_vor := , hStOk := #ErrAnz); // wie oben
|
|
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
|