Füllstandregelung Zweipunktregler

don.wastello

Level-1
Beiträge
13
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich sitze jetzt schon den ganzen Tag über einem Problem und komme nicht weiter. Ich mache gerade einen SPS Fernlehrgang, und man soll nun eine Füllstandsregelung mit einem 2-Pkt.-Regler in S7 realisieren.

Fakten (wie ich mir das vorstelle!):
1. Regler ein-/ausschalten (RS)
2. Regler eingeschaltet?
Nein => Ausgänge und Merker zurücksetzten, Ende FC
Ja => Anzeige: "Regler ein" einschalten
3. Werte einlesen (wird in FC1 realisiert - Analogwertumwandlung zB FC105 Scale)
4. Berechnung Hysterese
5. Berechnung halbe Schaltdifferenz (für Ober-/Untergrenze)
6. Berechnung untere Schaltschwelle xu
7. Istwert kleiner als xu?
Ja => Pumpe ein
Nein => NICHTS
8. Berechnung obere Schaltschwelle xo
9. Istwert größer als xo?
Ja => Pumpe aus
Nein => NICHTS
10. Anzeige: Pumpe an
11. "Endfunktion": bei eingeschalteter Regelung, soll Funktion einfach von oben anfangen, bei STOP => alles zurücksetzten.

Hab das mal so gemacht:

Code:
Netzwerk: 1 Schaltung Regler ein/aus?
S "S1" M12.0
R "S11" M13.2
U "BD_Start" E1.3 -- Bedienpult Start grün SH10
S "Regler_Ein" M10.0 -- Merker: Regler eingeschaltet
UN "BD_Stop" E1.4 -- Bedienpult Stop rot (Oeffner) SH11
R "Regler_Ein" M10.0 -- Merker: Regler eingeschaltet
NOP 0

Netzwerk: 2 Abfrage => Lampe SH10
S "S2" M12.1
R "S1" M12.0
U "Regler_Ein" M10.0 -- Merker: Regler eingeschaltet
SPBN mEnd
U "Regler_Ein" M10.0 -- Merker: Regler eingeschaltet
S "BD_Anz_SH10" A1.0 -- Bedienpult Anzeige SH10: Anlage eingeschaltet

Netzwerk: 3 Werte einlesen
S "S3" M12.2
R "S2" M12.1
CALL "Ain" FC1 -- Analogwerte einlesen

Netzwerk: 4 Schalthysterese xs
S "S4" M12.3
R "S3" M12.2
L "AI_Fuell_Soll_Norm" MD24 -- Normierter Wert fuer den Fuellstandsollwert
L 1.000000e+001
/R
T "M_xs" MD28 -- Zwischenmerker: Schalthysterese

Netzwerk: 5 halbe Schaltdifferenz
S "S5" M12.4
R "S4" M12.3
L "M_xs" MD28 -- Zwischenmerker: Schalthysterese
L 2.000000e+000
/R
T "M_X1" MD32 -- Zwischenmerker: Halbe Schaltdifferenz

Netzwerk: 6 untere Schaltschwelle
S "S6" M12.5
R "S5" M12.4
L "AI_Fuell_Soll_Norm" MD24 -- Normierter Wert fuer den Fuellstandsollwert
L "M_X1" MD32 -- Zwischenmerker: Halbe Schaltdifferenz
-R
T "M_xu" MD40 -- Zwischenmerker: Untere Schaltschwelle

Netzwerk: 7 x < xu
ja => Pumpe ein
S "S7" M12.6
R "S6" M12.5
L "M_xu" MD40 -- Zwischenmerker: Untere Schaltschwelle
L "AI_Fuell_Norm" MD20 -- Normierter Wert fuer den Fuellstand
<R
SPBN nex1
S "Pumpe" A0.0 -- Pumpenansteuerung (binaer)

Netzwerk: 8 obere Schaltschwelle
nex1: S "S8" M12.7
R "S7" M12.6
L "AI_Fuell_Soll_Norm" MD24 -- Normierter Wert fuer den Fuellstandsollwert
L "M_X1" MD32 -- Zwischenmerker: Halbe Schaltdifferenz
+R
T "M_xo" MD36 -- Zwischenmerker: Obere Schaltschwelle

Netzwerk: 9 x > xo
ja => Pumpe aus
S "S9" M13.0
R "S8" M12.7
L "M_xo" MD36 -- Zwischenmerker: Obere Schaltschwelle
L "AI_Fuell_Norm" MD20 -- Normierter Wert fuer den Fuellstand
>R
T "M_Test1" MD44
SPBN nex2
R "Pumpe" A0.0 -- Pumpenansteuerung (binaer)

Netzwerk: 10 Lampe Pumpe
nex2: S "S10" M13.1
R "S9" M13.0
U "Pumpe" A0.0 -- Pumpenansteuerung (binaer)
= "BD_Anz_SH6" A1.1 -- Bedienpult anzeige SH6: Pumpe eingeschaltet

Netzwerk: 11 Regler aus!
mEnd: S "S11" M13.2
R "S10" M13.1
U "Regler_Ein" M10.0 -- Merker: Regler eingeschaltet
SPB mSt
UN "BD_Stop" E1.4 -- Bedienpult Stop rot (Oeffner) SH11
R "Regler_Ein" M10.0 -- Merker: Regler eingeschaltet
R "Pumpe" A0.0 -- Pumpenansteuerung (binaer)
R "BD_Anz_SH10" A1.0 -- Bedienpult Anzeige SH10: Anlage eingeschaltet
R "BD_Anz_SH6" A1.1 -- Bedienpult anzeige SH6: Pumpe eingeschaltet
L 0.000000e+000
T "AI_Fuell_Norm" MD20 -- Normierter Wert fuer den Fuellstand
T "AI_Fuell_Soll_Norm" MD24 -- Normierter Wert fuer den Fuellstandsollwert
T "M_X1" MD32 -- Zwischenmerker: Halbe Schaltdifferenz
T "M_xo" MD36 -- Zwischenmerker: Obere Schaltschwelle
T "M_xs" MD28 -- Zwischenmerker: Schalthysterese
T "M_xu" MD40 -- Zwischenmerker: Untere Schaltschwelle

Die "Sx"-Merker am Anfang von jedem Netzwerk habe ich mir nur gemacht, um zu sehen, bei welchem Schritt ich im Moment stehe. Ich simuliere das Programm über SIMIT, wurde bei meinem Lehrgang mitgeliefert.

Nun mein Problem:
Stop funktioniert. Sobald ich Stop drücke, werden alle Merker und Ausgänge zurückgesetzt.
Bei Start wird zwar der "Regelun_Ein" Merker gesetzt, die Werte werden ausgelesen und berechnet, aber die Pumpe geht nicht an. (s. pdf Var.tabelle). Warum?

Hab schon mal geschaut, aber nur diesen Beitrag gefunden => LINK!

Aber komme auch damit nicht weiter.

Vielleicht könnte mir mal kurz eine Anleitung, allgemein für so einen regler geben. Wie man bei den einzelnen Fallunterscheidungen vorgeht?

Vielen Dank für euere Hilfe im Voraus!

Gruß,
Wastl
 

Anhänge

  • Var.tabelle.pdf
    17,5 KB · Aufrufe: 39
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
hi paule,

danke schon mal für die antwort!
ich finde nur den fehler nicht.
dieser schritt ist so gedacht:
solange die grenze nicht erreicht ist (vergleich liefert "0"), soll diee pumpe weiterlaufen => programm springt zu nex2
wenn die grenze erreicht ist wird "spbn" nicht angesprochen und die pumpe wird "zurückgesetzt"/ausgeschaltet.
habe ich da einen denkfehler?
ich habe das gefühl, dass in netzwerk 11 irgendetwas hängt?

==> ahhh, hab jetzt gecheckt was du meinst. ich vergleiche falsch bzw. nicht so wie ich gedacht habe, also sind die "spruenge" auch falsch. Danke!
 
Zuletzt bearbeitet:
Netzwerk: 9 x > xo
ja => Pumpe aus
S "S9" M13.0
R "S8" M12.7
L "M_xo" MD36 -- Zwischenmerker: Obere Schaltschwelle
L "AI_Fuell_Norm" MD20 -- Normierter Wert fuer den Fuellstand

>R
T "M_Test1" MD44
SPBN nex2
R "Pumpe" A0.0 -- Pumpenansteuerung (binaer)

Entweder du tauscht die beiden Zeilen und lädst damit erst den Füllstand
und dann deinen Vergleichswert oder du vergleichst auf <R.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hi crash,

vielen dank auch an dich!

programm funktioniert jetzt. genau das war der fehler!

hab privat auch mal ein bisschen rumgefragt und wurde gerade per mail auf diese seite aufmerksam gemacht:

https://www.automation.siemens.com/...3/1467458/pub/de/b03_ausbildungsunterlage.pdf

HILFT AUCH BEI ANDEREN FRAGEN ZUR REGELUNGSTECHNIK MIT S7!!!

hier steht die ganze lösung schon drinnen.
(denke das wurde von meiner "fernschule" einfach kopiert)
bin aber froh, dass ich es fast selber hinbekommen habe!

gruss,
wastl
 
Zurück
Oben