LabVIEWForum.de
Problem mit Melder, setzt sich auf anderen Wert zurück - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Problem mit Melder, setzt sich auf anderen Wert zurück (/Thread-Problem-mit-Melder-setzt-sich-auf-anderen-Wert-zurueck)



Problem mit Melder, setzt sich auf anderen Wert zurück - dali4u - 20.11.2014 07:17

Hi Leute,
ich habe ein Problem mit einem Melder und verstehe nicht was da passiert.
Die ganze VIs kann ich nicht hochladen und muss es daher an einem Screenshot erklären.

(1) In dem VI werden die Melder erzeugt und der Melder "Melder ZA Referenzen" wird mit
dem Startwert "Warten bis Start" vorbelegt.

(2) Druckregelung.vi. In diesem VI lesen ich die Meldung. Innerhalb des VIs setze ich den
Melder dann auf "Init" -> "COM Port open" -> "Lesen VSR/VSH"

(3) Das ist die Schleife in der ich die Anzeigen in dem MainVI aktualisiere.

Jetzt mache ich folgendes:
In der Eregnis-Schleife vom MainVI setze ich den Melder jetzt auf "Lesen VSR/VSH/CPT".

Im Sondenüberwachungsfenster habe ich die Werte dargestellt:
Sonde 10 ist in der Druckregelung und der Melder gibt den Wert "Lesen VSR/VSH/CPT" aus -> funktioniert.
Sonde 11 ist bei Ziffer 3 und dort passiert jetzt folgendes:
- einmalig wechselt der Wert auf "Lesen VSR/VSH/CPT"
- im nächsten Zyklus springt der Wert an der Sonde 11 wieder auf "Warten bis Start", also die Vorbelegung aus dem VI bei Ziffer (1)

Warum ist das so? Mache ich was falsch?
Stefan

Main VI
[attachment=51387]

Inhalt VI Ziffer 1
[attachment=51389]

Inhalt VI Ziffer 2 (Die drei VIs "Tools" innerhalb der Casestruktur geben simulierte Druckwerte aus solange ich auf meinem Entwicklungsrechner arbeite)
[attachment=51390]


RE: Problem mit Melder, setzt sich auf anderen Wert zurück - dali4u - 20.11.2014 09:02

Ich glaube ich komme dem Phänomen auf die Spur. Ich habe bei Ziffer 3 die
Art der Abfrage des Melders geändert "Auf Meldung warten" und "Status lesen" und die
Abfolge der Meldungen in ein Array geschrieben.
[attachment=51394]

Bei "Auf Meldung warten" werden ja keine Meldungen entfernt, daher bleibt vermutlich
die Vorbelegung "Warten auf Start" im Melder, oder? Verstanden habe ich es aber nicht so 100%ig.


RE: Problem mit Melder, setzt sich auf anderen Wert zurück - jg - 20.11.2014 09:34

Ich sehe auf den ersten Punkt das Problem eher darin, dass du bei "Wait on Notification" nicht den Timeout Ausgang mit auswertest. Auch nach Timed-Out bekommst du natürlich einen Datenwert zurück...

Gruß, Jens


RE: Problem mit Melder, setzt sich auf anderen Wert zurück - GerdW - 20.11.2014 10:01

Hallo dali4u,

Zitat:Bei "Auf Meldung warten" werden ja keine Meldungen entfernt, daher bleibt vermutlich die Vorbelegung "Warten auf Start" im Melder, oder? Verstanden habe ich es aber nicht so 100%ig.
Bei einem Melder wird die Meldung NIE entfernt! Es bleibt immer die letzte Meldung gespeichert.
ABER beim Lesen der Meldung kannst du verschiedene Verhalten wählen: entweder liest du den aktuellen Stand (die zuletzt gespeicherte Meldung) ODER du wartest auf eine neue Meldung. Und jetzt kommt der TimeOut ins Spiel: wenn der Timeout OHNE neue Meldung abläuft, bekommst du NATÜRLICH nicht den letzten Stand, sondern den Defaultwert - der bei dir "Warten auf Start" lautet…

- Wie Jens schon sagte: TimeOut nicht nur vorgeben, sondern auch auswerten!
- Bei deinem Enum einen besseren (eineindeutigen!) Defaultwert vorgeben…