WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Takt eines Zeitdisktreten Blocks zählen

 

Maik1985

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.05.2013, 15:11     Titel: Takt eines Zeitdisktreten Blocks zählen
  Antworten mit Zitat      
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

Forum-Century


Beiträge: 241
Anmeldedatum: 20.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.05.2013, 07:00     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Maik1985

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.05.2013, 13:16     Titel:
  Antworten mit Zitat      
Der Block B wird duch ein enable Block deaktiviert. Die Verzögerung hilft mir leider nicht Sad aber danke für den Vorschlag.
 
knilumis_baltaM
Forum-Century

Forum-Century


Beiträge: 241
Anmeldedatum: 20.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.05.2013, 14:15     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.