PID Regler manipulieren

IPC Bernhard

Well-known member
Beiträge
194
Punkte Reaktionen
13
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo zusammen

Ich habe eine besondere Anforderung an einen PID Regler.
Das Ganze läuft in einer S7 315 2DP

Im Ablauf der Schrittkette weiß ich zwei Schritte vor einer größeren Umschaltung
dass sich der Istwert sehr sehr stark ändert.

Nun wil ich am Regler z.B. einen Schritt vor der großen Umschaltung
den aktuellen Stellwert lesen dann z.B. 10 oder 20% draufgeben oder abziehen.

Und dann soll der Regler mit dem neuen Stellwert weiterarbeiten.

Ob draufgeben oder abziehen weiß ich von der gewählten Schrittkettentransition.
Gibt es dafür eine separate Funktion im Standard PID Regler?
Oder muss man den Regler auf Hand nehmen, dann den Stellwert schreiben
und dann den Regler wieder auf Automatik nehmen?

Ich kenne auch Regler mit der Funktion Tracking bzw. Nachführen.
Gibt es für die S7 300 dafür einen Baustein mit dieser Funktion?

Danke im Voraus.

Gruß
Bernhard
 

Markus Rupp

Well-known member
Beiträge
538
Punkte Reaktionen
61
Ließ mit bedingtem Move den aktuellen stellwert aus, gib diesen als handwert auf den regler zurück, aktiviere hand und mache deine aktion, danach nimmst du hand zurück und alles sollte gut sein, sollte ich das jetzt falsch wiedergegeben haben (weil gerade nicht getestet) so korrigiere man mich
 

borromeus

Well-known member
Beiträge
2.270
Punkte Reaktionen
329
Zuviel Werbung?
->Hier kostenlos registrieren
Das was Du möchtest heisst regelungstechnisch Störgrößenaufschaltung.
Der FB41 hat dafür den Eingang DISV (Disturbance Value).
Einfach da drauf legen und schon ist Dein Y um diesen Wert höher.
 
OP
I

IPC Bernhard

Well-known member
Beiträge
194
Punkte Reaktionen
13
Hallo

Ich bin eigentlich auf der Suche nach einer Funktion
die sich Override nennt.


Ich habe mir das so vorgestellt:

Wenn das Bit der Schrittkette kommt:

der Regler bleibt im Automatikmodus

der neue Stellwert wird (wenn möglich) mit der Funktion
Override am Reglerausgang gestellt

dann arbeitet der Regler wieder weiter.


Gibt es dafür eventuell von Siemens einen Baustein
oder in einer anderen Bibliothek einen Baustein?

Ich habe im Handbuch von "Modular PID"
schon so eine halbwegs brauchbare Funktion gefunden.
Aber so ganz gefällt mir das noch nicht.
Da ist die Rede von zwei Reglern und ich kann dann den
Einen oder den Anderen rausschalten.
Das gefällt mir auch nicht so gut.

Gruß
Bernhard
 

JOHKU

Well-known member
Beiträge
171
Punkte Reaktionen
18
Borromeus hat Dir schon die richtige Antwort gegeben.
Aufschaltung von Störgrößen ist ein klassischer Fall aus der Regelungstechnik.
Betrachte bitte das Blockschaltbild des FB41 (F1 und einfach scrollen) und alles wird klar.
Man kann auch über die Initialisierung des I-Anteils ein wenig herummurxen wenn Dir ein "Override" besser gefällt.
Die Eingänge sind I_ITL_ON und ITL_VAL oder so ähnlich.


Gruß

Johannes
 
Zuletzt bearbeitet:

knarf

Well-known member
Beiträge
211
Punkte Reaktionen
38
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo IPC,
was Du suchst, nennt sich in großen Leitsystemen Override-Selector. Bildlich ist hinter dem PID-Ausgang eine Weiche, welche bei Dir in Abhängigkeit von Deinem Schritt den Reglerausgang wegschaltet und den anderen Ausgang der Weiche mit dem Stellwert des PID-Reglers + - z.B.20% auf Dein Stellorgan durchreicht.
Bei den großen DCS-Systemen wird der Ausgang des PID-Reglers automatisch auf den Stellwert des Override-Selectors nachgeführt (OP-Tracking). Wenn der Selector dann wieder umschaltet, regelt der PID-Regler mit den erhöhten %-Werten weiter. Dies geht bei Deiner CPU nicht automatisch. Diese Wirkungsweise mußt Du per Hand programmieren. Z.B. nimmst Du den PID-Regler auf Hand und gibts als Handstellgröße den Weichenausgnag des Override-Selectors an.
Wenn nämlich der PID-Regler auf Automatikbetrieb bleibt während der Override-Selector den andren Ausgang durchschaltet besteht die Gefahr eines Wind-Up des Reglers.
Die Variante mit der Störgrößenaufschaltung über den BIAS ist auch machbar um Dein Problem zu lösen. Meiner Meinung nach mußt Du dabei beachten, wenn Du den BIAS wieder wegnimmst, wirkt das wie eine negative %-Zuweisung zu Deinem bisherigen PID-Reglerausgang.

Gruß Frank
 
OP
I

IPC Bernhard

Well-known member
Beiträge
194
Punkte Reaktionen
13
Hallo Frank

Genau so ist es, diese Funktion ist in einem ABB Leitsystem realisiert.
Dieses System hat auch den entsprechenden Eingang am Regler.

Ich habe es jetzt schon in der Simulation getestet mit den Regler auf
Hand nehmen und Stellwert (aktueller Wert +/- XXX%) ändern
und dann wieder in Auto stellen. Das Ganze dann in ca. 1 Sekunde.
Das funktioniert im Simulationsbetrieb schon ganz gut.
So werde ich es fürs Erste auch in der richtigen Anlage probieren.

Gruß
Bernhard
 

JOHKU

Well-known member
Beiträge
171
Punkte Reaktionen
18
Hallo,

die Variante mit Handeingriff finde ich etwas bescheiden. Entspricht eher afrikanischem Standard.
In diesem Fall muß immer Bedienpersonal dabei sein und gut aufpassen.
Natürlich muß man bei der Störgrößenaufschaltung auch dafür sorgen das die Störgröße nicht für immer und ewig ansteht.
Dafür verwndet man gerne ein TD1 Glied. (Ist im Wikipedia schön beschrieben)

Gruß

Johannes
 

knarf

Well-known member
Beiträge
211
Punkte Reaktionen
38
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo,
die Sache mit dem DT1-Glied ist richtig, damit man sich nicht vom Arbeitspunkt zu weit entfernt. Bei der von mir beschriebenen Realisierung mit der Handumdschaltung bin ich aber von der Dauer eines SPS- Zykluses ausgegangen. Man hebt damit den PID-Ausgang auf den neuen Prozentwert des OP. Sollte die Regelabweichung 0 sein, verharrt der Regler nach dieser Umschaltung auf diesem % Wert. Beim Lead-Lag Glied verschwindet der Bias über die E-Funktion in Abhängigkeit der Zeitkonstante des Lag-Teils. Der Regler muß gegen diese "Störung" gegenregeln.

Gruß Frank
 
Zuletzt bearbeitet:

borromeus

Well-known member
Beiträge
2.270
Punkte Reaktionen
329
Solange man nicht im Detail weiss, was passieren soll, kann man keine korrekte Empfehlung geben.
Das schlagartige Wegnehmen der Störgrösse ohne DT1 Glied kann auch die absolut richtige Lösung sein.
z.B. wenn der Grund der Störgrösse ebenfalls schlagartig wegfällt.
 

knarf

Well-known member
Beiträge
211
Punkte Reaktionen
38
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo,
ich habe beide Varianten schon (DT1 und Override) realisiert. Man muß von Fall zu Fall entscheiden, was richtig ist. Um aber den Reglerausgang gesteuert auf einen bestimmten Wert zu stellen und dann im Automatikbetrieb Ruhe in den OP zu bekommen, scheint mir die Override-Variante besser. Sie ist auch von der Einstellung (keine Lead-Lag Zeiten) einfacher.

Gruß Frank
 
OP
I

IPC Bernhard

Well-known member
Beiträge
194
Punkte Reaktionen
13
Hallo

Danke für die Informationen.
Nun kann ich ja wenn das Eine nicht funktioniert noch den Zweiten
Vorschlag probieren.

Nur zum Handeingriff Johannes, das wäre schon eine automatisierte
Funktion den Regler auf Hand zu nehmen und dann die Stellgröße
anpassen und dann den Regler wieder in Automatik zu stellen.
Das soll kein Eingriff vom Bediener werden.

Verfahrenstechnisch ist es so dass ein bestimmter Druck (100 mbar) in einer Rohrleitung
über eine Klappe (d= 500mm) geregelt wird.
Wenn mehr Luftmenge gebraucht wird dann wird eine weitere Klappe
(d= 500mm) geöffnet. Dabei entsteht die unerwünschte GROSSE Regelabweichung.

Im Anschluss muss wieder der Druck hergestellt werden der vor der Umschaltung
herrschte (100 mbar). Das ist auch problemlos machbar, dabei es ist eben der Arbeitspunkt
der Klappe nicht wie vorher z.B. 45% sondern ca. 65%. Das ist aber immer
um die selbe Differenz (z.B. 20%) verschoben, das zeigt die Erfahrung.
Mit der Positionierung der Klappe auf die "prognostizierte" Stellung ist eine
grössere Regelabweichung unterbunden. Eine gewisse Abweichung lässt
sich sicher nicht ausschliessen.

Der Regler der während der normalen Zeit (ohne Umschaltung) nicht
so aggresiv sein darf, kann eine derartige massive Änderung nicht so ohne
weiteres "ausregeln"

Also ist es meiner Meinung nach auch keine Störgröße über eine bestimmte Zeit.


Gruß
Bernhard
 

JOHKU

Well-known member
Beiträge
171
Punkte Reaktionen
18
Hi,

Du sagst es! Wenn Du einen Sprung von etwa 20% ausführen musst dann musst Du diese 20% über ein TD1 Glied führen und an DISV geben.
Das TD1 Glied ist ja wie ein zusätzlicher D-Anteil und erzeugt einen 20% positiven Peak wenn man die 20% anlegt und einen negativen -20% Peak wen man sie wieder wegnimmt. Zwischendurch ist ja Dein PID ausgeregelt und benötigt eben diesen negativen Peak.

Gruß

Johannes
 

knarf

Well-known member
Beiträge
211
Punkte Reaktionen
38
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo Bernhard,
Du könntest ja einmal über eine abgewandelte Split-Range Regelung nachdenken.
0..50% vom Reglerausgang wirken auf Klappe 1 und entsprechen dort 0..100% und 50..100% des Reglerausganges entsprechen 0..100% der 2. Klappe.
Es würde also erst die eine Klappe an ihren Anschlag fahren und dann würde die 2.klappe dazufahren.
Da Klappen gern in ihren Endwerten nichtlinear sind müßte man u.U. die Kennlinien mittels eines Characterizers hinter dem Reglerausgang mathematisch linearisieren, um überall im gesamten Stellbereich eine konstante Verstärkung zu haben.

Gruß Frank
 
Oben