ich dachte ich hätte das mit den arrays verstanden,... scheint allerdings nicht so zu sein!
ich möchte in meinen Programm den kostanten wert 10 in ein array schreiben. der wert steht allerdings immer nur kurz drin und bleibt nicht gespeichert. (siehe VI)
ich hoffe ihr helft mir weiter um meine probleme mit diesen arrays zu lösen!
Hallo stone,
falls ich dich richtig verstanden habe sollte Dir die kleine Änderung in dem VI weiterhelfen!
Hier ein paar Tipps die mir bei einem LabVIEW-Infotag vor kurzem von einem wirklich sehr fähigen NI-Experten vermittelt wurden:
Möglichst selten/nie "Lokale Variablen" benutzen und auch den Wert der Variable über den Eigenschaftsknoten verändern möglichst vermeiden. Laut NI gibt es nur sehr wenige Situationen bei denen man wirklich eine "Lokale Variable" einsetzen muss (z.B. wenn der Wert eines Bedienelmentes programmatisch verändert werden soll). Ansonsten am Besten alles mögliche direkt mit Linien verbinden, Schieberegister benutzen, und "Funktionale Globale Variablen" programmieren.
Grüße,
Marko
ich werde mir deine ratschläge beachten!
Bitte lade das geänderte VI für LabVie 7.0 nochmals hinauf. Kann deine Version 7.1 nicht öffen! Danke!
Ich konnte das VI leider nicht in Version 7.0 abspeichern da Du anscheinend ein Toolkit benutzt hast welches ich nicht besitze. Deshalb gibt's hier ein Screenshot mit der Änderung (nur Schieberegister hinzufügen).
Gruß,
Marko
damit hast du mir zwar weitergholfen, funktioniert aber trotdem nicht ganz wie ich mir das vorgestellt habe.
das "problem" mit dem shift-register ist, dass es bei jedem schleifendurchlauf den array-index erhöht. (wenn ich das richtig verstanden habe?!).
wenn ich nun z.b. nur 500 elemente in das array schreibe möchte, die schleife aber öfter abgearbeitet wird, stehen schon in den nächsten 1000 elementen ein wert.
gibt es eine möglichkeit dies zu verhindern?
vielleicht habe ich das mit dem shift-register nicht richtig verstanden.
ich stelle dir das geänderte vi ins netz. da es nur zum herumprobieren war ist es nicht gerade übersichtlich!!! ich hoffe du verstehst trotzdem was ich meine.
Das Shift-Register erhöht nicht den Array-Index, sondern die Variable "Zähler". Das Register dient nur als Zwischenspeicher. Mit der Funktion "Array initialisieren" wird die Größe des Arrays bestimmt. Also ich verstehe nicht so ganz wo das Problem liegt.
Gruß,
Marko