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!
ich bin Anfänger mit LabVIEW, nun muss ich aus einer Textdatei die Zahlen der Reihe nach in ein Array schreiben, dies habe ich soweit mit einem abgeänderten Beispiel vom Forum geschafft. Aber nun sollte LabVIEW dieses Array der Reihe nach durchlaufen und bei den Zahlen verschiedene Aktionen ausführen und am Ende des Arrays aus der Schleife gehen.
Ich habe es versucht zu lösen, aber irgend wie klappt dies mit der Schleife nicht.
Ach ja, in der Textdatei sind nicht immer gleich viele Zahlen.
Danke für deine Hinweise zu den Regeln, habe sie durchgelesen und werde mich nun daran halten.
Zu deinen zwei Tipps:
Ich habe nun eine for-Schleife gemacht und die Case-Strukturen in die Schleife verschoben. Aber irgendwie klappt das noch immer nicht ganz. Um von "aussen" in die Schleife zu kommen brauche ich ja ein Shift-Register, nun gibt es aber den Fehler das nichts aus dem Shift-Register rechts hinaus geht. Aber ich kann das Element auch nicht nach aussen verschieben.
Und für das AutoIndexing, habe ich gelesen braucht es ein Tunnel, welchen ich gemacht habe, versuche ich nun anstatt das Shift-Register den Tunnel als Verbindung vom Array (aussen) zum Index Array in der Schleife zu benützen, gibt es keine korrekte Verbindung. Was mache ich falsch?
also habe noch einmal ausprobiert und nachgeforscht (leider ist das meiste im Internet auf English), aber ich habe diese Seite gefunden und nun mein Programm angepasst:
prima, du hast das AutoIndexing entdeckt!(Kommst du eher von text-basiertem Programmieren?)
Ich würde jetzt noch die 3 Case-Strukturen in eine "vereinigen"... (wie ein SELECT CASE in VBA und Konsorten).
Außerdem verwendest du FloatingPoint-Zahlen für dein Array, da kann es zu Problemen mit der Case-Struktur kommen. Die Probleme rühren von dem roten Punkt her, den du dort am Selektor-Eingang siehst - hier wird die DBL-Zahl nach I32 gewandelt. Das führt dazu, das alles im Bereich "x-0.5 ... x+0.5" als "x" interpretiert wird (Rundung beim Umwandeln...)! Hier vielleicht noch mal dein Programm überdenken oder später bei unerwarteten Ergebnissen dran denken...
Ja, die grundsätzliche Richtung stimmt schon mal.
Allerdings brauchst du nur eine Case-Struktur, in die du alle Fälle reinpackst. Und vergiss nicht in der Case-Struktur den Fall "Default", in dem in deinem Bsp. nichts passiert.
Aufpassen solltest du außerdem beim Vergleich einer Float-Zahl als Anschlusselement an die Case-Struktur. Am kleine roten Punkt siehst du, dass hier eine Typ-Konversion auf ein Integer durchgeführt wird, dann die Case-Struktur verarbeitet bei Zahlen als Auswahlelement nur Integer.
Gruß, Jens
EDIT: Gerd war schneller
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
' schrieb:prima, du hast das AutoIndexing entdeckt!(Kommst du eher von text-basiertem Programmieren?)
Ja ich programmiere vor allem in C++, aber für das Studium muss ich nun LabVIEW benutzen um eine Maschine zu steuern. Die Textdatei für das LabVIEW-Programm wird von einem C++ - Programm geschrieben. Das wäre mir zu kompliziert in LabVIEW.
Vielen Dank für die Tipps mit dem Case und wegen dem Float und Integer sollte kein Problem sein, da ich in der Textdatei auch nur Integer Zahlen habe.
Werde aber versuchen, das einlesen der Zahlen noch um zuschreiben. Auf meine Textdatei spezifisch, jetzt ist es ja für eine Tabelle geschrieben.