Ereignisstruktur auslösen durch Wertänderung (True/false von Datasocket)
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Ereignisstruktur auslösen durch Wertänderung (True/false von Datasocket)
Hallo und einen schönen Abend, ich habe direkt mit meinem ersten Beitrag eine Frage und denke das ich hier gut aufgehoben bin.
Szenario:
Über einen OPC-Server erfolgt die Kommunikation zwischen einer SPS und Labview. Von Labview aus erfolgt die Kommuniaktion Mithilfe von Datasocket. Das Schreiben und Auslesen der Daten stellt im Moment kein Problem dar. Was ich aber leider nicht hinbekomme ist das ich mithilfe der Daten eine Ereignisstruktur ausgelöst bekomme, sprich ich empfange Daten per Datasocket (true/false) diese kommen auch in Labview an, nun dachte ich mir könnte ich hier per Wertänderung das Ereignis auslösen, jedoch funktioniert dies leider nicht.
Kurzzusammenfassung: Bei einer Änderung des Wertes der Adresse opc://localhost/DemoOPC/PLC.Stop von False nach True soll ein Ereigniss ausgelöst werden welches das VI abbricht.
Ich habe mal den kleinen Codeschnipsel diesbezüglich beigepackt, und hoffe doch das mit hier jemand einen Tip diesbezüglich geben kann.
RE: Ereignisstruktur auslösen durch Wertänderung (True/false von Datasocket)
Hallo ZhengGu,
ich kann dein VI leider nicht lesen (zu neue LV-Version). Du kannst dir aber einfach einen boolschen Schalter erstellen und dann die Eigenschaft "Wert(signalisierend)" setzen. Dann kannst du in einer Eventstruktur auf das Event Wertänderung reagieren, also dein VI abbrechen.
RE: Ereignisstruktur auslösen durch Wertänderung (True/false von Datasocket)
Zitat:Tipp: Es ist ungünstig, das FP zu schließen, wenn noch eine andere Schleife weiterläuft...
Erläuterung dazu:
"FP Schließen" heißt nur das was der Name sagt darf nicht mit "VI beenden" verwechselt werden.
VI beenden: gewaltsamer Abbruch.
FP schließen: Das FP ist nicht mehr sichtbar, läuft aber, falls aktiv, weiter.
RE: Ereignisstruktur auslösen durch Wertänderung (True/false von Datasocket)
Hallo Gerd ich habe es mal mit deinem Tipp versucht, jedoch leider ohne den nötigen Erfolg. Direkt beim ersten durchlauf der Schleife wird das Ereigniss "Panel schließen" aufgelöst. Die Daten vom OPC Server haben sich natürlich nicht geändert, mit der Highlight-Funktion sieht man das das erste FalseSignal welches von der Schleife ausgelöst wird direkt den Case auslöst ohne eine Wertänderung, das selbe passiert wenn von Hause aus True vom OPC Server ausgegeben wird.
06.03.2013, 13:08 (Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2013 13:11 von GerdW.)
RE: Ereignisstruktur auslösen durch Wertänderung (True/false von Datasocket)
Hallo Gu,
Zitat:Direkt beim ersten durchlauf der Schleife wird das Ereigniss "Panel schließen" aufgelöst. Die Daten vom OPC Server haben sich natürlich nicht geändert, mit der Highlight-Funktion sieht man das das erste FalseSignal welches von der Schleife ausgelöst wird direkt den Case auslöst ohne eine Wertänderung, das selbe passiert wenn von Hause aus True vom OPC Server ausgegeben wird.
Ja, die Wunder der Eventstruktur in Verbindung mit der "Value signalling"-Property...
Wenn du in diese Propertynode schreibst, löst dies unabhängig (!) vom geschriebenen Wert ein ValueChange-Event aus. (Steht sicherlich auch in der Kontexthilfe.)
Wenn du nur bei einem TRUE das Panel schließen willst, solltest du vielleicht noch eine Case-Struktur an richtiger Stelle verwenden!