12.06.2007, 08:49
Beitrag #1
|
Mave
LVF-Grünschnabel
Beiträge: 16
Registriert seit: Oct 2006
8.6
2006
de
81829
Deutschland
|
Eigenschaftsknoten
Hallo Zusammen,
ich habe hier mal ein echtes "bloody beginner" Problem. Ich hoffe, ihr könntet mit dennoch helfen, obwohls es für einen alten Hasen keine Herausforderung ist.
Ich habe in meiner Applikation jede Menge Anzeige- und Bedienelemente zu initalisieren. Dieses realisiere ich mit den jeweiligen Eigenschaftsknoten. Aus dem VI selbst heraus stellt dieses auch kein Problem dar. Jedoch möchte ich wegen der Übersichtlichkeit ein eigenes SubVi erstellen, in der diese Initalisierungen vorgenommen werden.
Ich weiß zwar, dass ich jetzt die Eigenschaftsknoten irgendwie über eine Refernz ansprechen muß, aber dass habe ich bis jetzt nicht auf die Reihe bekommen. Mit der LV-Hilfe bin ich auch nicht richtig weiter gekommen "zu viel Fachchinesisch"<_< .
Könnte es mir jemand einfach erklären?
Gruß
Mave
|
|
|
12.06.2007, 09:08
(Dieser Beitrag wurde zuletzt bearbeitet: 12.06.2007 09:18 von Lucki.)
Beitrag #2
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Eigenschaftsknoten
Wenn es aus dem VI heraus kein Problem ist, dann ist die Erstellung eines Sub.VIs mit Referenzen auch kein Problem: Einfach den (im Haupt-VI erstellten) Code auswählen, dann Hauptmenü/Bearbeiten/Sub-VI erstellen anklicken. Da kannst Du auch studieren, wie es gemacht wird, um dann künftig solche SUB-VIs auch direkt erstellen zu können.
Ich selbst mache es allerdings eher so: Das Grundgerüst eines Haupt-VIs besteht aus einer gestapelten Sequenz: Sequenz 0: Initialisierungen, Sequenz 1: Hauptausführungs-Schleife, Sequenz 2: Schließen von Tasks etc.
Das ist nach meinem Dafürhalten mindetens genau so übersichtlich wie die Verwendung von Sub-Vis für die Initialisierung.
|
|
|
12.06.2007, 09:24
Beitrag #3
|
Mave
LVF-Grünschnabel
Beiträge: 16
Registriert seit: Oct 2006
8.6
2006
de
81829
Deutschland
|
Eigenschaftsknoten
Vielen Dank Lucki für deine schnelle Antwort.
Nach dieser Methode stoße ich leider sehr schnell an die Grenze von 28 Anschlüssen. Daher ist die Erstellung eines SubVi auf diesem Weg nicht möglich. Ich dachte eher daran in einem SubVi auf mein MainVi zu referenzieren und die im MainVi benutzten Bedien- und Anzeigeelement zu initalisieren. Damit müsste doch dieses SubVi ohne Anschlüsse auskommen können???. Wahrscheinlich habe ich hier ein ganz grundlegendes Verständnisproblem
|
|
|
12.06.2007, 09:48
Beitrag #4
|
IchSelbst
LVF-Guru
Beiträge: 3.696
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Eigenschaftsknoten
Hallo Mave
ich rate auf jeden Fall zu der von Lucki bereits erwähnten Methode: Initialisierung in der ersten von drei Sequenzen.
Nichtsdestoweniger hast du auch folgende Möglichkeit: Führe alle Referenzen auf ein Array und gib das Array in das SubVI. Dort kannst du das Array dann indizieren und ggf. mit Variant auf die Wert-Eigenschaft des referenzierten Objektes schreiben. Das hat aber einen Nachteil: Du musst wissen, in welches Element des Array du was schreiben musst - alleine schon aus diesem Grunde macht ein SubVI keinen Sinn.
Mit der Variante des Zugreifens auf das HauptVI im SubVI hast du prinzipiell das selbe Problem. Du kannst zwar auf alle Objekte des HauptVI zugreifen (über ein entsprechendes Property), aber auch wieder nur mit Variant. Auch hier musst du wissen, auf welchen Index welcher Initialisierungswert gehört.
Desweiteren gibt es noch die Möglichkeit "Setze Standardwerte". Das ist eine Methode des VIs, dass alle Elemente auf ihre jeweiligen definierten Standardwerte setzt.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
12.06.2007, 10:10
Beitrag #5
|
Mave
LVF-Grünschnabel
Beiträge: 16
Registriert seit: Oct 2006
8.6
2006
de
81829
Deutschland
|
Eigenschaftsknoten
Hallo IchSelbst,
im Grunde gehe ich nach der empfohlenen Methode vor, d.h. ich benutze keine gestapelte Sequenz, sondern eine Initphase in einer State-Machine.
Hier nehme ich alle Initalisierungen vor. Jedoch ist das so groß geworden, dass die Darstellung nicht mehr auf eine Bildschirmseite passt. Ich dachte, ich könnte das ganze durch einsetzen eines SubVi etwas übersichtlicher gestalten.
Ich werde deine Methoden jetzt mal ausprobieren.
Dank auch Dir!
|
|
|
12.06.2007, 10:30
Beitrag #6
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Eigenschaftsknoten
' schrieb:im Grunde gehe ich nach der empfohlenen Methode vor, d.h. ich benutze keine gestapelte Sequenz, sondern eine Initphase in einer State-Machine.
Hier nehme ich alle Initalisierungen vor. Jedoch ist das so groß geworden, dass die Darstellung nicht mehr auf eine Bildschirmseite passt.
Hier gäbe es natürlich ein ganz triviale Lösung: Initphase der State-Machine in 2 Schritte unterteilen, nach dem Motto erst Init1, dann folgt Init2.
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.
|
|
|
12.06.2007, 10:47
Beitrag #7
|
|
|
| |