Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQ assistant problem

Hello,
I have a simple program , it sends an analog signal through a DAQ device ,and i connected the analog output to the analog input , just to know if the signal values have the step (0,0004 volt)  , but they didnt.
and  my question is: what  i have to do to become the correct values

Download All
0 Kudos
Message 1 of 10
(4,976 Views)

Hi Moh-Mech,

 

this is Jan from NI technical support.

 

To help you with this issue, I need to know what Hardware you are using, and what the configuration of your DAQ Assistants look like.

 

Can you just provide the VI?

 

If you don't have a synchronized input and output and no Hardware timing you might have different samplerates for both.

 

Just provide the VI and the used Hardware and I think I can help you out with this!

 

Best,
Jan

0 Kudos
Message 2 of 10
(4,938 Views)

Hi Jan ,
thank you alot for the reply.
i use a device ( Multifunktionales Datenerfassung Simulation\ Multifunctional data acquisition simulation)
i want to send just a signal from (0 to 10 V)  then from (10 to 0 ) in a specific time , and repeat the signal without fehler when i click ok button .
Best regards

0 Kudos
Message 3 of 10
(4,934 Views)

Hallo moh-mech,

 

wir können das ganze gerne auch auf deutsch weiterführen! 🙂

 

Quasi jede Hardware die über DAQmx angesprochen wird ist ein "multifunktionales Datenerfassungsgerät". Interessant wäre die genaue Produktbezeichnung. Also z.B. PCI-6221, PXI-6363, cDAQ-9133 (Bei cDAQ bitte auch die eingesteckten Module angeben, z.B. NI 9205) oder USB-6001. Die Bezeichnung sollte gut sichtbar auf dem Gerät stehen. Du hast "Simulation" angemerkt, hast du das Gerät physikalisch angeschlossen oder im Measurement and Automation Explorer simuliert? Im MAX kannst du auch recht schnell die Bezeichnung deiner Hardware nachschauen.

 

der Code sieht soweit eigentlich recht sinnvoll aus. Du könntest in einem der beiden DAQ Assistenten mal das Timing umstellen. Unter "Erweitertes Timing" (Advanced Timing) im Assistenten kannst du eine externe Sampleclock bestimmen. Wenn du beim Output-Assistent dort "ai/SampleClock" als externe Taktquelle angibst bedeutet das, dass der Outputtask die SampleClock des Input-Tasks (AI=Analog Input) nutzt. Dadurch werden die Samples zum exakt gleichen Zeitpunkt ausgegeben und wieder eingelesen.

Grundsätzlich sollte der code aber so funktionieren und es sollten (incl Rauschen und Ungenauigkeiten) schon etwa Sprünge im Bereich 0,0004 zu sehen sein.

 

Es könnte natürlich sein, dass 4uV eine zu kleine Spannung für den Output/Input ist. Wenn du mir schreibst welche Hardware du nutzt kann ich das gerne nachschauen!

 

Freundliche Grüße aus München,

Jan

Staff Applications Engineer

National Instruments

0 Kudos
Message 4 of 10
(4,927 Views)

Hallo Jan,
Vielen Dank für die Antwort, das Gerät hat die Zeichnung USB 6361+ SBX3 . Ich hoffe, das ist was du meinst.
ich habe gerade probiert ,die beide DAQ Assistenten umzustellen zu  externe Taktquelle (ai/SampleClock) , aber leider hat es nicht funktioniert und habe ein Fehler bekommen,
ich habe den Fehler angefügt.
Vielen Dank im Voraus
LG aus StuttgartSmiley Happy

0 Kudos
Message 5 of 10
(4,921 Views)

Hallo Moh-Mech,

 

den Fehler würde ich erwarten, wenn du die Einstellung beim Analog Input Assistenten vorgenommen hast. Bei diesem sollte weiterhin "internal timing" eingetragen sein.

 

Unabhängig davon habe ich das Hauptproblem vermutlich schon gefunden. Die Karte hat eine Auflösung von 16 bit, d.h. sie kann den Eingangsspannungsbereich mit 2^16-1 Schritten darstellen. Wenn der Eingangsbereich auf +-10V eingestellt ist ergibt sich daraus (Toleranz der Karte noch mit eingerechnet) eine Genauigkeit von ca. 1,6mV. Die 400uV die du an Schritten erwartest kann die Karte also garnicht unterscheiden, sie arbeitet nur in 1,6mV-Schritten.

Den Eingangsspannungsbereich kannst du aber einstellen, die Karte unterstützt verschiedene standart-Bereiche. +-10V, +-5V, +-2V .... +-0,1V. Wenn du Beispielsweise einen Spannungsbereich von +-3V einstellst nutzt DAQmx automatisch den höheren Bereich, also +-5V.

 

Um eine höhere Genauigkeit zu gewährleisten sollte der Spannungsbereich immer so eingestellt werden, dass der niedrigst mögliche Bereich für das zu erwartende Signal genutzt wird. Denn bei einem +-0,1V Eingangsbereich werden die 2^16-1 Schritte nur auf diesen kleinen Bereich aufgeteilt, nicht über die vollen 10V. Dadurch ergibt sich eine Genauigkeit von 33uV. Das sollte ausreichen um deine Spannungen einzustellen.

 

Eine Tabelle mit den Genauigkeiten der einzelnen Bereiche findest du auf Seite 4 der Gerätespezifikationen (Table 1: AI absolute accuracy). Such hier einfach den Bereich aus der für dein Signal am geeignetsten ist. Ich sehe dass die Amplitude die du eingestellt hast 10 ist, du also prinzipiell +-10V bräuchtest. Das ist leider aus o.g. genannten Gründen nicht möglich, dafür bräuchte die Karte einen Wandler der mehr als 16 bit Auflösung hat. Hierzu kannst du mir gerne mal die geplante Anwendung schildern, vielleicht lässt sich ein Kompromiss finden. Einen so großen Bereich in so kleinen Schritten zu nutzen ist recht ungewöhnlich, es wäre interessant ob das wirklich nötig ist.

 

Ein weiteres Problem habe ich beim Output mit der Karte gefunden. Auf Seite 8 der Spezifikation findest du eine ähnliche Tabelle für Analog Output (Table 2. AO Absolute Accuracy). Hier siehst du dass der Output lediglich 2 Bereiche hat, +-10V und +-5V.  Bei +-5V hast du leider nur eine Genauigkeit von 935uV, was wiederrum nicht ausreicht für deine Schritt-weite.

 

Die Spezifikationen des Geräts findest du unter folgendem Link:

http://www.ni.com/pdf/manuals/374650c.pdf

 

Am besten beschreibst du nochmal was du mit dem Signal genau ansteuern möchtest, ich vermute mal es wird nicht einfach bei einem Loopback (AO auf AI) bleiben, oder? Vielleicht brauchst du ja nicht so feine Schritte oder einen deutlich kleineren Bereich.

 

Wenn du hier noch Beratung möchtest, antworte mir einfach nochmal!

 

Freundliche Grüße,
Jan

Staff Applications Engineer

National Instruments

0 Kudos
Message 6 of 10
(4,915 Views)

ich habe das Timing für die beide DAQ eingestellt, die Input Enigang mit internal timing , und die Output Ausgang mit External timing . und habe noch die schritten von der Eingangsspanung reduziert bis (0,001 für einen Schritt) ,dennoch bekomme ich immer noch komische Werte von der Ausgang.
ich will das Signal als Input für ein Ventil verwenden.
LG   

Download All
0 Kudos
Message 7 of 10
(4,911 Views)

Hi moh-mech,

 

wenn du 1mV-Schritte verwendest solltest du beim Output auf jeden Fall die Range (Max und Min) auf +-5V setzen. Dan kannst du allerdings auch nur maximal 5V ausgeben. Braucht das Ventil die vollen 0-10V? Bzw. brauchst du 1mV-Schritte? Am einfachsten wäre es eine Range von +-10V zu nutzen, und die Spannungs-Schritte bei 2mV zu belassen (1,9mV wäre hier die Genauigkeit). Wäre das akzeptabel?

 

Freundliche Grüße,
Jan
Staff Application Engineer
National Instruments

0 Kudos
Message 8 of 10
(4,903 Views)

Hallo jan,
ich brauche den Bereich 0-10 V auf jeden Fall , und habe die Schritte vergößert  (0,002 - 0,004 - 0,008 ) aber leider hat es auch nicht funktioniert und die Werte sind komisch. Auf dem Diagramm kannst du sehen, dass das Signal schwingt ,bevor es einen neuen Wert hat.
Vielen Dank für deine Bemühung.
LG

Download All
0 Kudos
Message 9 of 10
(4,897 Views)

Hallo Moh-mech,

 

es sieht aus als würdest du dort die Steps des ADCs sehen, also als hättest du ein falsche Range eingestellt. Allerdings sind die Schritte laut Y-Achsen-Skalierung etwa 40mV, was mir recht viel erscheint. Hast du ein Oszilloskop zur Hand um erst einmal den Output damit zu vermessen, damit wir sehen ob es an der Ausgabe oder der Erfassung liegt?

 

Freundliche Grüße,
Jan Göbel

0 Kudos
Message 10 of 10
(4,868 Views)