02.09.2009, 12:16
Beitrag #1
|
Gabs
LVF-Grünschnabel
Beiträge: 41
Registriert seit: Jan 2005
7.1 ... 2009
1995
EN
76XXX
Deutschland
|
Properties USB-6008 (DAQmx)
Hallo,
ich nutze die AO.Voltage.Rngs, AO.max.rate und AO.min.rate Properties von DAQmx, um für die gewählte DAQ Karte die passenden Spannungsbereiche abzufragen. Bisher hat das gut funktioniert, sowohl für PCMCIA Karten, als auch für PCI Boards. Das entsprechende VI ist damit unabhängig von der genutzten DAQ Karte, jegliche Einstellungen werden auf Basis dieser Abfragen automatisch gesetzt. Jetzt aber - mit einem USB-6008 Device, schlägt diese Abfrage fehl und gibt den Fehler -200197 aus. Das kann doch wohl hoffentlich nicht sein, daß DAQmx diese Eigenschaften für USB Geräte nicht unterstützt, oder? Wie komme ich da weiter?
Gruß,
Gabs
|
|
|
02.09.2009, 12:23
(Dieser Beitrag wurde zuletzt bearbeitet: 02.09.2009 12:26 von jg.)
Beitrag #2
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Properties USB-6008 (DAQmx)
:hmm:AO.max.Rate hört sich so nach maximaler Hardware-Update-Rate der Karte an? Da die 6008 nur Software Timing bei AO kennt, könnte ich mir vorstellen, dass es diese Property für diese Karte nicht gibt. Deshalb deine Fehlernummer.
EDIT: Überprüfe doch mal im Highlight-Mode, welche Property genau die Fehlermeldung verursacht.
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.
|
|
|
02.09.2009, 12:45
Beitrag #3
|
Gabs
LVF-Grünschnabel
Beiträge: 41
Registriert seit: Jan 2005
7.1 ... 2009
1995
EN
76XXX
Deutschland
|
Properties USB-6008 (DAQmx)
Genau, es ist die AO.MaxRate die den Fehler provoziert. Hmmm - und nun? Ich brauche den Wert für einige Unterroutinen...
Gruß,
Gabs
|
|
|
02.09.2009, 13:01
Beitrag #4
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Properties USB-6008 (DAQmx)
Das musst du entscheiden. Eine Möglichkeit: Fehler ignorieren bzw. entsprechend abfangen und dir den Wert als Null merken?! Wie gesagt, 6008/6009 haben kein HardwareTiming bei AO, weswegen der Wert auch keinen Sinn macht für diese Karten.
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.
|
|
|
02.09.2009, 13:01
Beitrag #5
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Properties USB-6008 (DAQmx)
Wenn Du Hardware-Timing brauchst und Deine Karte das nicht kann, dann schreit das förmlich nach einer neuen Karte.
Gruß Markus
' schrieb:Genau, es ist die AO.MaxRate die den Fehler provoziert. Hmmm - und nun? Ich brauche den Wert für einige Unterroutinen...
Gruß,
Gabs
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
02.09.2009, 13:15
(Dieser Beitrag wurde zuletzt bearbeitet: 02.09.2009 14:31 von Gabs.)
Beitrag #6
|
Gabs
LVF-Grünschnabel
Beiträge: 41
Registriert seit: Jan 2005
7.1 ... 2009
1995
EN
76XXX
Deutschland
|
Properties USB-6008 (DAQmx)
Nein, ganz so einfach ist das nicht. Hier geht es nicht um eine eigene Applikation, sondern ein Treiber VI. Dieses VI initialisiert die komplette DAQmx Umgebung. Es stellt fest, welche Karte verwendet wird, liest die entsprechenden Randparameter aus und berechnet daraus Werte, die im folgenden Ablauf benötigt werden.
Gruß,
Gabs
Edit: es wird immer verrückter. Wenn ich die Properties auskommentiere, bekomme ich den nächsten Fehler beim DAQmxStartTrigger (-200452), wenn ich das auskommentiere dann sagt mir LabVIEW daß ich bei DAQmxTiming (Use Waveform) als Sample Timing Type Sample Clock gewählt hätte (tatsächlich habe ich jedoch dort Use Waveform gewählt) und ich dürfe nur OnDemand, was es da gar nicht gibt (Error -200077). Jetzt sehe ich überhaupt nicht mehr durch - wie kriege ich denn das alles auf ein USB Device portiert?
|
|
|
02.09.2009, 18:32
Beitrag #7
|
|
|
02.09.2009, 20:07
Beitrag #8
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Properties USB-6008 (DAQmx)
' schrieb:Edit: es wird immer verrückter. Wenn ich die Properties auskommentiere, bekomme ich den nächsten Fehler beim DAQmxStartTrigger (-200452), wenn ich das auskommentiere dann sagt mir LabVIEW daß ich bei DAQmxTiming (Use Waveform) als Sample Timing Type Sample Clock gewählt hätte (tatsächlich habe ich jedoch dort Use Waveform gewählt) und ich dürfe nur OnDemand, was es da gar nicht gibt (Error -200077). Jetzt sehe ich überhaupt nicht mehr durch - wie kriege ich denn das alles auf ein USB Device portiert?
Ich habe es jetzt schon 2x geschrieben, (und ich hasse es, mich so oft zu wiederholen):
Die 6008 & 6009 können als Einsteigerkarten bei Analog-Out kein HardwareTiming. Du kannst dafür keine SampleClock wählen, weder intern noch extern.
Das einzige, was bei AO geht, ist jeweils einen Wert per Software-Takt zu setzen! Das hat nichts mit USB-Device zu tun, sondern mit den Nicht-Fähigkeiten genau dieser Karte!
So ziemlich das einzige Bsp aus dem NI-Examplefinder für AO, das für die 6008er funktionieren müsste, ist "Gen Mult Volt Updates-SW Timed.vi".
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.
|
|
|
03.09.2009, 09:02
Beitrag #9
|
Gabs
LVF-Grünschnabel
Beiträge: 41
Registriert seit: Jan 2005
7.1 ... 2009
1995
EN
76XXX
Deutschland
|
Properties USB-6008 (DAQmx)
Hallo,
danke für Eure Antworten (Jens, auch wenn Deine kurzen Antworten weiter oben halt leider erstmal für mich nicht im Zusammenhang mit dem StartTrigger Fehler standen, das hatte wohl kaum was mit "hasse es mich so oft zu wiederholen" zu tun - einfach mal davon ausgehen, daß der Fragende vielleicht die Zusammenhänge nicht ganz so gut kennt wie Du... ).
Falls jemand mal auf das gleiche Problem stoßen sollte: mich hat wie gesagt irritiert, daß die Fehlermeldung bei DAQmxTiming behauptet ich hätte den Wert "Sample Clock" gesetzt - obwohl ich UseWaveform gewählt hatte - und angab, daß "OnDemand" gewählt werden müsse - was jedoch gar nicht angeboten wurde. Sehr hilfreich war die Fehlermeldung also nicht. :wall:Was mir nicht auf Anhieb klar war, ist daß "UseWaveform" ja über das angegebene delta T die Sample Clock Rate setzt. Hilfreich in dem Zusammenhang ist auch dieser Knowledgebase-Artikel:
http://digital.ni.com/public.nsf/allkb/6F2...625711D007BDD64
Er weist unter anderem auch auf das von Jens erwähnte Beispiel-VI hin.
Falls einer von Euch einen guten Überblick über die von DAQmx unterstützten DAQ Devices von NI hat: wenn unser Treiber auf die genannten Funktionen wie Waveform Generation angewiesen ist, reicht es dann zu sagen daß alle Devices, die Hardware Timing unterstützen, mit unserem Treiber funktionieren sollten, oder gibt es bei anderen Karten weitere Einschränkungen auf die ich achten muß?
Gruß,
Gabs
|
|
|
| |