Events mit Anzeigelementen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Events mit Anzeigelementen (/Thread-Events-mit-Anzeigelementen) |
Events mit Anzeigelementen - Pascal - 17.11.2006 12:01 Hallo, es habe ein SubVI zur Fehlerüberwachung (bestimmter Wert überschritten). Tritt ein Fehler auf, wird die entsprechende LED auf True gesetzt. Ich möchte nun eine Fehlermeldung (über Dialogfeld das mit OK bestätigt werden muss) ausgeben. Allerdings soll die nur einmal kommen, auch wenn der Fehler weiterhin besteht (wird ja weiterhin über die LED angezeigt). Zuerst habe ich es mit einer Case Struktur versucht, hier wird das Dialogfeld allerdings so lange geöffnet bis der Fehler nicht mehr da ist. Mit einer Eventstruktur tut sich gar nichts. Habe die LED ausgewählt und das Ereignis " WErtänderung". Warum erkennt er die Wertänderung des Anzeigelement nicht? Wie kann man das lösen? Danke, Pascal Events mit Anzeigelementen - Y-P - 17.11.2006 12:31 Hallo, hier habe ich Dir ein Beispiel. Vielleicht hilft es Dir weiter. Die verwendete Funktion heißt "First call?" Die jeweiligen "False"-Cases habe ich hier leer gelassen. Gruß Markus ' schrieb:Hallo, Events mit Anzeigelementen - Pascal - 17.11.2006 12:47 Hallo, was es nicht alles gibt. Schon mal nicht schlecht. Nur ist jetzt das Problem, dass wenn der Fehler zum 2. Mal auftritt er nicht mehr angezeigt wird. Ein kleines Beispiel. Ich starte einen Motor, wenn die Temperatur zu hoch ist, wird die Fehlermeldung ausgegeben. Hier soll einmal dieses Dialogfeld kommen, allerdings der Fehler liegt ja weiter an bis die Temp wieder fällt. Der Motor kann so lang nicht mehr gestartet werden. Nachdem die Temp wieder gefallen ist, kann der Motor wieder gestartet werden. Ist die Temp dann wieder zu hoch soll das Dialogfeld wieder ausgegeben werden. Vielleicht hat jemand ne Idee. Pascal Events mit Anzeigelementen - Achim - 17.11.2006 13:00 Hi, meiner Meinung nach ist "First Call" hier völlig ungeeignet! Das liefert nur 1x die benötigte Information! Wenn dein Alarm weg geht, und dann nochmal kommt, kannst du damit nix anfangen, weil das "First Call" nur für den ersten Aufruf seit Start des (Haupt-)VIs gilt! Du musst dir selber was basteln, z.B. indem du den Wert über ein Schiebergeister in die nächste Iteration n führst und dort mit dem Wert von n-1 vergleichst (d.h. Schieberegister auf dem linken Schleifenrand auf zwei Anschlüsse vergrößern und diese beiden Werte mit "ungleich" beurteilen). Du kannst auch ein RS-FF verwenden, dass gibts hier irgendwo im Forum zu finden! Gruss Achim Hier mal das VI...[attachment=4019] Events mit Anzeigelementen - jg - 17.11.2006 14:52 <div align="left">Hallo, Pascal, du könntest ja auch den Fehler in deine LED-Anzeige per Eigenschaftsknoten->Value Signaling schreiben. Dann kannst du die Fehlermeldung in die Event-Struktur einbauen. Anbei ein BSP: [attachment=4022] MfG, Jens</div> Events mit Anzeigelementen - Achim - 17.11.2006 15:07 Hi, @ Jens G: Die Variante find ich ziemlich fragwürdig, weil du die erneute Anzeige des Fehlers vom Zustand der LED abhängig machst, und nicht vom wirklichen Fehler! Das ist SW-technisch wohl egal, aber in Analogie zum "wirklichen Leben" sollte das meiner Meinung nicht so sein: Du machst an ner Maschine ne Abschaltfunktion ja auch nicht davon abhängig, ob die Warnlampe an oder aus ist...sie könnte ja auch einfach kaputt sein! Deswegen sollte man lieber nach dem wirklichen Fehlersignal schauen... Gruss Achim Events mit Anzeigelementen - jg - 17.11.2006 15:48 <div align="left">Hallo, @Achim: Maschinenmäßig gesehen hast du wohl nicht ganz unrecht. Aber ich sehe eigentlich keinen großen Unterschied, wo jetzt software-technisch der Fehlerzustand gespeichert wird. In deinem Bsp. wird er ja in der Shift-Variable gespeichert. Du schaust also auch nicht nach dem wirklichen Fehlersignal. Und wenn nötig, kann mein Bsp leicht erweitert werden. Außerdem hat es mich gereizt, das ganze per Event-Case mal zu machen. MfG, Jens</div> Events mit Anzeigelementen - Y-P - 18.11.2006 19:02 Da hast Du recht. Da war ich etwas voreilig. Immerhin hat jetzt jemand dazugelernt, dass es so was wie "First Call?" gibt. Gruß Markus ' schrieb:Hi, Events mit Anzeigelementen - Pascal - 21.11.2006 15:36 Danke für eure Antworten, sorry für die späte Antwort. Das mit dem Value Signaling ist genau das was ich gesucht habe. Pascal Events mit Anzeigelementen - Lucki - 21.11.2006 16:08 <div align="left"> ' schrieb:Habe die LED ausgewählt und das Ereignis " WErtänderung".Hänge mich jetzt mal rein in die Diskussion und hoffe den richtigen Tipp geben zu können. Zitat:Warum erkennt er die Wertänderung des Anzeigelement nicht?Weil nicht Wertänderung an sich, sondern nur Wertänderung durch Bedieneingriff ein Ereignis "Wertänderung" auslöst. Zitat:Wie kann man das lösen?Durch Erstellen des Eigenschaftsknotens "Wert signalisierend" für die LED (nur beschreibbar). Wenn Du dort den neuen Wert in die LED reinschreibst und nicht in die LED direkt, wird das gewünschte Ereignis "Wertänderung LED" ausgelöst. </div> |