LabVIEWForum.de
Analog Trigger funktioniert nicht - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Analog Trigger funktioniert nicht (/Thread-Analog-Trigger-funktioniert-nicht)

Seiten: 1 2


Analog Trigger funktioniert nicht - dbuckl - 07.11.2013 11:15

Kann mir jemand mal sagen wieso mein Analog Trigger nicht funktioniert? (siehe Bild) Ich habe das VI eig mehr oder weniger an den Beispielen im Internet abgeschaut, doch es funktioniert nicht.
Ich versuche damit das Signal des NI USB-6215 A/D-Wandlers zu triggern.
Die Leitungen gehen in den ai1 Eingang deshalb dachte ich ich muss analog triggern, oder muss ich doch digital? aber was wähle ich dann als Trigger Source?

Ach ja wenn ich den Trigger auf "None" stelle kommt ein durchlaufendes Sinussignal mit Nois, also scheint nur der Trigger-Baustein nicht zu funktionieren?

Gruß Domi


RE: Analog Trigger funktioniert nicht - GerdW - 07.11.2013 11:43

Hallo Domi,

als erstes sollte man sich die Erläuterung zur Fehlernummer durchlesen, einfach mal Rechtsklick auf den Errorcluster machen...

(Da ich hier kein DAQmx installiert habe, kann ich den Fehler jetzt nicht erläutern.)

Zitat:Die Leitungen gehen in den ai1 Eingang deshalb dachte ich ich muss analog triggern, oder muss ich doch digital? aber was wähle ich dann als Trigger Source?
Hmm Weil du die Leitung irgendwo angeschlossen hast, musst du einen analogen Trigger nehmen? Ist das wirklich dein kausaler Zusammenhang? (Stimmt hier die Zuordnung von Ursache und Wirkung?)

Man sollte eigentlich immer mit dem Lesen des Manuals anfangen. Im Fall der USB6215 gibt es sogar einen eigenen Absatz zum AIStartTrigger...


RE: Analog Trigger funktioniert nicht - dbuckl - 07.11.2013 12:33

(07.11.2013 11:43 )GerdW schrieb:  
Zitat:Die Leitungen gehen in den ai1 Eingang deshalb dachte ich ich muss analog triggern, oder muss ich doch digital? aber was wähle ich dann als Trigger Source?
Hmm Weil du die Leitung irgendwo angeschlossen hast, musst du einen analogen Trigger nehmen? Ist das wirklich dein kausaler Zusammenhang? (Stimmt hier die Zuordnung von Ursache und Wirkung?)

Man sollte eigentlich immer mit dem Lesen des Manuals anfangen. Im Fall der USB6215 gibt es sogar einen eigenen Absatz zum AIStartTrigger...

Dachte da es Analog- und Digitaleingänge gibt muss ich je nachdem welchen ich gewählt habe, das auch als Trigger nehmen.
Aber das hat sich mit dem lesen des Manuals jetzt erledigt Blush, es wird nur Digital-Triggerung von dem Gerät unterstützt.
Sry ich habe eigentlich ausgedruckte unterlagen zu dem Gerät vor mir liegen, dachte das wäre das Manual, ist es aber scheinbar nciht
da es auf Deutsch ist und nichts von Triggern drinnen steht Blink. Ich gehe jetzt einfach mal so vor wie es darin steht, wird dann hoffentlich schon funktionieren Smile

Gruß Domi


RE: Analog Trigger funktioniert nicht - Lucki - 07.11.2013 12:56

"Analoge Triggerung" heißt, dass die angelegte Eingangspannung selbst bei Unter/Überschreiten eines Schwellwertes die Triggerung auslöst. Also so wie man das von jedem Oszilloskop als "Triggerung: intern" kennt. Dieses Feature (- analoge Schwellwerterkennung ohne AD-Wandlung -) ist aber bei den wenigsten Karten implementiert, auch hier nicht, und genau das besagt auch die Fehlermeldung.
Daran muss man sich bei NI gewöhen: Es gibt nur einen Treiber für 1000 verschieden Karten. Der Treiber kann alles, nicht aber die einzelne Karte. Und es gibt Fehlermeldungen, die einem sagen, wenns die Karte nicht kann.


RE: Analog Trigger funktioniert nicht - dbuckl - 07.11.2013 15:44

Also ich konnte einige Informationen aus dem Datenblatt lesen, unter anderem das man den Trigger starten kann durch:

• When a certain number of points are sampled (in finite mode)
• After a hardware reference trigger (in finite mode)
• With a software command (in continuous mode)

Ich würde den Trigger gerne über einen software command steuern, oder falls das nicht geht über einen der PFI in/outs doch ich weiß weder software- noch hardwareseitig wie ich einen Startimpuls/Command vorgebe?

Wo müsste ich denn in meinem jetzigen VI ein Software command einfügen und über welchen Baustein? bzw Property Node? (und natürlich noch auf continous mode umstellen)

Bei dem jetzigen VI kommt der auf dem Bild beschriebene Fehler, mein Betreuer meinte eben das bedeutet das mir quasi der Auslöser fehlt. Er hat aber leider keine Ahnung von Labview Undecided
Ich finde da leider auch nix so genaues dazu im Internet, oder such ich falsch?
Hoffe ihr könnt mir helfen.

Gruß Domi


RE: Analog Trigger funktioniert nicht - GerdW - 07.11.2013 17:09

Hallo Domi,

vor den drei Punkten, die du da aus dem Manual zitierst, steht noch:
"After the acquisition begins, configure the acquisition to stop:"

Wenn zitieren, dann bitte immer den vollständigen (Ab-)Satz!

Guck doch mal in den Examplefinder, da gibt es DAQmx-Beispiele zum Umgang mit externer (Start-)Triggerung...


RE: Analog Trigger funktioniert nicht - dbuckl - 11.11.2013 09:37

(07.11.2013 17:09 )GerdW schrieb:  Hallo Domi,

vor den drei Punkten, die du da aus dem Manual zitierst, steht noch:
"After the acquisition begins, configure the acquisition to stop:"

Was ist denn damit genau gemeint? Ich habe jetzt einen "DAQmx Stop Task" eingefügt vor dem Clear aber das bringt auch nichts

Zitat:Wenn zitieren, dann bitte immer den vollständigen (Ab-)Satz!

Guck doch mal in den Examplefinder, da gibt es DAQmx-Beispiele zum Umgang mit externer (Start-)Triggerung...

Ich habe mir die Beispiele jetzt alle angschaut, bin dadurch aber auch nicht viel weiter.
Habe nocheinmal versucht einen Trigger zu bauen auf Basis des einzigen Beispiels bei dem gleich ein Signal im Graphen entstand. Ein kontinuierliches Signal bekomme ich auch, doch Triggern kann ich wieder nichts.

In dem angehängten Bild ist das VI samt Fehlercode zu sehen, der Fehler entsteht direkt nach dem DAQmx read.


RE: Analog Trigger funktioniert nicht - GerdW - 11.11.2013 09:44

Hallo Domi,

Zitat:Was ist denn damit genau gemeint?
Schon mal das Englisch-Wörterbuch aufgeschlagen?
Dort wird beschrieben, wie man einen DAQmx-Task beenden kann, nachdem er gestartet wurde...

Zitat:In dem angehängten Bild ist das VI samt Fehlercode zu sehen, der Fehler entsteht direkt nach dem DAQmx read.
Die Fehlermeldung sagt: noch nciht genügend Samples im Puffer...

Du hast:
- eine Samplerate von 1000Hz und "-1 Samples to read", d.h. alle, die im Puffer stehen
- den Task mit Digitaltrigger versehen
- den Task gestartet
- sofort nach dem Start fragst du den Puffer ab - der ist aber aufgrund des Wartens auf den Trigger noch leer
-> Fehlermeldung: zu wenige Samples im Puffer...

Logisch soweit?

Lösung:
- nicht "-1", sondern 100 Samples abfragen
- den dann evtl. auftauchenden TimeOut-Fehler programmatisch (!) abfangen und angemessen reagieren (weiter auf Trigger warten oder abbrechen?)
- TimeOut-Vorgabe so einstellen, dass der Trigger "garantiert" rechtzeitig kommt (aber trotzdem TimeOut-Fehler abfangen)

#8300


RE: Analog Trigger funktioniert nicht - dbuckl - 12.11.2013 11:33

(11.11.2013 09:44 )GerdW schrieb:  Du hast:
- eine Samplerate von 1000Hz und "-1 Samples to read", d.h. alle, die im Puffer stehen
- den Task mit Digitaltrigger versehen
- den Task gestartet
- sofort nach dem Start fragst du den Puffer ab - der ist aber aufgrund des Wartens auf den Trigger noch leer
-> Fehlermeldung: zu wenige Samples im Puffer...

Logisch soweit?

Lösung:
- nicht "-1", sondern 100 Samples abfragen
- den dann evtl. auftauchenden TimeOut-Fehler programmatisch (!) abfangen und angemessen reagieren (weiter auf Trigger warten oder abbrechen?)
- TimeOut-Vorgabe so einstellen, dass der Trigger "garantiert" rechtzeitig kommt (aber trotzdem TimeOut-Fehler abfangen)

Also das mit der "Samples to read" muss bei dir wieder auf Default zurück gesetzt worden sein da hatte ich eigentlich schon 100 Samples stehen.

Das Problem habe ich denke ich verstanden, der Puffer wird einfach sofort gelesen obwohl weder ein Trigger Signal angekommen ist, noch alle Samples gelesen wurden?
Jedoch hab ich leider keine Ahnung wie man den TimOut-Fehler abfängt?

Mein Problem war auch das ich noch überhaupt kein Trigger-Signal erzeugt hatte.
Dehalb habe ich gestern einen Hardwareschalter zwischen +5V Output und PFI0.0 gelegt mit dem das Signal dann ohne Probleme triggern ließ.
Das Problem ist aber das ich das Softwaretechnisch lösen soll. Deshalb habe ich nun ein VI programmiert (OSZ_SetTrig.vi) das über einen einfachen Schalter (Bool) am PFI 1.0 out auf +5V oder 0V umschalten kann.
Von dem PFI 1.0out habe ich ein Kabel in den PFI0.0in gelegt, somit kann ich an den PFI Eingang den ich als Trigger Source verwende über das SubVI ein Startsignal senden.

Leider habe ich keine Ahnung wie ich das von der Laufzeit so einbaue das wärend dem warten auf den Trigger das SubVI abgefragt wird?
Ich habe das SubVI schon in eine Eventstruktur mit Whileschleife gepackt doch das hat nichts gebracht. Nun bin ich etwas ratlos Huh

PS: Das "After the acquisition begins, configure the acquisition to stop:" kann ich schon übersetzen Blush.........ich wusste nur nicht was "Nachdem die Erfassung begint, konfigurieren sie die Erfassung zu stoppen (oder konfigurieren sie das Stoppen der Erfassung)" bedeutet, da ich ja schon einen Stop- and Clear Task eingebaut habe und sonst keine andere Möglichkeit kenne.

Gruß Domi


RE: Analog Trigger funktioniert nicht - GerdW - 12.11.2013 13:02

Hallo Domi,

Zitat:Jedoch hab ich leider keine Ahnung wie man den TimOut-Fehler abfängt?
Code:
IF error THEN
  IF errorcode=TimeOut THEN
    repeat DAQRead
  ELSE
    break loop
  ENDIF
ENDIF


Zitat:Mein Problem war auch das ich noch überhaupt kein Trigger-Signal erzeugt hatte. ... Das Problem ist aber das ich das Softwaretechnisch lösen soll.
Wozu überhaupt das Einsetzen eines Triggers, wenn du den erst noch per Software erzeugen musst? Reicht es denn nicht aus, einfach den DAQ-Task zu starten - in dem Moment wo du momentan den Trigger per Software erzeugen würdest?
Hmm
Mir ist nicht klar, wo das enden soll...