LabVIEWForum.de - Arrayinhalt speichern ?

LabVIEWForum.de

Normale Version: Arrayinhalt speichern ?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
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.
"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
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...
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..
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.
Referenz-URLs