Hallo GerdW,
sorry, war nicht deutlich ausgedrückt...

Dein Bild hat mir schon gut weitergeholfen
Der Header ist nur für die Wahl der Messung mit x-beliebigen Messwerten. Die Zeile mit der 2 bzw. 4 steht für die ID des Servomotors, die muss ich zusammen mit dem Winkel übertragen.
Ich brauche also für
eine Messung aus der Tabelle:
die ID und den dazugehörigen Winkel für den ersten Servo
die ID und den dazugehörigen Winkel für den zweiten Servo
Die Winkel für ein Device stehen in der Tabelle untereinander.
Wenn die beiden Winkel übertragen wurden und erfolgreich gemessen wurde, nächste Winkelwerte. Das dann so lange bis alle Messpunkte (Winkelwerte) übertragen wurden. Ich hab mir gedacht, diesen Wert (z.B.107) geb ich dann auf den N-Anschluss der Loop... ?
[
attachment=48890]
Hallo olsen,
Zitat:Das dann so lange bis alle Messpunkte (Winkelwerte) übertragen wurden. Ich hab mir gedacht, diesen Wert (z.B.107) geb ich dann auf den N-Anschluss der Loop... ?
Jein. Du nutzt die
AUTOINDIZIERUNG, dann brauchst du eigentlich keinen Wert am "N"-Anschluß!
In deinem speziellen Fall ist dieser Wert noch nötig für zwei Dinge:
- wenn du weniger als die wirklich vorhandenen Messwerte abarbeiten willst
- du liest deine Tabelle als String ein, was dazu führt, dass auch leere Felder im Stringarray sein können. Die musst du noch abfangen…
Neues Bild:
[
attachment=48891]
- Dinge, die sich in einer Schleife nicht ändern, kann man auch außerhalb der Schleife erledigen (hier z.B. das Auswerten der Motor-ID)
- Du willst Spalten haben, dann solltest du diese auch indizieren
- Ich habe jetzt schon mal die Header ausgewertet und abgeschnitten: Zeile 1 enthält die ID, ab Zeile 2 stehen die Winkelwerte…
Hallo,
so jetzt funktionert es soweit schon ganz gut. Danke für die Hilfe.
Ich hab da noch eine Frage: Ich möchte, dass die Werte, wenn ich die erste Messung (107) auswähle, auch genau nur die Anzahl der eingetragenen Werte ermittelt werden und dann an die Loop gegeben werden.
In der csv sind jetzt drei Messungen mit unterschiedlicher Anzahl an Winkelwerten. Wenn ichs über Array-Größe mache, schmeißt er mir ja immer den Wert der längsten aus...
[
attachment=48942]
Hallo olsen,
Zitat:Wenn ichs über Array-Größe mache, schmeißt er mir ja immer den Wert der längsten aus...
Tja, was macht man dann wohl?
Vielleicht sucht man dann einfach nach "leeren" Array-Elementen und schließt diese dann von der Weiterverarbeitung aus?
So vielleicht:
[
attachment=48943]
Du brauchst noch eine Lösung für den Fall, das kein leeres Element im Array gefunden wird…
Merke: Array-Indizes zählen bei IndexArray automatisch hoch, da muss man nicht per "+1" nachhelfen…
Merke: LabVIEW ist eine Programmiersprache, da kann man eventuellen Problemen mit einer (selbst programmierten) Lösung entgegentreten…

Oh mann, das macht natürlich Sinn...
Aber das Element für die Durchsuchung des 1D-Arrays kann ich in deinem Bild nicht deuten...Wäre das nicht ein leerer String?
Hatte ich in meinem letzten Post vergessen:
Get_Arrays_of_degrees.zip bezieht sich auf LV 2013
Hallo GerdW,
sorry, ja bei mir wirds nur anders (mit " ") dargestellt, deswegen war ich irritiert...
Jetzt geht es noch darum, das die ersten beiden Winkelwerte übertragen werden -> danach Messung durchführen -> Messung erfolgreich beendet (simuliert durch einen Schalter) -> nächste Winkelwerte...
Kann man der FOR irgendwie sagen, warte so lange bis Schalter (Messung erfolgreich beendet) gedrückt wird?
MfG
olsen
Hallo olsen,
Zitat:nur anders (mit " ") dargestellt
Mit Anführungszeichen und Leerzeichen dazwischen ist es aber kein leerer String mehr…
Zitat:Kann man der FOR irgendwie sagen, warte so lange bis Schalter (Messung erfolgreich beendet) gedrückt wird?
Pseudocode:
Code:
FOR i= 0 to N-1
do something important
repeat
wait(50ms)
until button pressed
NEXT
Problemanalyse und Umsetzung in einfache Programmstrukturen ist nicht so deins, oder?

Hallo,
Zitat:Problemanalyse und Umsetzung in einfache Programmstrukturen ist nicht so deins, oder?
nicht wirklich...
Zitat:Oder man nimmt die Empty-String-Konstante:
genau die habe ich auch genommen
MfG
olsenb