Hallo,
kann bitte wer kurz über das VI schauen und mir verraten, warum ich das VI nur einmal starten kann?
Danach muss ich es neu laden, und dann geht es soweit erstmal wieder.
Es ist der Versuch eines Zustandsautomaten mit wenigen Events. Eine Waage, und 2 analoge Sensoren sollen eingebunden werden.
MfG
Steffen
Ich glaube, ich habe den Fehler gefunden .
Es fehlte ein initialisierungswert für die states. Jetzt lief es besser.
Aber ich habe eine prinzipielle Frage zu Ereignissen in der statemachine.
Aktuell ist es ja noch nicht fertig. Das Ziel wird eine kurze Messstrecke sein...Gewicht erfassen, paar Sekunden Pause, Gewicht erfassen.
Wenn ich jetzt zwischendrin wieder start drücke, springt er wieder an den Anfang, oder? Im Test selber soll er aber nur durch einen abbruchbutton abbrechen. Wisst ihr, wie ich das meine?
Danke
Hallo hulk,
Zitat:Wenn ich jetzt zwischendrin wieder start drücke, springt er wieder an den Anfang, oder? Im Test selber soll er aber nur durch einen abbruchbutton abbrechen. Wisst ihr, wie ich das meine?
Ja, ich glaube, wir wissen, wie eine
vernünftige Statemachine funktionieren sollte!
Eine Statemachine besteht aus verschiedenen States, zwischen denen es klar definierte Übergänge gibt. Den ersten Teilsatz hast du erledigt, den zweiten eher nicht…
Lösung: State-Übergänge klar definieren und entsprechend programmieren!
Frage/Hinweis: wie lautet die Bedingung für den Übergang von Idle nach Start? Gibt es einen (erlaubten) Übergang von Messung nach Start? usw. usf.
- Ich halte den Notifier für unnötig: welchen Vorteil hast du hier gegenüber einer Lösung mit einfachem Polling deiner 3 Buttons direkt in der Statemachine-Schleife?
- Button-Terminals, insbesondere von Latching-Buttons, sollten immer im Eventcase, in dem ihr (ValueChange-)Event verarbeitet wird, liegen…
Hallo Gerd,
bezüglich der vernünftigen Übergänge hast du recht. Ich bin noch nicht fertig. Meine Frage bezog sich darauf, ob es da einen allgemeinen Hinweis gibt.
Dein Einwand bezüglich Notifier, ist eventuell berechtigt. Ursprünglich wollte ich mich in die Materie Queues bzw. queued basierte statemachine einarbeiten. Es sollte professionell aussehen. Damit hat es nicht funktioniert, dann bekam ich den Tip es mit notifier zu probieren. Heraus kam diese Variante.
Zitat:- Ich halte den Notifier für unnötig: welchen Vorteil hast du hier gegenüber einer Lösung mit einfachem Polling deiner 3 Buttons direkt in der Statemachine-Schleife?
Dann würdest du eine einfache statemachine bevorzugen?
Zitat:Button-Terminals, insbesondere von Latching-Buttons, sollten immer im Eventcase, in dem ihr (ValueChange-)Event verarbeitet wird, liegen…
Brauch ich hier dann nicht wieder notifier oder was ähnliches? Ich bin da im Moment noch überfragt.
MfG
Steffen
Schau dir doch mal das Beispielprojekt dazu an:
Datei --> Projekt erstellen... --> Beispielprojekte --> Kontinuierliche Messung und Protokollierung
(14.12.2017 11:52 )83Daniel schrieb: [ -> ]Schau dir doch mal das Beispielprojekt dazu an:
Datei --> Projekt erstellen... --> Beispielprojekte --> Kontinuierliche Messung und Protokollierung
Damit habe ich am Anfang auch sehr viel gelernt. Probieren geht ja bekanntlich über studieren
