|
|
Anzahl der Zustände während der Simulation ändern |
|
tkrhiman |
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 07.03.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.04.2013, 15:33
Titel: Anzahl der Zustände während der Simulation ändern
|
|
|
|
|
Hallo,
ich möchte ein lineares Modell mit einem linearen PI-Regler (es sollen alle Regler verwendet werden können, die sich als Zustandsraummodell darstellen lassen) simulieren. Zu einem bestimmten Zeitpunkt (ein Fehler ist aufgetreten) soll der Regler ausgetauscht werden. Das Problem dabei ist, dass der neue Regler mehr Zustände als der alte hat. Die Simulation sollte im besten Falle weiterlaufen und nur der Regler für einen Simulationsschritt abgeschaltet werden. Zur Not wäre es auch möglich die Simulation zu pausieren und nach der Änderung wieder zu starten.
Die Änderungen möchte ich später mit dem Befehl setParam(...) durchführen.
Ich habe bis jetzt folgendes probiert:
1. Für den Regler ein LTI System verwendet. Die Parameter lassen sich jedoch nicht ändern, wenn Simulink pausiert ist.
2. Den Regler als StateSpace Modell verwendet. Die Parameter lassen sich zur Laufzeit ändern, wenn ich jedoch für die Systemmatrix A eine andere Matrix mit einer anderen größe verwende, kommt eine Fehlermeldung, dass zur Laufzeit die größe nicht verändert werden darf.
3. Manuell das Zustandsraummodell implementiert, mit Integrator und den Matrizen A,B,C,D. Ändern einer Matrix gibt auch die Fehlermeldung, dass sich die Dimensionen nicht ändern dürfen.
4. Ich habe eine Vorlage einer s-Function, die den Regler realisiert. Im Gegensatz zu den Eingangs- und Ausgangsgrößen gelingt es mir nicht die Dimension des Zustands zu verändern.
Ich hoffe es hat noch jemand eine Idee, was ich noch ausprobieren kann.
Schönen Gruß
Simon
|
|
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.04.2013, 06:13
Titel:
|
|
Kannst du nicht alle Regler parallel laufen lassen und den gewünschten über ein (multi) switch durchlassen?
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|