|
|
Variable in Simulink während der Simulation ändern |
|
Jim |
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 28.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.02.2010, 13:14
Titel: Variable in Simulink während der Simulation ändern
|
|
Hallo Leute
Habe ein Problem, ich möchte während der Simulation den Widerstandswert verändern. Ich habe schon in einer Embedded Matlab Funktion den Verlauf programmiert. Jetzt bekomme ich leider das Resultat nicht als Variabel deklariert damit es der Widerstand versteht. Ein Poti kann ich nicht verwänden, nur eine RLC Schaltung aber das ist nicht so das Problem.
Hoffe dass Ihr mir helfen könnt
|
|
|
|
|
Hoorigaan |
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 18.12.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.03.2010, 10:00
Titel: Antwort
|
|
Ich verstehe dein Problem nicht so ganz, ist sehr knapp geschrieben.
Wenn sich dein Widerstand ändert und du dafür schon eine Funktion hast, dann könntest du doch da einfach deine Funktion Zeitabhängig machen und da das Signal aus der Clock reinschicken. Dann ändert sich dein Widerstand abhängig von der Zeit.
Oder habe ich da jetzt an deinem Problem vorbeigeredet?
|
|
|
Jim |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 28.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.03.2010, 12:36
Titel:
|
|
danke für deine Antwort
du hast Recht. Mein Problem ist das ich nicht weiß wie das geht. Ich habe meiner Funktion schon ein Zeitabhängiges Signal gegeben, jedoch bekomme ich das Ausgangssignal nicht abgespeichert damit der Widerstand es während der Simulation erkennt. Mit Goto und store data geht es nicht.
|
|
|
Hoorigaan |
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 18.12.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.03.2010, 09:32
Titel: Antwort2
|
|
Das mit der Variablenspeicherung geht nicht wie du dir das vorstellst. Zumindest wüßte ich keine Methode bei der das geht, da Die "ToFile" oder "ToWorcspace"-Blöcke erst die Variablen schreiben wenn die Simulation beendet ist. So hab ich das in der Hilfe gelesen.
Du könntest eine Tabelle machen bei dem bei jedem Zeitschritt der dazugehörige Wert steht...
Oder wenn du eine Mathematische Funktion von deiner Funktion hast dann schickst du das Zeitsignal in eine UserDefinedFunction. Du kannst auch deine Funktion mit Simulinkblöcken zusammenbauen, normalerweise sind die Funktionen die du brauchst nicht sehr viel komplexer als e^t oder?
|
|
|
michai |
Forum-Fortgeschrittener
|
|
Beiträge: 83
|
|
|
|
Anmeldedatum: 22.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.03.2010, 11:39
Titel:
|
|
Wenn ich das richtig verstehe würdest du gern den Wiederstandswert, also den Ausgangswert deiner embedded Matlab Function, wieder als Eingangswert für dein Modell benutzen, oder?
|
|
|
Jim |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 28.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.03.2010, 19:14
Titel:
|
|
Probiere es einmal richtig zu erklären. Ich habe einen Stromkreis, wo ein Widerstand drin ist. Dieser will ich während der Simulation ändern. Ich habe schon eine Funktion erstellt wo ich als Eingang eine Rampe habe (Zeitabhängig). Also habe ich am Ausgang sofort mein Widerstandswert. Dieser will ich dann im Widerstand Abstepeichern. Krieg ich aber nicht hin.
@Hoorigaan
das klingt ja toll, wenn das mit der Tabelle funktioniert. Wie müsste ich das mit der Tabelle machen damit der Erste Wert gelesen wird, Simuliert aber dann wieder die Simulation gestoppt wird um den nächsten Wert zu lesen.
|
|
|
michai |
Forum-Fortgeschrittener
|
|
Beiträge: 83
|
|
|
|
Anmeldedatum: 22.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.03.2010, 07:08
Titel:
|
|
Und was hat dein Widerstandsblock sonst für Eingänge und Ausgänge?
U und I? Was für einen Block hast du bisher verwendet? Kannst du mal dein bisheriges Modell oder zumindest eine abgespeckte Variante mit dem Stromkreis posten?
|
|
|
Jim |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 28.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.03.2010, 08:17
Titel:
|
|
also es ist so das ich ein Widerstand habe, will seinen Wert nur während der Simulation ändern. Beiliegend Die Grundschaltung
vielen Dank für das Interesse und die Hilfe
Beschreibung: |
|
Download |
Dateiname: |
Projekt.JPG |
Dateigröße: |
8.05 KB |
Heruntergeladen: |
2076 mal |
|
|
|
michai |
Forum-Fortgeschrittener
|
|
Beiträge: 83
|
|
|
|
Anmeldedatum: 22.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.03.2010, 08:38
Titel:
|
|
Ok, das macht einiges Klarer.
Ich kenne mich leider mit der Simpower Toolbox nicht aus und kann dir hier deshalb leider auch nicht helfen.
Sorry.
|
|
|
Hoorigaan |
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 18.12.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.03.2010, 12:07
Titel: Antwort3
|
|
Ok ich hba gerade nachgeschaut, ich habe diese Toolbox gar nicht, weiß also nicht wie dein Widerstandsblock aussieht.
Das mit der Funktion und der Tabelle war nur eine Idee wie man Werte zeitabhängig ändern kann. Speichern kannst du deine Widerstandswerte wenn der Widerstand einen Ausgang hat und du ihn z.B in eine Variabel oder mat.-file schreibst. Darauf kannst du allerdings erst nach der Simulation zugreifen.
Ich weiß nicht wie dein (ohmscher?)Widerstandsblock aussieht, insofern kann ich dir leider auch nicht mehr sagen als meine Idee bisher.
|
|
|
Jim |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 28.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.03.2010, 13:19
Titel:
|
|
erst mal Danke
im Widerstand ist nur eine Variable, also der ohmsche Widerstand. Da kann ich ne Variable eingeben z.B. R. Wenn ich das tue dann muss ich im Matlab den Wert eingeben, also R=100 z.B.. Deine Idee ist top, muss nur den Befehl finden um ihm die Variablen im matlab zu gegen, danach die Simulation starten, die Simulation nach einer gewissen zeit stoppen einen anderen Wert einlesen und wieder starten, so hab ich das jetzt im Kopf.
Weiss leider nicht wie man über den Matlab die Simulation startet, anhält, und das noch nach einer vorgegebenen Zeit.
|
|
|
Hoorigaan |
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 18.12.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.03.2010, 09:39
Titel:
|
|
Ich hab noch ein paar Ideen, ob man die umsetzen kann und wie weiß ich leider nicht. Kann acuh nichts ausprobieren, da ich die Toolbox ja nicht habe.
Hat der Widerstand evtl noch einen anderen Eingang? Was geht denn zum ersten Eingang rein? Vllt. könnte man ihm durch einen 2. Eingang die Widerstandsfunktino übergeben.
Gibt es nicht einen Block "Schiebewiderstand"? Da müsste man ja über ein Signal den Widerstand ändern können.
Letzte Idee wäre, dass du die Simulation in gewissen Zeitschritten ausführen lässt mit unterschiedlichem Widerstand. Das wäre allerdings sehr aufwendig.
Du könntest dann dein Simulinkmodell aufrufen mit:
Dabei solltest du dann am Besten deine Ergebnisse in eine Variable oder .mat schreiben lassen um die Ergebnisse am Ende als Ganzes auswerten zu können.
|
|
|
Jim |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 28.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.03.2010, 17:14
Titel:
|
|
vielen Dank, deine Idea ist gut.
es gibt einen Schiebewiderstand kann diesen jedoch nicht benutzen da ich ihn nicht verbinden kann. (Brauche eine Kapazität) Habe es jetzt einfach auf die altmodische Art gelöst, 50 mal simuliert und dann alles im Exel eingetragen um mein Diagramm zu bekommen.
Nochmals Vielen Dank
|
|
|
|
|
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.
|
|