Frage zu Message Queues, Queue Cluster mehrfach aufschlüsseln
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!
10.12.2014, 11:03 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2014 11:04 von dali4u.)
Frage zu Message Queues, Queue Cluster mehrfach aufschlüsseln
Guten Morgen,
ich habe mehrere Message Queues in einem Cluster zusammengefasst und
übertrage damit meine Nachrichten in unterschiedliche VIs.
Normalerweise nutze ich die obere Variante in meinen VIs, allerdings wird es
langsam unübersichtlich durch die ganzen zusätzlichen Leitungen der Queues.
Ich würde es gerne auf die untere Variante umstellen und in jedem Case
einen eigenen "Cluster aufschlüsseln" nutzen.
Hast das irgendwelche Nachteile? Speichernutzung? etc. oder tauchen andere Probleme auf?
RE: Frage zu Message Queues, Queue Cluster mehrfach aufschlüsseln
Hallo Stefan,
Nachteile:
- du benötigst in jedem Case ein eigenes UnbundleByName und damit mehr Platz im BD
- In jeder Iteration muss der Cluster erneut aufgedröselt werden (wobei ich nicht weiß, wie clever der Compiler mittlerweile ist).
Aber: Wenn du in deiner oberen Variante die Namen im Unbundle so umsortierst, das "Konfiguration" ganz unten steht, kannst du wieder gerade Drähte verwenden!
RE: Frage zu Message Queues, Queue Cluster mehrfach aufschlüsseln
@Jens und @Gerd
Danke für die schnelle Antwort. Um die geraden Linien geht es mir weniger,
weil ich nie "frei Hand" arbeite sondern immer die Funktion "Diagramm aufräumen" nutze.
Frei Hand ist es mit Sicherheit platzsparender, aber dazu bin ich zu faul :-)
Es ist richtig, dass ich zwar in jedem Case immer wieder ein neues "Cluster aufschlüsseln"
benötige, aber in den Cases nutze ich meistens 3 oder 4 Queues und irgendwann
verschwindet der gesamt Inhalt vom Case sowieso in ein SubVI und dann geht nur
der Queue-Cluster (und einige Schieberegister) in das SubVI statt Queues.
Danke Euch
Gruß
Stefan
10.12.2014, 14:44 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2014 14:49 von Lucki.)
RE: Frage zu Message Queues, Queue Cluster mehrfach aufschlüsseln
Mir scheint, dass das was Du da machst der "Eigenbau eines talentierten Amateurs" ist. Jedenfalls ist es nicht kompatibel mit der "reinen QSM-Lehre". (Googln QSM = queue driven state machine).
Diese lautet: Nur ein Queue einrichten, die Daten aus den unterschiedlichen Quellen (und in unterschiedlichen Formaten) für die Übertragung in der Queue nach "Variant" konvertieren.
Hier Beispiel, wie die Daten (Hier: Fomat "Text") wieder in ihr ursprüngliches Format rückkonvertiert und im zuständigen Case behandelt werden. (Das Clusterelement "Descriptor" ist nicht unbedingt notwendig, die anderen beiden Clusterelemente schon):
10.12.2014, 16:26 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2014 16:40 von dali4u.)
RE: Frage zu Message Queues, Queue Cluster mehrfach aufschlüsseln
Hi Lucki,
QSM ist mir natürlich bekannt. Als Vorlage für meine aktuelle Arbeit diente mir das Beispielprojekt
"Kontinuiertliche Messung und Protokollierung" von LabVIEW selber. Der Datentyp mit denen
ich die Queues erstellt habe, ist in der Tat ein Cluster aus String (Descriptor) und einem Variant.
In dem Beispiel, welches ich als Grundlage genommen habe, und bei mir, gibt es kein EventType
und der Descriptor ist die Bezeichnung des Case. Funktioniert bei mir jedenfalls einwandfrei und
ohne Probleme.
Stefan
PS: Das Beipsiel "Kontinuierliche Messung und Protokollierung" passte am besten zu meinem Anwendungsprofil.
RE: Frage zu Message Queues, Queue Cluster mehrfach aufschlüsseln
(10.12.2014 20:11 )Lucki schrieb: Das Beispiel scheint in LV2014 nicht mehr dabei zu sein. Vielleicht schämt sich NI inzwischen wegen dieses Beispiels
doch, ist noch dabei.
Den Button "Projekt erstellen" direkt anklicken oder im Menü Datei "Projekt erstellen" und
dann solltest Du auch das Beispielprojekt "Kontinuierliche Messung und Protokollierung" finden.