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

"Zähler/ Counter" in Echtzeitmodell

 

Matlabschlumpf
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.02.2009, 17:44     Titel: "Zähler/ Counter" in Echtzeitmodell
  Antworten mit Zitat      
Hallo,

ich bin mich gerade noch am einarbeiten in Matlab- Simulink, habe aber schon ein paar Modelle erstellt. Ich bin auf der suche nach einem Counter oder etwas ähnlichem.

Der Counter soll in der lage sein die Anzahl der steigenden (oder fallenden) Flanken eines Signals zu zählen.

Gibt es einen Block der so etwas kann bzw. kann ich mit einer embedded-Matlab funktion so etwas realisieren? Und wenn ja wie?

Vielen Dank im Voraus!

Gruß, Schlumpf!
Private Nachricht senden Benutzer-Profile anzeigen


andi_u

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.02.2009, 12:02     Titel:
  Antworten mit Zitat      
also einen speziellen block gibt es meineswissens nicht. es gibt lediglcih die getriggerten subsysteme.
in deinem fall würde ich eine matlab-function oder eine s-function schreiben. das geht am schnellsten und du kannst dir alles so programmieren wie du es möchtest.

gruß andi_u
 
halo

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.02.2009, 21:45     Titel:
  Antworten mit Zitat      
natrlich geht das ganz einfach.
es gibt viele möglichkeiten. hast du stateflow?

wenn nicht, es gibt die tollen hit-crossing blöcke und andere trigger subsysteme.
bei jeder flanke, eineen counter hochzählen (summand mit constante).

aber in stateflow wäre es noch einfacher Wink einfach den c-code dort rein und fertig
 
fgj

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.02.2009, 21:50     Titel:
  Antworten mit Zitat      
ein beipiel: http://www-i11.informatik.rwth-aach.....media/Diplomarbeit_JP.pdf

unter begriff zähler findest du was
 
Matlabschlumpf
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.02.2009, 22:10     Titel:
  Antworten mit Zitat      
ich habe leider kein Stateflow. Nehmen wir an ich habe einen "Pulse generator". Dahinter hänge ich direkt einen "Hit Crossing Block". Dieser gibt mir 0-en und 1er aus. Jedes Mal wenn der "Hit Crossing Block" eine eins ausgibt will ich den Zähler auf +1 setzen. Wie kann ich das konkret realisieren? Wie würde z.B der code in einer Embedded Matlab- Function aussehen? Ich habe leider keine Idee. Vielen Dank im Voraus.
Gruß, Matlabschlumpf
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlabschlumpf
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.02.2009, 22:41     Titel:
  Antworten mit Zitat      
Danke, den Link werde ich mir mal anschauen... Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlabschlumpf
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.02.2009, 09:11     Titel:
  Antworten mit Zitat      
So, besten Dank für die Hilfe, der Link hat mir echt weitergeholfen!

-=Mein Zähler Zählt jetzt Smile Jippii! =-

Gruß, Schlumpf
Private Nachricht senden Benutzer-Profile anzeigen
 
nikolor
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 11.02.08
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 20.03.2009, 12:19     Titel:
  Antworten mit Zitat      
Hmm und wie haste das nun gemacht ? überleg huet morten gerade selber darüber....bin aber nicht gerade ausgeschlafen Confused
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.03.2009, 18:50     Titel:
  Antworten mit Zitat      
mit einem Zähler zähle ich die Zeit hoch, ein anderer Zähler zählt die Zeit plus 1 bei steigender Flanke. werden beide Zähler voneinander abgezogen ("zeit, +1 bei steigender Flanke"- "Zeit") bleibt ein zähler der die Steigenden Flanken zählt.
Hoffe das hilft weiter?
 
nikolor
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 11.02.08
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 21.03.2009, 16:27     Titel:
  Antworten mit Zitat      
Ja danke hab das gestern noch hingekriegt ...ungefähr so wie du es gemacht hast ...funktioniert wunderbar...allerdings ist das noch nicht alles ................;D Confused Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
nikolor
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 11.02.08
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 24.03.2009, 08:23     Titel:
  Antworten mit Zitat      
na war doch erst pustekuchen .....da mien zäehler kontinuirlich aufwärts zählte.................ich hatte aber zwei Pulssignale eines mit grosser Frequenz und das andere mit kleiner frequenz (Burstsignal) welches mir den zähler nach einer Periode wieder reseten soll..........und in dessen "on" zeit die Anzahl der fallenen Flanken (Pulse) gezählt werden sollte. .................Die pulsweite des Burstsignals soll varaibel sein ....

na zumindest den Zähler hab ich nach langen tüfteln ..mit einem enable block hingezaubert .............:/
aber geht ja noch weiter

LG Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
fztstudent87
Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 25.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.01.2013, 12:00     Titel:
  Antworten mit Zitat      
Hallo Leute,

habe gerade das gleiche Problem mit dem "Pulse zählen".
Habe es so wie von "Gast" beschrieben versucht (mit einem Triggered Subsystem), und das Rechtecksignal auf der steigenden Flanke getriggert. Mein Problem ist jetzt aber, dass der Trigger nur einmal aktiv wird. danach wird er nicht zurückgesetzt und das Subsystem nur einmal ausgeführt. Es wird also nur die erste steigende Flanke gezählt.

Kann man den Trigger irgendwie resetten (habe nix dazu finden können Mad )? Oder muss das ganze vielleicht in eine Art schleife und wenn ja, in welche?

Vielen Dank schonmal und
Freundliche Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
knilumis_baltaM
Forum-Century

Forum-Century


Beiträge: 241
Anmeldedatum: 20.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.01.2013, 12:55     Titel:
  Antworten mit Zitat      
Also wenn dir das nicht zu umständlich ist, dann kannst du es so machen wie im Bild. Zuerst Pulse Detektieren und dann Trigger-System zum zählen. Gezählt werden Übergänge von 1 nach 0, kannst ja aber anpassen.

pulse_count.png
 Beschreibung:

Download
 Dateiname:  pulse_count.png
 Dateigröße:  98.27 KB
 Heruntergeladen:  4043 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
fztstudent87
Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 25.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.01.2013, 10:21     Titel:
  Antworten mit Zitat      
Hallo,

danke für die Antwort, sieht gut aus und würd ich gern so machen. Nur leider weiß ich nicht, wie dieses Blocksymbol mit dem quadratischen Pfeil im Gegenuhrzeigersinn heißt und wo ich es Finde. Demnach kann ich halt auch keine Hilfe befragen, da ich nicht weiß, wonach ich suchen muss.

Wie heißt denn dieser Operator?

Vielen Dank und
Freundliche Grüße

EDIT:

Betrachtet die Frage als beantwortet. Habs eben bei einem kurzen Durchforsten der Bibliothek gefunden ("memory") Vielen Dank nochmal!
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.