|
|
Takt eines Zeitdisktreten Blocks zählen |
|
Maik1985 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.05.2013, 15:11
Titel: Takt eines Zeitdisktreten Blocks zählen
|
|
|
|
|
Hallo,
Ich habe folgendes Problem. Ich habe 2 Blöcke in Simulink erstellt (embedded-matlab-functions). Der eine Block (Block A) gibt alle 20 ms einen Wert aus und der Andere (Block B) soll diesen Wert speichern. Block A ist ein Sensor, der Abstände zu einer Wand misst. Den Wert der Abstände gibt er alle 20 ms (Sample-Time des Blocks = 0.02) an den Block B aus, der die Abstände speichern soll. Das system fährt nun näher an die Wand. Während der Bewegung wird Block B deaktiviert und wird erst beim Stillstand aktiviert. Der Block B soll den ersten Wert, den er von Block A ausgegeben bekommt ignorieren und auf den nächsten Wert warten, da es dann ausgeschlossen ist, das dieser Wert noch während der Bewegung vom Sensor gemessen wurde.
Mein Problem ist nun wie ich den ersten Wert ignorieren und nur den nächsten übermittelten Wert speichere. Gibt es eine Möglichkeit ein Signal zu generieren der nur dann 1 ist wenn die 20 ms um sind? Oder einen Zähler, der die Impulse zählt wann am Block ein neuer Wert ankommt?
vielen Dank im vorraus
|
|
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.05.2013, 07:00
Titel:
|
|
Wie wird Block B deaktiviert? Verzögere doch das Signal für die Aktivierung um 20 ms (delay/memory Block). So wird der Block erst zum zweiten Abstandswert aktiviert.
|
|
|
Maik1985 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.05.2013, 13:16
Titel:
|
|
Der Block B wird duch ein enable Block deaktiviert. Die Verzögerung hilft mir leider nicht aber danke für den Vorschlag.
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.05.2013, 14:15
Titel:
|
|
Wieso sollte eine Verzögerung nicht funktionieren? Irgendwas entscheidet, dass das Subsystem wieder aktiviert werden muss/soll. Da kannst du ansetzen.
Ich kann ein Enabled Subsystem testweise mit einem Rechtecksignal an/aus schalten. Wenn ich hier ein Delay Block dazwischen mache wird es, wie erwartet, verzögert. Musst zeigen wie es bei dir ist, oder dir selbst helfen.
|
|
|
|
|
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.
|
|