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 

Analoge Ausgabe - Puffer - DAQWrite



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!

10.08.2011, 09:54 (Dieser Beitrag wurde zuletzt bearbeitet: 13.08.2011 14:04 von dimitri84.)
Beitrag #1

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Analoge Ausgabe - Puffer - DAQWrite
Hallo Jungs,

ich spiel grad ein bisschen mit AO (Regeneration aus, 50er Blöcke werden pro Zyklus geschrieben) rum. Folgendes kapier ich nicht: Das DAQ-Write VI fängt erst an zu warten, wenn der Kartenpuffer von 8191 Samples voll ist - vorher hab ich 'ne ungebremste Schleife. Das blöde ist dann, wenn ich meine Amplitude ändere, habe ich 8 Sekunden (1kHz Samplingrate) Verzögerung bis die neuen Werte am AO ankommen. Ist doch ziemlich unpraktisch, oder?

Wenn ich nun mit dem Metronom entsprechend selbst für das Warten sorge (50ms), reagiert der AO wie gewünscht instantan. Aber so richtig gefällt mir das auch nicht. Der Treiber hat das zu erledigen ...

Wenn ich die Wartezeit auf ein bisschen länger stelle als "nötig", bleibt der Wert "DAQmx Eigenschaft - AktSchreibPos" brav auf Null (gut!), aber der Treiber meckert natürlich direkt, dass er zu langsam Werte bekommt ... verständlich.
(EDIT: Bleibt auf Null, weil er sich der DAQ Treiber direkt verabschiedet - also doch nicht gut.)

Wie konfiguriere ich jetzt die ganze Geschichte, dass
1) der Treiber die Schleife bremst - wie das beim AI wunderbar funktioniert
2) der PC Pufferinhalt nicht kontinuierlich wächst
3) ich eine möglichst geringe Verzögerung habe?

   


Beste Grüße

Edit:
Mir ist aufgefallen, dass der AO selbst nach Beendigung des Tasks immernoch die zuletzt angegebene Spannung ausgibt. Daraufhin hab ich mein BD auf folgendes reduziert und schon scheint alles zu fluppen - ohne irgendwelche Puffer scheint mir.
   

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.08.2011, 17:00
Beitrag #2

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
RE: Analoge Ausgabe - Puffer - DAQWrite
Bin jetzt zu dem Schluss gekommen, dass die "DAQmx Eigenschaft - AktSchreibPos" kein Indikator dafür ist, dass sich Daten im RAM stauen. Ist einfach ne seltsame Info das Ding.

Ansonsten, um konstante Pegel instantan auszugeben, benutze ich die Variante 2 aus meinem ersten Posting, also "on Demand".

Die einzige Möglichkeit die Verzögerung beim blockweise-schreiben zu verkleinern, ist es die Sampling Rate zu erhöhen.

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.08.2011, 09:55 (Dieser Beitrag wurde zuletzt bearbeitet: 11.08.2011 09:56 von Lucki.)
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Analoge Ausgabe - Puffer - DAQWrite
Warum macht Du überhaupt keinen Versuch, die Puffergröße enstprechend Deinen Bedürnissen einzustellen und beläßt sie im Modus "Auto"?
Hilefeanleitung zu DAQ Sample Takt --> Eingang "Samples pro Kanal" :

Samples pro Kanal gibt die Anzahl der an jedem Kanal im Task zu erfassenden bzw. generierenden Samples an, wenn der Sample-Modus auf Endliche Anzahl eingestellt ist. Wenn der Sample-Modus auf kontinuierlich eingestellt ist, verwendet NI-DAQmx diesen Wert zur Bestimmung der Puffergröße.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.08.2011, 11:03 (Dieser Beitrag wurde zuletzt bearbeitet: 11.08.2011 12:20 von dimitri84.)
Beitrag #4

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
RE: Analoge Ausgabe - Puffer - DAQWrite
Danke für das Lebenszeichen Lucki. Immer blöd so Monologe.

(11.08.2011 09:55 )Lucki schrieb:  Warum macht Du überhaupt keinen Versuch, die Puffergröße enstprechend Deinen Bedürnissen einzustellen und beläßt sie im Modus "Auto"?
Hilefeanleitung zu DAQ Sample Takt --> Eingang "Samples pro Kanal" :

Samples pro Kanal gibt die Anzahl der an jedem Kanal im Task zu erfassenden bzw. generierenden Samples an, wenn der Sample-Modus auf Endliche Anzahl eingestellt ist. Wenn der Sample-Modus auf kontinuierlich eingestellt ist, verwendet NI-DAQmx diesen Wert zur Bestimmung der Puffergröße.
Soweit gilt das für Erfassungs-Tasks. Und selbst dort ist diese Vorgabe nur ein Mindestwert und LV behält sich das Recht vor, einen größeren Puffer zu erstellen, soforn die Vorgabe die Vorstellungen von NI unterbietet. Bei Ausgabe-Tasks hat dieser Wert wieder eine andere Bedeutung: "Gesamtanzahl der zu erzeugenden Samples"; siehe Anhang.
   

Alles Konfigurieren wird aber hier trotzdem nichts nutzen, denn die ganzen VIs und Einstellmöglichkeiten beziehen sich alle samt auf den Puffer im RAM. Was mir aber die unerwünschte Verzögerung beschert, ist der recht großzügige karteneigene Puffer der x-Serie (8191 Samples). An dem kann man nicht rumschrauben.

Zum Glück muss ich nur Pegel ausgeben (das funktioniert "on Demand" ganz toll) und das ganze wird so zu einer akademischen Diskussion. Sobalb man aber irgendwelche nicht-periodischen Figuren zaubern möchte und diese auch noch recht zügig am Ausgang anliegen haben möchte, steht man vor besagtem Problem.

Edit:
"DAQmx Eigenschaft - AktSchreibPos" = Anzahl an Samples die DAQwrite geschluckt hat
"DAQmx Eigenschaft - GesamtanzahlAusgegSampProKanal" = "DAQmx Eigenschaft - AktSchreibPos" minus Kartenpuffergröße
Eine Node, die zeigt wie viele Samples grad im RAM Puffer sind (fände ich viel interessanter), ist mir nicht über den Weg gelaufen ...

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.08.2011, 06:31
Beitrag #5

RMR Offline
Laborkater
**


Beiträge: 237
Registriert seit: Nov 2008

09f1 - 2010SP1(f4) - 2012SP1f5 - 2014 SP1f10 -2017f3
2009
DE_EN

76437
Deutschland
RE: Analoge Ausgabe - Puffer - DAQWrite
(11.08.2011 11:03 )dimitri84 schrieb:  Edit:

Eine Node, die zeigt wie viele Samples grad im RAM Puffer sind (fände ich viel interessanter), ist mir nicht über den Weg gelaufen ...

Moin Dimitri.

Wie sieht das mit den Eigentschaftsknoten für das DAQ aus? Wenn du unter "DAQ-schreiben" den Wert "Relativ zu" auf das erste Sample legst und dir nach dem Schreiben den Wert für "offset" ausgeben lässt, dann solltest du doch genau den gesuchten Wert haben. Zumindest habe ich das so verstanden. Undecided

Wenn du "on demand" nur mit dem WRITE Vi Werte ausgibst, dann wird das so nicht funktionieren. "Relativ-zu" muss initialisiert werden.

Gruß, Ralf

100nF passen immer.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.08.2011, 07:55 (Dieser Beitrag wurde zuletzt bearbeitet: 12.08.2011 23:09 von dimitri84.)
Beitrag #6

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
RE: Analoge Ausgabe - Puffer - DAQWrite
(12.08.2011 06:31 )RMR schrieb:  Wie sieht das mit den Eigentschaftsknoten für das DAQ aus? Wenn du unter "DAQ-schreiben" den Wert "Relativ zu" auf das erste Sample legst und dir nach dem Schreiben den Wert für "offset" ausgeben lässt, dann solltest du doch genau den gesuchten Wert haben. Zumindest habe ich das so verstanden. Undecided
Der Wert für Offset ändert sich nicht. Den gibt man selbst an oder lässt ihn auf Null und auf diesem Wert bleibt der auch während der Ausgabe. Da würd ich Finger von lassen. (Es geht hier um das Schreiben von NSamples, klar oder?)

Zitat:Wenn du "on demand" nur mit dem WRITE Vi Werte ausgibst, dann wird das so nicht funktionieren. "Relativ-zu" muss initialisiert werden.
Was funktioniert da nicht? Hast du das überhaupt ausprobiert?

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen 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
  analoge Ausgabe von mehreren unabhängigen Signalverläufen (NI9269) t.hipp 2 3.326 22.05.2017 15:11
Letzter Beitrag: t.hipp
  "Puffer zu klein" Ina-Pina 1 2.945 06.03.2015 10:08
Letzter Beitrag: GerdW
  Daten live aus dem Puffer Lesen LarsO 5 4.832 18.07.2013 10:22
Letzter Beitrag: LarsO
  Analoge Ausgabe: Werte im Puffer erhöhen? Löffje 5 7.334 11.04.2013 08:25
Letzter Beitrag: GerdW
  DAQmx Analoge Ausgabe; aktueller Wert Ratam 2 3.940 10.07.2012 15:33
Letzter Beitrag: Lucki
  Reihenfolge der Daten beim Auslesen aus dem Puffer? Korb123 1 3.020 29.05.2011 09:27
Letzter Beitrag: Lucki

Gehe zu: