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 

Locale Variable von 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!

08.11.2009, 13:23
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.704
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Locale Variable von SubVI?
' schrieb:Da die SubVI in vielen Untersequenzen aufgerufen wird, dachte ich man könnte sie außerhalb der Sequenz ablegen und über eine lokale Variable ansteuern.
Diese Überlegung ist vorerst unsinnig.

Das Herauslegen aus der Sequenz hat eine hauptsächliche Auswirkungen:
Liegt das SubVI außerhalb der Sequenz wird es nur ein einziges Mal aufgerufen und abgearbeitet! Das liegt an der Struktur von LabVIEW: Stichwort Datenfluß. D.h. du kannst den Ablauf, nämlich drei Sachen nacheinander zu machen, nicht so realisieren, indem du das SubVI auslagerst.


Zitat:Oder ist ein anderes Vorgehen generell besser?
Wenn du das SubVI auslagern willst, musst du zwei Sachen anpassen.
Erstens muss das VI so umbebaut werden, dass es kontinuierlich läuft. Das wird durch eine While-Schleife im SubVI realisiert. Dieses SubVI kannst du dann außerhalb der Sequenz positionieren und es wird währen der gesamten Programmlaufzeit laufen.
Zweitens musst du eine Steuerqueue erstellen und einen Ausgangsmelder. Dort, wo jetzt das SubVI in der Sequenz sitzt, wird eine Queue mit Steuerbefehlen beschrieben. Diese Befehle liest das neue SubVI aus und arbeitet sie ab. Als Ergebnis sendet das neue SubVI den Zustand der Ventile in einem Melder zuzrück.
Jetzt kannst du in einer Dauerschleife ständig den Ausgangsmelder (also den Zustand der Ventile) anzeigen lassen. Der Ablauf beschränkt sich jetzt darauf, die Queue zu beschreiben und zu warten.

Hinweis:
Der Vorteil des neuen Verfahrens zeigt sich dann, wenn auch noch diverse andere Sachen integriert werden. Man kann das neue SubVI so gestalten, dass man (per Queue) z.B. nur bestimmte Ventile schalten kann. Dazu würde man einen Enumerator machen, der alle einzelnen Ventile aber auch Vetilgruppen enthält. Damit wäre es dann z.B. nicht mehr nötig, ein Array zu übergeben - was voraussetzt, dass man den Schaltzustand aller Ventile angeben muss.
Der nächste Vorteil ist: Das Programm wird modular.

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
Antwort schreiben 


Nachrichten in diesem Thema
Locale Variable von SubVI? - frankne - 08.11.2009, 11:41
Locale Variable von SubVI? - Y-P - 08.11.2009, 12:06
Locale Variable von SubVI? - frankne - 08.11.2009, 12:43
Locale Variable von SubVI? - IchSelbst - 08.11.2009 13:23
Locale Variable von SubVI? - frankne - 08.11.2009, 14:15

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Referenzen in Variable speichern und in SubVI aufrufen Hasenfuss 16 13.531 30.04.2015 08:09
Letzter Beitrag: Hasenfuss
  NXT und SubVI mit Lokaler Variable RoboPeer 7 6.005 01.12.2011 15:09
Letzter Beitrag: RoboPeer
  SubVI Funktionen verwenden, ohne SubVI Frontpanel (AVT Kamera) Allyoucaneat 3 9.066 25.08.2011 15:18
Letzter Beitrag: GerdW
  locale Variablen kopieren Kex2006 17 11.989 27.11.2008 17:20
Letzter Beitrag: Kex2006
  Sequenz Local oder Locale Variable Labview-Beginner 2 4.227 16.07.2008 10:31
Letzter Beitrag: Y-P
  Referenz <--> Locale Variable Gang 3 8.711 16.03.2007 13:23
Letzter Beitrag: eg

Gehe zu: