575 lines
15 KiB
Plaintext
575 lines
15 KiB
Plaintext
FUNCTION_BLOCK "MAusfahrFreigabe"
|
|
TITLE = Ausfahrfreigabe für Pufferstrecken
|
|
{ S7_Optimized_Access := 'FALSE' }
|
|
VERSION : 0.1
|
|
VAR_INPUT
|
|
Antrieb_aktiv { ExternalWritable := 'False'} : Bool;
|
|
Kommt_1 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_2 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_3 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_4 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_5 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_6 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_7 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_8 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_9 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_10 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_11 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_12 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_13 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_14 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_15 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_16 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_17 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_18 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_19 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_20 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_21 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_22 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_23 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_24 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Kommt_25 { ExternalWritable := 'False'} : Bool; // BM fährt aus Strecke ausgefahren
|
|
Vorbei_1 { ExternalWritable := 'False'} : Bool; // BM ist an Sensor vorbeigefahren
|
|
Vorbei_2 { ExternalWritable := 'False'} : Bool; // BM ist an Sensor vorbeigefahren
|
|
Vorbei_3 { ExternalWritable := 'False'} : Bool; // BM ist an Sensor vorbeigefahren
|
|
Vorbei_4 { ExternalWritable := 'False'} : Bool; // BM ist an Sensor vorbeigefahren
|
|
Vorbei_5 { ExternalWritable := 'False'} : Bool; // BM ist an Sensor vorbeigefahren
|
|
Nur_1 { ExternalWritable := 'False'} : Bool; // Nachtriggern nur bei Vorbei_1
|
|
END_VAR
|
|
|
|
VAR
|
|
Para : Struct
|
|
Sicherheit : Int := 60; // Sicherheitszeit dazu[100ms]
|
|
Abstand_Lines : Int := 20; // Abstand zwischen 2 Linien [100ms]
|
|
Position_Vorbei_1 : Int; // Vorbei-Sensor in Höhe Linie X
|
|
Position_Vorbei_2 : Int; // Vorbei-Sensor in Höhe Linie X
|
|
Position_Vorbei_3 : Int; // Vorbei-Sensor in Höhe Linie X
|
|
Position_Vorbei_4 : Int; // Vorbei-Sensor in Höhe Linie X
|
|
Position_Vorbei_5 : Int; // Vorbei-Sensor in Höhe Linie X
|
|
END_STRUCT;
|
|
Dyn : Struct
|
|
RestZeit : Int; // BM noch unterwegs [s]
|
|
Aktiv_Line : Int; // Aktive Linie
|
|
Last_Line : Int; // Letzte aktive Linie
|
|
Nachtrigger_Freigabe : Int; // Nachtriggern der Freigabe der ausfahrenden Linie
|
|
END_STRUCT;
|
|
Out : Struct
|
|
Line_1_Ok : Bool;
|
|
Line_2_Ok : Bool;
|
|
Line_3_Ok : Bool;
|
|
Line_4_Ok : Bool;
|
|
Line_5_Ok : Bool;
|
|
Line_6_Ok : Bool;
|
|
Line_7_Ok : Bool;
|
|
Line_8_Ok : Bool;
|
|
Line_9_Ok : Bool;
|
|
Line_10_Ok : Bool;
|
|
Line_11_Ok : Bool;
|
|
Line_12_Ok : Bool;
|
|
Line_13_Ok : Bool;
|
|
Line_14_Ok : Bool;
|
|
Line_15_Ok : Bool;
|
|
Line_16_Ok : Bool;
|
|
Line_17_Ok : Bool;
|
|
Line_18_Ok : Bool;
|
|
Line_19_Ok : Bool;
|
|
Line_20_Ok : Bool;
|
|
Line_21_Ok : Bool;
|
|
Line_22_Ok : Bool;
|
|
Line_23_Ok : Bool;
|
|
Line_24_Ok : Bool;
|
|
Line_25_Ok : Bool;
|
|
END_STRUCT;
|
|
END_VAR
|
|
|
|
|
|
BEGIN
|
|
NETWORK
|
|
TITLE = Erst mal
|
|
SET;
|
|
R #Out.Line_1_Ok;
|
|
R #Out.Line_2_Ok;
|
|
R #Out.Line_3_Ok;
|
|
R #Out.Line_4_Ok;
|
|
R #Out.Line_5_Ok;
|
|
R #Out.Line_6_Ok;
|
|
R #Out.Line_7_Ok;
|
|
R #Out.Line_8_Ok;
|
|
R #Out.Line_9_Ok;
|
|
R #Out.Line_10_Ok;
|
|
R #Out.Line_11_Ok;
|
|
R #Out.Line_12_Ok;
|
|
R #Out.Line_13_Ok;
|
|
R #Out.Line_14_Ok;
|
|
R #Out.Line_15_Ok;
|
|
R #Out.Line_16_Ok;
|
|
R #Out.Line_17_Ok;
|
|
R #Out.Line_18_Ok;
|
|
R #Out.Line_19_Ok;
|
|
R #Out.Line_20_Ok;
|
|
R #Out.Line_21_Ok;
|
|
R #Out.Line_22_Ok;
|
|
R #Out.Line_23_Ok;
|
|
R #Out.Line_24_Ok;
|
|
R #Out.Line_25_Ok;
|
|
|
|
NETWORK
|
|
TITLE = Vorbei.Sensoren auswerten
|
|
UN #Vorbei_1;
|
|
SPB V002;
|
|
|
|
L #Para.Position_Vorbei_1;
|
|
L #Para.Abstand_Lines;
|
|
*I;
|
|
L #Para.Sicherheit;
|
|
+I;//Neue RestZeit ermitteln
|
|
L #Dyn.RestZeit;//Neuer Wert kleiner?
|
|
<I;//Ja !
|
|
SPB V002;//Ohne Speicherung weiter
|
|
|
|
TAK;//Neuen Wert übernehmen
|
|
T #Dyn.RestZeit;//Wert speichern
|
|
|
|
V002: UN #Vorbei_2;
|
|
O #Nur_1;//Nachtriggern nur bei Vorbei_1
|
|
SPB V003;
|
|
|
|
L #Para.Position_Vorbei_2;
|
|
L #Para.Abstand_Lines;
|
|
*I;
|
|
L #Para.Sicherheit;
|
|
+I;//Neue RestZeit ermitteln
|
|
L #Dyn.RestZeit;//Neuer Wert kleiner?
|
|
<I;//Ja !
|
|
SPB V003;//Ohne Speicherung weiter
|
|
|
|
TAK;//Neuen Wert übernehmen
|
|
T #Dyn.RestZeit;//Wert speichern
|
|
|
|
V003: UN #Vorbei_3;
|
|
O #Nur_1;//Nachtriggern nur bei Vorbei_1
|
|
SPB V004;
|
|
|
|
L #Para.Position_Vorbei_3;
|
|
L #Para.Abstand_Lines;
|
|
*I;
|
|
L #Para.Sicherheit;
|
|
+I;//Neue RestZeit ermitteln
|
|
L #Dyn.RestZeit;//Neuer Wert kleiner?
|
|
<I;//Ja !
|
|
SPB V004;//Ohne Speicherung weiter
|
|
|
|
TAK;//Neuen Wert übernehmen
|
|
T #Dyn.RestZeit;//Wert speichern
|
|
|
|
V004: UN #Vorbei_4;
|
|
O #Nur_1;//Nachtriggern nur bei Vorbei_1
|
|
SPB V005;
|
|
|
|
L #Para.Position_Vorbei_4;
|
|
L #Para.Abstand_Lines;
|
|
*I;
|
|
L #Para.Sicherheit;
|
|
+I;//Neue RestZeit ermitteln
|
|
L #Dyn.RestZeit;//Neuer Wert kleiner?
|
|
<I;//Ja !
|
|
SPB V005;//Ohne Speicherung weiter
|
|
|
|
TAK;//Neuen Wert übernehmen
|
|
T #Dyn.RestZeit;//Wert speichern
|
|
|
|
V005: UN #Vorbei_5;
|
|
O #Nur_1;//Nachtriggern nur bei Vorbei_1
|
|
SPB V00E;
|
|
|
|
L #Para.Position_Vorbei_5;
|
|
L #Para.Abstand_Lines;
|
|
*I;
|
|
L #Para.Sicherheit;
|
|
+I;//Neue RestZeit ermitteln
|
|
L #Dyn.RestZeit;//Neuer Wert kleiner?
|
|
<I;//Ja !
|
|
SPB V00E;//Ohne Speicherung weiter
|
|
|
|
TAK;//Neuen Wert übernehmen
|
|
T #Dyn.RestZeit;//Wert speichern
|
|
|
|
V00E: NOP 0;
|
|
|
|
NETWORK
|
|
TITLE = Aus-/vorbeifahrendes BM -> Aktivzeit speichern
|
|
L 25;
|
|
U #Kommt_25;
|
|
SPB Save;
|
|
L 24;
|
|
U #Kommt_24;
|
|
SPB Save;
|
|
L 23;
|
|
U #Kommt_23;
|
|
SPB Save;
|
|
L 22;
|
|
U #Kommt_22;
|
|
SPB Save;
|
|
L 21;
|
|
U #Kommt_21;
|
|
SPB Save;
|
|
L 20;
|
|
U #Kommt_20;
|
|
SPB Save;
|
|
L 19;
|
|
U #Kommt_19;
|
|
SPB Save;
|
|
L 18;
|
|
U #Kommt_18;
|
|
SPB Save;
|
|
L 17;
|
|
U #Kommt_17;
|
|
SPB Save;
|
|
L 16;
|
|
U #Kommt_16;
|
|
SPB Save;
|
|
L 15;
|
|
U #Kommt_15;
|
|
SPB Save;
|
|
L 14;
|
|
U #Kommt_14;
|
|
SPB Save;
|
|
L 13;
|
|
U #Kommt_13;
|
|
SPB Save;
|
|
L 12;
|
|
U #Kommt_12;
|
|
SPB Save;
|
|
L 11;
|
|
U #Kommt_11;
|
|
SPB Save;
|
|
L 10;
|
|
U #Kommt_10;
|
|
SPB Save;
|
|
L 9;
|
|
U #Kommt_9;
|
|
SPB Save;
|
|
L 8;
|
|
U #Kommt_8;
|
|
SPB Save;
|
|
L 7;
|
|
U #Kommt_7;
|
|
SPB Save;
|
|
L 6;
|
|
U #Kommt_6;
|
|
SPB Save;
|
|
L 5;
|
|
U #Kommt_5;
|
|
SPB Save;
|
|
L 4;
|
|
U #Kommt_4;
|
|
SPB Save;
|
|
L 3;
|
|
U #Kommt_3;
|
|
SPB Save;
|
|
L 2;
|
|
U #Kommt_2;
|
|
SPB Save;
|
|
L 1;
|
|
U #Kommt_1;
|
|
SPB Save;
|
|
|
|
SPA Zeit;
|
|
|
|
Save: T #Dyn.Aktiv_Line;//Aktive Linie speichern
|
|
|
|
L #Para.Abstand_Lines;
|
|
*I;
|
|
L #Para.Sicherheit;
|
|
+I;//RestZeit ermitteln
|
|
L #Dyn.RestZeit;//Neuer Wert größer?
|
|
>=I;//Ja !
|
|
SPB Ok;
|
|
|
|
//Ausgefahrene Stelle ist kleiner:
|
|
L 0;//Löschen
|
|
T #Dyn.Aktiv_Line;//Aktive Linie
|
|
T #Dyn.Nachtrigger_Freigabe;//Nachtriggern der Freigabe der ausfahrenden Linie
|
|
|
|
BEA;
|
|
|
|
Ok: TAK;//Neuen Wert übernehmen
|
|
T #Dyn.RestZeit;//Wert speichern
|
|
|
|
//Freigabe aus aktiver Linie verlängern aktivieren:
|
|
L #Para.Sicherheit;
|
|
L #Para.Abstand_Lines;
|
|
+I;
|
|
L 10;
|
|
/I;
|
|
L 2;///Nach 2 Sekunden
|
|
T #Dyn.Nachtrigger_Freigabe;//Nachtriggern der Freigabe der ausfahrenden Linie
|
|
|
|
NETWORK
|
|
TITLE = Aktiv-/Nachtrigger-Zeit verändern
|
|
Zeit: UN #Antrieb_aktiv ;//Antrieb aktiv
|
|
ON "1s-Impuls";//1s-Impuls
|
|
SPB Chk;
|
|
|
|
//BM ist unterwegs:
|
|
L #Dyn.RestZeit;
|
|
+ -10;//10*100ms = 1s
|
|
T #Dyn.RestZeit;
|
|
|
|
L 0;//Minimum erreicht?
|
|
>I;//Nein !
|
|
SPB Trig;
|
|
|
|
T #Dyn.RestZeit;//Minimum übergeben
|
|
|
|
//Freigabe nachtriggern:
|
|
Trig: L #Dyn.Nachtrigger_Freigabe;//Nachtriggern der Freigabe der ausfahrenden Linie
|
|
+ -1;
|
|
T #Dyn.Nachtrigger_Freigabe;//Nachtriggern der Freigabe der ausfahrenden Linie
|
|
|
|
L 0;//Minimum erreicht?
|
|
>I;//Nein !
|
|
SPB Chk;
|
|
|
|
T #Dyn.Nachtrigger_Freigabe;//Minimum übergeben
|
|
T #Dyn.Aktiv_Line;
|
|
T #Dyn.Last_Line;
|
|
|
|
NETWORK
|
|
TITLE = Nachtriggern der Freigabe der ausfahrenden Linie
|
|
Chk: L #Dyn.Aktiv_Line ;//Aktive Linie
|
|
L #Dyn.Last_Line;
|
|
<>I;//Unterschiedlich !
|
|
SPB More;
|
|
|
|
TAK;
|
|
SPL ENDE_Mig;
|
|
SPA ENDE_Mig;//Bei 0
|
|
SPA Li01;//Linie 1 war aktiv
|
|
SPA Li02;
|
|
SPA Li03;
|
|
SPA Li04;
|
|
SPA Li05;
|
|
SPA Li06;
|
|
SPA Li07;
|
|
SPA Li08;
|
|
SPA Li09;
|
|
SPA Li10;
|
|
SPA Li11;
|
|
SPA Li12;
|
|
SPA Li13;
|
|
SPA Li14;
|
|
SPA Li15;
|
|
SPA Li16;
|
|
SPA Li17;
|
|
SPA Li18;
|
|
SPA Li19;
|
|
SPA Li20;
|
|
SPA Li21;
|
|
SPA Li22;
|
|
SPA Li23;
|
|
SPA Li24;
|
|
SPA Li25;//Linie 25 war aktiv
|
|
ENDE_Mig: SPA More;
|
|
|
|
Li01: SET;
|
|
S #Out.Line_1_Ok;
|
|
BEA;
|
|
Li02: SET;
|
|
S #Out.Line_2_Ok;
|
|
BEA;
|
|
Li03: SET;
|
|
S #Out.Line_3_Ok;
|
|
BEA;
|
|
Li04: SET;
|
|
S #Out.Line_4_Ok;
|
|
BEA;
|
|
Li05: SET;
|
|
S #Out.Line_5_Ok;
|
|
BEA;
|
|
Li06: SET;
|
|
S #Out.Line_6_Ok;
|
|
BEA;
|
|
Li07: SET;
|
|
S #Out.Line_7_Ok;
|
|
BEA;
|
|
Li08: SET;
|
|
S #Out.Line_8_Ok;
|
|
BEA;
|
|
Li09: SET;
|
|
S #Out.Line_9_Ok;
|
|
BEA;
|
|
Li10: SET;
|
|
S #Out.Line_10_Ok;
|
|
BEA;
|
|
Li11: SET;
|
|
S #Out.Line_11_Ok;
|
|
BEA;
|
|
Li12: SET;
|
|
S #Out.Line_12_Ok;
|
|
BEA;
|
|
Li13: SET;
|
|
S #Out.Line_13_Ok;
|
|
BEA;
|
|
Li14: SET;
|
|
S #Out.Line_14_Ok;
|
|
BEA;
|
|
Li15: SET;
|
|
S #Out.Line_15_Ok;
|
|
BEA;
|
|
Li16: SET;
|
|
S #Out.Line_16_Ok;
|
|
BEA;
|
|
Li17: SET;
|
|
S #Out.Line_17_Ok;
|
|
BEA;
|
|
Li18: SET;
|
|
S #Out.Line_18_Ok;
|
|
BEA;
|
|
Li19: SET;
|
|
S #Out.Line_19_Ok;
|
|
BEA;
|
|
Li20: SET;
|
|
S #Out.Line_20_Ok;
|
|
BEA;
|
|
Li21: SET;
|
|
S #Out.Line_21_Ok;
|
|
BEA;
|
|
Li22: SET;
|
|
S #Out.Line_22_Ok;
|
|
BEA;
|
|
Li23: SET;
|
|
S #Out.Line_23_Ok;
|
|
BEA;
|
|
Li24: SET;
|
|
S #Out.Line_24_Ok;
|
|
BEA;
|
|
Li25: SET;
|
|
S #Out.Line_25_Ok;
|
|
BEA;
|
|
|
|
More: NOP 0;
|
|
|
|
NETWORK
|
|
TITLE = Freigaben an Pufferstrecken aufgrund der fahrenden BM
|
|
L #Dyn.RestZeit;
|
|
L 10;
|
|
/I;
|
|
SPL Ende;
|
|
SPA Ok01;//Restzeit in 0 Sekunden
|
|
SPA Ok01;//Restzeit in 1 Sekunden
|
|
SPA Ok02;//Restzeit in 2 Sekunden
|
|
SPA Ok02;//Restzeit in 3 Sekunden
|
|
SPA Ok03;//Restzeit in 4 Sekunden
|
|
SPA Ok03;//Restzeit in 5 Sekunden
|
|
SPA Ok04;//Restzeit in 6 Sekunden
|
|
SPA Ok04;//Restzeit in 7 Sekunden
|
|
SPA Ok05;//Restzeit in 8 Sekunden
|
|
SPA Ok05;//Restzeit in 9 Sekunden
|
|
SPA Ok06;//Restzeit in 10 Sekunden
|
|
SPA Ok06;//Restzeit in 11 Sekunden
|
|
SPA Ok07;//Restzeit in 12 Sekunden
|
|
SPA Ok07;//Restzeit in 13 Sekunden
|
|
SPA Ok08;//Restzeit in 14 Sekunden
|
|
SPA Ok08;//Restzeit in 15 Sekunden
|
|
SPA Ok09;//Restzeit in 16 Sekunden
|
|
SPA Ok09;//Restzeit in 17 Sekunden
|
|
SPA Ok10;//Restzeit in 18 Sekunden
|
|
SPA Ok10;//Restzeit in 19 Sekunden
|
|
SPA Ok11;//Restzeit in 20 Sekunden
|
|
SPA Ok11;//Restzeit in 21 Sekunden
|
|
SPA Ok12;//Restzeit in 22 Sekunden
|
|
SPA Ok12;//Restzeit in 23 Sekunden
|
|
SPA Ok13;//Restzeit in 24 Sekunden
|
|
SPA Ok13;//Restzeit in 25 Sekunden
|
|
SPA Ok14;//Restzeit in 26 Sekunden
|
|
SPA Ok14;//Restzeit in 27 Sekunden
|
|
SPA Ok15;//Restzeit in 28 Sekunden
|
|
SPA Ok15;//Restzeit in 29 Sekunden
|
|
SPA Ok16;//Restzeit in 30 Sekunden
|
|
SPA Ok16;//Restzeit in 31 Sekunden
|
|
SPA Ok17;//Restzeit in 32 Sekunden
|
|
SPA Ok17;//Restzeit in 33 Sekunden
|
|
SPA Ok18;//Restzeit in 34 Sekunden
|
|
SPA Ok18;//Restzeit in 35 Sekunden
|
|
SPA Ok19;//Restzeit in 36 Sekunden
|
|
SPA Ok19;//Restzeit in 33 Sekunden
|
|
SPA Ok20;//Restzeit in 38 Sekunden
|
|
SPA Ok20;//Restzeit in 39 Sekunden
|
|
SPA Ok21;//Restzeit in 40 Sekunden
|
|
SPA Ok21;//Restzeit in 41 Sekunden
|
|
SPA Ok22;//Restzeit in 42 Sekunden
|
|
SPA Ok22;//Restzeit in 43 Sekunden
|
|
SPA Ok23;//Restzeit in 44 Sekunden
|
|
SPA Ok23;//Restzeit in 45 Sekunden
|
|
SPA Ok24;//Restzeit in 46 Sekunden
|
|
SPA Ok24;//Restzeit in 43 Sekunden
|
|
SPA Ok25;//Restzeit in 48 Sekunden
|
|
SPA Ok25;//Restzeit in 49 Sekunden
|
|
Ende: SPA En04;
|
|
|
|
Ok01: SET;
|
|
S #Out.Line_1_Ok;
|
|
Ok02: SET;
|
|
S #Out.Line_2_Ok;
|
|
Ok03: SET;
|
|
S #Out.Line_3_Ok;
|
|
Ok04: SET;
|
|
S #Out.Line_4_Ok;
|
|
Ok05: SET;
|
|
S #Out.Line_5_Ok;
|
|
Ok06: SET;
|
|
S #Out.Line_6_Ok;
|
|
Ok07: SET;
|
|
S #Out.Line_7_Ok;
|
|
Ok08: SET;
|
|
S #Out.Line_8_Ok;
|
|
Ok09: SET;
|
|
S #Out.Line_9_Ok;
|
|
Ok10: SET;
|
|
S #Out.Line_10_Ok;
|
|
Ok11: SET;
|
|
S #Out.Line_11_Ok;
|
|
Ok12: SET;
|
|
S #Out.Line_12_Ok;
|
|
Ok13: SET;
|
|
S #Out.Line_13_Ok;
|
|
Ok14: SET;
|
|
S #Out.Line_14_Ok;
|
|
Ok15: SET;
|
|
S #Out.Line_15_Ok;
|
|
Ok16: SET;
|
|
S #Out.Line_16_Ok;
|
|
Ok17: SET;
|
|
S #Out.Line_17_Ok;
|
|
Ok18: SET;
|
|
S #Out.Line_18_Ok;
|
|
Ok19: SET;
|
|
S #Out.Line_19_Ok;
|
|
Ok20: SET;
|
|
S #Out.Line_20_Ok;
|
|
Ok21: SET;
|
|
S #Out.Line_21_Ok;
|
|
Ok22: SET;
|
|
S #Out.Line_22_Ok;
|
|
Ok23: SET;
|
|
S #Out.Line_23_Ok;
|
|
Ok24: SET;
|
|
S #Out.Line_24_Ok;
|
|
Ok25: SET;
|
|
S #Out.Line_25_Ok;
|
|
|
|
En04: NOP 0;
|
|
|
|
NETWORK
|
|
TITLE = Letzten aktiven Puffer speichern
|
|
L #Dyn.Aktiv_Line ;//Aktive Linie
|
|
T #Dyn.Last_Line;//speichern
|
|
|
|
NETWORK
|
|
TITLE = Ende
|
|
BE;
|
|
|
|
END_FUNCTION_BLOCK
|
|
|