|
|
triggered Subsystem Ausgangssignal |
|
mkxe |
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 28.02.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.04.2017, 10:08
Titel: triggered Subsystem Ausgangssignal
|
|
Hallo,
ich habe ein getriggertes Subsystem das mittels Rechtecksignal alle 10 Sekunden ausgeführt wird. Mein Ausgangssignal ist nun stufenförmig d.h. alle 10 sekunden wird auf den neu berechneten Wert "gesprungen" und der vorherige wert solange gehalten.
Mein Frage ist nun: gibt es eine Möglichkeit mein Ausgangssignal nicht stufenförmig sondern linear zu gestalten. Also so das der vorherige Wert mit dem neuen Wert direkt "verbunden" wird es das Ausgangsignal dann linear erscheint?
Vielen Dank
|
|
|
|
|
Lord_nibbler |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.04.2017, 10:17
Titel:
|
|
Ja wenn du das Subsystem nicht triggerst.
|
|
|
mkxe |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 28.02.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.04.2017, 10:20
Titel:
|
|
ok das ist schon klar. aber ich möchte dass mein Subsystem bzw. in dem Fall ist es eine einfache Matlab-Function, nur z.B. alle 10 Sekunden ausgeführt wird.
gibt es dafür dann vielleicht eine andere lösung? ohne zu triggern?
|
|
|
Lukass |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.04.2017, 12:59
Titel:
|
|
Hallo,
das ist doch ein Widerspruch. Du willst eine Funktion, die alle 10 Sekunden ausgeführt wird, also liefert sie auch nur jede 10 Sekunden ein Berechnungsergebnis. Wenn du zwischen den Berechnungsergebnisse auch Werte haben möchtest, die sich verändern, müssen die auch von der Funktion geliefert werden.
Wenn du z.B. den Wert "2" als Ergebnis bekommst, kann Simulink ja nicht wissen, bis zu welchem Wert es linear ansteigen soll, da der Wert vom nächsten Aufruf der Funktion noch gar nicht bekannt ist.
Also kurz gesagt: Wenn du einen linearen Anstieg vom Wert a zum Wert b haben möchtest, muss das deine Funktion übernehmen.
Gruß Lukas
|
|
|
mkxe |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 28.02.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.04.2017, 13:37
Titel:
|
|
Hallo,
das verstehe ich. das Problem ist nur, dass diese Funktion nur ein Teil des Gesamtmodells ist und das Modell über einen längeren Zeitraum simuliert werden muss. und um etwas Rechenleistung zu sparen, wollte ich (da es dafür ausreichend ist) diesen Teil nur alle paar Sekunden oder Minuten (je nachdem..) ausführen.
gibt es dafür gar keine Lösung?
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.04.2017, 17:59
Titel:
|
|
Das kann nicht funktionieren, weil die Funktion, die das könnte, nicht kausal ist. Die Funktion muss dazu in die Zukunft schauen...
Mal Dir das einfach mal als Beispiel auf...
t = 0, y(t=0) = 10
t = 10, y(t=10) = 20
-> jetzt kannst Du den Ausgang für y(t=5) einfach über eine Geradengleichung berechnen oder zeichnerisch bestimmen. Wenn Du das machst, wirst Du sehen, dass Du sowohl beim Zeichnen als auch beim Rechnen den Wert von t=10 brauchst. Zum Zeitpunkt t=5 kennst Du den aber noch gar nicht.
Das bedeutet, dass die Zwischenwerte erst dann bestimmt werden können, wenn sie bereits in der Vergangenheit liegen.
|
|
|
mkxe |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 28.02.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.04.2017, 08:02
Titel:
|
|
vielen Dank für die Erklärung. das leuchtet ein.
ich habe es zwar noch nicht probiert aber wenn ich schon mal dabei bin frage ich mal einfach.
wäre es dann vielleicht möglich mir meine Werte zu den Zeitpunkten irgendwie als Matlab Datei abzuspeichern sodass ich eine Wertetabelle erhalte die ich dann plotten kann? würde das denn funktionieren?
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.04.2017, 16:23
Titel:
|
|
|
|
|
mkxe hat Folgendes geschrieben: |
wäre es dann vielleicht möglich mir meine Werte zu den Zeitpunkten irgendwie als Matlab Datei abzuspeichern sodass ich eine Wertetabelle erhalte die ich dann plotten kann? würde das denn funktionieren? |
Was genau macht denn dein triggered Subsystem? Hat das Eingänge oder wird alles unabhängig vom Eingang komplett im Subsystem berechnet? Im zweiten Fall kannst Du das Subsystem natürlich offline simulieren und die Daten z.B. mit einem "From Workspace"-Block in Deine Simulation laden.
Wenn der Ausgang des Subsystems von Eingängen abhängt, die erst während der Simulation des Gesamtsystems bekannt sind, kommst Du evtl. mit einer Kennlinie oder einem Kennfeld weiter. Das geht nur, wenn Dein Subsystem kein Speicherverhalten hat (keine Integratoren, keine 1/z-Blöcke, keine Memory-Blöcke, keine Transferfunction-Blöcke, ...).
Wenn Dein Subsystem Speicher enthält, wirst Du wahrscheinlich nicht darum herum kommen, das in Deinem Modell zu simulieren...
|
|
|
mkxe |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 28.02.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.04.2017, 07:17
Titel:
|
|
Also mein Subsystem hängt in der Tat von den Eingängen ab und hat dazu auch noch ein paar 1/z-Blöcke.
Epfi hat Folgendes geschrieben: |
Wenn Dein Subsystem Speicher enthält, wirst Du wahrscheinlich nicht darum herum kommen, das in Deinem Modell zu simulieren... |
Was meinst du damit?
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.04.2017, 16:39
Titel:
|
|
Damit meine ich, dass Du es nicht unabhängig von Deinem restlichen Modell vorausberechnen kannst und dann nur noch die Werte aus einem Speicher liest...
|
|
|
|
|
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.
|
|