LabVIEWForum.de - Hilfe bei einfacher Stoppuhr

LabVIEWForum.de

Normale Version: Hilfe bei einfacher Stoppuhr
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.

HansWerner

Ich habe versucht eine einfache Stoppuhr zu entwerfen.
Das Hochladen der Zip-Datei (7z) hat leider nicht funktioniert.
Die Uhr ist entweder im Zustand "Idle" oder im Zustand "Running".
Das Umschalten zwischen beiden Zuständen soll über einen "Start-Stop-Button" erfolgen.
Das funktioniert auch.
Zusätzlich soll es möglich sein im Zustand "Idle" die Uhr über einen "Zurücksetzen" Button
neu zu initialisieren, also die Uhrzeit auf 0:0:0 zurückzusetzen.
Die Betätigung des "Zurücksetzen" Buttons im Zustand "Running" soll keine Wirkung zeigen.
Das funktioniert auch.
Wenn ich jedoch im Zustand "Running" den Button "Zurücksetzen" betätige, funktioniert
danach nicht mehr der "Start-Stop-Button", d.h. die Uhr läßt sich nicht mehr stoppen.
Das Subvi Tick realisiert nur den eigentlichen Zähler für Sekunden, Minuten, Stunden.

Wo liegt das Problem (Ja, zwischen den Augen) ?
Wie kann man das besser programmieren ?
Lv86_img
Zwei Eventstrukturen soll man nicht macht. Führt zu diversen Fehlern. Hier nun mal ein Musterfehler: Im Running-Case wird die rechte Eventstruktur nicht ausgeführt, da die im Idle-Case liegt. Klickt jetzt einer auf Reset, wird gewartet, bis dieses Event (Klick auf Reset) ausgeführt wird. Wird aber nicht, da ja nicht im aktiven Case. Auf Start/Stopp kann man zwar Klicken, es tut sich aber nichts, da erst das Event RESET ausgeführt werden muss ...

Dass dieser Effekt nur auftritt, weil "Frontpanel sperren ..." aktiviert ist, spielt nur eine untergeordnete Rolle.

Für besser halte ich, alles in einer Event-Struktur zu machen. Das kommt nämlich einer Statemachine nahe.

Lv86_img

HansWerner

IchSelbst, du bist mein Held.
Das funktioniert so wie gedacht.
Sieht schon mehr nach Zustandsmaschine aus.
Jetzt noch als weitere Übung das ganze mit einer Zustand-Übergangs-Matrix.
Und dann bauen wir das ganze weiter aus (Schreck laß nach !).
Referenz-URLs