|
|
Simulink: Auf Signale "warten" |
|
JaWi |
Forum-Fortgeschrittener
|
|
Beiträge: 56
|
|
|
|
Anmeldedatum: 10.08.13
|
|
|
|
Wohnort: Deutschland
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2013, 22:20
Titel: Simulink: Auf Signale "warten"
|
|
Ich habe einen eventlistener, der bei dem Event PostOutput eines Blocks eine Funktion aufruft, die aus 3 verschiedenen Signalen einen Wert berechnet und an meine GUI weitergibt.
Das Problem ist, dass ich im aktuellen Zustand die drei Signale verrechne, ohne zu wissen, ob schon für alle Signale ein neuer Wert vorhanden ist, so dass teils nicht zusammen gehörige Werte verrechnet werden.
Ein Bsp:
Signal 1 bekommt alle 0,5s einen neuen Wert
Signal 2 alle 1,0 s und
Signal 3 jede 1,5s.
Jetzt müsste ich Signal 1 und 2 speichern, bis Signal 3 angekommen ist und dann alle 3 aktualisierten Werte in der Funktion verrechnen.
Ich bin auf den AND-Block und Tapped Delay gestoßen, aber das klappt nicht wie gewünscht.
Gibt es da eine Möglichkeit?
Bei den Blöcken handelt es sich je nach Fall um From Workspace-Blöcke oder CAN Unpack-Blöcke.
Danke!
|
|
|
|
|
JaWi |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 56
|
|
|
|
Anmeldedatum: 10.08.13
|
|
|
|
Wohnort: Deutschland
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.09.2013, 12:08
Titel:
|
|
Ist die Frage schlecht formuliert oder ist es tatsächlich sehr kompliziert?
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.09.2013, 06:31
Titel:
|
|
Wieso bis Signal 3 warten? Wenn du das Event für Signal 3 machst, dann sind doch Signal 1 und 2 schon da?!
|
|
|
JaWi |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 56
|
|
|
|
Anmeldedatum: 10.08.13
|
|
|
|
Wohnort: Deutschland
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.09.2013, 09:44
Titel:
|
|
Ich kenne die Reihenfolge der Signale leider nicht, das heißt es kann auch mal Signal 3 zuerst kommen usw.
|
|
|
JaWi |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 56
|
|
|
|
Anmeldedatum: 10.08.13
|
|
|
|
Wohnort: Deutschland
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.10.2013, 22:07
Titel:
|
|
Man kann sich im Modell über Display --> Blocks -->Sorted Execution Order anzeigen lassen, in welcher Reihenfolge die Simulinkblöcke ausgeführt werden und denn Listener dann auf den jeweils zuletzt ausgeführten Block legen. Dann sind alle anderen Signale schon da.
Will man ereichen, dass ein Block früher ausgeführt wird kann man über rechte Maustaste --> Properties--> priority den Wert hochsetzen. Die Änderung wird aktiv nach Simulation --> update Diagram oben im Menü.
|
|
|
|
|
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.
|
|