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



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.02.2010, 10:17
Beitrag #11

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Frage zu Arrays
Ich habe das Gefühl, dass Du mit aller Gewalt die Denkweise von C++, Java,... auf LabVIEW übertragen möchtest.
Es ist besser wenn Du bei LabVIEW offen für was neues bist und Dir die "normale" LabVIEW-Programmierung aneignest. Die objektorientierte Programmierung mit LabVIEW macht die ganze Sache nur viel schwieriger, vor allem wenn Du auch hier im Forum mal Fragen zu irgendetwas hast.
Letzendlich bleibt das aber Deine Entscheidung.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2010, 11:30 (Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2010 11:38 von eliot.)
Beitrag #12

eliot Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Feb 2010

2009
-
de

38118
Deutschland
Frage zu Arrays
@SeBa

Ah, danke für den Tipp!

@all

Vielen Dank für eure wirklich guten Antworten und die Unterstützung.
Echt sehr nette Leute hier im Forum.

Das Beispiel hier war eher zu Lehrzwecken meinerseits gedacht,
nicht als funktionales Beispiel (ich wollte Klassen und Arrays ausprobieren).

Ich habe hier ebenfalls ein Buch zu LabVIEW:
Einführung in LabVIEW von Wolfgang Georgi

Das Buch läßt leider viele Fragen offen (wie das Handbuch von LabVIEW auch).
Mir scheint die Literatur zum Thema LabVIEW scheint sich nicht gerade an Informatiker
zu richten, vielleicht habe ich auch einfach die falsche Sichtweise auf die Dinge.
Viele Dinge sind nicht eindeutig und hinreichend Dokumentiert, oder ich
mache mir einfach zu viele Gedanken.

Eine Frage zu Clustern (Structs im weiteren Sinne): Kann ich diese
irgendwie so definieren, dass sie in mehreren Vis zur Verfügung stehen?
Denn aufteilen in Funktionen (SubVis) würde ich gerne weiterhin,
auch ohne Klassen (das macht die Sache einfach übersichtlicher).

Wie würde das obere Beispiel (Cluster: Vector3D, SubVi Set und Get)
als mit Cluster aussehen?

EDIT: Wenn ich den Debug Modus Aktiviere (gelbe Lampe) kann ich die
den Datenfluss verfolgen. Aber leider sehe dann nicht, was in den SubVis geschieht.
Gibt es da eine Möglichkeit?

BTW Ich glaube ich sollte das Thema dieses Threads in "Noob Fragen" ändernWink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2010, 11:40
Beitrag #13

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Frage zu Arrays
Dafür könntest Du z.B. eine FGV (Funktionale globale Variable) nehmen.

Gruß Markus

' schrieb:Eine Frage zu Clustern (Structs im weiteren Sinne): Kann ich diese
irgendwie so definieren, dass sie in mehreren Vis zur Verfügung stehen?
Denn aufteilen in Funktionen (SubVis) würde ich gerne weiterhin,
auch ohne Klassen (das macht die Sache einfach übersichtlicher).

Wie würde das obere Beispiel (Cluster: Vector3D, SubVi Set und Get)
als mit Cluster aussehen?

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2010, 11:42 (Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2010 11:48 von GerdW.)
Beitrag #14

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Frage zu Arrays
HAllo eliot,

was du suchst sind typedefs! Einfach den Cluster definieren, markieren, Menu->Edit->Customize Control, dort dann als typedef einstellen und speichern. Dann kannst du den Cluster überall einfügen (Rechts-Klick auf Frontpanel->choose control) und er wird (bei Änderungen am typedef) automatisch angepasst. Dazu gibt's auch was in der LabVIEW-HilfeWink

Edit:
Beim Debuggen auf Einzelschritt umstellen. Dann kannst du auch in SubVIs hineinsteppen...

EditEdit:
Den Vorschlag mit FGVs hattest du ja schon weiter oben erhalten. Und der Tipp, den Datenfluß mit einem ErrorCluster zu bestimmen, kam bestimmt auch schon...

"BTW ..." JA! Lol

Edit3:
Wenn du erst ein Array mit 3 Werten initialisiert und danach dann die 3 Werte durch andere ersetzt, dann kannst du auch gleich einfach ein Array bauen aus den 3 Werten...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2010, 11:52 (Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2010 12:00 von eliot.)
Beitrag #15

eliot Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Feb 2010

2009
-
de

38118
Deutschland
Frage zu Arrays
' schrieb:HAllo eliot,

was du suchst sind typedefs! Einfach den Cluster definieren, markieren, Menu->Edit->Customize Control, dort dann als typedef einstellen und speichern. Dann kannst du den Cluster überall einfügen (Rechts-Klick auf Frontpanel->choose control) und er wird (bei Änderungen am typedef) automatisch angepasst. Dazu gibt's auch was in der LabVIEW-HilfeWink

Edit:
Beim Debuggen auf Einzelschritt umstellen. Dann kannst du auch in SubVIs hineinsteppen...

EditEdit:
Den Vorschlag mit FGVs hattest du ja schon weiter oben erhalten. Und der Tipp, den Datenfluß mit einem ErrorCluster zu bestimmen, kam bestimmt auch schon...

"BTW ..." JA! Lol

Edit3:
Wenn du erst ein Array mit 3 Werten initialisiert und danach dann die 3 Werte durch andere ersetzt, dann kannst du auch gleich einfach ein Array bauen aus den 3 Werten...


Was sind FGVs?
EDIT: Ziehe die Frage zurück, das Buchweiss was dazuSmile

Wie kann ich ein Array gleich mit drei Werten initialisieren?

EDIT2: Ok, einfach aufziehen!

Typedefs, gute Sache, das werde ich mir anschauen
(Endlich mal wieder ein bekanntes WortWink)!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2010, 12:15 (Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2010 12:18 von eliot.)
Beitrag #16

eliot Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Feb 2010

2009
-
de

38118
Deutschland
Frage zu Arrays
Hmm,

das Array Initialisieren scheint nicht zu gehen.
Das Array wird wie in Bild eins Konfiguriert, allerdings
hatt es dennoch die Länge 0.
Da ich im Set Vi das Array erstellen raus genommen habe
(da nicht mehr notwendig), kann die Array erstzen Funktion
nichts machen (Array hat dir Länge 0).


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.02.2010, 12:26
Beitrag #17

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Frage zu Arrays
Zum ersten Bild:
Wenn in der Indexanzeige 3 steht, dann bedeutet das, dass das erste im Frontpanel angezeigte Element den Index 3 hat. Die Elemente Index 0, 1 und 2 sind also nicht sichtbar. Demzufolge kann man aus dem Bild nicht ersehen, ob die Länge 3 ist oder nicht.

Zum zweiten Bild:
Das mit "In Array ersetzen" stimmt so aber nicht: Du hast auf den zweiten Index-Eingang die variable Y gelegt.

Eins zur Typdefinition:
Ich ziehe strikte Typdefinitionen vor.

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.02.2010, 13:17 (Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2010 13:29 von eliot.)
Beitrag #18

eliot Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Feb 2010

2009
-
de

38118
Deutschland
Frage zu Arrays
' schrieb:Zum ersten Bild:
Wenn in der Indexanzeige 3 steht, dann bedeutet das, dass das erste im Frontpanel angezeigte Element den Index 3 hat. Die Elemente Index 0, 1 und 2 sind also nicht sichtbar. Demzufolge kann man aus dem Bild nicht ersehen, ob die Länge 3 ist oder nicht.

Zum zweiten Bild:
Das mit "In Array ersetzen" stimmt so aber nicht: Du hast auf den zweiten Index-Eingang die variable Y gelegt.

Eins zur Typdefinition:
Ich ziehe strikte Typdefinitionen vor.

Ups, ja, Arrays setzen war falsch verbunden, danke!
Zum ersten Bild: Wie initialisiere ich denn dann Array mit uint32 der Länge 3???
Laut Buch, soll ich das Array auf 3 Elemente aufziehen, dann wird ein Array der länge
3 initialisiert?!
Vorher hatte ich die Funktion "Array initialisieren" genutzt, wenn die Länge des Arrays
nicht 3 ist (in der set Mehode/Vi).
Das hatte dan Funktioniert. Ich habe die Änderung vorgenommen,
da mir gesagt wurde, dass ich Blockdiagramm das Array schon mit 3 Werten
vorbelegen kann, eine anschließdene Initialiserung ist dann nicht mehr nötig!

regards
eliot

EDIT: Ok, das Aufziehen eines Ararys allein reicht nicht aus.
Man muss zusätzlich noch folgendes ausführen: Bearbeiten -> Aktuelle Werte als Standard.
Dann wird das Array der Länge 3 initialisiert.

Das Problem ist nur: Man hat keinerlei Kontrollmöglichekiten,
ob eine Array mit einem Standard intiialisiert wird oder nicht.
Wie kan ich festellen, dass ein Array mit Standards versheen ist?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2010, 13:45 (Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2010 13:49 von GerdW.)
Beitrag #19

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Frage zu Arrays
Hi eliot,

ich hatte nicht gesagt, dass du weiterhin "replace array subset" benutzen sollst... Ich sagte (äh: meinte), dass du stattdessen einfach "Build Array" benutzt! Warum erst initialisieren und Werte ersetzen, wenn ein einfache BuildArray (hier) genauso gut funktioniert...
Edit: Für ein "BuildArray" musst du vorher nichts initialisieren (wir sind ja hier nicht bei C#, oder so Wink )

@IchSelbst:
Strikte TypeDefs haben den Vorteil (?), dass auch "kosmetische" Einstellungen propagiert werden. Dies ist für einen einfachen Datenbuffer, der m.M. nach in diesem Fall nie auf dem Userinterface zu sehen sein wird, reichlich Overkill...

EditEdit:
Wenn du ein Array initialisierst (ich rede von der Funktion "Init Array"!), dann gibst du einen Standardwert vor. Du weißt also, ob und womit initialisiert wurde... Wenn du das hinterher nochmal überprüfen willst, musst du dir eine der zahlreichen Vergleichsfunktionen aussuchen.

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2010, 14:02
Beitrag #20

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Frage zu Arrays
' schrieb:Strikte TypeDefs haben den Vorteil (?), dass auch "kosmetische" Einstellungen propagiert werden.
Das ist kein Vorteil, sondern ein Nachteil
Zitat:Dies ist für einen einfachen Datenbuffer, der m.M. nach in diesem Fall nie auf dem Userinterface zu sehen sein wird, reichlich Overkill...
Gerade wenn der Cluster nicht am FP zu sehen ist, ist es sinnvoller eine strikte Definition zu machen.
Mit normalen Definitionen habe ich bisher mehr Probleme (keine Schwierigkeiten, sondern Probleme) gehabt, als die strikte Definition Einschränkungen hat. Probleme treten immer dann auf, wenn der Typ geändert werden soll.

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 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Auswahl eines Arrays anhand des Wertes eines zweiten Arrays treffen alan 2 4.594 19.02.2015 16:12
Letzter Beitrag: alan
Bug Arrays... immer wieder Arrays nurso 6 7.512 15.08.2014 10:39
Letzter Beitrag: Lucki
  Performance-Frage: Große Arrays in Cluster-Schieberegister Matze 20 20.724 14.12.2010 13:37
Letzter Beitrag: rasta
  Frage zu Arrays und lokalen Variabeln bluesaturn 11 11.117 08.03.2010 16:07
Letzter Beitrag: unicorn
  Array of Cluster(Arrays) nach Cluster(Concatenate Arrays) rasta 7 9.784 18.12.2008 12:33
Letzter Beitrag: rasta
  Frage zur subtraktion von Arrays Benjamin84 4 5.704 09.07.2008 18:16
Letzter Beitrag: Benjamin84

Gehe zu: