|
PierreMassello |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 13.03.08
|
|
|
|
Wohnort: Paris
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.12.2008, 12:53
Titel: Stateflow als timer
|
|
|
|
|
Hallo,
ich möchte folgendes realisieren, bin fast am Ziel aber es klappt noch nicht ganz (eventuell gibt es auch eine einfachere Lösung, für die ich natürlich gern zu haben bin):
Ich möchte ein sf-chart erzeugen, dass durch einen simulink input gestartet wird. Soweit kein Problem. Sobald das Chart gestartet ist gibt es 3 Zustände die in festgelegten zeitdiskreten Abständen nacheinander ablaufen. Zustand 1 nach 5 Sekunden, Zustand 2 nach weiteren 3 Sekunden, etc...
Auch das konnte ich realisieren in dem ich an den Input-Trigger einen pulse-generator gehägt habe und dann die Übergänge von einem Zustand zum andere mit der funktion after (5,input_trigger) getimed habe.
Ich will aber beides also dass der sf-chart er bei einem bestimmten Ereignis in Simulink losläuft UND dann nacheinander in festgelegten Abständen die Zustände einmal durchläuft.
Ich habe das ganze mit der Variablen t versucht, aber das funktioniert nicht, weil diese interne Zeitvaribale losläuft sobald die simulink simulation läuft, aber nicht erst wenn das sf-chart starten soll. Auch habe ich versucht bei Input trigger (also das pulse-Signal und den Start-trigger) als trigger zusammenzufassen und dann über die portnummern zu adressieren. Das geht im Prinzip auch (man darf mehrere Input-Trigger definieren) aber beiwenn ich die Simulation starte gibt es einen Fehl (incositency)
Wenn einer eine springende Idee hat oder mir einen guten Tipp geben kann, wäre das ganz toll
Gruss
Philip
|
|
|
|
|
timer freb |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.12.2008, 12:01
Titel:
|
|
es gibt zwei möglichkeiten...die eine ist einen timer mit blöcken realisieren (zwei clocks-->
http://www.mathworks.com/matlabcentral/fileexchange/5761
oder du machst ea im stateflow chart indem du deine samplezeit nutzt...erzeugst einfch einen counter der hochzählt bei jeder milisekunde, wenn du z.b die sample zeit auf 1ms gesetzt hast..
aber einfacherer wäre die erste variante..ziemlich easy aufgebaut
|
|
|
PierreMassello |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 13.03.08
|
|
|
|
Wohnort: Paris
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.01.2009, 16:20
Titel:
|
|
Vielen Dank!
Ich habe meine eigene Sample time hergenommen. Damit funktionierts
Gruss
Pierre
|
|
|
jhkjk |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.03.2009, 21:34
Titel:
|
|
hallo
kannst du uns es zur verfügung stellen?
|
|
|
|
|
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.
|
|