LabVIEWForum.de
Problem: 2D-Array mit Schieberegister - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Problem: 2D-Array mit Schieberegister (/Thread-Problem-2D-Array-mit-Schieberegister)

Seiten: 1 2


Problem: 2D-Array mit Schieberegister - Only08 - 27.06.2008 14:03

Hallo,

ich brauche eine Schieberegister in dem ich ein 2D-Array aktuallisiere, durchsuche und Werte einfüge. Problem dabei ist, dass ich es mit einer Konstante initialisiert zum Laufen bekomme, aber natürlich das erhaltene Array immer aus dieser besteht. Allerdings, wenn man die Konstante entfernt, wird ein 1D-Array erwartet und alle spezifischen Funktionen funzen nicht mehr!!!
Anbei mal ein einfaches Beispiel was ich machen will. Wird die Konstante entfernt, funktionieren Teilarray und alle andere Funktionen die sich an die Dimension anpassen nicht mehr.
Meine Frage ist, wie ich das umgehen kann, ohne eine Konstante zu benutzen, und trotzdem mit dem 2D-Array arbeiten kann?


Problem: 2D-Array mit Schieberegister - Achim - 27.06.2008 14:30

Häh?


Problem: 2D-Array mit Schieberegister - Only08 - 27.06.2008 14:41

Na ich verwalte ein 2D-Array, dass ich über ein Schieberegister immer aktualisieren möchte. Funktionen wie Teilarray passen sich ja die eingehende Dimension an. Das brauche ich weil ich eine Suche in einer bestimmten Spaklte durchführen muss bevor ich was einfüge. Doch wenn ich die Konstante am Anfang des Registers wegnehme, damit es nicht immer leer beginnt, vermutet das Programm ein 1D-Array was dann zu folgendem Fehler führt.


Problem: 2D-Array mit Schieberegister - IchSelbst - 27.06.2008 14:46

' schrieb:Na ich verwalte ein 2D-Array, dass ich über ein Schieberegister immer aktualisieren möchte.
Das Schieberegister (respektive der Inhalt, egal welchen Typs) muss aber mindestens einmal initialisiert werden, damit bei der ersten Verwendung des Schieberegisters bereits gültige Daten drinnen stehen. Wie willst du das realisieren?


Problem: 2D-Array mit Schieberegister - eg - 27.06.2008 14:49

' schrieb:Das Schieberegister (respektive der Inhalt, egal welchen Typs) muss aber mindestens einmal initialisiert werden, damit bei der ersten Verwendung des Schieberegisters bereits gültige Daten drinnen stehen. Wie willst du das realisieren?


Genau, oder man könnte mit Build Array neue Elemente auch innrhalb der Schleife hinzufügen. Replace Subset wird nicht funktionieren.


Problem: 2D-Array mit Schieberegister - Only08 - 27.06.2008 15:00

Klingt schon logisch, aber warum funktioniert dann das, auf dem Bild gezeigte......
Hier wird auch nichts initialisiert, und bis auf die Dimension ändert sich dabei doch auch nicht so viel.
Jede Eingabe wird immer einfach angehangen und das Array wächst.


Problem: 2D-Array mit Schieberegister - IchSelbst - 27.06.2008 15:12

' schrieb:aber warum funktioniert dann das, auf dem Bild gezeigte......
Weil die Array-Elemente INTUITIV 1D-förmig sind. Ohne was zu tun, kommt also ein 1D raus. Dadurch wird der Typ des Schieberegisters definiert. Das Intuitive ist ja der Vorteil von LV - was hier zu beachten ist.

Zitat:Hier wird auch nichts initialisiert,
Was prinzipiell falsch ist.


Problem: 2D-Array mit Schieberegister - Only08 - 30.06.2008 09:22

Danke für die Aufklärung, jetzt versteh ich das etwas besser. Allerdings beantwortet das nciht meine Frage, wie ich vorgehen müsste, wenn ich ein 2D-Array in einem solchen Schieberegister verwenden möchte. Bitte helft mir, ich muss schon bald eine erste Version präsentieren und würde dieses Feature einfach bis dahin sehr gerne drin haben.
Danke


Problem: 2D-Array mit Schieberegister - IchSelbst - 30.06.2008 09:49

' schrieb:Allerdings beantwortet das nciht meine Frage, wie ich vorgehen müsste, wenn ich ein 2D-Array in einem solchen Schieberegister verwenden möchte.
Bist du dir der Tatsache bewusst, dass der Inhalt des Schieberegisters einmalig mit einem gültigen Wert belegt werden muss? Irgendwann fängt auch eine kontinuierliche Datenhaltung an. Und genau zu diesem Beginn ist der Inhalt des Schieberegisters ansich ungültig. Du musst also einmalig "gültige Daten" reinschreiben, und sei es über eine "leere 2D-Konstante". (Dass bei Programmstart eine automatische Vorbesetzung gemacht wird, steht auf einem anderen Blatt).

Es gibt ein LV-Element, das bei erstmaligem Aufruf einen TRUE liefert und sonst FASLE. Verwende dieses Element als Eingang auf eine Case-Sequenz. Die Case-Sequenz bindest du in den Datenfluß des 2D-Array innerhalb der While-Schleife ein. Im TRUE-Case gibt du die 2D-Konstante auf den Sequenz-Ausgang. Im FALSE-Case leitest du den 2D-Datenfluß nur durch.


Problem: 2D-Array mit Schieberegister - Only08 - 30.06.2008 11:29

Ist mir klar, nur hats halt den angesprochenen Fehler gebracht. Dieses Element kenn ich nicht. Ich suche es schon, aber gefunden habe ich es noch nicht. Sicher, dass es ein solches Element auch schon in LabVIEW 7.0 gab? Genau so ein Element benötige ich, das ist mir klar, aber wie heisst es denn?