TIA Heizofen 2-Stufen Regelung S7

SPS_Step

Level-2
Beiträge
88
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Wie würdet Ihr am besten eine 2-Stufen Regelung mit einer S7-1200 lösen?

Es sind gibt 2 Heizstufen, Stufe 1+2 zum aufheizen und nur Stufe 2 zum nachregeln.

Der Ofen soll schnell auf 100 Grad aufheizen, dann 60 Minuten verbleiben und danach auf den Endsollwert 120 Grad steigen. Hier läuft dann eine Zeit ab wo die Temperatur gehalten werden muss. Danach geht der Ofen aus und kühlt runter.

Ist es möglich das ganze mit dem PID-Regler Temp Baustein von Siemens zu lösen? Oder einfach einen Zweipunkt Regler ausprogrammieren?
 
Ich denke, es kommt mit darauf an, wie genau Du regeln mußt.
Ein Zweipunktregler wird immer Überschwingen, wenn Du das anhand der Reaktionszeit, der Hysterese und des Prozesses akzeptieren kannst, würde ich es einfach halten und einen Zweipunktregler nehmen.
Solltest Du aber relativ genau regeln müssen, eventuell garnicht überschwingen dürfen, also sachte an die Endtemperatur heranlaufen müssen, so würde ich ggf. über einen PID nachdenken.
Bedenke aber, daß der PID auch in Betrieb genommen und optimiert werden muß, Frage, ob der Prozeß/die Anlage das zulassen.
 
Wie würdet Ihr am besten eine 2-Stufen Regelung mit einer S7-1200 lösen?
Oder einfach einen Zweipunkt Regler ausprogrammieren?
Habe ich jetzt falsch mitgezählt? Mit "2 Stufen" meinst Du doch
- Stufe 0 : 0 W,
- Stufe 1 : x W,
- Stufe 2 : y W und vielleicht noch
- Stufe 3 : x+y W?
Das sind doch schon 3 bis 4 Stufen?

... und nur Stufe 2 zum nachregeln.
Das bedeutet jetzt was?
- Stufe1 ist immer AUS, wenn mit Stufe 2 nachgeregelt wird,
- Stufe1 ist immer EIN, wenn mit Stufe 2 nachgeregelt wird oder
- Stufe1 kann AUS oder EIN sein, wenn mit Stufe 2 nachgeregelt wird?

Der Ofen soll schnell auf 100 Grad aufheizen, dann 60 Minuten verbleiben und danach auf den Endsollwert 120 Grad steigen. Hier läuft dann eine Zeit ab wo die Temperatur gehalten werden muss. Danach geht der Ofen aus und kühlt runter.
"Schnell" aufheizen verstehe ich so: es ist keine Rampe einzuhalten, sondern es wird "volle Pulle" aufgeheizt.
"Danach geht der Ofen aus und kühlt runter." - also ist auch beim Abkühlen keine Rampe vorgegeben, sondern "möglichst schnell".

Solltest Du unbedingt einen PID-Regler verwenden wollen, so würde ich wahrscheinlich den SollWert für den Regler so steuern, dass für die Anstiege der Temperatur und das Abkühlen Rampen vorgegeben werden, aber die Rampen sind ja anscheinend gar nicht gefragt und würden die Aufgabe unnötig verkomplizieren.
Also: PID-Regler kann man machen, aber es wäre evtl. "mit Spatzen auf Kanonen schiessen".
Wenn Du es schaffst, den Regler als PD-Regler *) so zu parametrieren, dass er beide TemperaturStufen ohne nennenswertes Überschwingen zügig anfährt, dann könnte man allerdings überlegen, die "Spatzen" in Kauf zu nehmen.

*) PD-Regler ist kein TippFehler. Ich meine PD-Regler.
 
Zuletzt bearbeitet:
Es ist einfach Ein/Aus, beim Aufheizen Stufe 1+2 (hohe Leistung) und beim nachregeln nur die Stufe 2 (kleine Leistung).

Aufheizen bis 100 Grad : Stufe 1 EIN + Stufe 2 EIN
Sollwert halten: STUFE 1 AUS Stufe 2 EIN
Heizen 100 bis 120 Grad: STUFE 1 AUS Stufe 2 EIN
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es ist einfach Ein/Aus, beim Aufheizen Stufe 1+2 (hohe Leistung) und beim nachregeln nur die Stufe 2 (kleine Leistung).

Aufheizen bis 100 Grad : Stufe 1 EIN + Stufe 2 EIN
Sollwert halten: STUFE 1 AUS Stufe 2 EIN
Heizen 100 bis 120 Grad: STUFE 1 AUS Stufe 2 EIN
Also z.B.:
Stufe 1 aktiv, wenn nicht Abkühlen aktiv und IstTemperatur < 80 °C ist.
Den VergleichsWert 80°C habe ich jetzt willkürlich festgelegt. Er sollte kleiner als 100 °C sein, um ein Überschwingen zu vermeiden, aber gross genug, damit das Einfahren auf den SollWert nicht zu "zaghaft" (= langsam) geschieht. Experimentell ermitteln?

Die Stufe 2 allein ohne Stufe 1 genügt wirklich, um die Temperatur von 100 °C und erst recht 120 °C zu erreichen und längere Zeit zu halten?
 
Die Frage ist auch, über welche Leistungen spricht man?
Man kann auch je nach Trägheit per Schütz "takten".
PID Ausgang = 0 - 100% und bei einem Zeitintervall von 300 Sekunden ist zum Beispiel 35% => 105 Sekunden ein und 195 Sekunden aus.

Bei 2-Stufig:
30% = kleine Stufe Dauerbetrieb
50% = kleine Stufe Dauerbetrieb + 28% (=20/70tel) der Zeit große Stufe dazu

Funktioniert natürlich nur bei elektrischer Stufe und nicht bei Brennersteuerung etc.
Bei Brenner müsste man auch noch Spülzeit etc mit berücksichtigen. Das kann dann schon kompliziert werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ohne zu wissen was oder besser gesagt wessen Temperaturgeregelt werden soll oder wie genau die "Regelung" sein soll ist es schwer eine Vorgehensweise vorzuschlagen.
Aufheizen bis 100 Grad : Stufe 1 EIN + Stufe 2 EIN
Sollwert halten: STUFE 1 AUS Stufe 2 EIN
Heizen 100 bis 120 Grad: STUFE 1 AUS Stufe 2 EIN
Wenn es zwei feste Stufen sind und so geschaltet werden sollen wie hier beschrieben, dann braucht es keinen P(I)D-Regler sondern nur eine einfache schwarz/weiß-Regelung beim Sollwert halten.
Istwert >= Sollwert = Stufe 2 aus
Istwert < Sollwert = Stufe 2 ein
Je nachdem wie genau es sein muss oder wie träge das System ist, kann ja noch eine Hysterese drüber gelegt werden.
 
Die Frage ist auch, über welche Leistungen spricht man?
Man kann auch je nach Trägheit per Schütz "takten".
PID Ausgang = 0 - 100% und bei einem Zeitintervall von 300 Sekunden ist zum Beispiel 35% => 105 Sekunden ein und 195 Sekunden aus.

Bei 2-Stufig:
30% = kleine Stufe Dauerbetrieb
50% = kleine Stufe Dauerbetrieb + 28% (=20/70tel) der Zeit große Stufe dazu

Funktioniert natürlich nur bei elektrischer Stufe und nicht bei Brennersteuerung etc.
Bei Brenner müsste man auch noch Spülzeit etc mit berücksichtigen. Das kann dann schon kompliziert werden.

Hab ich vor vielen Jahren auch schon mit einfachen Schützen so in der Art umgesetzt.
PWM-Basis waren 5s.
Zeitintervall 120s.
Stufenschaltung war abhängig von der Regeldifferenz.

Basis war ein simpler P-Regler. Durch die Stufenschaltung dann wohl irgendwie sowas wie ein PI.
 
Alle Jahre wieder ist a) Weihnachten und b) schlägt der PD-Regler hier auf :LOL:
Sehr gut beobachtet, Dieter!
Was wäre Dir denn lieber? Soll ich den 29. Februar zum D-Anteil-GegenkTag erklären? Wäre das nicht viel zu selten?

Ich muss doch hin und wieder den guten, alten PD-Regler in Erinnerung bringen, sonst erhält man beim Lesen der Beiträge in diesem Forum immer einen extrem PI-lastigen Eindruck.
Ich kann ja sehr gut verstehen, dass das, was die AnalogEingangsKarten so an Werten abliefern, viel zu oft noch recht "grob-granular" ist und somit nicht sehr DifferenzialAnteil-freundlich.
Aber deshalb den DifferenzialAnteil so konsequent aus den Möglichkeiten eines PID-Reglers bzw. aus dem Gedächtnis zu verbannen, wie ich es hier im Forum immer wieder lese, das haut schlicht und einfach dem Fass den Boden ins Gesicht. Darum muss ich gelegentlich ein gaaanz klein wenig gegensteuern ... zumal sich ja sonst keiner hier dazu herablässt. ;)

Ja, was den D-Anteil betrifft, bin ich genauso starrsinnig wie, wenn es um die korrekte bzw. mit Sicherheit fehlerhafte Auswertung von A-B-Signalen geht.
Es gibt Fehler, die werden sooo standardmässig und so oft gemacht, dass sie keiner mehr sieht bzw. wahr haben will.
Zum Glück gibt es aber den steten Tropfen, der solange tropft und klopft, bis der eine oder andere vielleicht/hoffentlich doch noch durch das Klopfen wachgerüttelt wird.
Apropos, steter Tropfen: er wirkt selbstverständlich wie ein I-Anteil: je länger, desto heftiger.
Ihr seht also, ich will gar nicht contra I-Anteil wettern, sondern strapaziere ihn sogar, um pro D-Anteil zu plädieren. ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich muss doch hin und wieder den guten, alten PD-Regler in Erinnerung bringen, sonst erhält man beim Lesen der Beiträge in diesem Forum immer einen extrem PI-lastigen Eindruck.
Schön, dass du die Fahne für den PD-Regler hochhältst.
Die PI-Lastigkeit mag wohl einfach von der Verbreitung in der Praxis kommen.
 
Hallo,

Meine Idee wäre so:

Code:
(*Regler*)

// Schaltschwellen

#Schaltwelle_MIN := #Soll_Temperatur - #Hysterese_MIN;
#Schaltschwelle_MAX := #Soll_Temperatur + #Hysterese_MAX;

// Aufheizen (von 0°C - 100°C Stufe 1+2)

IF
    (#Anforderung_Aufheizen AND (#Ist_Temperatur >= #Schaltschwelle_MAX))
THEN
    #Aufheizen := FALSE;
ELSIF
    (#Anforderung_Aufheizen AND (#Ist_Temperatur <= #Schaltwelle_MIN))
THEN
    #Aufheizen := TRUE;
END_IF;

// Nachregeln (ab 100°C bis Zielsollwert Stufe 2)

IF
    (#Anforderung_Nachregeln AND (#Ist_Temperatur >= #Schaltschwelle_MAX))
THEN
    #Nachregeln := FALSE;
ELSIF
    (#Anforderung_Nachregeln AND (#Ist_Temperatur <= #Schaltwelle_MIN))
THEN
    #Nachregeln := TRUE;
END_IF;

Danach die Ansteuerung der Stufen :

1703055718437.png
 
Zurück
Oben