LabVIEWForum.de - Schrittmotoransteuerung mit Hilfe von CSV.Datei

LabVIEWForum.de

Normale Version: Schrittmotoransteuerung mit Hilfe von CSV.Datei
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo GerdW,

sorry, war nicht deutlich ausgedrückt... Blush
Dein Bild hat mir schon gut weitergeholfen Smile

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. Blush

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... Huh

[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… Ironie
Oh mann, das macht natürlich Sinn...Confused

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 olsen,

Zitat:Aber das Element für die Durchsuchung des 1D-Arrays kann ich in deinem Bild nicht deuten...Wäre das nicht ein leerer String?
Ja. Ist es doch auch…
Hallo GerdW,

sorry, ja bei mir wirds nur anders (mit " ") dargestellt, deswegen war ich irritiert...Blink

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? Big Grin
Oder man nimmt die Empty-String-Konstante:
[attachment=48950]
Gruß, Jens
Hallo,

Zitat:Problemanalyse und Umsetzung in einfache Programmstrukturen ist nicht so deins, oder?
nicht wirklich... Blush

Zitat:Oder man nimmt die Empty-String-Konstante:
genau die habe ich auch genommen

MfG
olsenb
Seiten: 1 2 3
Referenz-URLs