4. Objekte und Systeme in geschlossenen Signalzyklen
Software: objektorientiert PROZESS Messwert-Erfassung Steuerwert-ausgabe SOFTWARE Sensoren Aktoren Prozess: systemorientiert Gemeinsamkeiten von Objekten und Systemen: Ihr Zusammenwirken ist nur über Schnittstellen möglich (Botschaften zwischen Objekten, Signale zwischen Systemen) Es interessiert nur ihr Verhalten an den Schnittstellen, nicht ihr interner Aufbau (information hiding = Verbergen und Schützen der internen Implementierung): Es reicht aus, das Verhalten an den Schnittstellen zu kennen ! Es gibt bewährte Ordnungsprinzipien zur Beherrschung der Vielfalt (Klassenbildung, Instanziierung)
Prozessbeobachtung: „open loop“ Software: objektorientiert SOFTWARE Sensoren Messwert-Erfassung PROZESS Prozess: systemorientiert Prozessbeobachtung: „open loop“
Prozesssteuerung: „open loop“ Software: objektorientiert SOFTWARE Steuerwert-ausgabe Aktoren PROZESS Prozess: systemorientiert Prozesssteuerung: „open loop“
Prozesssregelumg: „closed loop“ Software: objektorientiert PROZESS Messwert-Erfassung Steuerwert-ausgabe SOFTWARE Sensoren Aktoren Prozess: systemorientiert Prozesssregelumg: „closed loop“
4.1. Steuerung
Steuerung Bei einer offenen Steuerung wirken eine / mehrere Eingangsgrößen (Stellgrößen) y auf einen Prozess nach bekannten und diesem Prozess eigenen Gesetzmäßigkeiten mit dem Ziel ein, das Verhalten anderer Ausgangsgrößen x in gewünschter Weise zu beeinflussen. Kennzeichnend sind offene Wirkungswege bzw. Signalflusswege, d.h. alle Teile des Systems sind rückwirkungsfrei in Reihe oder parallel geschaltet, der Signalflussgraph ist zyklenfrei. Dabei ist die Stellgröße y Ausgangsgröße der Steuereinrichtung und zugleich Eingangsgröße des Prozesses. Steuerung GR y=GRe y Prozess (Strecke) GS x=GSy x
Beispiel: Heizungsventil
Typen von Steuerungsalgorithmen Führungssteuerung: Die gesteuerte Größe (z. B. Heizungsventil) wird von einer unabhängigen Eingangsgröße (z. B. Außentemperatursensor) geführt, deren zeitlicher Verlauf vorher nicht bekannt ist. Typen von Steuerungsalgorithmen Außentem- Ventil- peratur stellung [%] Zeitplansteuerung: Die gesteuerte Größe (z. B. Heizungsventil) wird von einem unabhängigen Zeitplan (z. B. von einer Uhr abgeleitet) geführt.. Uhrzeit Ventil- stellung [%]
Beispiele für Steuerungen Technik Außentemperatur Ventilstellung Heizkörper Verkehr Verkehrszählung Ampelphasen Betriebswirtschaft Einschaltquoten Werbezeiten Fernsehprogramm Plätze im Callcenter Volkswirtschaft Inflationsrate Zinssatz der Staatsbank Welchen Nachteil haben alle Steuerungen ?
4.2. Regelung
Regelung (DIN 19222) PROZESS SOFTWARE Sensoren Aktoren Messwert-Erfassung Steuerwert-ausgabe SOFTWARE Sensoren Aktoren Regelung (DIN 19222) Die Regelung ist eine Methode, einen Prozesszustand in der Weise zu ändern oder aufrecht zu erhalten, dass trotz gewisser Störeinwirkungen der aufgabengemäß gewünschte Zustand erreicht wird. Die Größe, welche zur Darstellung des vorgeschriebenen Prozesszustandes bzw.. –-ablaufes verwendet wird, heißt Regelgröße x.
Beispiel: Regelung des Durchflusses Regler GR y=GRe Prozess (Strecke) GS x=GSy e w z x x‘ y _ + w e x y x = Regelgröße y = Stellgröße z = Störgröße w = Führungsgröße e = Regedifferenz / (Regelabweichung) z
Beispiel: Regelung des Durchflusses trivialer Algorithmus Feststellen des gewünschten Durchfluss-Wertes w Messen des tatsächlichen Durchfluss-Wertes x wie groß ist die Differenz zwischen Soll- und Ist-Durchfluss? e = w - x wenn Soll-Durchf > Ist-Durchf (w>x), dann Ventil y etwas weiter öffnen wenn Soll-Durchf. < Ist-Durchf (w<x), dann Ventil y etwas weiter schließen Ausgabe der Ventilstellung y w e x y z
Beispiel: Regelung des Durchflusses EVA-Prinzip trivialer Algorithmus Feststellen des gewünschten Durchfluss-Wertes w Messen des tatsächlichen Durchfluss-Wertes x wie groß ist die Differenz zwischen Soll- und Ist-Durchfluss? e = w - x wenn Soll-Durchf > Ist-Durchf (w>x), dann Ventil y etwas weiter öffnen wenn Soll-Durchf. < Ist-Durchf (w<x), dann Ventil y etwas weiter schließen Ausgabe der Ventilstellung y w Eingabe e Verarbeitung x y z Ausgabe
4.2.1 Statische Betrachtung
_ Regler GR y=GRe Prozess (Strecke) GS x=GSy e w z x x‘ y + x Regelgröße („Istwert“, z.B. Raumtemperatur) z Störgröße (z.B. Wärmeeintrag von Menschen, Leuchten, PC, offenen Fenstern) w Führungsgröße („Sollwert“ = Wunsch- temperatur) e Regeldifferenz, -abweichung e = w – x‘ y Stellgröße (z.B. Ventilstellung am Heizkörper)
G0 = x/e = y/e * x/y = GR*GS _ Regler GR y=GRe Prozess (Strecke) GS x=GSy e w z x x‘ y _ G0 = x/e = y/e * x/y = GR*GS + x Regelgröße („Istwert“, z.B. Raumtemperatur) z Störgröße (z.B. Wärmeeintrag von Menschen, Leuchten, PC, offenen Fenstern) w Führungsgröße („Sollwert“ = Wunsch- temperatur) e Regeldifferenz, -abweichung e = w – x‘ y Stellgröße (z.B. Ventilstellung am Heizkörper)
G0 = x/e = y/e * x/y = GR*GS _ x G0 = x/e = mit e=w-x (w – x‘) Regler GR y=GRe Prozess (Strecke) GS x=GSy e w z x x‘ y _ G0 = x/e = y/e * x/y = GR*GS x G0 = x/e = mit e=w-x (w – x‘) x‘ = x + z = G0*(w-x‘) + z + x‘ = G0w - G0x‘ + z (1+G0)x‘ = G0w + z x Regelgröße („Istwert“, z.B. Raumtemperatur) z Störgröße (z.B. Wärmeeintrag von Menschen, Leuchten, PC, offenen Fenstern) w Führungsgröße („Sollwert“ = Wunsch- temperatur) e Regeldifferenz, -abweichung e = w – x‘ y Stellgröße (z.B. Ventilstellung am Heizkörper) G0 1 x‘ = w + z (1+G0) (1+G0)
_ G0 1 x‘ = w + z (1+G0) (1+G0) Beispiele: (was ist x,y,z ?) Regler GR y=GRe Prozess (Strecke) GS x=GSy e w z x x‘ y _ Beispiele: (was ist x,y,z ?) Steuern (KFZ-CO2, ) Subventionen erneuerbare Energie (Windkraft, BHKW, ) Medikamenten-Einstellung vom Arzt Börse, Preisbildung am Markt Absolventen-Markt + G0 1 x‘ = w + z (1+G0) (1+G0)
Spezialfall z=0 Führungsübertragungsfaktor x‘/w Regler GR y=GRe Prozess (Strecke) GS x=GSy e w z x x‘ y _ G0 1 x‘ = w + z (1+G0) (1+G0) + G0 x‘/w 1/2 1 bleibende Regeldifferenz G0 x‘ = w (1+G0) Spezialfall z=0 Führungsübertragungsfaktor x‘/w
Spezialfall w=0 Störungsübertragungsfaktor x‘/z Regler GR y=GRe Prozess (Strecke) GS x=GSy e w z x x‘ y _ G0 1 x‘ = w + z (1+G0) (1+G0) + x‘/z 1 1 x‘ = z (1+G0) bleibende Störung 1/2 1 G0 Spezialfall w=0 Störungsübertragungsfaktor x‘/z
4.2.2. Dynamische Betrachtung
_ Bisherige Annahme: Strecke und Regler sind statische Systeme Regler GR y=GRe Prozess (Strecke) GS x=GSy e w z x x‘ y _ +
Strecke und Regler sind statische Systeme (enthalten keine Speicher) GR y=GRe Prozess (Strecke) GS x=GSy e x y Bisherige Annahme: Strecke und Regler sind statische Systeme (enthalten keine Speicher) Momentanwerte für e, y, x, z reichen aus statische Übertragungsfaktoren G reichen aus
Strecke und Regler sind statische Systeme (enthalten keine Speicher) GR y=GRe Prozess (Strecke) GS x=GSy e x y Bisherige Annahme: Strecke und Regler sind statische Systeme (enthalten keine Speicher) Momentanwerte für e, y, x, z reichen aus statische Übertragungsfaktoren G reichen aus Regler gR(t) y(t) = gR(t) * e(t) y e Neue Annahme: Strecke und Regler sind dynamische Systeme (enthalten Speicher) Zeitfunktionen e(t), y(t), x(t), z(t) müssen betrachtet werden (Werte aus der Vergangenheit) Gewichtsfunktionen g(t) zur Beschreibung nötig x y Prozess (Strecke) gS t) x(t) = gS(t) * y(t)
Falls Regelstrecke an einen Rechner angeschlossen ist wert- und zeit-diskrete Signale x*(tk) = abstrakte Zahlen TASK führt zeitdiskret Algorithmus aus stellt y*(tk) als Ergebnis bereit Rechner TASK (Regler) y*[tk] = f(x*[tk],q*[tk]) Steuerwert- ausgabe Regelstrecke
Regler ist zeitdiskretes dynamisches System (enthalten Speicher) gR(t) y(t) = gR(t) * e(t) y e Neue Annahme: Regler ist zeitdiskretes dynamisches System (enthalten Speicher) Zeitfunktionen e(t), y(t) zeitdiskret Gewichtsfunktionen g(t) zeitdiskret: Differenzengleichung
allgemeinen linearen digitalen Regler Im speziellen Falle der Regler nennt man ein solches System auch allgemeinen linearen digitalen Regler y[i] = b0e[i] + b1e[i-1] + b2e[i-2] + … + bme[i-m] + a1y[i-1] + a2y [i-2] +…+any[i-n] m < n : für techn.Systeme
Datenflußgraph eines allgemeinen linearen digitalen Reglers b0 e(i) MUL ADD ADD y(i) b1 a1 e(i-1) MUL ADD ADD MUL y(i-1) a2 b2 y(i-2) MUL e(i-2) MUL ADD ADD an bm MUL y(i-n) e(i-m) MUL Datenflußgraph eines allgemeinen linearen digitalen Reglers
Datenflussgraph eines I-Regelalgorithmus b0 e(i) MUL ADD ADD y(i) b1 a1 e(i-1) MUL ADD ADD MUL y(i-1) a2 b2 y(i-2) MUL e(i-2) MUL ADD ADD an bm MUL y(i-n) e(i-m) MUL Datenflussgraph eines I-Regelalgorithmus
Integral-Regelalgorithmus (I) y I t t Sprungantwort dy = KI * e(t) dt Differential- gleichung Differenzen- gleichung y(i) = T*KI * e(i) + y(i-1)
Datenflussgraph eines D-Regelalgorithmus b0 e(i) MUL ADD ADD y(i) b1 a1 e(i-1) MUL ADD ADD MUL y(i-1) a2 b2 y(i-2) MUL e(i-2) MUL ADD ADD an bm MUL y(i-n) e(i-m) MUL Datenflussgraph eines D-Regelalgorithmus
Differential-Regelalgorithmus (D) y D t t Sprungantwort de KD = y(t) dt Differential- gleichung KD y(i) = (e(i) – e(i-1)) T Differenzen- gleichung
Datenflussgraph eines P-Regelalgorithmus b0 e(i) MUL ADD ADD y(i) b1 a1 e(i-1) MUL ADD ADD MUL y(i-1) a2 b2 y(i-2) MUL e(i-2) MUL ADD ADD an bm MUL y(i-n) e(i-m) MUL Datenflussgraph eines P-Regelalgorithmus
Proportional-Regelalgorithmus (P) y P t t Sprungantwort dy = KP de Differential- gleichung Differenzen- gleichung y(i) = KP * e(i)
Reihenschaltung (z. B. P-I-D-Regler): X1 X2 X3 Y G1 G2 G3 Für dynamische Systeme gilt: Gi(f) : Übertragungsfunktion des Teilsystems i X2(f)= G1(f)*X1(f) X3(f)= G2(f)*X2(f) ............. Gges(f) : Übertragungsfunktion des Gesamtsystems: Gges(f) = Y(f)/X1(f) = G1(f)*G2(f)*G3(f) ........... Gges(f) = P Gi(f)
Parallelschaltung dynamischer Teilsysteme (z. B. PID-Regler): Gi(f) : Übertragungsfunktion des Teilsystems i Y1 G1 Y1(f)= G1(f)*X1(f) X1 Y2 y G2 + Y2(f)= G2(f)*X1(f) Yn Gn Yn(f)= Gn(f)*X1(f) Gges(f) : Übertragungsfunktion des Gesamtsystems: Gges(f) = Y(f)/X1(f) = G1(f)+G2(f)+ …. Gn(f) ........... Gges(f) = S Gi(f)
PID-Regler und ihre Eigenschaften
gs _ Benchmark-Experiment zum Vergleich aller Regler-Typen gR y=gR*e Prozess (Strecke) gS x=gS*y e w z x x‘ y _ Benchmark-Experiment zum Vergleich aller Regler-Typen im realen Betrieb an einer Test-Strecke x y Einheitliche Bedingungen für den Test: Strecke ist vom Typ T1 gs
gs _ Benchmark-Experiment zum Vergleich aller Regler-Typen gR y=gR*e Prozess (Strecke) gS x=gS*y e w z=0 x x‘ y _ Benchmark-Experiment zum Vergleich aller Regler-Typen im realen Betrieb an einer Test-Strecke x y Einheitliche Bedingungen für den Test: Strecke ist vom Typ T1 keine Störung (z=0) gs
gs _ Benchmark-Experiment zum Vergleich aller Regler-Typen gR y=gR*e Prozess (Strecke) gS x=gS*y e=0 w=0 z=0 x=0 x‘ y=0 _ Benchmark-Experiment zum Vergleich aller Regler-Typen im realen Betrieb an einer Test-Strecke x y Einheitliche Bedingungen für den Test: Strecke ist vom Typ T1 keine Störung (z=0) zu Beginn des Experiments alle Größen = 0 gs
gs _ Benchmark-Experiment zum Vergleich aller Regler-Typen gR y=gR*e Prozess (Strecke) gS x=gS*y e w z=0 x x‘ y _ Benchmark-Experiment zum Vergleich aller Regler-Typen im realen Betrieb an einer Test-Strecke x y Einheitliche Bedingungen für den Test: Strecke ist vom Typ T1 keine Störung (z=0) zu Beginn des Experiments alle Größen = 0 danach Sprung der Führungsgröße w gs
P-Regler
Proportional-Regelagorithmus (P) y e P Sprungantwort dy = KP de Differential- gleichung Differenzen- gleichung y(i) = KP * e(i)
_ Eigenschaften des P-Reglers Vorteil: schnelle Reaktion am Anfang (+) Nachteil: bleibende Regelabweichung eB am Ende (-) yB = KP eB Als bleibende Regelabweichung eB eines P-Reglers bezeichnet man diejenige Regelabweichung, die zur Aufrechterhaltung seiner Stellgröße yB = KP eB erforderlich ist Regler gR Prozess (Strecke) gS e w z=0 x x‘ y _
P + - Bewertungstabelle für Regelalgorithmen Regler Verhalten am Anfang des Regelvorganges Verhalten am Ende des Regelvorganges P + -
G0 1 x‘ = w + z (1+G0) (1+G0) G0 x‘ = w (1+G0) e/w 1 G0 w-x‘ = w - w Gleichung des statischen Regelkreises (in unserem Experiment ist z = 0) G0 x‘ = w (1+G0) e/w 1 G0 w-x‘ = w - w (1+G0) bleibende Regelabw. 1/2 1 G0 G0 e = 1 - w (1+G0) 1 = w (1+G0)
Wie kann man den P-Regler verbessern (die bleibende Regelabweichung reduzieren) ? Erhöhung Verstärkung KP (und damit auch GR und G0) Vorteile: - noch schnellere Reaktion am Anfang - bleibende Regelabweichung eB am Ende wird reduziert yB = KP eB Nachteil: ??????
Wie kann man den P-Regler verbessern (die bleibende Regelabweichung reduzieren) ? Erhöhung Verstärkung KP (und damit auch GR und G0) Vorteile: - noch schnellere Reaktion am Anfang - bleibende Regelabweichung eB am Ende wird reduziert yB = KP eB Nachteil: Schwingungen (Instabilität)
I-Regler
Integral-Regelalgorithmus (I) y I t t Sprungantwort dy = KI * e(t) dt Differential- gleichung Differenzen- gleichung y(i) = T*KI * e(i) + y(i-1)
_ Eigenschaften des I-Reglers Vorteil: keine bleibende Regelabweichung eB am Ende (+) Nachteil: langsame Reaktion am Anfang (-) Regler gR Prozess (Strecke) gS e w z=0 x x‘ y _
P + - I Bewertungstabelle für Regelalgorithmen Regler Verhalten am Anfang des Regelvorganges Verhalten am Ende des Regelvorganges P + - I
Wie kann man den I-Regler verbessern (die Reaktion am Anfang beschleunigen) ? Erhöhung Verstärkung KI Vorteile: - schnellere Reaktion am Anfang Nachteil: ?????
Wie kann man den I-Regler verbessern (die Reaktion am Anfang beschleunigen) ? Erhöhung Verstärkung KI Vorteile: - schnellere Reaktion am Anfang Nachteil: Schwingungen (Instabilität)
PI-Regler
Proportional-Integral-Regelalgorithmus (PI) Sprungantwort des PI-Reglers allein: Differenzengleichung: e y PI y(i) = KP * e(i) + T*KI * e(i) + y(i-1) t t P-Anteil wirkt nur am Anfang des Regelvorganges PI-Regler „erbt“ die schnelle Reaktion Antwort des geschlossenen Regelkreises auf einen Sprung der Führungsgröße: P + I I-Anteil wirkt nur am Ende des Regelvorganges PI-Regler „erbt“ die totale Beseitigung der bleibenden Regelabweichung
Proportional-Integral-Regler (PI) P-Anteil wirkt nur am Anfang des Regelvorganges PI-Regler „erbt“ die schnelle Reaktion Eigenschaften des PI-Reglers Vorteile: schnelle Reaktion am Anfang (+) keine bleibende Regelabweichung am Ende (+) I-Anteil wirkt nur am Ende des Regelvorganges PI-Regler „erbt“ die totale Beseitigung der bleibenden Regelabweichung
P + - I PI Bewertungstabelle für Regelalgorithmen Regler Verhalten am Anfang des Regelvorganges Verhalten am Ende des Regelvorganges P + - I PI
D-Regler
Differential-Regelalgorithmus (D) y D t t Sprungantwort de KD = y(t) dt Differential- gleichung KD y(i) = (e(i) – e(i-1)) T Differenzen- gleichung
Differential-Regelalgorithmus (D) y extrem schnelle Reaktion am Anfang des Regelvorganges (++) D t t Sprungantwort de KD = y(t) dt Differential- gleichung KD y(i) = (e(i) – e(i-1)) T Differenzen- gleichung Ist die Änderungsgeschwindigkeit de/dt groß, führt der D-Regler bereits einen starken Stelleingriff y aus, auch wenn die Regelabweichung e selbst noch gering ist. Er berücksichtigt also „vorausschauend“, dass bei großer Änderungsgeschwindigkeit in Kürze auch eine große Regelabweichung zu erwarten ist („Hellseher“).
Differential-Regelalgorithmus (D) y extrem schnelle Reaktion am Anfang des Regelvorganges (++) danach jedoch gar keine sinnvolle Reaktion mehr (- -) D t t Sprungantwort de KD = y(t) dt Differential- gleichung KD y(i) = (e(i) – e(i-1)) T KD = (w – x‘(i) – w + x‘(i-1)) T Differenzen- gleichung wenn x = const. dann y = 0 KD = (x(i-1) – x(i)) T Der D-Regler gibt sich mit jedem Wert der Regelgröße x zufrieden, sobald x konstant bleibt. Die Führungsgröße w („Sollwert“) hat keinen Einfluss mehr auf y.
P + - I PI D ++ - - Bewertungstabelle für Regelalgorithmen Regler Verhalten am Anfang des Regelvorganges Verhalten am Ende des Regelvorganges P + - I PI D ++ - -
Wegen seines schlechten Verhaltens am Ende des Regelvorganges (- -) ist der reine D-Regler praktisch unbrauchbar ! Kann man seine Vorteile am Anfang des Regelvorganges (++) vielleicht trotzdem ausnutzen ?
PD-Regler
P + - I PI D ++ - - PD Bewertungstabelle für Regelalgorithmen Regler Verhalten am Anfang des Regelvorganges Verhalten am Ende des Regelvorganges P + - I PI D ++ - - PD
Proportional-Differential-Regelalgorithmus (PD) Sprungantwort des PD-Reglers allein: Differenzengleichung: e y KD + (e(i) – e(i-1)) T PD y(i) = KP * e(i) t t P-Anteil wirkt zwar am An- fang des Regelvorganges PD-Regler „erbt“ aber die bleibende Regelabweichung am Ende des Regelvorganges Antwort des geschlossenen Regelkreises auf einen Sprung der Führungsgröße: P + D D-Anteil wirkt nur am An- fang des Regelvorganges PD-Regler „erbt“ die schnel- le Reaktion am Anfang des Regelvorganges
P + - I PI D ++ - - PD Bewertungstabelle für Regelalgorithmen Regler Verhalten am Anfang des Regelvorganges Verhalten am Ende des Regelvorganges P + - I PI D ++ - - PD Gibt es vielleicht noch weitere Chancen, durch Vererbung bessere Eigenschaften zu erreichen ?
P + - I PI D ++ - - PD PID Bewertungstabelle für Regelalgorithmen Regler Verhalten am Anfang des Regelvorganges Verhalten am Ende des Regelvorganges P + - I PI D ++ - - PD PID Gibt es vielleicht noch weitere Chancen, durch Vererbung bessere Eigenschaften zu erreichen ?
Proportional-Integral-Differential-Regelalgorithmus (PID) y PID t Differenzengleichung KD + (e(i) – e(i-1)) T y(i) = KP * e(i) + T*KI * e(i) + y(i-1) P I + D
4.2.3. Analyse durch Rechner-Simulation
Offline-Simulation: Gemeinsames Modell für Prozess (z.B. Maschine) und Regler
Editieren des Modells in den Simulator
Erprobung des Zeitverhaltens (der Simulator arbeitet intern zyklisch die Differenzengleichungen des Modells ab)
Erprobung des Zeitverhaltens (der Simulator arbeitet intern zyklisch die Differenzengleichungen des Modells ab)
Simulierte Antwort des Regelkreises (Anlage + Regler) auf mehrere Sprünge der Führungsgröße (Sollwert)
Vorteile der Analyse durch Rechner-Simulation: die Untersuchungen können beginnen, wenn die reale Anlage noch gar nicht existiert auch das Studium extremer Situationen ist ohne Gefährdung der realen Anlage möglich die Erprobung verschiedenster Reglervarianten vollzieht sich ohne Störung des Prozesses es sind zeitgeraffte Untersuchungen möglich, besonders bei Prozessen mit großen Zeitkonstanten Es besteht jederzeit ein problemloser Ein- und Überblick über den Verlauf aller im Kreis vorkommenden Größen. Dies erfordert in der Praxis vor allem bei räumlich verteilten oder schwer zugänglichen Anlagenelementen großen Aufwand
Online-Simulation: Test realer Regeler-Software am Modell für Prozess (z.B. Maschine) „Hardware-in-the-Loop-Simulation“
Monitoring-Aufzeichnung Sensorik, Aktorik Steuerung Elektrische Signale K A I/O R T E N Sensorik, Aktorik Steuerung
? Sensorik, Aktorik Steuerung Elektrische Signale K A I/O R T E N Sensorik, Aktorik Steuerung Monitoring- Aufzeichnung ? Programmierung, Test und Leistungsbewertung während der Prototypen-Entwicklung, wenn die reale Maschine noch gar nicht existiert ?
Monitoring-Aufzeichnung Elektrische Signale K A I/O R T E N Sensorik, Aktorik Steuerung Monitoring-Aufzeichnung Maschine wird durch Prototypen-Nachbildung ersetzt
Monitoring-Aufzeichnung Maschine wird durch Echtzeit-Simulator ersetzt Sensorik, Aktorik Steuerung K A I/O R T E N Elektrische Signale Monitoring-Aufzeichnung Maschine wird durch Echtzeit-Simulator ersetzt
Maschine wird durch Echtzeit-Simulator ersetzt: Sensorik, Aktorik Steuerung K A I/O R T E N Elektrische Signale Monitoring-Aufzeichnung Maschine wird durch Echtzeit-Simulator ersetzt: Weitere Beispiele
Vorteile des Software-Tests durch Rechner-Simulation: die Untersuchungen können beginnen, wenn die reale Anlage noch gar nicht existiert auch das Studium extremer Situationen ist ohne Gefährdung der realen Anlage möglich die Erprobung verschiedenster Reglervarianten vollzieht sich ohne Störung des Prozesses es sind zeitgeraffte Untersuchungen möglich, besonders bei Prozessen mit großen Zeitkonstanten Es besteht jederzeit ein problemloser Ein- und Überblick über den Verlauf aller im Kreis vorkommenden Größen. Dies erfordert in der Praxix vor allem bei räumlich verteilten oder schwer zugänglichen Anlagenelementen großen Aufwand
Einfluss einer Strecken-Totzeit
gs Bisher hatten wir eine T1-Strecke angenommen: jetzt soll eine Totzeit hinzukommen ! Regler gR y=gR*e Prozess (Strecke) gS x=gS*y e w z=0 x x‘ y _ Benchmark-Experiment zum Vergleich aller Regler-Typen im realen Betrieb an einer Test-Strecke x y Einheitliche Bedingungen für den Test: Strecke ist vom Typ T1 keine Störung (z=0) zu Beginn des Experiments alle Größen = 0 danach Sprung der Führungsgröße w gs
Wiederholung:Totzeitsystem (Tz) vx vy Tz t t TL z.B. einfließende Flüssigkeit vx z.B. ausfließende Flüssigkeit vy z.B. Rohrleitung vy vy(t) = vx(t – TL) Differential- gleichung vx Differenzen- gleichung vy(i) = vx(i - n)
gs Bisher hatten wir eine T1-Strecke angenommen: jetzt soll eine Totzeit hinzukommen ! Regler gR y=gR*e Prozess (Strecke) gS x=gS*y e w z=0 x x‘ y _ Benchmark-Experiment zum Vergleich aller Regler-Typen im realen Betrieb an einer Test-Strecke Einheitliche Bedingungen für den Test: Strecke ist vom Typ Tz-T1 (Reihenschaltung) keine Störung (z=0) zu Beginn des Experiments alle Größen = 0 danach Sprung der Führungsgröße w gs y x
Wiederholung: T1-Strecke mit P-Regler Neu: Tz-T1-Strecke mit P-Regler
Ta Test mit Hilfe der Sprungantwort, ob die Regel- > 10 Strecke ist gut regelbar Tt+Tu Test mit Hilfe der Sprungantwort, ob die Regel- strecke (der Prozess) von Schwingungen bedroht ist Ta < 3 Strecke ist schlecht regelbar Tt+Tu
(Studienentscheidung Zahl der Studienanfänger und Absolventen e y Wirtschaft _ Schule (Studienentscheidung der Abiturienten) x Uni
Zahl der Studienanfänger und Absolventen
Produktion von Schweinefleisch („Schweinezyklen“) Handel/Verbrauch _ Preis- bildung x Aufzucht
Produktion von Halbleiterschaltkreisen (Speicher, Prozessoren) y Handel/Verbrauch _ Preis- bildung Bau einer neuen Fabrik x
Verbreitung von Epidemien (AIDS, Schweine-/Hühnergrippe) y Gegenmaßnahmen _ Ansteck- ungsrate Inkubations- zeit x
Totzeitprozess in einer Beschichtungsanlage Simulation in MATLAB:
4.2.4. Synthese durch Rechner-Optimierung
Möglichkeiten zum Finden passender Reglerparameter: 1. Theoretische Synthese (Herleitung der optimalen Werte) 2. Einstellregeln Messungen an der Strecke (z. B. Sprungantwort) Parameter aus Tabellen (meist Erfahrungswerte) 3. Probieren vor Ort (z. B. an der realen Anlage) 4. Optimierungsverfahren an Modellen
Möglichkeiten zum Finden passender Reglerparameter: 1. Theoretische Synthese (Herleitung der optimalen Werte) 2. Einstellregeln Messungen an der Strecke (z. B. Sprungantwort) Parameter aus Tabellen (meist Erfahrungswerte) 3. Probieren vor Ort (z. B. an der realen Anlage) 4. Optimierungsverfahren an Modellen
Gütekriterien
Gütekriterien: Wenn der Rechner die Parameter selbst entwerfen soll, muss er selbst entscheiden ! Dafür braucht er objektive Kriterien, ob ein Reglerverhalten gut oder schlecht ist. z. B. Kennwerte der Übertragungsfunktion / Sprungantwort: Anstiegszeit Ausregelzeit Überschwingweite bleibende Regelabweichung
Gütekriterien: Wenn der Rechner die Parameter selbst entwerfen soll, muss er selbst entscheiden ! Dafür braucht er objektive Kriterien, ob ein Reglerverhalten gut oder schlecht ist. z: B. Integralkriterien absolute Regelfläche quadratische Regelfläche Güte = e(t) dt Güte = (e(t))2 dt +oo
Gütekriterien: Wenn der Rechner die Parameter selbst entwerfen soll, muss er selbst entscheiden ! Dafür braucht er objektive Kriterien, ob ein Reglerverhalten gut oder schlecht ist. z: B. Kennwerte der Stellgröße: maximale Stellgröße Änderungsgeschwindigkeit der Stellgröße absolute Stellfläche quadratische Stellfläche Güte = y(t) dt Güte = (y(t))2 dt +oo
Gütekriterien: Wenn der Rechner die Parameter selbst entwerfen soll, muss er selbst entscheiden ! Dafür braucht er objektive Kriterien, ob ein Reglerverhalten gut oder schlecht ist. Weiterhin auch: Parameterunempfindlichkeit der Regelung Geringer Einfluss von Störgrößen auf die optimale Parametrierung
Optimierungsverfahren
Optimierungsverfahren systematische Suche Zufallssuche (Monte-Carlo-Verfahren) Hill-Climbing-Verfahren Evolutionsverfahren
Optimierungsverfahren systematische Suche Zufallssuche (Monte-Carlo-Verfahren) Hill-Climbing-Verfahren Evolutionsverfahren
schlechte Güte, KP zu klein: bleibende schlechte Güte, Regelabweichung Beispiel: Gütekriterium (Regelfläche) in Abhängigkeit von einer Variablen x1=KP eingezeichnet sind die bei einer systematischen Suche ermittelten Punkte Güte schlechte Güte, KP zu klein: bleibende Regelabweichung schlechte Güte, KP zu groß: Schwingungen
das Minimum versteckt sein) Beispiel: Gütekriterium (Regelfläche) eines P-Reglers in Abhängigkeit von einer Variablen x1=KP ; : eingezeichnet sind die bei einer systematischen Suche ermittelten Punkte Güte Nachteile: die besten Lösungen werden nicht getroffen (zwischen den Stützstellen könnte das Minimum versteckt sein) großer Aufwand (speziell bei mehr als einem Parameter KP , KI , KD)
Optimierungsverfahren systematische Suche Zufallssuche (Monte-Carlo-Verfahren) Hill-Climbing-Verfahren Evolutionsverfahren
Automatische Synthese von Reglerparametern Kleine Änderung an den Reglerparametern Güte- kriterien G Analyse durch Simulation ( z.B. Sprungantwort) erfüllt der Regelkreis (Regler + Strecke) die Gütekriterien G ? nein ja Entwurf erfolgreich beendet
Automatische Synthese von Reglerparametern Start-Entwurf Kleine Änderung an den Reglerparametern Güte- kriterien G Analyse durch Simulation ( z.B. Sprungantwort) erfüllt der Regelkreis (Regler + Strecke) die Gütekriterien G ? nein ja Entwurf erfolgreich beendet
Automatische Synthese von Reglerparametern Zufallsauswahl DKP , DKI , DKD Kleine Änderung an den Reglerparametern Güte- kriterien G Analyse durch Simulation ( z.B. Sprungantwort) erfüllt der Regelkreis (Regler + Strecke) die Gütekriterien G ? nein ja Entwurf erfolgreich beendet
Automatische Synthese von Reglerparametern Kleine Änderung an den Reglerparametern Güte- kriterien G Analyse durch Simulation ( z.B. Sprungantwort) erfüllt der Regelkreis (Regler + Strecke) die Gütekriterien G ? nein ja Entwurf erfolgreich beendet
Automatische Synthese von Reglerparametern Kleine Änderung an den Reglerparametern Güte- kriterien G Analyse durch Simulation ( z.B. Sprungantwort) erfüllt der Regelkreis (Regler + Strecke) die Gütekriterien G ? nein ja Entwurf erfolgreich beendet
Automatische Synthese von Reglerparametern Zufallsauswahl DKP , DKI , DKD Kleine Änderung an den Reglerparametern Güte- kriterien G Analyse durch Simulation ( z.B. Sprungantwort) erfüllt der Regelkreis (Regler + Strecke) die Gütekriterien G ? nein ja viele Iterationen: Es entsteht eine große Menge zufälliger Lösungen die beste wird am Ende ausgewählt Entwurf erfolgreich beendet Nachteile: die besten Lösungen werden nicht getroffen großer Aufwand der Algorithmus kann nicht aus guten Zwischenergebnissen lernen
Optimierungsverfahren systematische Suche Zufallssuche (Monte-Carlo-Verfahren) Hill-Climbing-Verfahren Evolutionsverfahren
Beispiel: Gütekriterium (Regelfläche) eines P-Reglers in Abhängigkeit von einer Variablen x1=KP ; : eingezeichnet sind die bei einer systematischen Suche ermittelten Punkte Güte
schlechte Güte, KP zu klein: bleibende schlechte Güte, Regelabweichung Beispiel: Gütegebirge (Gütekriterium Regelfläche) eines PI-Reglers in Abhängigkeit von zwei Variablen x1=KP , x2=KI Güte schlechte Güte, KP zu klein: bleibende Regelabweichung schlechte Güte, KP zu groß: Schwingungen
Wie findet man das Optimum (=Minimum) ? Beispiel: Gütegebirge (Gütekriterium Regelfläche) eines PI-Reglers in Abhängigkeit von zwei Variablen x1=KP , x2=KI links: räumliche Darstellung rechts: Höhenliniendarstellung (Projektion) Güte Wie findet man das Optimum (=Minimum) ?
Achsparallele Suche (Gauß-Seidel-Verfahren)
Automatische Synthese von Reglerparametern Start-Entwurf Kleine Änderung an den Reglerparametern (z.B. achsparallel) Güte- kriterien Gwunsch Analyse durch Simulation ( z.B. Sprungantwort G berechnen) erfüllt der Regelkreis (Regler + Strecke) die Gütekriterien (G < Gwunsch ) ? nein ja ja hat sich Gütewert G verbessert ? Entwurf erfolgreich beendet nein alte Reglerparameter wiederherstellen
Automatische Synthese von Reglerparametern Zufalls- auswahl DKP , DKI Kleine Änderung an den Reglerparametern (z.B. achsparallel) Güte- kriterien Gwunsch Analyse durch Simulation ( z.B. Sprungantwort G berechnen) erfüllt der Regelkreis (Regler + Strecke) die Gütekriterien (G < Gwunsch ) ? nein ja ja hat sich Gütewert G verbessert ? Entwurf erfolgreich beendet nein alte Reglerparameter wiederherstellen
Automatische Synthese von Reglerparametern Kleine Änderung an den Reglerparametern (z.B. achsparallel) Güte- kriterien Gwunsch Analyse durch Simulation ( z.B. Sprungantwort G berechnen) erfüllt der Regelkreis (Regler + Strecke) die Gütekriterien (G < Gwunsch ) ? nein ja ja hat sich Gütewert G verbessert ? Entwurf erfolgreich beendet nein alte Reglerparameter wiederherstellen
Automatische Synthese von Reglerparametern Kleine Änderung an den Reglerparametern (z.B. achsparallel) Güte- kriterien Gwunsch Analyse durch Simulation ( z.B. Sprungantwort G berechnen) erfüllt der Regelkreis (Regler + Strecke) die Gütekriterien (G < Gwunsch ) ? nein ja ja hat sich Gütewert G verbessert ? Entwurf erfolgreich beendet nein alte Reglerparameter wiederherstellen
Automatische Synthese von Reglerparametern Kleine Änderung an den Reglerparametern (z.B. achsparallel) Güte- kriterien Gwunsch Analyse durch Simulation ( z.B. Sprungantwort G berechnen) erfüllt der Regelkreis (Regler + Strecke) die Gütekriterien (G < Gwunsch ) ? nein ja ja hat sich Gütewert G verbessert ? Entwurf erfolgreich beendet nein Lernen ! alte Reglerparameter wiederherstellen
Automatische Synthese von Reglerparametern Lernen ! Keine Zufallsauswahl DKP , DKI Kleine Änderung an den Reglerparametern (z.B. achsparallel) Güte- kriterien Gwunsch Wenn der Schritt erfolgreich war, wird die Richtung beibehalten Analyse durch Simulation ( z.B. Sprungantwort G berechnen) erfüllt der Regelkreis (Regler + Strecke) die Gütekriterien (G < Gwunsch ) ? nein ja ja hat sich Gütewert G verbessert ? Entwurf erfolgreich beendet nein Lernen ! alte Reglerparameter wiederherstellen
Vorteil: Verfahren kann aus Erfolgen lernen (gute Teilergebnisse und Suchrichtungen beibehalten, schrittweise verbessern)
Gerichtete Suche (Gradientenverfahren)
Warum achsparallel suchen ? Die optimale Richtung ist eigentlich ganz anders !
dG dx1 1.Suchschritt Dx1 in x1-Richtung; Ermittlung der partiellen Ableitung 2.Suchschritt Dx2 in x2-Richtung; Ermittlung 3.Bildung des Gradientenvektors = [ , ] 4.Großer Schritt DS in Richtung des Gradienten- Vektors (steilster Abstieg) = [ DS , DS ] dG dx1 dG dx2 dG dx1 dG dx2 dG dx1 dG dx2
dG dx1 1.Suchschritt Dx1 in x1-Richtung; Ermittlung der partiellen Ableitung 2.Suchschritt Dx2 in x2-Richtung; Ermittlung 3.Bildung des Gradientenvektors = [ , ] 4.Großer Schritt DS in Richtung des Gradienten- Vektors (steilster Abstieg) = [ DS , DS ] dG dx1 dG dx2 dG dx1 dG dx2 dG dx1 dG dx2
Probleme bei unstetigen Gütegebirgen: kleine Schrittweite DS: bleibt in lokalen Optima (Tälern) stecken große Schrittweite DS: springt über Optima (Täler) hinweg; findet sie aber nie Lösung: Schrittweitensteuerung 1. beginnt mit großer Schrittweite; merkt sich alle Erfolge (~ Monte Carlo) 2. von den erfolgreichen Startpunkten aus (1) weiter mit kleiner Schrittweite findet von jedem Startpunkt aus das benachbarte lokale Optimum (Tal) 3. große Schrittweite: Ausbruchsversuch aus einem lokalen Optimum
Evolutionsstrategien
Evolution von Lebewesen REKOMBINATION: Zwei Eltern-Individuen vererben ihre Eigenschaften auf eine neue Generation von Nachkommen MUTATION: Die Erbanlagen der neuen Generation werden anschließend nach dem Zufallsprinzip willkürlich verändert SELEKTION: Sind die Eigenschaften der neuen Generation nun besser als die der Eltern, so wird sie überleben. Sind sie schlechter, wird sie aussterben.
Lernen ! Zufalls- auswahl DKP , DKI Lernen ! Evolution von Reglern REKOMBINATION: Zwei Eltern-Regler vererben ihre Eigenschaften auf eine neue Generation von Nachkommen MUTATION: Die Erbanlagen der neuen Generation werden anschließend nach dem Zufallsprinzip willkürlich verändert SELEKTION: Sind die Eigenschaften der neuen Generation nun besser als die der Eltern, so wird sie überleben. Sind sie schlechter, wird sie aussterben. Zufalls- auswahl DKP , DKI Lernen !
Lernen durch Vererbung A Z B X Y C Kind DNS Mutter Vater KP1 KD2 KI1 KP2 KI2 KD1 Regler neu 2 1
Evolution eines PID-Reglers über 250 Generationen Proportional-Anteil KP Integral-Anteil KI Differential-Anteil KD Ergebnis: PI-Regler ! Gütefunktion G (Regelfläche)
Wann wird der Optimierungsalgorithmus abgebrochen ? wenn ein bestimmter Gütewert erreicht wurde (G < Gwunsch) wenn keine Verbesserung mehr möglich ist wenn maximale Laufzeit überschritten oder maximale Zahl von Versuchen erreicht dG dt < minimaler Grenzwert