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 

Frage zu Arrays und lokalen Variabeln



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!

03.03.2010, 16:50
Beitrag #1

bluesaturn Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 145
Registriert seit: Jan 2010

2009
2010
en

-
United Kingdom
Frage zu Arrays und lokalen Variabeln
Hallo LabVIEW-Forum,

ich habe wieder einige Verstaendnisfragen zu LabVIEW.

1. Lokale Variablen:

Meine VI hat eine While-Schleife, in der zwei Case-Abfragen verschachtelt sind. In der untersten Case-Struktur werden Werte ausgelesen, die ich gerne an anderer Stelle noch einmal auslesen moechte und irgendwo abspeichern wuerde.
Ich dachte, man macht das mit lokalen Variabeln? Ich wollte nicht ein Drahtchaos durch die verschiedenen Case-Strukturen.
Allerdings komme ich nicht weiter, weil es mir nicht gelingt meine lokalen Variabeln als Elemente in ein Array hineinzufuettern. Das Drahttool moechte sich nicht verbinden.

2. Arrays:

Wie kann man einzelne Elemente (lokale Variabeln) in ein Array hineinfuettern?
In Matlab kenne ich das so, dass man das Array baut und dann die Werte in die Zellen abspeichert.
Meine lokalen Variablen wollen sich aber nicht mit meinem Array verbinden.
Ein Aray habe ich initialisiert, indem ich die Werte und die Dimension vorgegeben habe. Muss man wirklich ueber eine Schleife ein Array aufbauen?

Ich haenge einmal meine aktuelle Version als Screenshot an, da die VI nicht funktioniert. Die lokalen Variablen sind infused and withdrawn volume.

LabVIEW is 8.5 (Wie haengt man das LabVIEW Symbol mit der Version eigentlich an?).

Vielen Dank und viele Gruesse

Blue


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.03.2010, 18:54
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Frage zu Arrays und lokalen Variabeln
' schrieb:irgendwo abspeichern wuerde.
Die zwei Werte sollen also in einem 2D-Array abgelegt werden?

Zitat:Ich dachte, man macht das mit lokalen Variabeln? Ich wollte nicht ein Drahtchaos durch die verschiedenen Case-Strukturen.
Das geht ohne lokale Variablen, ohne Drahtchaos und sieht trotzdem noch schön aus.

Zitat:Muss man wirklich ueber eine Schleife ein Array aufbauen?
In deinem Falle hier nicht.

Zitat:Ich haenge einmal meine aktuelle Version als Screenshot an, da die VI nicht funktioniert. Die lokalen Variablen sind infused and withdrawn volume.
Hängt das VI, auch wenn es nicht funktioniert, hier an. Dann kann nämlich jeder hier seine Lösung gleich in dieses VI einbauen.

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
03.03.2010, 20:33
Beitrag #3

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
Frage zu Arrays und lokalen Variabeln
' schrieb:..
2. Arrays:

Wie kann man einzelne Elemente (lokale Variabeln) in ein Array hineinfuettern?
In Matlab kenne ich das so, dass man das Array baut und dann die Werte in die Zellen abspeichert.
Meine lokalen Variablen wollen sich aber nicht mit meinem Array verbinden.
Ein Aray habe ich initialisiert, indem ich die Werte und die Dimension vorgegeben habe. Muss man wirklich ueber eine Schleife ein Array aufbauen?
..
Man kann die Elemente einfach über Build Array (Array-Palette) hinten anhängen (Siehe angehängtes Bild) oder man benutzt das "Replace Array Subset.VI" und tauscht das gewünschte Element oder Sub-Array aus. Letzteres entspricht dem Matlab-Vorgehen.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2010, 08:42
Beitrag #4

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Frage zu Arrays und lokalen Variabeln
Du kannst ein 2D Array erstellen und mit Daten füttern. Von diesem 2D Array kannst du eine lokale Variable erstellen und an anderer Stelle wieder auslesen. Bedenke das diese Art anfällig für Race-Conditions ist. Ich verwende nie lokale Variablen sonder FGV's. Darüber kannst du hier im Forum auch einiges finden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2010, 13:22
Beitrag #5

bluesaturn Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 145
Registriert seit: Jan 2010

2009
2010
en

-
United Kingdom
Frage zu Arrays und lokalen Variabeln
Guten TagSmile

@IchSelbst:
Die Idee war, Sachen in einem Array zu speichern. Mittlerweile habe ich aber herausgefunden, dass man dort nur einen Typ von Variable abspeichern kann. Gibt es in LabVIEW auch etwas, was sich in Matlab cell nennt? Dort konnte man munter Strings, Matritzen etc abspeichern. Cell erlaubte das Abspeichern verschiedener Variabeltypen.

Ich moechte gerne folgendes aufzeichen:

Sample 5 ml
Air 20 ml
Buffer 10 ml
Air 20 ml

Diese Daten sollen dann in der Haupt-VI zu Verfuegung stehen. Sowas habe ich immer mit cells erledigt.

@Unicorn:

Habe ich das richtig verstanden, dass man an ein Array nur andere Arrays anhaengen kann?
Meine Elemente, in diesem Fall Skalare oder Strings, habe ich immer in Arrays umgewandelt.
Hierzu habe ich mir ein 1x1 Array mit dem String oder dem Skalar mit Hilfe von Initialize Array gebaut. Ich weiss es sonst nicht besser. Ich glaube, ich verwechsle auch gerade Cell and Array.
Replace Array Subset benutze ich jetzt auch, um die zuvor initialisierten Arrays zu fuellen. Wenn Du schreibst, das ist das Matlab-Vorgehen, wie sieht denn das LabVIEW-Vorgehen bitte aus?

@Abrissbirne: Ich habe gestern zu lokalen Variablen und FGCs einige Diskussionen gelesen. Das ist noch ganz schoen kompliziert. Ich habe die lokalen Variablen jetzt auch erstmal wieder entfernt.


Tut mir leid, dass ich hier solche Fragen stelle, aber an der Uni nutzt niemand LabVIEW.

Vielen Dank fuer Eure Geduld.

Gruesse
Blue
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2010, 13:47
Beitrag #6

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Frage zu Arrays und lokalen Variabeln
' schrieb:Guten TagSmile

@IchSelbst:
Die Idee war, Sachen in einem Array zu speichern. Mittlerweile habe ich aber herausgefunden, dass man dort nur einen Typ von Variable abspeichern kann. Gibt es in LabVIEW auch etwas, was sich in Matlab cell nennt? Dort konnte man munter Strings, Matritzen etc abspeichern. Cell erlaubte das Abspeichern verschiedener Variabeltypen.
Dafür sind Cluster geeignet.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2010, 13:49
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Frage zu Arrays und lokalen Variabeln
' schrieb:Mittlerweile habe ich aber herausgefunden, dass man dort nur einen Typ von Variable abspeichern kann.
Richtig: Alle Elemente eines Arrays haben immer den selben Typ. Das ist ein Kennzeichen von Array: Ein einziger Basistyp. Was aber noch nichts über den Basistyp selbst aussagt: der kann noch so kompliziert sein.
Zitat:Gibt es in LabVIEW auch etwas, was sich in Matlab cell nennt?
Matlab kenn ich nicht.
Zitat:Dort konnte man munter Strings, Matritzen etc abspeichern.
Geht in LV auch: Array of Variant. Würde ich aber nicht verwenden. Besser einen entsprechenden Algorithmus oder Datensatz ausdenken. Als Basistyp kann man z.B. Cluster(String, String, I32,I32) nehmen.

Zitat:Ich moechte gerne folgendes aufzeichen:
Mit dieser Aufzählung kann ich leider nichts anfangen. Ich weis z.B. nicht, ob das vier Datensätze sind oder nur einer. Und auch nicht, ob "Sample 5 ml" drei Variablen sind oder ob nur die 5 variabel ist. Wenn du sagst, wie ein Datensatz aufgebaut ist, und zwar an hand der Typen der einzelnen Daten, kann ich hier was genaueres sagen.

Zitat:Habe ich das richtig verstanden, dass man an ein Array nur andere Arrays anhaengen kann?
(Fast) Alle LabVIEW-Elemente sind polymorph aufgebaut. D.h. du kannst an den Eingängen anschließen, was möglich ist. Bei dem Element "Array erstellen" kann man sowohl ein Array als auch den Basistyp anschließen.

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
04.03.2010, 13:52 (Dieser Beitrag wurde zuletzt bearbeitet: 04.03.2010 13:56 von bluesaturn.)
Beitrag #8

bluesaturn Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 145
Registriert seit: Jan 2010

2009
2010
en

-
United Kingdom
Frage zu Arrays und lokalen Variabeln
Hi Abrissbirne.
Vielen Dank. Das schaue ich mir gleich noch einmal an.

Ich habe hier wieder eine Verstaendnisfage.

Angehaengt ein Beispiel1.vi in 8.5.
Das initialisierte Array hat die Dim 1x3. Jetzt ersetze ich array (index 0x0) mit einem String (dim 1x1). LabVIEW hat mir die Verbindung zu dem Array INdicator am Ende nur erlaubt, wenn dessen Dim 2x3 war. Wieso? Warum ging das nicht mit 1x3 Indicatorarray?
Tut mir leid, ich verstehe es nicht. Ich habe schon Probe benutzt. Ich bin aber verwirrt, weil Probe Arrays anzeigt, bei denen man sich durch alle Dimensionen durchklicken kann. Daher weiss ich nicht, wie gross mein Array tatsaechlich ist.
Koenntest du mir bitte sagen, was ich falsch mache?
Danke schoen.
Gruss
Blue


Angehängte Datei(en)
Sonstige .vi  Beispiel1.vi (Größe: 9,58 KB / Downloads: 196)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2010, 14:08
Beitrag #9

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Frage zu Arrays und lokalen Variabeln
Du allokierst bereits ein 2D Array, desshalb.

Die Lösung:
Lv85_img


Angehängte Datei(en)
Sonstige .vi  Beispiel1_2_.vi (Größe: 7,44 KB / Downloads: 229)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2010, 14:41
Beitrag #10

bluesaturn Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 145
Registriert seit: Jan 2010

2009
2010
en

-
United Kingdom
Frage zu Arrays und lokalen Variabeln
' schrieb:Du allokierst bereits ein 2D Array, desshalb.

Die Lösung:
Lv85_img


Hallo Abrissbirne.

Danke fuer die Loesung. Aber rein vom Verstaendnis her, muss ich noch einmal nachfragen: Warum habe ich ein 2D Array allokiert?
Ist 1x3 nicht von der Dimension her 1? Oder zaehlt das schon als 2D Array, weil ich Reihen und Spalten angebe? Mir faellt auf, dass du in deinem Beispiel den Zeilenindex weglaesst. Oder irre ich mich?

Viele Gruesse
Blue
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
  Auswahl eines Arrays anhand des Wertes eines zweiten Arrays treffen alan 2 4.600 19.02.2015 16:12
Letzter Beitrag: alan
Bug Arrays... immer wieder Arrays nurso 6 7.525 15.08.2014 10:39
Letzter Beitrag: Lucki
  Anzahl an lokalen variablen im VI begrenzen? Moeseph 6 5.319 16.04.2012 16:05
Letzter Beitrag: GerdW
  Sequenzvariablen mit lokalen variablen ersetzen? flooney 3 6.930 12.04.2011 08:51
Letzter Beitrag: flooney
  Performance-Frage: Große Arrays in Cluster-Schieberegister Matze 20 20.744 14.12.2010 13:37
Letzter Beitrag: rasta
  Konsistenz von lokalen Variablen SK-AC 8 6.512 16.08.2010 14:16
Letzter Beitrag: IchSelbst

Gehe zu: