(06.04.2020 12:13 )LV-New schrieb: Hallo LAbview Forum,
Als “Neuling” besser gesagt Wiedereinsteiger in Labview (Programmiererfahrung aus Praktikum) benötige ich eure Hilfe.
Es sind mehre Dinge die ich für eine gute Kommunikation zwischen Schleifen bräuchte, aber starten wir erstmal mit dieser Frage hier:
Ich habe mehre Schleifen, die miteinander kommunizieren sollen (exemplarisches Beispiel im Anhang), dies soll möglichst PC-Resourcen schonen erfolgen. D.h: Die Schleife soll eigentlich wie immer durchlaufen und nur wenn besondere Ereignisse eintreten dann auch einen speziellen Zustand einnehmen.
Also dachte ich mir ich benutze eine Erzeugnisstruktur dafür. Leider reagiert diese aber nur auf wirklich Knopf drücke des Benutzers und nicht auf „programmieret Knopfdrücke“. Jemand eine Idee für einen „Workaround“? Eine FGV will ich nicht nehmen, weil diese ja ständig abgefragt würde und nicht nur bei bestimmten Veränderungen.
Soweit erstmal….
Wie meine Vorredner kann auch ich nur dringend von der Verwendung von mehreren Ereignisstrukturen innerhalb eines VI abraten. Die LabVIEW-Hilfe sagt zwar, dein Beispiel-Konstrukt geht so in Ordnung, die Erfahrung zeigt es anders. Das geht fast immer schief !!!
Außerdem kannst du so nicht modular programmieren, du musst ja immer alles in einem VI halten, um Events in anderen Schleifen auszulösen (ok, stimmt nicht ganz, es gibt benutzerdefinierte Events und man kann Controls aus anderen VIs für die Eventverarbeitung registrieren). Trotzdem, das Gelbe vom Ei ist das nicht, da ist ein Vorgehen mit Queues zu bevorzugen.
Übrigens, wenn du unbedingt ein Event programmatisch auslösen willst, dann musst du die PropertyNode "Value (Signaling)" verwenden, nur die löst Events programmatisch aus. Aber sieh diesen Hinweis bitte nicht als Erlaubnis dafür, mit dieser Struktur weiterzumachen...
Gruß, Jens