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:

Wertemitgabe Strictly typed VI reference



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!

18.05.2015, 08:51 (Dieser Beitrag wurde zuletzt bearbeitet: 18.05.2015 08:53 von NoWay.)
Beitrag #1

NoWay Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 241
Registriert seit: Jul 2013

LV-2019
2013
EN


Deutschland
Wertemitgabe Strictly typed VI reference
Hallo zusammen.

Aus gegebenen Anlass befasse ich mich mit Subpanels und der Anzeige unterschiedlicher VIs. Dazu habe ich mir zwei kleine Beispiel-VIs erstellt. Die Aufgabe ist einfach: Der Caller soll das "LED" VI im Subpanel aufrufen und wieder schließen können. Das allein ist schnell gelöst und überhaupt kein Thema. Knifflig wird es, wenn ich dem LED VI zusätzliche Parameter mit an die Hand geben will, wie z.B. eine IP Adresse oder dergleichen. Mein Versuch ging dahin, dass ich aus der statischen VI Referenz eine "Strictly typed VI Reference" mache. Labview ist dann aber scheinbar nicht mehr in der Lage das VI im Frontpanel anzuzeigen. Es läuft zwar im Speicher, sehen kann man es aber nicht.

Was mache ich an dem Punkt falsch, bzw. wie kann ich in einem Subpanel VIs aufrufen und diesen Werte im Vorfeld schon mitgeben? Ich würde gerne den Umweg über eine FGV vermeiden.

Edit: Man muss auf die LED klicken um das LED.Vi zu schließen. Das hat funktional keinerlei bedeutung. Mir geht es ausschließlich um die Werteübergabe.


Angehängte Datei(en)
10.0 .vi  UI.vi (Größe: 9,13 KB / Downloads: 175)

10.0 .vi  LED.vi (Größe: 7,09 KB / Downloads: 177)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.05.2015, 09:05
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Wertemitgabe Strictly typed VI reference

Akzeptierte Lösung

Ja, so geht das nicht, mit "Call by Reference" startest du das VI, das ist quasi so, als ob du direkt ein SubVI im Blockdiagramm platzierst.

Aber so geht es:
   
Gruß, 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
18.05.2015, 09:22
Beitrag #3

NoWay Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 241
Registriert seit: Jul 2013

LV-2019
2013
EN


Deutschland
RE: Wertemitgabe Strictly typed VI reference
Ah, sehr schön. Danke Jens.
Damit ich richtig verstehe, was da passiert: Statt dem VI einen Wert "mitzugeben" wird das Control des LED.vi über die Referenz angesprochen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2015, 09:43
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Wertemitgabe Strictly typed VI reference
Ja, kann man so sehen.
In lv13_img kannst du alternativ auch mit dem VI "Set Control Values by Index" arbeiten:
   
Gruß, 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
18.05.2015, 15:39
Beitrag #5

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Wertemitgabe Strictly typed VI reference
(18.05.2015 09:43 )jg schrieb:  In lv13_img kannst du alternativ auch mit dem VI "Set Control Values by Index" arbeiten:

Hallo Jens,

da muss ich dann aber höllich aufpassen, dass ich aus diesem VI nicht irgendwann mal ein Control lösche und sich so die Indizierung verschiebt, oder?
(Ähnlich wie bei Clusterinhalten)

Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2015, 15:45
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wertemitgabe Strictly typed VI reference
Hallo Marko,

Zitat:da muss ich dann aber höllich aufpassen, dass ich aus diesem VI nicht irgendwann mal ein Control lösche und sich so die Indizierung verschiebt, oder?
Wieso?
Bevor du diese Funktion nutzt, musst du den "Elementindex" per Propertynode ermitteln. Dies macht man einmalig bei Start des VIs - und man sollte hier nach den "interessanten" (aka benötigten) Controls filtern. Da du dies dynamisch erledigen musst, ist es (an dieser Stelle) egal, ob ein Control gelöscht wurde!
Wichtig dabei ist nur, dass auch die Datenarrays angepasst werden: deshalb erstelle ich mir lieber ein Referenzarray anhand der Label der Controls…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2015, 15:48
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Wertemitgabe Strictly typed VI reference
Bei meinem ersten Vorschlag musst du ähnlich genau aufpassen, dass du das Control, welches du per Invoke-Node setzt, nicht löscht oder umbenennst.
Ansonsten siehe Gerds Vorschlag, es gibt Möglichkeiten, das Problem bei Variante 2 zu umschiffen (vgl. LabVIEW Hilfe).

Gruß, 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
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  .NET Reference, Invoke Node - Wie damit umgehen thz89 6 4.931 09.08.2017 08:39
Letzter Beitrag: thz89
  Wann setze ich Reference, Local Variable und Property Node ein galilio 6 9.587 18.03.2016 01:08
Letzter Beitrag: Trinitatis
  Pane-References by VI-Reference D_Sev 1 3.080 16.11.2014 23:00
Letzter Beitrag: Lucki
  Cluster reference an subpanel übergeben Mazubi 3 5.564 09.09.2013 11:37
Letzter Beitrag: GerdW
  Write Trace Reference 0 Arno_Nym 3 3.864 25.04.2013 06:24
Letzter Beitrag: Arno_Nym
  Call by reference node achim @ FZK 14 16.577 18.10.2012 19:19
Letzter Beitrag: Y-P

Gehe zu: