-> Hier kostenlos registrieren
Hallo,
Ich beschäftig mich neulich mit step7, und versuche gerade in AWL das Programm für eine Füllstansreglung zu schreiben, leider bis jetzt ohne Erfolg.
Meine Vorstellung sieht so aus:
1. Regler ein-/ausschalten
2. Regler eingeschaltet?
Nein => Ausgänge und Merker zurücksetzten
Ja => Anzeige: "Regler ein" einschalten
3. Werte einlesen (CALL FC1)
4. Berechnung Hysterese
5. Berechnung halbe Schaltdifferenz (für Ober-/Untergrenze)
6. Berechnung untere Schaltschwelle xu
7. Istwert kleiner als xu?
Ja => Pumpe ein & Lampe leuchtet
Nein =>
8. Berechnung obere Schaltschwelle xo
9. Istwert größer als xo?
Ja => Pumpe aus & Lampe aus
Nein => dann von Anfang an anfangn
so habe ich es geschrieben,leider funktioniert nicht wenn ich es simuliere:roll:, wo könnte der Fehler sein ?
U "BD_Star" E1.3 -- Bedienpult start grün SH10
S "Regler_Ein" M10.0 -- Merker Regler eingeschaltet
U "Regler_Ein" M10.0 -- Merker Regler eingeschaltet
S "BD_Anz_SH10" A1.0 -- Bedienpult Anzeige SH10 Anlage eingeschaltet
UN "BD_Stop" E1.4 -- Bedienpult Stop rot (öffner) SH11
R "Regler_Ein" M10.0 -- Merker Regler eingeschaltet
R "BD_Anz_SH10" A1.0 -- Bedienpult Anzeige SH10 Anlage eingeschaltet
R "BD_Star" E1.3 -- Bedienpult start grün SH10
U "Regler_Ein" M10.0 -- Merker Regler eingeschaltet
SPBN AUS
S "BD_Anz_SH10" A1.0 -- Bedienpult Anzeige SH10 Anlage eingeschaltet
CALL FC 1
L "Al_Fuell_Norm" MD20 -- Normierter wert für den Füllstand
L "Al_Fuell_Soll_Norm" MD24 -- Normierter Wert für den Füllstandssollwert
L "Al_Fuell_Soll_Norm" MD24 -- Normierter Wert für den Füllstandssollwert
L 1.000000e+001
/R
T "M_xs" MD28 -- Zwischenschalthysterese
L "M_xs" MD28 -- Zwischenschalthysterese
L 2.000000e+000
/R
T "M_x1" MD32 -- zwischenmerker halbe Schatdifferenz
L "Al_Fuell_Soll_Norm" MD24 -- Normierter Wert für den Füllstandssollwert
L "M_x1" MD32 -- zwischenmerker halbe Schatdifferenz
-R
T "M_xu" MD40 -- Zwischenmerker untere Schaltschwelle
L "Al_Fuell_Norm" MD20 -- Normierter wert für den Füllstand
L "M_xu" MD40 -- Zwischenmerker untere Schaltschwelle
<R
SPB nex1
L "Al_Fuell_Soll_Norm" MD24 -- Normierter Wert für den Füllstandssollwert
L "M_x1" MD32 -- zwischenmerker halbe Schatdifferenz
+R
T "M_xo" MD36 -- Zwischenmerker obere Schaltschwellen
L "Al_Fuell_Norm" MD20 -- Normierter wert für den Füllstand
L "M_xo" MD36 -- Zwischenmerker obere Schaltschwellen
>R
SPB nex2
U "Regler_Ein" M10.0 -- Merker Regler eingeschaltet
nex1: S "Pumpe" A0.0 -- Pumpenansteuerung binär
= "BD_Anz_Sh6" A1.3 -- Bedienpult Anzeige SH6 Pumpe eingeschaltet
nex2: R "Pumpe" A0.0 -- Pumpenansteuerung binär
R "BD_Anz_Sh6" A1.3 -- Bedienpult Anzeige SH6 Pumpe eingeschaltet
AUS: R "Pumpe" A0.0 -- Pumpenansteuerung binär
R "Regler_Ein" M10.0 -- Merker Regler eingeschaltet
R "BD_Anz_Sh6" A1.3 -- Bedienpult Anzeige SH6 Pumpe eingeschaltet
R "BD_Anz_SH10" A1.0 -- Bedienpult Anzeige SH10 Anlage eingeschaltet
Ich beschäftig mich neulich mit step7, und versuche gerade in AWL das Programm für eine Füllstansreglung zu schreiben, leider bis jetzt ohne Erfolg.
Meine Vorstellung sieht so aus:
1. Regler ein-/ausschalten
2. Regler eingeschaltet?
Nein => Ausgänge und Merker zurücksetzten
Ja => Anzeige: "Regler ein" einschalten
3. Werte einlesen (CALL FC1)
4. Berechnung Hysterese
5. Berechnung halbe Schaltdifferenz (für Ober-/Untergrenze)
6. Berechnung untere Schaltschwelle xu
7. Istwert kleiner als xu?
Ja => Pumpe ein & Lampe leuchtet
Nein =>
8. Berechnung obere Schaltschwelle xo
9. Istwert größer als xo?
Ja => Pumpe aus & Lampe aus
Nein => dann von Anfang an anfangn
so habe ich es geschrieben,leider funktioniert nicht wenn ich es simuliere:roll:, wo könnte der Fehler sein ?
U "BD_Star" E1.3 -- Bedienpult start grün SH10
S "Regler_Ein" M10.0 -- Merker Regler eingeschaltet
U "Regler_Ein" M10.0 -- Merker Regler eingeschaltet
S "BD_Anz_SH10" A1.0 -- Bedienpult Anzeige SH10 Anlage eingeschaltet
UN "BD_Stop" E1.4 -- Bedienpult Stop rot (öffner) SH11
R "Regler_Ein" M10.0 -- Merker Regler eingeschaltet
R "BD_Anz_SH10" A1.0 -- Bedienpult Anzeige SH10 Anlage eingeschaltet
R "BD_Star" E1.3 -- Bedienpult start grün SH10
U "Regler_Ein" M10.0 -- Merker Regler eingeschaltet
SPBN AUS
S "BD_Anz_SH10" A1.0 -- Bedienpult Anzeige SH10 Anlage eingeschaltet
CALL FC 1
L "Al_Fuell_Norm" MD20 -- Normierter wert für den Füllstand
L "Al_Fuell_Soll_Norm" MD24 -- Normierter Wert für den Füllstandssollwert
L "Al_Fuell_Soll_Norm" MD24 -- Normierter Wert für den Füllstandssollwert
L 1.000000e+001
/R
T "M_xs" MD28 -- Zwischenschalthysterese
L "M_xs" MD28 -- Zwischenschalthysterese
L 2.000000e+000
/R
T "M_x1" MD32 -- zwischenmerker halbe Schatdifferenz
L "Al_Fuell_Soll_Norm" MD24 -- Normierter Wert für den Füllstandssollwert
L "M_x1" MD32 -- zwischenmerker halbe Schatdifferenz
-R
T "M_xu" MD40 -- Zwischenmerker untere Schaltschwelle
L "Al_Fuell_Norm" MD20 -- Normierter wert für den Füllstand
L "M_xu" MD40 -- Zwischenmerker untere Schaltschwelle
<R
SPB nex1
L "Al_Fuell_Soll_Norm" MD24 -- Normierter Wert für den Füllstandssollwert
L "M_x1" MD32 -- zwischenmerker halbe Schatdifferenz
+R
T "M_xo" MD36 -- Zwischenmerker obere Schaltschwellen
L "Al_Fuell_Norm" MD20 -- Normierter wert für den Füllstand
L "M_xo" MD36 -- Zwischenmerker obere Schaltschwellen
>R
SPB nex2
U "Regler_Ein" M10.0 -- Merker Regler eingeschaltet
nex1: S "Pumpe" A0.0 -- Pumpenansteuerung binär
= "BD_Anz_Sh6" A1.3 -- Bedienpult Anzeige SH6 Pumpe eingeschaltet
nex2: R "Pumpe" A0.0 -- Pumpenansteuerung binär
R "BD_Anz_Sh6" A1.3 -- Bedienpult Anzeige SH6 Pumpe eingeschaltet
AUS: R "Pumpe" A0.0 -- Pumpenansteuerung binär
R "Regler_Ein" M10.0 -- Merker Regler eingeschaltet
R "BD_Anz_Sh6" A1.3 -- Bedienpult Anzeige SH6 Pumpe eingeschaltet
R "BD_Anz_SH10" A1.0 -- Bedienpult Anzeige SH10 Anlage eingeschaltet