Hallo,
ich habe ein Modell in Simulink (Wahlweise mit „Transfer-FCN“-Block oder mit „State-Space“-Block) - das ist egal…ich kann es auch ganz anders machen, wenn nötig!
Problem: ich muss in einem best. Rhytmus auf eine andere Übertragungsfunktion umschalten!
Das Umschalten funktioniert, ABER die neu eingeschaltete Ü-Fkt. beginnt immer bei 0!!!
d.h. in meiner Simulation ist direkt beim Umschalten ein Knick (Kurve fällt sofort von 30000 auf 0!!)
beim zurückschalten auf die andere Ü-Fkt. ist es das gleiche…diese ist natürlich bei 30000 stehen geblieben und es geht dann dort auch weiter, obwohl mein Ausgang schon ganz wo anders sein sollte.
Wie kann ich bei diesen „Transfer-Fcn“ oder „State-Space“ Blöcken jedesmal einen reset durchführen, und danach eine initial-condition geben, die dem Augenblicklichen Wert des jeweils anderen Blocks entspricht??
Bitte helft mir!! ich bin schon total am Verzweifeln!
Danke für die Antworten
Hallo,
Du solltest beim State-Space-Block den Anfangszustand (initial conditions) richtig setzen 
Also erst Endzustand auslesen (y), umschalten und das alte y jetzt als x0 entsprechend als Anfangsbedingung einsetzen.
Wie kann ich bei diesen „Transfer-Fcn“ oder „State-Space“
Blöcken jedesmal einen reset durchführen, und danach eine
initial-condition geben, die dem Augenblicklichen Wert des
jeweils anderen Blocks entspricht??
???
Am FCN-Block gibt es nichts zum Umschalten.
Hier hilft das Manual (FCN-Block):„Initial conditions are preset to zero. If you need to specify initial conditions, convert to state-space form using tf2ss and use the State-Space block. The tf2ss utility provides the A, B, C, and D matrices for the system. For more information, type help tf2ss or consult the Control System Toolbox documentation.“
Bei dem State-Space-Block steht: „Initial conditions
The initial state vector.“ Genau diesen Parameter musst Du setzen.
Also, kein Grund zum Verzweifeln.
viel Erfolg
R.
Hallo,
zuerst mal Danke für die Antwort, aber sie hilft mir nicht weiter: Ich benutze ja schon den „State-Space“-Block, aber ich kann ihn während einer Simulation nicht auf eine Initial-Condition setzen!!
Nur einmal am Anfang!!
ich muss ihn aber mehrmals auf einen vorher noch nicht bekannten Wert setzen.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi,
weshalb willst Du eigentlich den ganzen Block umschalten? Hast Du es wirklich mit nicht-glatten DGL zu tun? Oder reicht für Deine Zwecke evtl. auch eine zu- und abschltbare Ausgangs- oder Zustandsrückführung?
Zum Umschalten:
Variante 1:
Falls Du wirklich umschalten mußt, kannst Du z.b. statt der Umsschaltung ein Stop-Element einbauen. Mit einem kleinen Matlab-Skript startest Du dann jeweils das gerade gültige Modell.
Variante 2:
Oder du bastelst Dir ein Zustandraummodell selbst mit den Integratoren zusammen. Dort kannst Du mit Rechtsklick->„integrator parameters“ den Reseteingang und einen Zustandsausgang aktivieren.
Ciao R.
Danke!
Das sind ein paar gute Vorschläge!!
ich werde sie gleich ausprobieren…das wird bestimmt bis morgen dauern 
zu deiner Frage:
ich habe eine Werkzeugmaschine, die die Drehzahlen regeln kann. Sie kann aber nur beschleunigen über den Regler!! Abbremsen ist nicht…nur einfach kein Gas mehr geben, und warten bis die Drehzahl wieder unten ist.
Das bedeutet eine Übertragungsfunktion für beschleunigen und eine fürs abbremsen!
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]