|
|
Schrittweise Input im Regelkreis |
|
zugstab |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 29.10.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.10.2015, 09:22
Titel: Schrittweise Input im Regelkreis
|
|
Hallo zusammen,
Ich habe in Simulink einen Regelkreis erstellt, dieser funktioniert auch wie erwartet.
Im nächsten Schritt würde ich das Modell gerne ohne Sinus Input laufen lassen. Ich will für jeden Zeitschritt einen Wert vorgeben.
Der Regelkreis soll also auf den ersten Wert warten, mir den Output geben und dann auf meinen nächsten Wert warten.
Am Ende soll das natürlich über ein Script laufen, aber die Fragen ist ob das überhaupt geht und wenn ja, wie?
Vielen Dank!
|
|
|
|
|
zugstab |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 29.10.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.10.2015, 10:13
Titel:
|
|
Das ganze scheint nicht zu gehen, weil das Modell einmal compiliert wird und dann durchläuft. Eine Alternative wäre das Modell jeweils nur einen Schritt rechnen zu lassen. Problem ist das Simulink nicht in der Lage ist Daten aus einer Datei einzulesen.
Man muss also immer vom Workspace Variablen übergeben. Das ganze dauert nun leider sehr lange da das Modell jeweils neu compiliert werden muss.
... sehr nervig
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.10.2015, 17:40
Titel:
|
|
Warum benutzt Du nicht den From file-Block, wenn Du die Daten aus einer Datei lesen möchtest?
|
|
|
zugstab |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 29.10.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.10.2015, 20:47
Titel:
|
|
from file kann nur mat-files lesen, das sind binär daten. Kann ich also nicht selbst per Skript erzeugen.
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.10.2015, 20:50
Titel:
|
|
Kommt darauf an, welchen Skript-Interpreter Du verwendest... Mit einem von Matlab interpretierten Matlab-Skript kannst Du einfach mit
save
.mat-files erzeugen.
Oder soll jeder neue Eingangswert auf Basis des letzten berechneten Werts berechnet werden? Dann musst Du die Erzeugung der Eingangswerte mit ins Modell nehmen.
|
|
|
zugstab |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 29.10.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.10.2015, 20:58
Titel:
|
|
Ich will eigentlich mit einem FE-Solver Daten austauschen, aber Simulink wehrt sich mit Händen und Füßen, kann ich nicht ganz nach voll ziehen.
Vermutlich wird es bald ein kostenpflichtiges Interface geben.
Zuletzt bearbeitet von zugstab am 30.10.2015, 21:01, insgesamt einmal bearbeitet
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.10.2015, 21:01
Titel:
|
|
Für einige FE-Programme gibt es extra Toolboxen, die eine Co-Simulation ermöglichen. Hast Du da mal nachgeschaut, ob das bei Dir vielleicht auch der Fall ist?
|
|
|
zugstab |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 29.10.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.10.2015, 21:05
Titel:
|
|
Die Geschichten sind eher für die Forschung gedacht, wo der Doktorand 16 Monate Zeit hat so ein Modell auf zu bauen und nicht für den produktiven Einsatz.
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.10.2015, 21:13
Titel:
|
|
|
|
|
Ok, verstehe :)
Aber so ganz kapiert habe ich das Prinzip noch nicht. Du simulierst den Regler in Simulink, gehst mit der Stellgröße auf das FE-Modell, das reagiert irgendwie, daraus wird ein Messwert generiert, der dann wieder nach Simulink eingegeben werden soll. Wenn das so ist, verstehe ich nicht, wie Du alle Eingangswerte in einen From Workspace-Block bekommst. Der Eingangswert aus dem zweiten Schritt ist doch vorher gar nicht bekannt...
Ich würde am ehesten dahin gehen, dass Du Dir in den Simulation Properties einstellst, dass der State-Vektor nach Ende der Simulation im Workspace gespeichert werden soll.
Dann rufst Du aus einem Skript Dein Simulink-Modell auf, schreibst den Stellwert in Dein FE-Modell, liest den Messwert zurück und rechnest den nächsten Schritt des Simulink-Modells mit dem gespeicherten State-Vektor als initial state.
EDIT: es gibt durchaus auch Doktoranden, die z.B. Simpack + Simulink benutzen dürfen. Aber kommt sicher auch etwas auf den Schwerpunkt an, was das Ziel der Arbeit ist...
|
|
|
|
|
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.
|
|