23.07.2009, 10:30
|
tt-web
LVF-Gelegenheitsschreiber
Beiträge: 123
Registriert seit: Jul 2009
8.6
2008
de
64354
Deutschland
|
String eingeben und Speichern
Ich möchte den eingegebenen Benutzernamen nicht nur speichern, sondern in einer Variable ablegen, um die Informationen in anderen VI's benutzen zu können. Wie mache ich das? Wenn ich eine Globale Variable einfüge bekomme ich nur ein neues Frontpanel, was mir so erst mal nicht weiterhilft. Kann ich den String nicht einfach in eine Variable kopieren? Unter C würde ich das in zwei drei Zeilen erledigt haben...
Gruß Thomas
|
|
|
23.07.2009, 10:47
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
String eingeben und Speichern
Siehste mal wie aufwendig c++ ist. In LabVIEW Sparste dir das Tippen der 3 Zeilen und klickst stattdessen 2 mal. Nämlich einmal mit rechts auf das Element und dann gehste auf
"Erstellen->Umgebungsvariablenknoten->Neue Umgebungsvariable"
Dabei ist zu beachten, dass du in einem Projekt arbeiten solltest, damit andere VIs diese neue Umgebungsvariable auch kennen.
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
23.07.2009, 11:23
|
tt-web
LVF-Gelegenheitsschreiber
Beiträge: 123
Registriert seit: Jul 2009
8.6
2008
de
64354
Deutschland
|
String eingeben und Speichern
AAAArrrrggggghhhhh....
Ich war so blind... Danke für den schnellen tipp!
Darf ich noch eine blöde Frage stellen? *grins*
Ich habe ein Main.vi und das Benutzervorgaben.vi. Jetzt möchte ich das Benutzervorgaben.vi per Knopfdruck "aktivieren". Hierzu habe ich die Ein und Ausgänge im neuen SubVi erstellt. Den Eingang habe ich mit dem "aktivieren" vom Expressvi "Benutzervorgaben" wählen angeschlossen, als Ausgang habe ich die drei Strings genommen. Das funktioniert prinzipiell schon, aber wie aktiviere ich das SubVi bei Bedarf durch Knopfdruck? Habe einen Schalter im Main.vi eingefügt mit "Latch beim Loslassen" und den wiederum im SubVi mit dem entsprechenden Gegenstück versehen (also auch so einen Schalter eingefügt...) Aber es klappt nicht. Gibt es eine bessere Möglichkeit, oder kann mir jemand den Weg verraten?
Liebe Grüße Thomas
|
|
|
23.07.2009, 12:55
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
String eingeben und Speichern
Ja es sind die Shared Variables. Sicher dass du gerade in ienem Projekt arbeitest? wenn du nur ein einzelnes VI hast, geht das ganze nicht. Die Shared Variable ist ja schließlich für den gesamten Namespace sprich für alle VIs im Projekt verfügbar. Sonst kannst du auch mit lokalen variablen arbeiten.
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
23.07.2009, 13:05
(Dieser Beitrag wurde zuletzt bearbeitet: 23.07.2009 13:07 von tt-web.)
|
tt-web
LVF-Gelegenheitsschreiber
Beiträge: 123
Registriert seit: Jul 2009
8.6
2008
de
64354
Deutschland
|
String eingeben und Speichern
Hallo,
also ich habs jetzt ausführlich durchprobiert. Ich habe mein VI. In diesem habe ich eine Whileschleife und einen Knopf. Wenn der Knopf gedrückt wird, wird das SubVI aufgerufen. Das SubVI fragt Benutzerdaten ab und speichert diese in einer Datei. Weiter leite ich das "Ergebnis" an eine Stringanzeige weiter. Klicke ich rechts auf die Anzeige erhalte ich unter Erstellen die Möglichkeiten "Lokale Variable", "Referenz" und Unteroptionen "Eigenschaftsknoten" sowie "Methodenknoten". Ich habe eine lokale Variable bzw. auch eine Referenz erstellt, für diese habe ich dann ein "Anzeigeelement" erstellen lassen und auf den Ausgang des SubVI's gelegt. Der Ausgang ist mit einer Stringanzeige im HauptVI verbunden. Ich schaffe es nicht, dass die Daten angezeigt werden. Meine Vermutung ist, dass nach Verlassen des SubVI's die Daten für die lokale Variable bzw. auch die der Referenz aus dem Speicher gelöscht werden. Eine Möglichkeit zur Erzeugung Globaler, oder Shared Variablen wird mir nicht angeboten. Ich arbeite in einem Projekt, dem beide VI's zugeordnet sind. Was ist jetzt wieder verkehrt?
Gruß Thomas
PS: Habe es auch probiert, im HauptVI die Stringanzeige innerhalb der While-Schleife zu setzen. Geht nicht....
|
|
|
23.07.2009, 13:16
|
RoLe
LVF-Guru
Beiträge: 1.236
Registriert seit: Jul 2007
-
1997
en
0
Schweiz
|
String eingeben und Speichern
' schrieb:Eine Möglichkeit zur Erzeugung Globaler, oder Shared Variablen wird mir nicht angeboten. Ich arbeite in einem Projekt, dem beide VI's zugeordnet sind. Was ist jetzt wieder verkehrt?
Also, mit der *globalen Variable* kann ich dir weiterhelfen, mit den Shared habe ich das gleiche Problem wie du.
Global. Nachdem das leere VI geöffnet ist, machst du dort eine Stringanzeige (oder was du möchtest) rein.
Speichern, nun kannst du das wählen.
Ich bevorzuge aber wenn immer möglich Ein/Ausgäne mit einem Drath.
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
|
|
|
24.07.2009, 04:56
|
tt-web
LVF-Gelegenheitsschreiber
Beiträge: 123
Registriert seit: Jul 2009
8.6
2008
de
64354
Deutschland
|
String eingeben und Speichern
Ja! Genau so etwas soll es sein. Dein Beispiel funktioniert auch, wobei ich aber immer noch nicht "globale" Variablen anlegen kann. Benötigt man dafür ein Zusatzpaket?
Gruß Thomas
|
|
|
24.07.2009, 08:55
|
RoLe
LVF-Guru
Beiträge: 1.236
Registriert seit: Jul 2007
-
1997
en
0
Schweiz
|
String eingeben und Speichern
' schrieb:Ja! Genau so etwas soll es sein. Dein Beispiel funktioniert auch, wobei ich aber immer noch nicht "globale" Variablen anlegen kann. Benötigt man dafür ein Zusatzpaket?
Klar funktioniert das Beispiel , und das ohne Variablen.
Ein Zusatzpaket brauchst du nicht. (und Globale Variabeln eigentlich auch nicht)
Es geht so wie ich geschrieben habe.
' schrieb:Global. Nachdem das leere VI geöffnet ist, machst du dort eine Stringanzeige (oder was du möchtest) rein.
Speichern, nun kannst du das wählen.
Wenn das neu erstellte VI-Global offen ist, kannst du das wählen in der leeren Global (Kugelmit?) rechte Maustaste - Select Item.
Du kannst aber auch das ungeöffnete Global.vi von der HD ins Blockdiagram ziehen.
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
|
|
|
| |