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 

Arrayinhalt speichern ?



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!

12.09.2011, 19:13
Beitrag #1

gerln Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Jul 2011

10
2010
DE


Deutschland
Arrayinhalt speichern ?
Hallo LabView-Gemeinde,

das in der angehängten Grafik gezeigte Sub_Auswahl.vi beinhaltet die Funktion FKT ZEICH (wiederum Sub), welche ein 2-dimensionales Array ausspuckt.

Sub_Auswahl wird in einer FOR-Schleife aufgerufen.

Die Funktion FKT ZEICH soll nur beim ersten Schleifendurchlauf ausgeführt werden, jedoch das erstellte Array möchte ich in den nächsten Schleifendurchläufen indizieren und auslesen.

Ich hab irgendwie keinerlei Idee, wie ich das Array gespeichert kriege.

Vielleicht hat ja jemand einen kleinen Denkanstoß für mich.

Vielen Dank im Vorraus

Mfg


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

Mingo Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 95
Registriert seit: Mar 2011

8.5, 2009,2010
2008
DE


Deutschland
RE: Arrayinhalt speichern ?
Das einfachste, ohne große Änderungen vorzunehmen, wäre eine Case-Struktur um "FKT ZEICH" und Auswerten ob "Schleifen Durchläufe" > 0. Damit würde "FKT ZEICH" nur bei der ersten Iteration
ausgeführt werden. Ist aber schlechter Stil.
Ich denke am besten "FKT ZEICH" außerhalb einer Schleife platzieren und das erzeugte Array in einer folgenden For-Schleife zu indizieren. Vielleicht hilft das zur Verständigung.
Wäre dann auch übersichtlicher.

Trust me, I'm a LVFer.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.09.2011, 21:37
Beitrag #3

gerln Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Jul 2011

10
2010
DE


Deutschland
RE: Arrayinhalt speichern ?
"Case-Struktur um "FKT ZEICH" und Auswerten ob "Schleifen Durchläufe" > 0"

Da würde doch die Funktion immer aufgerufen, außer im ersten Schleifendurchlauf, oder ? Denknach
Ich habs schon probiert mit CASE und Schleifen Durchläufe= 0, aber da habe ich halt keine Ahnung wie ich die Daten des Arrays für die nächsten Durchläufe speichern kann.

"Ich denke am besten "FKT ZEICH" außerhalb einer Schleife platzieren und das erzeugte Array in einer folgenden For-Schleife zu indizieren."

Da steh ich etwas auf dem Schlauch.
Außerhalb der FOR-Schleife ist schlecht möglich, da ich meine Programmstruktur da ziemlich viel umbauen müßte.
Und ich möchte halt versuchen alles so gut wie es geht strukturiert und übersichtlich zu gestalten.
Es wär halt gut, wenn alles in dem CASE in dem sich FKT ZEICH befindet abgearbeitet werden könnte.


Mfg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.09.2011, 10:00 (Dieser Beitrag wurde zuletzt bearbeitet: 13.09.2011 10:02 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Arrayinhalt speichern ?
Halo gerln,

Zitat:Ich habs schon probiert mit CASE und Schleifen Durchläufe= 0, aber da habe ich halt keine Ahnung wie ich die Daten des Arrays für die nächsten Durchläufe speichern kann.
Wenn du auf ">0" testest, gehört die Funktion in den FALSE-Case, bei einem Vergleich auf "=0" in den TRUE-Case...
Daten speichern kann man in FeedbackNodes oder Schieberegistern.

Zitat:Außerhalb der FOR-Schleife ist schlecht möglich, da ich meine Programmstruktur da ziemlich viel umbauen müßte.
In deinem Bild ist keine zu sehen, wir können deine Aussage also nur schlecht beurteilen.

Zitat:Und ich möchte halt versuchen alles so gut wie es geht strukturiert und übersichtlich zu gestalten.
Aha. Und übersichtlich wird es, wenn man subVIs mit 8 einzelnen Eingabeparametern aufruft und diese auch noch von rechts ans Icon anschließt? Schon mal den Term "Cluster" gehört?

Zitat:Es wär halt gut, wenn alles in dem CASE in dem sich FKT ZEICH befindet abgearbeitet werden könnte.
Case-Struktur & Feedback-Node.

Deine Funktion zum Auswerten der Bedienbuttons (1. bis 4.) ist recht "kreativ" - ich hoffe, du drückst niemals zwei Tasten gleichzeitig...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.09.2011, 19:07 (Dieser Beitrag wurde zuletzt bearbeitet: 13.09.2011 20:05 von gerln.)
Beitrag #5

gerln Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Jul 2011

10
2010
DE


Deutschland
RE: Arrayinhalt speichern ?
Hallo,

Zitat:Ich habs schon probiert mit CASE und Schleifen Durchläufe= 0, aber da habe ich halt keine Ahnung wie ich die Daten des Arrays für die nächsten Durchläufe speichern kann.
Wenn du auf ">0" testest, gehört die Funktion in den FALSE-Case, bei einem Vergleich auf "=0" in den TRUE-Case...
Daten speichern kann man in FeedbackNodes oder Schieberegistern.

Mit den CASES ist mir schon geläufig, meine CASE-Versuche haben mich aber nicht weitergebracht, da ich ja (egal, ob =0 oder >0) in dem Fall, in dem die Funktion nicht aufgerufen wird, nicht auf das erstellte Array zugreifen konnte. Was ja mein eigentliches Problem ist..

Zitat:Außerhalb der FOR-Schleife ist schlecht möglich, da ich meine Programmstruktur da ziemlich viel umbauen müßte.
In deinem Bild ist keine zu sehen, wir können deine Aussage also nur schlecht beurteilen.

Hab mich vielleicht etwas schlecht ausgedrückt. Mit meinen sehr einfachen LabView Kenntnissen, bin ich halt froh das mein Programm überhaupt bis jetzt soweit läuft. Da wäre halt jeder Umbau wieder eine Fehlerquelle, die mich unter Umständen zu Verzweifelung bringen könnte.

Zitat:Und ich möchte halt versuchen alles so gut wie es geht strukturiert und übersichtlich zu gestalten.
Aha.
Und übersichtlich wird es, wenn man subVIs mit 8 einzelnen Eingabeparametern aufruft und diese auch noch von rechts ans Icon anschließt? Schon mal den Term "Cluster" gehört?

Cluster ist mir nur ein Begriff im Zusammenhang mit mehreren Graphen in einer XY-Anzeige.
Also könnte man alle Eingabeelemente zusammenfassen->ein Kabel rein ins Sub und dann irgendwie im Sub wieder zerlegen? Hmm..müßte ich ma versuchen.
Links hab ich leider keine Anschlüsse mehr ranbekommen .. deshalb rechts..

Zitat:Es wär halt gut, wenn alles in dem CASE in dem sich FKT ZEICH befindet abgearbeitet werden könnte.
Case-Struktur & Feedback-Node.

Da hab ich doch schonmal einen Ansatzpunkt nach dem ich suchen kann..

Zitat:Deine Funktion zum Auswerten der Bedienbuttons (1. bis 4.) ist recht "kreativ" - ich hoffe, du drückst niemals zwei Tasten gleichzeitig...

Ist nicht möglich. Die Buttons werden per Checkbox "freigeschaltet".

Trotz Kritiken -- Danke für die Denkanstösse -- Man kann nur dazulernen

Mfg

FeedbackNodes --> I Like it...


Ich hab bis jetzt nur Schieberegister gekannt. Aber die konnte ich ja schlecht an die CASE-Struktur anschließen..

Danke..


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

Mingo Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 95
Registriert seit: Mar 2011

8.5, 2009,2010
2008
DE


Deutschland
RE: Arrayinhalt speichern ?
Du solltest für das Array einen weiteren Ein- und Ausgang erstellen. Den Ein- und Ausgang legst du dann an die While-Schleife deines MainVi und erstellst ein Schieberegister. Damit wird die
Übersichtlichkeit deiner gesamten Applikation verbessert. Die Verwendung von Feedback-Nodes solltest du versuchen zu umgehen. Es erscheint dir vielleicht jetzt sinnvoll diese
zu verwenden aber in ein paar Wochen, wenn du vielleicht die Funktionalität erweitern willst, werden diese dich nur verwirren.

Trust me, I'm a LVFer.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: