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 

Kommunikation zwischen MainVI und VIs in subpanel



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!

03.11.2008, 10:51
Beitrag #1

freezer Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Oct 2008

8.6
2008
de

80331
Deutschland
Kommunikation zwischen MainVI und VIs in subpanel
Hallo,

ich habe anhand des Beispiels Subpanel Viewer.vi eine Oberfläche erstellt, um dynamisch während der Laufzeit unterschiedliche VIs laden zu können.
Wie kann ich nun zwischen dem Haupt-VI und dem Unter-VI Daten austauschen?
Zum einen würde ich gerne einfache Variablen übergeben, zum anderen aber auch kontinuierliche Messdaten. Ist dies möglich? Und wenn ja, wie?

Danke.

Gruß
freezer
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.11.2008, 18:34
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Kommunikation zwischen MainVI und VIs in subpanel
' schrieb:Wie kann ich nun zwischen dem Haupt-VI und dem Unter-VI Daten austauschen?
Mit Queues/Meldern kann man zwischen beliebigen SubVIs Daten austauschen. Guckst du die entsprechenden Beispiele in der Hilfe. Ob einzelne Daten oder ganze Arrays, ob einmalig oder kontinuierlich, Queues/Melder gehen für alles.

Wenn man die Queues noch auf ein Benutzerereignis gibt, kann man auch eventgesteuert reagieren.

Hier ein unverbindliches Muster inLv80_img.


Angehängte Datei(en)
Sonstige .zip  ModFktTst_Prg_PSP_Ordner_LV80.zip (Größe: 176,77 KB / Downloads: 488)

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.11.2008, 11:43 (Dieser Beitrag wurde zuletzt bearbeitet: 07.11.2008 12:00 von jg.)
Beitrag #3

freezer Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Oct 2008

8.6
2008
de

80331
Deutschland
Kommunikation zwischen MainVI und VIs in subpanel
Hallo,

vielen Dank für die Hilfe. Das mit den queues funktioniert super. Anbei habe ich mal ein kleines Beispiel für andere hilfesuchende Anfänger wie mich gepackt.
Lv82_img


Angehängte Datei(en)
Sonstige .vi  sub.vi (Größe: 7,43 KB / Downloads: 545)

Sonstige .vi  main.vi (Größe: 12,92 KB / Downloads: 586)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.11.2008, 12:01
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Kommunikation zwischen MainVI und VIs in subpanel
Da du scheinbar deine PN's nicht liest, möchte ich nochmals hier daran erinnern:

Bitte nicht vergessen:

LVF-Regeln lesen

Immer LV-Version bei VI-Uploads angeben

MfG, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.11.2008, 12:11 (Dieser Beitrag wurde zuletzt bearbeitet: 07.11.2008 12:17 von freezer.)
Beitrag #5

freezer Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Oct 2008

8.6
2008
de

80331
Deutschland
Kommunikation zwischen MainVI und VIs in subpanel
Hi,

tut mir leid. Die habe ich nicht gesehen. Werde ich das nächste mal besser machen, versprochenSmile

Ich habe noch eine weitere Frage:
Wie kann ich ein array an eine queues übergeben. Hierbei bekomme ich es nicht hin den richtigen Datentyp anzugeben.

Gruß
freezer

EDIT:
Ich habe eine Lösung gefunden, weiß jedoch nicht ob sie optimal ist. Ich übergebe jeweils als Datentyp ein array mit einem leeren Element des gewünschten Datentyp als Inhalt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.11.2008, 12:22
Beitrag #6

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Kommunikation zwischen MainVI und VIs in subpanel
' schrieb:Ich habe eine Lösung gefunden, weiß jedoch nicht ob sie optimal ist. Ich übergebe jeweils als Datentyp ein array mit einem leeren Element des gewünschten Datentyp als Inhalt.

Bei "Optain Queue" musst du doch den Typ als Dummy angeben...und hier kannst du den gewünschten Typ mit einem beliebigen Inhalt (auch: leeres Array) anschließen, der Inhalt wird nicht ausgewertet. Erst bei "Enqueue Element" musst du den passenden Inhalt reinschreiben!

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.11.2008, 12:41
Beitrag #7

freezer Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Oct 2008

8.6
2008
de

80331
Deutschland
Kommunikation zwischen MainVI und VIs in subpanel
Ok, danke. Also bei mir fordert er, dass ich die explizit den Datentyp des Arrays angebe, ist aber so auch ok.

Meine Idee ist es die physikalischen Kanäle meiner DAQmx-Ansteuerung an die SubVIs zu übergeben. Da ich meine SubVIs jedoch dynamisch lade (Subpanel Viewer.vi), erhalte ich die Daten aus der queue nur im ersten geladenen Subpanel. Wie sollte ich sinnvollerweise die Daten so vorhalten, dass sie immer verfügbar sind?

Gruß
freezer
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.11.2008, 12:51
Beitrag #8

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Kommunikation zwischen MainVI und VIs in subpanel
' schrieb:Ok, danke. Also bei mir fordert er, dass ich die explizit den Datentyp des Arrays angebe, ist aber so auch ok.
Ich meinte natürlich ein leeres Array des gewünschten Typs, nicht eine leere "Array-Hülle"

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.11.2008, 13:26
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Kommunikation zwischen MainVI und VIs in subpanel
' schrieb:Meine Idee ist es die physikalischen Kanäle meiner DAQmx-Ansteuerung an die SubVIs zu übergeben. Da ich meine SubVIs jedoch dynamisch lade (Subpanel Viewer.vi), erhalte ich die Daten aus der queue nur im ersten geladenen Subpanel. Wie sollte ich sinnvollerweise die Daten so vorhalten, dass sie immer verfügbar sind?
Wenn ich dich richtig verstanden habe, tritt folgendes Problem auf:
Irgendwer schreibt EINMALIG in eine Queue "die physikalischen Kanäle meiner DAQmx-Ansteuerung". Dann geht per VI-Server ein SubVI auf, das die Queue ausliest. Damit stehen in der Queue keine Daten mehr drinnen. Das nächste per VI-Server aufgerufene SubVI kann dann die DAQmx-Kanäle nicht mehr auslesen. Meinst du das?

Wenn ja, gibt es mehrere Lösungsmöglichkeiten:

Einfachste Möglichkeit: Nimm statt einer Queue einen Melder. Im Melder steht immer nur ein Datensatz (siehe oben EINMALIG), der auch nach einem Lesen drinnenbleibt.

Zweite Möglichkeit: Auch den SubVIs, die per VI-Server gestartet werden, kann man Daten in gewohnter Form übergeben, also quasi per Eingangsdraht. Dafür gibt es bestimmte VI-Server-Propertys.

Dritte Möglichkeit: Pack die Daten in ein "funktionales SubVI": Ein solches SubVI hat die Funktion einer globalen Variablen.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.11.2008, 13:56
Beitrag #10

freezer Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Oct 2008

8.6
2008
de

80331
Deutschland
Kommunikation zwischen MainVI und VIs in subpanel
' schrieb:Wenn ich dich richtig verstanden habe, tritt folgendes Problem auf:
Irgendwer schreibt EINMALIG in eine Queue "die physikalischen Kanäle meiner DAQmx-Ansteuerung". Dann geht per VI-Server ein SubVI auf, das die Queue ausliest. Damit stehen in der Queue keine Daten mehr drinnen. Das nächste per VI-Server aufgerufene SubVI kann dann die DAQmx-Kanäle nicht mehr auslesen. Meinst du das?
Genau das meine ich. Dann nutze ich wohl besser einen Melder. Dankeschön.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  MainVI sucht nach gelöschter .lvlib Bibliothek kwz 5 4.102 04.05.2021 16:11
Letzter Beitrag: kwz
  Subpanel Kommunikation ares2013 3 3.786 04.12.2019 12:23
Letzter Beitrag: Lien_Alere
  Kommunikation/Datenaustausch MainVI und SubVI THenry14 13 9.258 09.03.2018 08:46
Letzter Beitrag: GerdW
  Kommunikation zwischen SubVis im Subpanel und GUI Rene123 12 11.118 30.10.2017 23:28
Letzter Beitrag: IchSelbst
  Bestimmen, ob das VI ein eigenes Frontpanel hat oder im Subpanel angezeigt wird wladimir s 8 6.271 11.11.2016 10:31
Letzter Beitrag: wladimir s
  Subpanel und Splitter Pane GT123 15 9.888 09.09.2016 14:23
Letzter Beitrag: GT123

Gehe zu: