LabVIEWForum.de - Melder oder globale Variablen

LabVIEWForum.de

Normale Version: Melder oder globale Variablen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Tag!

Von einem System muss ich regelmässig verschiedene Status auslesen, z.B. ob es eingeschaltet ist, etwas aktiv/inaktiv etc., in Summe vielleicht 3-5 Eigenschaften.

Diese Zustände müssen in anderen Ecken weiterverarbeitet werden. Zum Austausch könnte man mit Meldern oder mit globalen Variablen arbeiten.

Würdet ihr eher mit Meldern arbeiten, z.B. drei Melder jeweils vom Typ Boolean oder eher mit globalen Variablen?

Zu Meldern hab ich eine Frage - ich kann nur Strings dranhängen. Enums kann ich für den Namen der Melder nicht dranhängen, oder?
Hallo Hasenfuss,

neben den genannten Möglichkeiten möchte ich noch die FGV (functional global variable) erwähnen Smile

- Der Name eines Melders ist natürlich ein String. Aber was spricht dagegen, dein Enum per FormatIntoString in einen String umzuwandeln? Der Datentyp des Melders ist dagegen frei wählbar...
Der wichtigste Unterschied ist, dass Melder (und Queues) in einer Schleife warten können, bis eine neue Meldung eintrifft. Globale Variable tun das nicht, man weiß dort nie, ob man ein und dasselbe Element schon x-Mal ausgelesen hat oder ob es sich um etwas Neues handelt. Deshalb sind Globale Variable zum Datenaustausch nicht gut geeignet.
Bei Statutszuständen hingegen wären solche Wartezeiten, also erst lesen bis ein neuer Status kommt, wohl eher fehl am Platze. Da sind globale Veriable genau richtig.
Etwas anderes ist es natürlich, wenn ein Status nicht nur gelesen, sondern wenn z.B ein Sub.Vi solange angehalten werden soll, bis ein neuer Status eintrifft.
Tip: Nicht wegen jeder globalen Variablen ein eigenes Global-VI erstellen. Alle globalen Variablen eines Projektes können in ein einziges VI reingepfercht werden.
Herzlichen Dank für Eure Antworten.

Wahrscheinlich gibt es immer mehrere Varianten, die zum Ziel führen.
Referenz-URLs