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:

Frontpanelzugriff aus 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!

16.09.2014, 09:40
Beitrag #1

Phips Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Sep 2014

2013
2011
DE



Frontpanelzugriff aus SubVI
Hallo liebe Forenmitglieder,

ich habe da mal eine Frage zum guten Programmierstil:

Und zwar habe ich mir inzwischen angewöhnt, neue Anwendungen auf Basis einer Queued-State-Machine zu entwerfen.

Mein Haupt-VI besteht somit quasi noch aus einer Eventstruktur und den drei SubVIs für die State-Machines:
"Interface" (Verarbeitung von Events)
"Data Acquisation" (Steuerung bzw. Einlesen Daten / Messgerät)
"Display" (Anzeigen der Daten vom Messgerät).

   

Nun zu meinen Fragen:
1. Ist es möglich, die Case-Struktur auch in ein SubVI-zu verschieben?
2. Ich finde die Lösung, erstmal alle Referenzen von FP-Elementen zu sammeln und an die SubVIs zu übergeben nicht gerade elegant gelöst (Hab diese Methode in einem Webcast von NI kennen gelernt):
Sobald ein Zugriff auf ein FP-Element benötigt wird, wird in dem Array nach der passenden Referenz gesucht.
3. Die FP-Elemente, hier Status, diagram, data-result, werden aus SubVIs angesteuert. Wo würdet ihr die Elemente im Main-VI platzieren? So wie momentan, "wo Platz ist"?

Zu 2. :
So sieht das konkret im SubVI "Display Queue" aus.    

Hier ein Screenshot, wie nach einer Referenz gesucht wird:    

Was habt ihr für Tipps, wie man die Struktur verbessern könnte, v.a. Punkt 2?
Eine mögliche Lösung wäre sicherlich eine Display-Schleife im Main-VI, die dann dort direkt die Elemente ansteuert, aber ich hätte das ganze dann trotzdem relativ gern in ein SubVI verlegt.

Vielen Dank für eure Hilfe Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.09.2014, 10:21 (Dieser Beitrag wurde zuletzt bearbeitet: 16.09.2014 10:22 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Frontpanelzugriff aus SubVI

Akzeptierte Lösung

Hallo Phips,

1. Ja, die Case-Struktur kann in ein subVI gepackt werden.

2. Das kann man so machen. Ich nutze dafür lieber eine FGV, die die Refs in den Attributen eines Variants ablegt.

3. Wo Platz ist. Wobei ich dein "Display Queue"-VI auch im MainVI direkt platzieren würde, das würde den zeitaufwendigen Zugriff über PropertyNodes ersparen…

Zitat:aber ich hätte das ganze dann trotzdem relativ gern in ein SubVI verlegt.
Wieso?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.09.2014, 08:51
Beitrag #3

Phips Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Sep 2014

2013
2011
DE



RE: Frontpanelzugriff aus SubVI
Hallo Gerd,

danke für deine Antwort.

Zu 1: Durch Recherche hab ich noch einen interessanten Beitrag dazu gefunden:
http://www.labviewforum.de/Thread-Events...n-moeglich

Dort gibt es zwei Möglichkeiten: Einmal "X-Controls" und einmal die Referenzen der FP-Elemente ans SubVI zu übergeben und dort mit der dynamischen Ereignisregistrierung zu arbeiten.

X-Controls scheinen mir hierfür übertrieben zu sein und selbst beim zweiten erscheint mir der Aufwand - selbst für größere Projekte - zu groß, so dass es sich lohnt, das in ein extra Sub-VI zu verschieben?

Zu 2: FGV sind natürlich auch eine Möglichkeit, aber wie machst du das? Sammelst du alle Referenzen und "suchst" dann die passende, falls ein benötigt wird, oder stellst du (so wie in meinem Beispiel) alle FP-Elemente als Referenz zur Verfügung?


Zu 3: Da hast du wohl Recht, in diesem Fall wäre es wohl einfacher, diese "kleine" Schleife noch im Main-Vi mit unterzubringen.

Zu den Gründen, warum ich das ganze gerne in ein SubVI verlagern würde:
Erstens wurde mir bei div. Schulungen eingeflüstert, soviel wie möglich (und sinnvoll) in ein eigenes SubVI zu verpacken,
auf der anderen Seite wird das gezeigte Programm noch viel umfangreicher werden, dass ich den Versuch unternehmen möchte, alles halbwegs sauber zu verpacken...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.09.2014, 09:00
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Frontpanelzugriff aus SubVI
Hallo Phips,

ich sehe hier keinen Einsatzfall für XControls oder UserEvents…

Du hattest oben nach "Case-Struktur" gefragt. Redest du jetzt von der Event-Struktur?

Zu 2: Einmalig alle Referenzen einsammeln und als Key-Value-Paar (= Attribute) in einem Variant ablegen. Später dann einfach mit dem Key (=Indicator-Name) die Referenz vom Variant abfragen. So wie im verlinkten Nugget erläutert…

Zitat:soviel wie möglich (und sinnvoll) in ein eigenes SubVI zu verpacken
Betonung sollte auf "sinnvoll" liegen! Es mag sinnvoll erscheinen, sowas auszulagern. Wenn ich dann aber größere Datenmengen über den langsamen Umweg PropertyNode verschieben muss, ist dieses "sinnvoll" auch wirklich zu hinterfragen!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2014, 08:12
Beitrag #5

Phips Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Sep 2014

2013
2011
DE



RE: Frontpanelzugriff aus SubVI
Hallo,

sorry, ich meinte wirklich die Event-Struktur.

Aber ich bin jetzt zu dem Entschluss gekomemn, dass es wohl gehen würde, aber keinen Sinn macht?
Ich werde wohl die Event-Struktur sowie die Display-Schleife im HauptVI lassen.

Die Übergabe der Referenzen habe ich wie du empfohlen hast, in einen Variant gepackt, das ist wesentlich eleganter Smile

Vielen Dank für deine Hilfe!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.09.2014, 20:57 (Dieser Beitrag wurde zuletzt bearbeitet: 20.09.2014 20:58 von Lucki.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Frontpanelzugriff aus SubVI
Falls es Dir noch etwas nützt: Ich bastele gerade an einem VI, welches die Referenzen aller FP-Elemente ermittelt. Der Elemente können beliebig tief eingeschachtelt sein, also beispielsweise ein Element in einem Cluster, der sich auf einer TAB-Seite befindet.

Wer mir zeigt, dass es so etwas schon besser irgendwo als Download gibt, erhält von mir 2 LFV-Tassen, die bei mir nur rumstehen (Ich trinke lieber aus dünnschaligen). Verbesserungsvorschläge willkommen.
Einfach laufen lassen, nachdem man den Pfad eines zu untersuchenden VIs eingegeben hat.

13.0 .vi  ElementRefs.vi (Größe: 24,17 KB / Downloads: 198)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.09.2014, 19:59
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Frontpanelzugriff aus SubVI
Offtopic2
@Lucki: Du hast die Ebene "Panes" direkt nach Panel vergessen! Und das ist für skalierbare Fenster ein essentielles Hilfsmittel.

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
21.09.2014, 23:04 (Dieser Beitrag wurde zuletzt bearbeitet: 21.09.2014 23:07 von Lucki.)
Beitrag #8

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Frontpanelzugriff aus SubVI
Stimmt, das habe ich noch nicht berücksichtigt. Mein Ziel ist die programmgesteuerte Skalierung und Schriftgrößenänderung aller Elemente, weil es automatisch nicht gut funktioniert. Und das Haupt-VI hat bei mir 2 Fensterbereiche, die bezüglich der Skalierung unterschiedlich behandelt werden sollen. (Bei den Bedien- und Anzeigeelemenen in der linken Pane ist die Proportionalität der Skalierung wichtig, damit etwas Rundes nach der Skalierung rund bleibt. Im rechten Fesgterberich befinden sich Graphen, die unterschiedliche Skalierungsfaktoren in X und Y gut vertragen können.)
Es wird wohl auch erforderlich sein, Dekoelemente noch mit zu erfassen. Aber das gehört jetzt alles nicht in diesen Thread.
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
  SubVI Funktionen verwenden, ohne SubVI Frontpanel (AVT Kamera) Allyoucaneat 3 8.844 25.08.2011 15:18
Letzter Beitrag: GerdW

Gehe zu: