LabVIEWForum.de
Schrittmotoransteuerung mit Hilfe von CSV.Datei - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+----- Forum: Excel (/Forum-Excel)
+----- Thema: Schrittmotoransteuerung mit Hilfe von CSV.Datei (/Thread-Schrittmotoransteuerung-mit-Hilfe-von-CSV-Datei)

Seiten: 1 2 3


RE: Schrittmotoransteuerung mit Hilfe von CSV.Datei - olsenb - 10.03.2014 16:05

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]


RE: Schrittmotoransteuerung mit Hilfe von CSV.Datei - GerdW - 10.03.2014 16:14

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…


RE: Schrittmotoransteuerung mit Hilfe von CSV.Datei - olsenb - 13.03.2014 10:38

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]


RE: Schrittmotoransteuerung mit Hilfe von CSV.Datei - GerdW - 13.03.2014 10:56

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


RE: Schrittmotoransteuerung mit Hilfe von CSV.Datei - olsenb - 13.03.2014 11:27

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


RE: Schrittmotoransteuerung mit Hilfe von CSV.Datei - GerdW - 13.03.2014 11:31

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…


RE: Schrittmotoransteuerung mit Hilfe von CSV.Datei - olsenb - 13.03.2014 14:13

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


RE: Schrittmotoransteuerung mit Hilfe von CSV.Datei - GerdW - 13.03.2014 17:20

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


RE: Schrittmotoransteuerung mit Hilfe von CSV.Datei - jg - 13.03.2014 17:35

Oder man nimmt die Empty-String-Konstante:
[attachment=48950]
Gruß, Jens


RE: Schrittmotoransteuerung mit Hilfe von CSV.Datei - olsenb - 14.03.2014 09:12

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