2 PID regler hintereinander

hank12

Level-1
Beiträge
132
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten morgen,

möchte 2 PID regler hintereinander schalten, sodass Wenn 1. PID Regler aktiv und Regler 1.PID Regler auf Anschlag, wird Regler 2 aktiv und 1 verharrt auf Anschlag. Wenn Regler 2 auf unterem Anschlag, wird wieder auf 1 zurückgeschaltet.

Beide regler sollten an den gleichen Sollwert und Istwert angeschlossen werden.


Hat jemand eine Idee wie die FB41 Regler beschalten werden sollten, damit das zu relaisieren ist.

Danke!
 
Nimm beide ganz normal, nur eben mit gleichem SW/IW und mache eine Umschaltung der Stellgröße je nach Bedarf:

Code:
wenn Stellgröße 1 > x dann setze Bit_Umschaltung
 
wenn Stellgröße 2 < x dann rücksetze Bit_Umschaltung
 
// dabei Hysterese beachten!!
 
wenn Bit_Umschaltung aktiv 
   dann Ausgabe Stellgröße 2
   sonst Ausgabe Stellgröße 1


Was wird das, wenns fertig ist?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
etwas eleganter müsste man es schon machen. Ich würde den Regler 1 regeln lassen und die Stellgrösse durch den Regler 2 durchschleifen. (Regler 2 ist auf Nachführbetrieb = Hand und Man_Stellgrösse = Regler 1 Ausgang). Wenn Regler 1 am Ende ist dann diesen auf Hand schalten und Regler 2 auf Auto nehmen solange bis Regler 1 wieder regeln darf. Das hat den Vorteil das man "stossfrei" umschalten kann und das kein Regler der zur Zeit nicht aktiv ist ins unendliche regelt weil das würde er machen.
Gruß
 
Hallo Hank,

zum sperren / anhalten der Regler setzt Du am besten das Reglerbit
"Int_Hold" :)
Der Regler bleibt so stehen und macht erst wieder weiter wenn Du das Bit wegnimmst.

Funktioniert einwandfrei! :D
 
Hi Danke für die Infos:


Hätte beim regler1 den High Limit Ausgang (Bit wenn die obere grenze erreicht ist auf den INT_Hold des Reglers 1 geschaltet und im gleichen zuge den Regler 2 freigegeben…. das gleiche hätte ich für den regler 2 gemacht…

Wenn der regler 2 seine untere grenze wieder erreicht. Müsste ich in diesem fall dann den INT_HOLD des ersten reglers wieder aufheben? Oder würde das automatisch gehen, da ja das High limit Bit dann nicht mehr gesetzt wäre…?
 

Anhänge

  • FB41_FB41.pdf
    17,6 KB · Aufrufe: 51
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Danke für die Infos:

Hätte beim regler1 den High Limit Ausgang (Bit wenn die obere grenze erreicht ist auf den INT_Hold des Reglers 1 geschaltet und im gleichen zuge den Regler 2 freigegeben…. das gleiche hätte ich für den regler 2 gemacht…

Wenn der regler 2 seine untere grenze wieder erreicht. Müsste ich in diesem fall dann den INT_HOLD des ersten reglers wieder aufheben? Oder würde das automatisch gehen, da ja das High limit Bit dann nicht mehr gesetzt wäre…?


Hi Hank,

wenn Du nur den High Limit Ausgang von Regler 1 auf den INT_Hold von Regler 1 schaltes, macht der Regler nie wieder weiter.
Du musst auf jeden Fall den Regler 2 mit einbringen.
Aber nur so einfach mit der Untergrenze geht das auch nicht, da er ja mit der Untergrenze startet.
(Tipp: Reglerausgang 2 auswerten > kommt von oben und erreicht Untergrenze) :ROFLMAO:
 
okay verstanden!

aber gibt es einen Baustein oder welche Logik erkennt, dass vorher ein Wert > 0 war und dann danach das LLM Bit gesetzt wird??

Bitte um kleinen TIPP noch!

Danke!
 
Hallo Hank,

also das musst Du selber machen: ;)
Code:
L LMN
L 0.0
>R
S M 0.0  // HM Regler 2 in Betrieb
U M 0.1
R M 0.0
 
U QLMN_LLM
U M 0.0
= M 0.1  // Flanke Regler 2 wieder auf Minimum
 
Zuviel Werbung?
-> Hier kostenlos registrieren
...nach reifer Überlegung:

Warum muss ich denn die ganze Logik überhaupt anwenden?

Wenn der Regler2 nun aktiv ist und langsam die Regeldifferenz gegen 0 geht bleibt der Integrator ja dann stehen und bewirkt damit einen Stellwertausgang z.Bsp. von 80%. jetzt wenn der Istwert über den Sollwert geht wird der Intrgrator langsam abgebaut. Wenn er nun an die Untere grenze ankommt ist irgendwann der Stellwert auf 0. wenn dieser auf 0 ist und der Istwert steigt noch weiter so kommt der Regler 1 (das wäre die Sequenz vo dem regler 2) wieder ijns Spiel. Dieser hat ja im Moment 100% Stellwert und der Integrator ist auf Anschlag. Wenn also der Istwert nun weiter steigen sollte wird irgendwann das HIGH Bit des reglers 1 zurückgesetzt!

Also würde es doch reichen wenn ich von jedem Regler nur das HIGH Bit auf den INT Hold verdrahte. Und wenn das Hight Bit vom regler 1 erreicht ist den 2. Regler freigebe??!
 
Bist Du Dir sicher, dass Du zwei Regler benötigst ?? Warum nicht nur einen? Lass den Regler anstelle von 0..100 einfach von 0..200 Regler. Der erste Antrieb bekommt dann den Wert von bis 100, der andere den Wert ab 100. Sobald beide Antriebe laufen kannst Du auch den Reglerausgang durch zwei teilen und auf beide Antriebe geben. So erreichst Du einen Gleichlauf.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Paule,

um die ganze Sache komplett zu verstehen wollte ich nochmals das verhalten von einem einzelen Regler mit INT Hold durchleuchten. Also hört der regler jetzt auf wenn er die obere Grenz erreicht hat? Kieler hat mich etwas verwirrt. Ich habe gedacht, dass das INT_Hold Bit gesetzt werden muss... aber scheinbar macht der regler nun automatisch ANTI WIND UP?

Die zweite sache hatte ich nun doch nicht ganz verstanden warum der regler stehen bleibt und dort verharrt! ...würde doch der ISTWERT über den Sollwert steigen und damit den Stellwert abbauen, und damit das HLM Bit rücksetzen und damit wäre doch INT_HOLD wirder nicht gesetzt? Also ohne Zuhilfe von Informatuionen vom 2ten Regler

Sorry dass ich hier nochmals nachfrage, aber vielleicht kannst du noch mein Unverständnis aufklären..

grüsse
 
Hallo Hank,

der Regler bleibt stehen wenn er die Obergrenze erreicht hat oder das INT_HOLD gesetzt wird.

Du hast recht wenn Du sagst:
würde doch der ISTWERT über den Sollwert steigen und damit den Stellwert abbauen, und damit das HLM Bit rücksetzen und damit wäre doch INT_HOLD wirder nicht gesetzt? Also ohne Zuhilfe von Informatuionen vom 2ten Regler

Du musst den Regler 1 nur sperren (INT_HOLD) wenn Du willst das Regler 1 erst dann zurück regelt wenn Relger 2 auf seinem Minimum Wert ist.
Sonst würden beide Regler gleichzeitig rückwärts laufen, da ja Ist über Soll ist.
 
Okay,

also ich hätte das jetzt so gelöst:

wenn Regler 1 das High_LIM Bit setzt so wird der Sollwert dem Regler 2 übergeben. Wenn das High LIM Bit vom Regler 1 nicht gesetzt ist so ist der Sollwert für den Regler 2 gleich dem Istwert und der Regler 2 würde nichts tun! Über das Übergeben von dem jeweiligen sollwert würde ich also den regler 2 "abschalten"

so wäre sichergestellt, dass Regler2 erst dann kommt wenn Regler 1 am Limit ist und Regler 1 erst dann wieder freigegeben wird wenn das eigene Limit unterschritten wird. So kann ich auch ohne Probleme Totbandzonen (deadband des reglers) einstellen ohne dass irgendwetwas im Hintergrund aufintegriert wird. ??

was sagt Ihr dazu?
 
Zurück
Oben