Wahrscheinlich hatte jeder, der sich wiederholt mit der Theorie der automatischen Steuerung befasste, Zweifel daran, wie diese zwei, drei oder sogar zehn Quadrate der Übertragungsfunktionen im Modell die Dynamik einer komplexen Einheit wie eines Kernreaktors oder eines Flugzeugtriebwerks darstellen. Gibt es hier Betrug? Es ist möglich, dass die Arbeit mit einfachen Modellen im „realen“ Leben nicht mehr mit komplexen Modellen arbeitet.
In diesem Artikel werden wir mit dem „echten“ Flugzeugtriebwerksmodell experimentieren. Es mit "echten" Modellen von Geräten und Steuerungsalgorithmen aus einem Kernkraftwerk umgeben zu haben.
Ursprünglich wurde das Modell in Fortran geschrieben und ist für einige hochwissenschaftliche Zwecke im Zusammenhang mit Motormanagementsystemen vorgesehen. Dieses Modell wurde uns als Beispiel gegeben und unsere Aufgabe war es, das Modell in einer strukturellen Form zu wiederholen und zu beweisen, dass es mit dem ursprünglichen übereinstimmt. Welches wurde getan.
Sobald sich das Modell von der Fortran-Auflistung in ein Blockdiagramm verwandelte, wurde es einfach und bequem, damit zu arbeiten und die „anspruchsvollsten“ Experimente durchzuführen. Es ist kein Zufall, dass ich mich als echte KKW-Steuerungsalgorithmen herausstellte. Das ermöglichte es, schnell ein Modell für Experimente zusammenzustellen, ohne Formeln zu verwenden, ja ja, nur Bilder.
Motormodell
Das Modell besteht aus einer Reihe typischer Blöcke, die zur Simulation verschiedener Komponenten eines bestimmten Motors konfiguriert sind. In einem früheren Artikel haben wir ein Gasturbinentriebwerk zerlegt, bei dem die Nettoleistung mithilfe einer Welle entfernt wird. In einem Turbostrahltriebwerk ist die Nettoleistung der Strahlschub, aber wir werden die Geschwindigkeit steuern.
Das allgemeine Schema des Modells ist in Abbildung 1 dargestellt.
Abbildung 1. Diagramm eines Strukturmodells eines Turbostrahltriebwerks.Trotz der Tatsache, dass das Modelldiagramm wie eine Streuung dreidimensionaler Teile aussieht, handelt es sich tatsächlich um eine Reihe miteinander verbundener Strukturelemente.
Als Experiment werden wir wie im vorherigen Artikel versuchen, die Kraftstoffzufuhr zu steuern, um die gewünschte Geschwindigkeit zu erhalten.
Dazu brauchen wir eine Brennkammer, in deren Eigenschaften wir den Kraftstoffverbrauch finden - die wir ändern werden. Und in den Parametern hat die Kammer einen Eingangsdruck, der in diesem Block berechnet wird. (siehe Abb. 2 und 3)
Abbildung 2. Eigenschaften der Brennkammer.Abbildung 3. Parameter der Brennkammer.Als einstellbare Geschwindigkeit nehmen wir die Umdrehungen der Niederdruckwelle. Es scheint mir, dass seine Umdrehungen eine komplexere Abhängigkeit vom Kraftstoffversorgungsdruck haben als die Umdrehungen der Hochdruckwelle, die nach dem Brennraum von Gasen beeinflusst wird.
Kraftstoffversorgungsmodell
Im Originalmodell wird die Kraftstoffversorgung in kg / s als Randbedingung für die Modellierung in Form einer tabellarischen Zeitfunktion angegeben. Wir möchten ein Modell erstellen, das dem „echten“ Modell nahe kommt, daher werden wir den Vorschlag aus dem vorherigen Artikel verwenden und ein hydraulisches Modell der Kraftstoffversorgung aus einem Rohr und einem Elektroventil erstellen.
Als Modell werden wir ein Rohr mit einem Durchmesser von 10 mm einstellen, auf das wir ein elektrisches Ventil setzen. Der Druck auf einer Seite des Rohrs wird konstant eingestellt, vorausgesetzt, die Kraftstoffpumpe arbeitet dort. Der Druck auf der anderen Seite wird vom Motormodell übernommen. Am Ende des Rohrs fügen wir eine Verengung von 2 hinzu, um die Düse zu simulieren. (Abb. 4)
Abbildung 4. Modell der Kraftstoffversorgung des Motors.Das Modell berücksichtigt die Abhängigkeit der Änderung des hydraulischen Widerstands des Ventils von der Position des Ventils.
Ein solches Modell ermöglicht es uns, die Auswirkung des Drucks in der Brennkammer auf den Kraftstoffverbrauch zu berücksichtigen und eine Rückmeldung zu geben. Wenn wir den Kraftstoffverbrauch erhöhen, erhöhen wir den Druck in der Brennkammer und dementsprechend verringert sich die Differenz zwischen der Kraftstoffpumpe und der Brennkammer, was zu einem geringeren Kraftstoffverbrauch führt .
Die Kosten des Rohrs werden durch Lösen der instationären Gleichung des Flüssigkeitsflusses unter Berücksichtigung von Reibung, Viskosität, Dichte und anderen physikalischen Effekten bestimmt, deren Beschreibung einige - drei Seiten Formeln umfasst.
Managementmodell
Um ein reales Steuerungssystem zu simulieren, nehmen wir das Modell des Reglers für die Dampfversorgung der Turbine aus dem KKW-Steuerungsprojekt. Nicht nur eine PID, die uns die Position des Ventils gibt, sondern ein ehrliches Modell, das Folgendes hat:
- Modellierung des Betriebs des Antriebsmotors unter Berücksichtigung der Unempfindlichkeitszone, Verzögerungen, Öffnungs- und Schließgeschwindigkeiten.
- FIR (Pulsumwandlungsrelais) ist ein nichtlinearer Block, der die Umwandlung der Steueraktion in den Befehlen "Öffnen" und "Schließen" ermöglicht.
- PID-Regler.
- Die Trägheit des Geschwindigkeitssensors.
Um alle aufgelisteten Blöcke und Modelle zu beschreiben, benötigen Sie weitere hundertfünfzig Textseiten. Geben Sie die Bilder also nur mit minimaler Erklärung an.
Ventilmodell
Es ist ein Modell des Motors und des lokalen Steuerungssystems.
Die Engine ist ein kniffliger Integrator, der die Befehle "Öffnen" und "Schließen" unter Berücksichtigung einer bestimmten Bewegungsgeschwindigkeit möglicher Stöße, Stromausfälle usw. verarbeitet. (siehe Abb. 5) Am Ausgang dieses Blocks wird die Ventilposition zu jedem Zeitpunkt in der Prozesssimulation berechnet
Abbildung 5. ElektromotormodellZur Steuerung des Ventilelektromotors wird die Ventilsteuereinheit (BUK) verwendet, die eine logische Verarbeitung eingehender Befehle und möglicher gegebener Fehler ermöglicht und außerdem alle erforderlichen Signale für Anzeige- und Steuerungssysteme erzeugt. (siehe Abb. 6)
Abbildung 6. Modell der Ventilsteuereinheit (BEECH)Die Diagramme in den Abbildungen 5-6 sind typische Bibliotheksschemata zur Modellierung von Kernkraftwerken. Diese Blöcke werden vom Benutzer nicht geändert, sondern bereitgehalten und zum Erstellen von Steuerungsalgorithmen verwendet. Steueralgorithmen werden in Form von Blättern erstellt. In unserem Fall ist das Blatt mit dem Ventilsteuerungsalgorithmus in Abbildung 7 dargestellt.
Die direkte Bildung des Befehls "Öffnen" oder "Schließen" (Mehr, Weniger) erfolgt im Block der Relaisumwandlung von Impulsen (FIR). Diese Einheit kann sowohl an der „Eisenlogik“ (Transistoren, Relais, Verstärker) als auch in Form eines Programms ausgeführt werden.
Am Eingang des EPI-Blocks wird eine Nichtübereinstimmung berechnet, die vom PID-Block in Form einer prozentualen Abweichung berechnet wird. Basierend auf diesen Daten erzeugt das Gerät selbst Impulse zum Öffnen oder Schließen (Mehr, Weniger) für das Ventilsteuergerät. Das Blockschaltbild des EPI ist in Abbildung 8 dargestellt.
Der Geschwindigkeitsregelungsalgorithmus ist in Abbildung 9 dargestellt.
Als Anfangsdaten für die Berechnung des Druckreglers werden die eingestellte Geschwindigkeit und die Sensorwerte verwendet.
Der PID-Algorithmus selbst ist in Abbildung 10 dargestellt.
Der Geschwindigkeitssensor berücksichtigt die Verzögerung, Trägheit und den Fehler des realen Sensors. Das Sensormodelldiagramm ist in Abbildung 11 dargestellt.
Abbildung 7. VentilsteuerungsalgorithmusAbbildung 8. FIR-BlockdiagrammAbbildung 9. Der Algorithmus des SteuerknopfsAbbildung 10. PID-ReglerAbbildung 11. SensormodellWie wir sehen können, ist das Modell ziemlich detailliert (mehr als tausend Blöcke) und überhaupt nicht linear.
Da wir in diesem Experiment die Möglichkeit untersuchen, komplexe Systeme zu optimieren und zu verwalten, ist das Detail des mathematischen Modells für uns unter dem Gesichtspunkt seiner Nichtlinearität und Komplexität wichtig. Daher bildet eine solche „wilde“ Kombination eines realen Steuerungsprogramms von KKW-Regulierungsbehörden und eines „realen“ Motormodells die Aufgabe, Regulierungsbehörden mit komplexen Modellen zu testen.
- Das Steuerungssystem verwendet die folgenden Einstellungen:
- Öffnungs- und Schließzeit des Ventils - 10 Sekunden
- Regelungsbereich der Motordrehzahl - 1500 - 4000 U / min
- Totband für den Regler - 1%
Modellabstimmung und numerisches Experiment
Das Modell, das wir untersuchen, beschreibt nur den Motor. Alle Steuerungsmaßnahmen wie Kraftstoffverbrauch, Drehwinkel der Leitschaufel, Durchflussraten usw. werden in Form von Funktionen eingestellt, die sich im Laufe der Zeit ändern. Wir haben ein „ehrlicheres“ Kraftstoffversorgungsmodell erstellt und versuchen, es mit dem Motormodell zu verbinden. Der Aufbau des numerischen Experiments ist wie folgt:
- das Motormodell auf Nenndrehzahl bringen;
- Schalten Sie die Kraftstoffversorgung auf das erstellte Steuerungssystem um.
- Geschwindigkeitskontrolle machen.
Fig. 12 zeigt die Steuerschaltung zur Durchführung eines numerischen Experiments.
Abbildung 12. Kontrollmodell für numerische ExperimenteDas Modell kann im Optimierungsmodus oder im Steuermodus arbeiten.
Wenn der Optimierungsmodus aktiviert ist, arbeitet die Optimierungseinheit und nimmt im Ausschaltmodus nicht an der Berechnung teil.
Alle Modelle, die in einem einzigen Paket verbunden sind, werden als synchroner Datenaustausch über eine Signaldatenbank betrachtet. In einem Abrechnungsverwaltungsprojekt werden Daten von einem Modell zu einem anderen übertragen. Insbesondere wird der Druck aus dem Brennraum des Motors auf den Druck am Auslass des Kraftstoffsystems übertragen, und die berechneten Umdrehungen der Niederdruckwelle werden zur Abrechnung im Steuersystem auf das Sensormodell übertragen.
Um die Ungenauigkeit der Drehzahlmessung zu simulieren, wird dem berechneten Wert der Wellendrehzahl weißes Rauschen hinzugefügt.
Die eingestellte Geschwindigkeit wird an die Optimierungseinheit übertragen. Zur Überwachung der Transientenqualität werden Durchflussraten und Ventilpositionen verwendet.
Das Steuersystem besteht aus einer Zustandsmaschine mit drei Zuständen (siehe Abb. 13):
- Beschleunigung des Motors. In diesem Zustand arbeitet das Motormodell unabhängig vom Kraftstoffsystem und der Kraftstoffverbrauch wird als stückweise lineare Funktion eingestellt. Der Regler wird ausgeschaltet und die berechneten Niederdruckwellenumdrehungen werden auf die eingestellten Umdrehungen übertragen. Je nach Signal des oberen Pegels kann der Übergang entweder im Optimierungszustand oder im Regelzustand erfolgen.
- Optimierung. In diesem Zustand wird der Kraftstoffverbrauch dem Hydraulikmodell entnommen und auf das Motormodell übertragen. Der PID-Regler ist eingeschaltet und regelt die Ventilstellung. Die PID-Koeffizienten des Reglers werden aus dem Optimierungsblock entnommen und im Optimierungsmodus auf den Regler angewendet. Als Testaktion wird eine Änderung der Motordrehzahl eingestellt.
- Management. Genau wie bei der Optimierung, mit der Ausnahme, dass die Koeffizienten an den PID-Regler übertragen werden.
Abbildung 13. Zustandsautomaten des MotormanagementsystemsAbbildung 14. Die Zustände "Motorbeschleunigung" und "Optimierung"Die Einstellung der Steuerung erfolgt nach der Optimierungsmethode. Das Optimierungsblockdiagramm ist in Abbildung 15 dargestellt. Je nachdem, welche Steuereinheit im Steuerungssystem verwendet wird, wählt der Optimierungsblock Werte entweder für den PID-Block oder den Fuzzy-Steuerblock aus.
Beim Einrichten wird weißes Rauschen nicht berücksichtigt (im Block wird es auf 0 gesetzt).
Abbildung 15. Optimierungsblock für ReglerSimulationsergebnisse
Zur Auswahl der PID-Reglerkoeffizienten wird der folgende Prozess verwendet:
Innerhalb von 10 Sekunden erfolgt die Beschleunigung anhand einer vorberechneten Kraftstoffverbrauchskurve. Die Drehzahl der Niederdruckwelle am Ende der Beschleunigung beträgt 3564 U / min.
Nach 10 Sekunden der Berechnung schaltet die Zustandsmaschine um. Ab diesem Moment wird der Kraftstoffverbrauch dem Hydraulikmodell entnommen, und die eingestellte Frequenz für den Regler beträgt 3600 U / min.
Nach 20 Sekunden Berechnung ändert sich die eingestellte Frequenz - 3900 U / min.
Daher muss der Regler einen Schritt von 36 U / min bei 10 Sekunden Berechnung und einen Schritt von 300 U / min bei 30 Sekunden Berechnung berechnen.
Der abgestimmte PID-Regler bewältigt diese Aufgabe erfolgreich und berücksichtigt dabei, dass nach 10 Sekunden zusätzlich zum Drehzahlsprung zum Zeitpunkt der Umstellung auf das Hydraulikmodell ein Kraftstoffverbrauchssprung auftritt (siehe Abb. 16).
Abbildung 16. Umsatz- und Regelungsprozess für den PID-ReglerUm einen Regler zu erstellen, der auf Fuzzy-Logik und der Reinheit des Experiments basiert, verwenden wir denselben bereits konfigurierten PID-Regler (siehe Abb. 10), in den wir ein auf Fuzzy-Logik basierendes Reglermodell hinzufügen und den Reglerausgang ersetzen. Anstelle der PID senden wir ein in Fuzzy-Logik erhaltenes Signal .
Somit bleiben alle anderen Parameter im Zusammenhang mit der Normalisierung, der Unempfindlichkeitszone und der Arbeit des EPI dieselben wie für die PID.
Der Ausgang des Reglers, der gleiche wie der Ausgang für die PID, ist die prozentuale Nichtübereinstimmung.
Und wir haben den PID-Regler selbst verlassen, damit wir vergleichen können, welche Auswirkungen die Regler haben. (siehe Abb. 17)
Abbildung 17. Konvertieren von PID in Fuzzy LogicDer Regler selbst sieht genauso aus wie im ersten Artikel . (siehe Abb. 18). Die Nichtübereinstimmung wird eingegeben, die erste und die zweite Ableitung der Nichtübereinstimmung werden numerisch bestimmt und eine einfache Basis von drei Regeln wird verwendet:
- Wenn weniger und abnimmt und verlangsamt => abnehmen.
- Wenn die Norm konstant ist und sich nicht ändert => nicht ändern .
- Wenn mehr und erhöht und beschleunigt => erhöhen .
Abbildung 18. Diagramm eines Fuzzy-Controllers.Für die Anpassung verwenden wir dieselben Variablen wie im ersten Artikel - dies sind die Abweichungsbereiche der Abweichungen der ersten und zweiten Ableitung.
Nach der Optimierung starten wir den gleichen Übergangsprozess.
Abbildung 19. Umsätze und Steuerungen für Fuzzy-LogikDer Fuzzy-Logik-Controller hat einwandfrei funktioniert. Bitte beachten Sie, dass sich je nach Position des Absperrschiebers Schritte „von uns selbst gebildet“ gebildet haben, als das Ventil angehalten, angehalten und dann wieder bewegt wurde.
Nach Zeitplan 19 zu urteilen, hat die Fuzzy-Logik den Anstieg der Flugzeugtriebwerksgeschwindigkeiten viel besser bewältigt!
Jetzt werden wir die Bedingungen des Problems ändern, die auf den positiven Schritt von 300 U / min eingestellt sind, und den negativen Schritt von -1500 U / min testen. (Wenn Sie mehr nehmen, schließt das Ventil möglicherweise, aber ich weiß nicht, wie sich das Modell bei einem Kraftstoffverbrauch von Null verhält, obwohl der reale Motor eine kurzfristige Abschaltung der Kraftstoffzufuhr ermöglicht.)
Nach 20 Sekunden Berechnung stellen wir die Frequenz auf 2100 U / min ein. Und mal sehen, wie unsere Regulierungsbehörden arbeiten. Der erste im Ring ist Fuzzy Logic.
Abbildung 20. Die Praxis der Geschwindigkeitsreduzierung. Fuzzy-LogikDas zweite Experiment ist mit einem PID-Regler. Und was sehen wir? Dies ist ein vollständiger Fehler. Der PID-Regler, der auf die Erhöhung der Geschwindigkeit eingestellt ist, konnte die Abnahme der Frequenz nicht bewältigen. (siehe 21) Für unsere Kernkraftwerke war jetzt etwas alarmierend.
Das Motormodell bei niedrigen Drehzahlen erwies sich mit Hilfe eines PID-Reglers, der auf hohe Drehzahlen eingestellt war, als völlig unkontrollierbar.
Übrigens ist zu erkennen, dass ein kurzes Abschalten der Kraftstoffzufuhr (das Ventil schließt vollständig) nicht zum Zusammenbruch des Turbostrahlmodells führt.
Abbildung 21. Die Praxis der Geschwindigkeitsreduzierung. PID-Regler.Dies erfordert die Überprüfung mit dem SDA-Regler, bei dem die zweite Ableitung verwendet wird. Da ein solches Modell bereits im vorherigen Artikel erstellt wurde (siehe Abb. 22), dauert es zwei Sekunden, Fuzzy-Logik in Verkehrsregeln umzuwandeln. (siehe Abb. 23).
Abbildung 22. Strukturdiagramm der Verkehrsregeln der Regulierungsbehörde.Abbildung 23. Ersetzen der PID durch Verkehrsregeln im SteueralgorithmusWir stellen den Regler nach der Optimierungsmethode ein und wiederholen die Geschwindigkeitsreduzierung.
Abbildung 24 Testen der Geschwindigkeitsreduzierung des VerkehrsregelcontrollersSDA arbeitete mit Überschwingen, aber deutlich besser als PID und fast so gut wie Fuzzy-Logik. Aber es gibt ein Überschwingen!
Lassen Sie uns die Aufgabe komplizieren - dem Sensor Rauschen hinzufügen
Versuchen wir nun, dem Signalmesssensor weißes Rauschen hinzuzufügen und zu sehen, wie sich die Regler mit dem realen Sensor verhalten. Die Totzone beträgt 1% der Höchstgeschwindigkeit - sie beträgt 40 U / min. Stellen Sie das weiße Rauschen auf 50 U / min ein.
Da die PID nicht mit einer niedrigeren Geschwindigkeit arbeitet, werden wir mit einer Erhöhung testen.
Der Verkehrsregler kommt mit solchen Geräuschen eindeutig nicht zurecht, obwohl er die erforderliche Geschwindigkeit beibehält, aber das Steuerventil zittert, wie im Tanz von St. Vitus, wenn die eingestellte Geschwindigkeit eingeschaltet ist. In Abbildung 25 ist der Abschnitt 25 - 26 Sekunden des Prozesses speziell vergrößert.
Abbildung 25 Erhöhen der Drehzahl mit Rauschen im Sensor. VerkehrsregelnAbbildung 26 Erhöhen der Drehzahl mit Rauschen im Sensor. PID-ReglerDer Übergang für den PID-Regler hat sich trotz des Rauschens im Drehzahlsensor nicht geändert. Das Management kommt mit klaren und langen Schritten.
Der Alarm für das Kernkraftwerk ging zurück.
Abbildung 27. Fuzzy-Controller mit Rauschen im Sensor.Eine Steuerung mit Fuzzy-Logik mit Rauschen steuert ebenfalls, aber in den Momenten der Anwendung auf einen stationären Zustand treten Schwankungen in der Position der Regulierungsbehörde auf.
Schlussfolgerungen
Die dritte Testreihe der Fuzzy-Logik gegen PID und SDA endete mit einem Sieg der Fuzzy-Logik. Im Gegensatz zum einfachen Modell des vorherigen Artikels .
Es stellte sich als unmöglich heraus, den PID-Regler bei niedrigen Geschwindigkeiten zu regeln.
Der experimentell identifizierte Vorteil von PID ist das Fehlen von Schwingungen mit einem verrauschten Sensor.
Die Dynamik des Motors (Beschleunigungsdiagramm) war übrigens der Dynamik eines vereinfachten Modells sehr ähnlich.