INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Problem mit Timing bei Datenerfassung



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!

04.09.2009, 17:03 (Dieser Beitrag wurde zuletzt bearbeitet: 04.09.2009 17:04 von Steeni.)
Beitrag #1

Steeni Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jun 2009

8.6
2006
de

97072
Deutschland
Problem mit Timing bei Datenerfassung
Hallo zusammen,

ich benötige etwas Hilfe bei der Zeitsteuerung von zwei Prozessen.

Und zwar habe ich eine Datenerfassung (NI-6009), die mir die Werte von einer Fotodiode ausliest und gleichzeitig
eine Linearachse, die mir eine Probe vor dieser Fotodiode in Ausbreitungsrichtung eines Laserstrahls hin und herfährt.

Das Problem ist, dass die Messwerte der Fotodiode der jeweiligen Achsenposition zugeordnet werden müssen. Leider bekomme ich
von der Achse aber nur ein Positionsfeedback, wenn sie ein "Go"-Kommando abgeschlossen hat.

Bisher bin ich also in möglichst kleinen Schritten gefahren, hab die Diode ausgelesen und dementsprechend meine Werte direkt mit dem
Feedback der Achse verknüpfen können. Leider ist das Ganze relativ langsam, weil die Kommunikation mit der Achse über RS232 läuft und nur ca alle 20 ms
ein Feedback kommen kann. Dadurch kann ich die volle Achsengeschwindigkeit nicht nutzen und eine Messung dauert ziemlich lang.

Meine Idee ist nun, die Kommandos zur Messwertaufnahme und zum Starten der Bewegung gleichzeitig zu geben, wobei die Achse die
volle Wegstrecke mit Maximalgeschwindigkeit zurücklegen soll (zwischendrin kein Feedback) und währenddessen die Fotodiode ausgelesen
wird. Der Auslesevorgang soll gestoppt werden, sobald die Achse am Ende ist und das Feedback (automatisch) gibt.

Wichtig dabei ist natürlich die Synchronisation zwischen:

a) Starten der Achse und Beginn der Messwertaufnahme und
b) Ausgabe des Feedbacks ("ich bin am Ende angekommen") und Beendigung der Messwertaufnahme.

Anschließend ordne ich einfach die Messwerte der entsprechenden Position - unter Annahme einer konstanten Geschwindigkeit zu.

ABER: Ich krieg es bisher einfach nicht hin.

Ich hab versucht zwei zeitgesteuerte Strukturen - genauer eine Schleife und eine Sequenz zu synchronisieren. In der Schleife
läuft dann die Messwerterfassung und in der Sequenz erfolgt das Start-Kommando für die Achse. Sobald die Achse fertig ist mit bewegen, kommt das Feedback und wird als "Position" in eine lokale Variable geschrieben. Die Schleife mit der Messwerterfassung soll stoppen, sobald der Wert der
lokalen Vaiablen dem Stop-Wert entspricht.

Soweit die Idee. Im angehängten Minimalbeispiel funktioniert das auch ganz gut. Vielleicht kann mal jemand drüberschauen und
mir ein kurzes Feedback dazu geben. Ist die Herangehensweise ok?

Ein Problem tritt jetzt auf, wenn ich die Achse mermals hin- und herbewege. Schließlich sollen auch auf dem Rückweg Messwerte erfasst werden.
Ich mach das ganze einfach mit einer kleinen For-Schleife und einer If-Abfrage. Hier bekomme ich allerdings "error 200429" von
NI DAQmx. Ich verstehe nicht warum. Der Fehler tritt manchmal auf, manchmal aber auch nicht.

DANKE für eure Hilfe!


Angehängte Datei(en)
Sonstige .vi  Rapid_Scan_minimal_8.6.vi (Größe: 46,03 KB / Downloads: 206)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Nachrichten in diesem Thema
Problem mit Timing bei Datenerfassung - Steeni - 04.09.2009 17:03

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Timing von DAQ mit Dynamischer Event-Struktur lempy 5 3.773 27.07.2021 09:18
Letzter Beitrag: jg
  Timing Fehler von USB 6001 bachatero18 2 2.726 25.08.2020 19:39
Letzter Beitrag: bachatero18
  Unterschiedliche timing-anforderungen vereinigen serge_franke 16 9.276 26.03.2018 12:49
Letzter Beitrag: serge_franke
  Timing Problem ... ich gehe im Kreis gottfried 2 3.282 21.02.2018 14:23
Letzter Beitrag: gottfried
  Digital out timing des DAQmx USB-6003 ALuehmann 5 5.431 02.12.2016 15:50
Letzter Beitrag: GerdW
  Datenerfassung cDAQ + NI9203 keine synchrone Datenerfassung dieseldunst 5 5.971 24.06.2016 14:49
Letzter Beitrag: jg

Gehe zu: