16.09.2011, 15:34
(Dieser Beitrag wurde zuletzt bearbeitet: 16.09.2011 15:34 von GerdW.)
Beitrag #2
|
GerdW
______________
Beiträge: 17.467
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...
|
|
|
19.09.2011, 07:05
Beitrag #3
|
beginner85
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?
|
|
|
19.09.2011, 07:46
Beitrag #4
|
M Nussbaumer
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
|
|
|
19.09.2011, 08:01
Beitrag #5
|
|
|
19.09.2011, 08:20
(Dieser Beitrag wurde zuletzt bearbeitet: 19.09.2011 08:21 von M Nussbaumer.)
Beitrag #6
|
M Nussbaumer
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?
Hoffe das hilft dir weiter
Gruss Marc
|
|
|
19.09.2011, 08:23
Beitrag #7
|
GerdW
______________
Beiträge: 17.467
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?
|
|
|
19.09.2011, 08:37
(Dieser Beitrag wurde zuletzt bearbeitet: 19.09.2011 08:38 von beginner85.)
Beitrag #8
|
beginner85
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?
|
|
|
19.09.2011, 09:50
Beitrag #9
|
|
|
| |