LabVIEWForum.de
Floatender Dialog - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Floatender Dialog (/Thread-Floatender-Dialog)



Floatender Dialog - M Nussbaumer - 21.12.2009 13:39

Hallo zusammen

Ich habe ein Problem mit zwei VI's (Eingabe.vi und Ausgabe.vi) die Parallel laufen. Es geht darum wie ich ein VI(Ausgabe.vi) am besten aktualisiere während es gerade ausführt wird.
Soll ich dafür Notifier, Queques oder FGV verwenden?

Momentan ist es so gelöst, dass das FP von Ausgabe.vi geöffnet bleibt, während es sich im Timeout beendet. Dann läuft eine While-Schleife die es wieder startet mit ggf neuen Werten.

Ich hoffe ich konnte mein Problem einigermassen verständlich rüberbringenWink


Floatender Dialog - IchSelbst - 21.12.2009 14:47

' schrieb:Es geht darum wie ich ein VI(Ausgabe.vi) am besten aktualisiere während es gerade ausführt wird.
Soll ich dafür Notifier, Queques oder FGV verwenden?
Wie du willst - oder was für deine Applikation am besten geeignet ist.

Melder:
Wenn dem Sender (im Endeffekt aber schon der Applikation) egal ist, was mit den Daten passiert, kann der Sender die Daten mittels Melder veröffentlichen. Wer (also welches SubVI) die Daten haben will, soll sie sich holen. Ansonsten sind sie verloren, da sie überschrieben werden können. Wenn man einen Status von irgendwas lediglich anzeigen will, kann man den zwischen dem Sample-VI und dem Anzeige-VI per Melder übertragen. Melder werden vom LV-System gemanagert.

Queues:
Wenn etwas gesteuert werden soll oder nichts verloren gehen darf, empfielt sich eine Queue - da hier nichts verloren geht. Queues können zwar von mehreren beschrieben werden, das Lesen durch mehrere ist aber kompliziert. Queues werden vom LV-System gemanagert.

FGV:
Da FGVs SubVI sind, kann man Software reinmachen, wie man will (Propertys!). Alleine zum Zwecke der Datenübertragung von einem SubVI in ein anderes SubVI ein FGV zu machen ist übertrieben. FGVs sind eher Melder als Queues: Sie stellen einen Zustand dar, keinen Ablauf. So gesehen sind FGVs bessere Melder.


Floatender Dialog - M Nussbaumer - 21.12.2009 15:05

Danke für die hilfreiche UnterscheidungWink

Eine Frage zu den Queues:
Kann ich den einfach als einen Eingang legen? Oder wie übergibt man einen Queue?


Floatender Dialog - IchSelbst - 21.12.2009 16:49

' schrieb:Kann ich den einfach als einen Eingang legen?
Ja.
Eine Queue ist nämlich ein typisiertes Element.

Eine "Queue", also der Ausgang, der aus "Queue anfordern" herauskommt, ist ein Handle. Für diesen Handle kann man ein Bedien- und ein Anzeigeelement erstellen. Demzufolge kann man Handle also in SubVIs hineingeben und aus solchen herausholen.

Wichtiger noch als der Queue-Handle selbst ist der "Namen" der Queue, der bei "Queue anfordern" angegeben wird. Man muss nämlich nicht unbedingt den Handle der Queue weitergeben. Man kann sich auch ständig mit "Queue anfordern" neue Handle generieren. Wichtig ist nur, dass man den Namen der Queue kennt. Du musst also nicht unbedingt den Handle in ein SubVI übergeben. Du kannst in dem SubVI auch mit "Queue anfordern" - bei gleichem Namen - einen eigenen Handle erstellen.

Ganz wichtig: Pro "Queue anfordern" muss ein "Queue schließen" gemacht werden! Jeder einzelne Handle belegt nämlich Speicher (Hinweis: Jeder Handle hat einen eigenen numerischen Wert).