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 

Datenfluss zwischen VI und subVI



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!

07.04.2014, 13:12 (Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2014 13:13 von lumaxo.)
Beitrag #1

lumaxo Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Feb 2014

2012 SP1
2013
EN



Datenfluss zwischen VI und subVI
Hallo,

Ich frage mich schon länger wie man am besten zwischen einem Top Level VI und einem subVI Daten kommuniziert.
Bisher habe ich derartige Konstruke immer vermieden und alles notwendige in die Top Level VI gepackt.

konkretes Beispiel: Ich habe eine PI-Regler subVI (mit while loop) und hätte gerne die Prozessgröße auch in der main VI aktualisiert.

Ich weiß das derartige Fragen schon öfter gestellt wurden. Allerdings finde ich viele verschiedene Antworten.
Anscheinend können dazu: Globale Variablen, shared Variablen, Referenzen, Queues etc. verwendet werden.

Was ist die beste/ordentlichste Methode?

Welche Methode (falls eine andere) nutzt man am besten um Eigenschaften von Bedien- und/oder Anzeigeelementen in subVIs
zu definieren.

Vielen Dank
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.04.2014, 13:23 (Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2014 13:25 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenfluss zwischen VI und subVI
Hallo lumaxo,

Zitat:Anscheinend können dazu: Globale Variablen, shared Variablen, Referenzen, Queues etc. verwendet werden.
Was ist die beste/ordentlichste Methode?
Darauf gibt es keine eindeutige Antwort, das hängt vom Anwendungsfall ab…

Zitat:konkretes Beispiel: Ich habe eine PI-Regler subVI (mit while loop) und hätte gerne die Prozessgröße auch in der main VI aktualisiert.
Grundsätzlicher Gedanke: die PI(D)-Regler, die mit LabVIEW (bzw. Toolkits) geliefert werden, kommen ohne While-Loop aus. Warum benötigst du überhaupt eine?

Zitat:Welche Methode (falls eine andere) nutzt man am besten um Eigenschaften von Bedien- und/oder Anzeigeelementen in subVIs zu definieren.
Eigenschaften ändert man mit Eigenschaftsknoten. Methoden sind etwas anderes!
Hier wird nicht umsonst die OOP-Terminologie verwendet: jedes LV-Objekt hat Eigenschaften, die man abfragen/ändern kann, und unterstützt bestimmte Methoden…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.04.2014, 13:42 (Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2014 13:44 von lumaxo.)
Beitrag #3

lumaxo Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Feb 2014

2012 SP1
2013
EN



RE: Datenfluss zwischen VI und subVI
Zitat: Grundsätzlicher Gedanke: die PI(D)-Regler, die mit LabVIEW (bzw. Toolkits) geliefert werden, kommen ohne While-Loop aus. Warum benötigst du überhaupt eine?

Prinzipiell aus akademischen Interesse. Es geht mir aber auch nicht um den PI-Regler an sich.
Anderes Beispiel ich habe eine Linear Achse welche zu Programmstart an eine bestimmte Position verfahren wird. Dies habe ich in einer subVI realisiert und hätter gerne, dass die aktuelle Position auch in der VI aktualisiert wird (oder was auch immer).

Zitat:Eigenschaften ändert man mit Eigenschaftsknoten. Methoden sind etwas anderes!
Ich meinte mit "Methode" in diesem Fall die Art und Weise wie ich die Eigenschaftknoten aus einem subVI ansprechen kann.
Vermutlich mit Referenzen, richtig?

Zitat:Darauf gibt es keine eindeutige Antwort, das hängt vom Anwendungsfall ab…
Könntest du das etwas vertiefen bzw. mir etwas zum nachlesen verlinken?
Wie würde man es im geschilderten Fall machen?

Danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.04.2014, 13:47 (Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2014 13:49 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenfluss zwischen VI und subVI
Hallo lumaxo,

Zitat:Vermutlich mit Referenzen, richtig?
Richtig!

Zitat:Könntest du das etwas vertiefen bzw. mir etwas zum nachlesen verlinken?
Es gibt da die Links in meiner Signatur…

Zitat:Wie würde man es im geschilderten Fall machen?
Das hängt vom verwendeten Programmierdesign ab. (Funktionale) globale Variablen, Queues, Notifier, alle möglichen Arten der Netzwerkkommunikation (inkl. SVs), manchmal sogar Referenzen…

Jede dieser Möglichkeiten hat ihre Berechtigung und auch ihre Vor- und Nachteile. Und die muss man im Hinterkopf haben, wenn man sich für eine Methode entscheidet!

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

lumaxo Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Feb 2014

2012 SP1
2013
EN



RE: Datenfluss zwischen VI und subVI
Zitat:Das hängt vom verwendeten Programmierdesign ab. (Funktionale) globale Variablen, Queues, Notifier, alle möglichen Arten der Netzwerkkommunikation (inkl. SVs), manchmal sogar Referenzen…

Ich bin ehrlich gesagt überrascht, dass es dafür keine Standardlösung gibt.
Bin ich der einzige der gerne mal eine while Schleife in ein subVI packt und trotzdem Daten (ein Anzeigeelement) daraus lesen möchte?

Mein Programmdesign ist das Erzeuger-Verbraucher, allerdings ist meine subVI während der Initialisierung. Ich verstehe daher nicht was das Programmdesign damit zu tun hat.Blink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.04.2014, 14:08
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenfluss zwischen VI und subVI
Hallo luxamo,

Zitat:Ich bin ehrlich gesagt überrascht, dass es dafür keine Standardlösung gibt.
Wie schon gesagt: es gibt Anwendungsfälle und dazu passende Lösungen. Es gibt keine "einzig selig machende Standardlösung"!

Zitat:Bin ich der einzige der gerne mal eine while Schleife in ein subVI packt und trotzdem Daten (ein Anzeigeelement) daraus lesen möchte?
Nein, das ist der normale Anwendungsfall.

Zitat:Mein Programmdesign ist das Erzeuger-Verbraucher
Also verwendest du Queues. Dann nimm diese doch für den Datentransport zum MainVI!

Zitat:allerdings ist meine subVI während der Initialisierung.
Das ist unerheblich…

Zitat:Ich verstehe daher nicht was das Programmdesign damit zu tun hat.
Monolithischer großer Block oder schön verteilte Tasks?
Gibt es Anforderungen an Datensicherheit? Darf man Werte überspringen oder braucht mal alle Werte?
Gibt es feste Datenraten oder ist man flexibel?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.04.2014, 14:43
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Datenfluss zwischen VI und subVI
Für "Last Value" Übertragung bieten sich an:
- Single Process Shared Variables
- FGVs (Current Value Table... / CVT Reference Library)
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
07.04.2014, 15:34
Beitrag #8

lumaxo Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Feb 2014

2012 SP1
2013
EN



RE: Datenfluss zwischen VI und subVI
Danke für die Hinweise, ich habe es jetzt so realisiert.

Für meine Anwendung passt das so denke ich.


Angehängte Datei(en)
12.0 .vi  main.vi (Größe: 10,53 KB / Downloads: 210)

12.0 .vi  subVI.vi (Größe: 23,93 KB / Downloads: 219)
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
  Problem mit Datenfluss Sandisk 2 2.890 10.11.2011 10:37
Letzter Beitrag: Sandisk
  SubVI Funktionen verwenden, ohne SubVI Frontpanel (AVT Kamera) Allyoucaneat 3 7.960 25.08.2011 15:18
Letzter Beitrag: GerdW
  SubVIs und Datenfluss RomanT 11 9.048 01.02.2011 10:58
Letzter Beitrag: aptiva
  Datenfluss deicebear 7 7.327 27.08.2010 12:41
Letzter Beitrag: Falk
  Datenübergabe zwischen SubVI Redstar 1 2.793 16.03.2009 12:08
Letzter Beitrag: silvia_xj
  Sub-VI Datenfluss funktioniert nicht VisionaryS 8 5.638 19.01.2009 15:34
Letzter Beitrag: VisionaryS

Gehe zu: