|
|
Timer gesteuertes Ablaufprogramm möglich? |
|
power |
Forum-Anfänger
|
|
Beiträge: 42
|
|
|
|
Anmeldedatum: 25.10.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.12.2007, 12:36
Titel: Timer gesteuertes Ablaufprogramm möglich?
|
|
Hey,
ich möchte in Matlab 3 Funktionen abhängig von verschiedenen Delay Zeiten ausführen lassen.
1) Funktion1 nach t=5s
warte 10s (Commandline darf nicht gesperrt sein, pause geht nicht)
2)Funktion2
warte 5s
3)Funktion3
warte 5s
4)zurück zu Funktion2
warte 5s
5)Funktion3
warte 5s
6)zurück zu Funktion2
usw...
Also Funktion1 einmalig starten und danach zeitabhängig Funktion2 und Funktion 3 in einer Schleife.
Ist diese Programmablaufsteuerung mit timer möglich?
Gibt es die Möglichkeit das als Zeit-Automat laufen zu lassen?
Danke schonmal.
|
|
|
|
|
power |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 42
|
|
|
|
Anmeldedatum: 25.10.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.12.2007, 12:06
Titel:
|
|
So, eine Verschachtelung von 3 Timern hat mich zum Ziel geführt. Das funktioniert soweit. Falls ihr noch andere Ideen habt, nur her damit. Man lernt ja nie aus .
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 27.12.2007, 21:06
Titel:
|
|
|
|
|
ich gehe davon aus, dass die aufzurufende Programme eine Schleife beinhalten, wobei die die Anzahl der ausgeführten Schleifen abhängig von der Zeit ist...
Ich sehe zwei Möglichkeiten zur Lösung der Aufgabe.
1.
Jeder Loop wird vom Timer aus gestartet (über TimerFcn). D.h. jeder Schleifendurchgang wird nicht innerhalb von FOR-Kommandos initiriert sondern vom Timer aus und solange bis der Timer läuft (kann man ja von vorne rein einstellen)
2.
Funktion mit FOR-Schleife wird gestartet und gleichzeitig eine "globale" Flag-Variable zB mit 0 initialisiert. Der Wert dieser Variable wird in der Schleife ständig überprüft (als Abbruchkriterium). Von aussen wird nach einer bestimmten Zeit (zb. über Timer nach 10s) wird diese Variable auf 1 gesetzt...
Falls die Frage auf das Echtzeitverhalten hinausläuft musst Du aufpassen. Die Zeitgenauigkeit ist abhängig von der Zeit, die jeder Loop im einzelnen braucht. Falls das kein Problem darf man trotzdem nicht vergessen, das Windows XP (und auch Linux) keine Echtzeitbetriebsysteme sind...
MfG
|
|
|
power |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 42
|
|
|
|
Anmeldedatum: 25.10.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.05.2008, 13:13
Titel:
|
|
Hi,
nein hier geht es nicht um ein Echtzeitproblem
Mein Programmcode beinhaltet 2 timer:
timer_flushprocess.m:
timer_record.m:
Am Anfang rufe ich timer_flushprocess.m auf. In dieser Datei startet der timer t1 automatisch, d.h. nach t_flush soll die Funktion timer_record.m aufgerufen werden. Diese lädt nach t_rec wiederum die Funktion timer_flushprocess usw... Es bildet sich eine Schleife.
Dieses Prinzip funktioniert bis zu einem gewissen Zeitpunkt wunderbar.
Das Problem ist, dass immer wieder neue timer generiert werde, statt nur 2 zu benutzen und immer wieder zu starten/stoppen.
Gibts da eine Lösung?
Zweites eigentliches Problem: Nach einer ungewissen Zeit (mal eine Stunde, mal 30 min) kann timer_flushprocess nicht mehr aufgerufen werden.
Fehlermeldung:
"??? Error while evaluating TimerFcn for timer 'timer-3'
Error using ==> evalin
Undefined function or variable 'timer_flushprocess'."
Hat jemand eine Idee?
Danke schonmal fürs Lesen.
|
|
|
power |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 42
|
|
|
|
Anmeldedatum: 25.10.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.06.2008, 14:12
Titel:
|
|
|
|
|
|
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.
|
|