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 

Lesen/Schreiben (DAQmax)



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!

19.02.2014, 16:34
Beitrag #1

Zhara Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: May 2013

2010
2012
DE_EN



Lesen/Schreiben (DAQmax)
Hallo,
ich versuche Daten so schnell wie möglich zu schreiben/lesen. Das ganze passiert innerhalb einer Schleife, deren Ausführungszeit ich so gering wie möglich zu halten versuche. Ziel soll hierbei 1-2 ms sein.
Nun bricht leider die Ausführung mit einem Fehler ab der sagt das die zu Lesen versuchten Samples nicht mehr da sind und überschrieben wurden. Ich habe nun verschiedenste Kombination aus Samplerate/#samples/Samplefrequenz durchprobiert...
Ich häng das Programm mal an vllt wird es dadruch deutlicher. Ich hoffe ihr könnt mir hierbei helfen.


Angehängte Datei(en)
10.0 .vi  SchreibenLesenTest.vi (Größe: 32,25 KB / Downloads: 252)

10.0 .vi  TaskLesen.vi (Größe: 17,38 KB / Downloads: 218)

10.0 .vi  Taskschreiben.vi (Größe: 18,18 KB / Downloads: 233)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.02.2014, 17:09 (Dieser Beitrag wurde zuletzt bearbeitet: 19.02.2014 17:09 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Lesen/Schreiben (DAQmax)
Hallo Zhara,

dein DAQmxRead benötigt 125/125k = 1ms zum Lesen der Daten. Dein DAQmxRead sollte ebenso 1ms benötigen, da die gleichen Samplerate-Parameter eingestellt sind.

Zitat:Nun bricht leider die Ausführung mit einem Fehler ab der sagt das die zu Lesen versuchten Samples nicht mehr da sind und überschrieben wurden.
Dann wurde nicht schnell genug gelesen…

- Leider sind beide Tasks in einer Schleife. Was passiert, wenn du sie in parallele Schleifen verteilst und damit entkoppelst?
- Unterstützt deine Hardware solche Sampleraten?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.02.2014, 11:03
Beitrag #3

Zhara Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: May 2013

2010
2012
DE_EN



RE: Lesen/Schreiben (DAQmax)
Entschuldigung für die späte Antwort,
ja die Hardware unterstützt diese Sampleraten. NI 9263 zum Schreiben und NI 9215 zum Lesen.
Wenn ich zwei getrennte Schleifen erstelle bekomme ich eine Fehlermeldung das der Task invalid ist oder nicht existiert.


Angehängte Datei(en)
10.0 .vi  SchreibenLesenTest2Schleifen.vi (Größe: 32,24 KB / Downloads: 198)

10.0 .vi  Taskschreiben.vi (Größe: 18,95 KB / Downloads: 216)

10.0 .vi  TaskLesen.vi (Größe: 17,38 KB / Downloads: 166)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.02.2014, 11:10
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Lesen/Schreiben (DAQmax)
Hallo Zhara,

Zitat:Wenn ich zwei getrennte Schleifen erstelle bekomme ich eine Fehlermeldung das der Task invalid ist oder nicht existiert.
Welcher Task? An welcher Stelle?

Wenn du in deiner AO-Schleife nur einen Kanal benutzt, warum verwendest du dann "NChan NSamp" bei DAQmxWrite?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.02.2014, 11:56
Beitrag #5

Zhara Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: May 2013

2010
2012
DE_EN



RE: Lesen/Schreiben (DAQmax)
Der Fehler tritt bei der AO-Schleife auf, aber scheinbar erst beim zweiten Druchlauf. Der Erste endet mit OK (Sagt die Highlightfunktion).
Vielleicht hängt es damit zusammen, dass die AI Schleife immer mit Fehler 200279 endet...aber ist ist egal was ich bei Samples/Samplerate einstelle, der Fehler bleibt.

Hab nun auch auf einen Kanal geändert, das war noch ein Überbleibsel danke.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.02.2014, 12:17
Beitrag #6

Zhara Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: May 2013

2010
2012
DE_EN



RE: Lesen/Schreiben (DAQmax)
Was ich auch gerade bemerkt habe, beim ersten Programm mit einer Schleife: Wenn ich 1000 Samples zum Lesen einstellen läuft das Programm erstmal (zu langsam logischerweise), aber wenn ich mir den Ablauf per Highlightfunktion angucke erscheint beim Lesen (DAQmx read) der Fehler 200279...sehr seltsam.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.02.2014, 15:16
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Lesen/Schreiben (DAQmax)
Hallo Zhara,

beim Highlight-Debugging stimmt das komplette Timing des VIs nicht mehr - und das kann dann schon mal zu DAQmx-Fehlern führen!

Also besser mit Sonden arbeiten und auf das Highlighting verzichten…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.02.2014, 15:51
Beitrag #8

Zhara Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: May 2013

2010
2012
DE_EN



RE: Lesen/Schreiben (DAQmax)
Danke für den Tipp mit den Sonden.
Ich habe jetzt mal je ein Beispiel für AI und AO zusammen geklatscht und geguckt wie schnell man werden kann. Bei einer sample clock rate von 100kHz und um die 200 Samples (also Buffersize da Continuous) gibt es wahlweise einen der Fehler:

Error -200621 occurred
Onboard device memory underflow. Because of system and/or bus-bandwidth limitations, the driver could not write data to the device fast enough to keep up with the device output rate.

Error -200018 occurred
DAC conversion attempted before data to be converted was available.

Error -200292 occurred
Some or all of the samples to write could not be written to the buffer yet. More space will free up as samples currently in the buffer are generated.

Kann es sein das es garnicht möglich ist mit Lesen/Schreiben auf eine Schleifenzeit ~1ms zu kommen?

Ab einer sample clock rate über 100kHz gibt es eine Warnung, obwohl wie Hardware potent genug wäre (NI 9263).
Warning 200040 occurred
Sample clock rate specified is so high that it violates the settling time requirements for the generation.


Angehängte Datei(en)
10.0 .vi  SchreibenLesenNIExamples.vi (Größe: 41,12 KB / Downloads: 186)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.02.2014, 17:28 (Dieser Beitrag wurde zuletzt bearbeitet: 25.02.2014 17:29 von GerdW.)
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Lesen/Schreiben (DAQmax)
Hallo Zhara,

Zitat:Bei einer sample clock rate von 100kHz und um die 200 Samples
Das entspricht einer Zeit von 200/100kHz = 2ms.

Zitat:Error -200621 occurred Onboard device memory underflow
Error -200018 occurred DAC conversion attempted before data to be converted was available
Würde ich dann deuten als: du hast nicht schnell genug neue Daten nachgeliefert…

Zitat:Error -200292 occurred
Kann ich jetzt nicht deuten, habe hier kein DAQmx installiert…

Zitat:Ab einer sample clock rate über 100kHz gibt es eine Warnung, obwohl wie Hardware potent genug wäre (NI 9263).
Warning 200040 occurred Sample clock rate specified is so high that it violates the settling time requirements for the generation.
Erstens ist das eine Warnung und kein Fehler und zweitens ist die Warnung berechtigt: SampleRate und SettlingTime sind zwei verschiedene Dinge, die sich aber gegenseitig beeinflussen. Bitte das Manual aufmerksam dazu durchlesen!

Zitat:Kann es sein das es garnicht möglich ist mit Lesen/Schreiben auf eine Schleifenzeit ~1ms zu kommen?
Auf einem Windows-System ist das zumindest unwahrscheinlich. Selbst wenn meistens gut gehen sollte, wird dir Windows immer wieder dazwischenfunken und dein Timing empfindlich stören (Stichwort: Multitasking). Und mit ~200 Samples pro Iteration bei 100kHz Samplerate schon gar nicht!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.02.2014, 17:37
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Lesen/Schreiben (DAQmax)
(25.02.2014 11:03 )Zhara schrieb:  Entschuldigung für die späte Antwort,
ja die Hardware unterstützt diese Sampleraten. NI 9263 zum Schreiben und NI 9215 zum Lesen.
Der Vollständigkeit halber? In welchem Chassis sind die Module verbaut?

Gruß, Jens

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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  DAQmx schreiben und lesen Sakis 2 4.738 06.09.2018 09:36
Letzter Beitrag: Sakis
  lesen und schreiben am selben Gerät mit kritischem timing gottfried 4 4.346 12.12.2017 21:14
Letzter Beitrag: gottfried
  line schreiben und nacher lesen ... wie geht das? gottfried 6 5.221 27.08.2014 16:28
Letzter Beitrag: jg
  Fehler -200429 beim schreiben / lesen M@rRy 12 10.727 08.09.2011 09:59
Letzter Beitrag: GerdW
  Werte schreiben und gleichzeitig lesen Leo1 5 6.708 27.03.2011 15:35
Letzter Beitrag: jg
  Daten schreiben + lesen (inkl. Auswertung) Leo1 1 4.251 26.02.2011 21:22
Letzter Beitrag: Richard

Gehe zu: