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 

Übergabe eines Array's



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.2011, 15:09
Beitrag #1

beginner85 Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Sep 2011

2010
2011
DE_EN



Übergabe eines Array's
Hallo zusammen,

ich erzeuge ein Array mit definierten Werten, die geschieht durch Einlesen einer Datei, oder durch einen definierten Algorithmus.
Lasse ich das Array durch den Algorithmus befüllen, kann ich selber bestimmen aus wieviele Zeilen das Array besteht.
Der Inhalt wird dann in einer Lokalen Variablen gespeichert.
Dieses Array wird dann in einer Registerkarte unter dem Reiter "Orginal" angezeigt.
Zusätzlich gibt es noch einen weiteren Reiter "Editieren", dabei handelt es sich aber um ein Array was ein Bedienelement ist, ich belege dieses Array jedoch durch einen Eigenschaftknoten mit den generierten Werten/ Textfile vor. Dieses Array möchte ich jederzeit editieren können.

Bei diesem VI handelt es sich um ein Sub-Vi. Je nachdem welcher Reiter aktiv ist Orginal/Editiert soll das Array eine Instanz höher weitergeben werden.

Innerhalb der while-Schleife lässt es sich auch realisieren, allerdings klappt die Übergabe (in Array Ausgabe) nicht.

Vielen Dank im Voraus


Angehängte Datei(en)
10.0 .vi  Pattern Array.vi (Größe: 81,57 KB / Downloads: 122)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.09.2011, 15:34 (Dieser Beitrag wurde zuletzt bearbeitet: 16.09.2011 15:34 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Übergabe eines Array's
Hallo beginner,

du solltest dir mal ein vernünftiges Ablaufschema, notfalls auf Papier, erstellen: Was soll wann/in welcher Reihenfolge passieren.
Wenn du das hast, programmierst du dein VI neu.
Und wenn du dabei bist, lässt du die lokalen Variablen weg! Alle!

Begründung:
Es ist einfach Blödsinn, innerhalb einer Casestruktur auf die lokale Variable "Ausgabe" zu schreiben, wenn nach Abarbeiten der Casestruktur der Indicator "Ausgabe" neue Werte per Draht bekommt. Damit wird das Schreiben in die lokale Variable hinfällig...

Und wenn du damit fertig bist, wird die "Ausgabe" auch wieder funktionieren...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2011, 07:05
Beitrag #3

beginner85 Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Sep 2011

2010
2011
DE_EN



RE: Übergabe eines Array's
Wie kann ich denn dann ein Bedienelement mit Werten vorbelegen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2011, 07:46
Beitrag #4

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: Übergabe eines Array's
(19.09.2011 07:05 )beginner85 schrieb:  Wie kann ich denn dann ein Bedienelement mit Werten vorbelegen?

Du schreibst das VI ist ein SubVI, viele Eingänge (wenn nicht sogar alle) werden doch sowieso vom aufrufenden VI übergeben/vorbelegt. Ansonsten verwende ich auch lokale Variablen um einen Wert in ein Bedienelement zu schreiben, aber auch nur dann, falls diese Ausgabe Sinn macht (etwa beim Initialisieren oder Ähnlichem).

Falls du das VI auf LabVIEW 2009 runterspeichern könntest, würde ich es mir mal ansehen.

Gruss Marc
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2011, 08:01
Beitrag #5

beginner85 Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Sep 2011

2010
2011
DE_EN



RE: Übergabe eines Array's
Hi,

habs als 2009 angehängt. Hab mittlerweile die lokalen Variablen gelöscht. Ich führe die Vorinitialisierung durch einen Eigenschaftknoten durch.
Je nachdem welcher Reiter in der Registerkarte angewählt, soll das Array an das Array was ausserhalb der Whileschleife liegt übergeben werden. Leider klappt dies nicht!!


Angehängte Datei(en)
9.0 .vi  Pattern Array.vi (Größe: 77,83 KB / Downloads: 149)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2011, 08:20 (Dieser Beitrag wurde zuletzt bearbeitet: 19.09.2011 08:21 von M Nussbaumer.)
Beitrag #6

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: Übergabe eines Array's
(19.09.2011 08:01 )beginner85 schrieb:  Je nachdem welcher Reiter in der Registerkarte angewählt, soll das Array an das Array was ausserhalb der Whileschleife liegt übergeben werden. Leider klappt dies nicht!!

Falls du damit "Editiertes Pattern 3" meinst ist klar wieso es nicht klappt. Der Schleife läuft unendlich und der Ausgang wird solange nicht beschrieben bis die Schleife beendet ist -> keine Veränderung deines Ausganges!

Falls es sich bei diesem SubVI um einen Dialog handelt, welcher der Benutzer sieht würde ich dir zu einer Eventstruktur raten anstatt deiner Boolean-Rechnung.

Sollte der User dein SubVI nicht zu Gesicht bekommen würde ich dir einen Enum empfehlen um die auszuführende Aktion zu bestimmen, erhöht die Lesbarkeit und senkt die Fehlerwahrscheindlichkeit
-> guter Deal oder? Wink

Hoffe das hilft dir weiter

Gruss Marc
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2011, 08:23
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Übergabe eines Array's
Hallo,

zusätzlich zu Marcs Ausführungen:
Das hier im Bild
   
nennt man eine RaceCondition. Was passiert wohl zuerst: das Schreiben in die PropertyNode oder das Lesen aus dem Terminal? Und ist die Reihenfolge immer die gleiche?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2011, 08:37 (Dieser Beitrag wurde zuletzt bearbeitet: 19.09.2011 08:38 von beginner85.)
Beitrag #8

beginner85 Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Sep 2011

2010
2011
DE_EN



RE: Übergabe eines Array's
Hi,

danke für die Antworten, das mit der Übergabe der Werte wenn die Schleife zuende ist, hab ich auch gerade gesehen. Der User sieht die Registerkarte, und die Button Generate, Load und Store.
Soll ich dann die komplette While-Schleife durch eine Eventstruktur ersetzen, oder nur den Part der Ausgabe?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2011, 09:50
Beitrag #9

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: Übergabe eines Array's
(19.09.2011 08:37 )beginner85 schrieb:  Hi,

danke für die Antworten, das mit der Übergabe der Werte wenn die Schleife zuende ist, hab ich auch gerade gesehen. Der User sieht die Registerkarte, und die Button Generate, Load und Store.
Soll ich dann die komplette While-Schleife durch eine Eventstruktur ersetzen, oder nur den Part der Ausgabe?

Ich würde alles durch eine Eventstruktur ersetzen, also Events für die Button-Wertveränderungen und für den Wechsel der Registerkarte. Auch würde ich einen Abbrechen/Beenden Button implementieren oder zumindest das Fensterschliess-Event unterstützen, ansonsten kannst du dein VI ja niemals beenden...

Gruss Marc
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2011, 10:11
Beitrag #10

beginner85 Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Sep 2011

2010
2011
DE_EN



RE: Übergabe eines Array's
So,

ich habe alles in eine Eventstruktur gepackt. Wenn ein Event ausgelöst wurde, dann wird die Schleife beendet und nach "außen" gegeben. Wenn ich dieses Sub-VI in mein Main-Vi packe läuft allerdings gar nix mehr.


Angehängte Datei(en)
9.0 .vi  Pattern Array.vi (Größe: 81 KB / Downloads: 125)
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
  Auf Eigenschaften eines Textrings zugreifen, der eine Array-Indexanzeige ersetzt Horst 4 3.322 08.08.2019 08:00
Letzter Beitrag: Horst
  Übergabe Anzeigeelement zwischen VIs (Referenz/globale Variable?) lipster 1 3.831 03.02.2017 14:27
Letzter Beitrag: GerdW
  Übergabe einer Referenz vom HauptVI in das SubVI alan 1 3.377 09.03.2015 16:11
Letzter Beitrag: jg
  Übergabe-Problem zweier While-Schleifen mit Queue onsight8c 1 3.387 10.10.2014 16:42
Letzter Beitrag: jg
  Werte und Größe eines 2D-Array´s ändern xrzr 7 9.357 06.07.2014 18:09
Letzter Beitrag: GerdW
  Arbeitsspeicher bei Übergabe großer Cluster ib 2 3.513 07.01.2014 13:47
Letzter Beitrag: ib

Gehe zu: