INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Signalverlauf über Referenz befüllen



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!

27.06.2017, 09:35
Beitrag #1

serge_franke Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Sep 2014

14
2014
DE



Signalverlauf über Referenz befüllen
Hallo zusammen
Folgende Problemstellung

Ich habe 4 (gleiche) Messapparate welche ich über Labview ansteuere und zu gewissen prozessabhängigen Zeitpunkten daten über einen Request Befehl einlese. Dies mache ich in einem ablaufinvarianten SubVI. Diesem SubVI übergebe ich auch die Nr. (0-3) des Systems, welches ich gerade auslesen möchte.
Ich möchte nun die Daten, welche ich für das jeweilige System auslese, auf dem Frontpanel des hauptVIs in einem diagramm darstellen. Ich hätte dann also 4 Diagramme, welche aber vom SubVI aus mit Daten befüllt werden müssten.

Ich könnte dies wohl mit globalen variablen machen. Im SubVI die Variablen befüllen und im HauptVI zu gegebenen Zeitpunkten darstellen. Die frage wäre, ob ich das mit Referenzen irgendwie einfacher hinbekommen könnte. Hab aber mit eigenen versuchen nichts hinbekommen.

danke und Gruss
Serge
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.06.2017, 09:56
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 14.792
Registriert seit: May 2009

09SP1, 11SP1, 17
1995
DE_EN

10×××
Deutschland
RE: Signalverlauf über Referenz befüllen

Akzeptierte Lösung

Hallo Serge,

nimm doch statt globaler Variablen oder Referenzen einfach Queues, in die dein subVI die Daten reinschreibt!
Die Nummer, die das subVI als Kennung für das Messgerät bekommt, kannst du auch gleich verwenden, um damit die Queue über ihren Namen zu selektieren…

Dein HauptVI muss dann nur die Daten aus den Queues entgegennehmen und verarbeiten!

(Und wenn du das richtig aufziehen willst, komst du ruckzuck zu einer Producer-Consumer-Struktur…)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.06.2017, 12:21 (Dieser Beitrag wurde zuletzt bearbeitet: 27.06.2017 12:54 von serge_franke.)
Beitrag #3

serge_franke Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Sep 2014

14
2014
DE



RE: Signalverlauf über Referenz befüllen
Hallo Gerd Smile
Danke für deine Antwort. Habe mir gleich mal die qeue beispiele auf LV angeschaut, da ich noch nie damit gearbeitet habe.

Ich würds jetzt mal so versuchen: Qeue im HauptVI erstellen mit datentyp cluster bestehend aus Int Systemnummer und dbl Messdaten. Die Qeue dann weiter ins subvi ziehen und dort mit daten befüllen.

Wo soll ich die Qeue im hauptVI bestenfalls auslesen? Eigener loop oder im Timeout meiner Eventstructure?

grüsse
Serge

Edit: Hier noch so wie ich die umsetzung verstanden habe (nur vom Prinzip her)
Der untere loop wäre dann in einem SubVI eingebettet, sollte ja aber genau gleich funktionieren


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.06.2017, 13:57 (Dieser Beitrag wurde zuletzt bearbeitet: 27.06.2017 13:58 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 14.792
Registriert seit: May 2009

09SP1, 11SP1, 17
1995
DE_EN

10×××
Deutschland
RE: Signalverlauf über Referenz befüllen
Hallo Serge,

wenn du bei Queue-Erstellen auch noch einen Namen vergibst ("named queue"), dann brauchst du die Queue-Referenz nicht ins subVI verdrahten.
Dort dann einfach erneut GetQueue mit dem selben Namen aufrufen! Wichtig: alle Referenzen, die man öffnet, sollte man auch wieder schließen…

Zitat:Wo soll ich die Qeue im hauptVI bestenfalls auslesen? Eigener loop oder im Timeout meiner Eventstructure?
Um zu verhindern, dass die Queue "überläuft", solltest du sie in einer eigenen Loop auslesen.
Im Timeout der Eventstruktur wird sie eben nur dann ausgelesen - du müsstest erst wieder selbst programmieren, die Queue auch wirklich zu leeren!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.06.2017, 14:34
Beitrag #5

serge_franke Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Sep 2014

14
2014
DE



RE: Signalverlauf über Referenz befüllen
Hi Gerd
Danke für die Antwort. Ich denke ich habs verstanden. Werde das mal so umsetzen und dann testen.

danke Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Signalverlauf über einen ganzen Tag Guest 17 5.602 06.03.2006 09:25
Letzter Beitrag: cb

Gehe zu: