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 

Timing Problem für Counter



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.06.2009, 09:51 (Dieser Beitrag wurde zuletzt bearbeitet: 10.06.2009 09:56 von Aldero.)
Beitrag #1

Aldero Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jun 2009

7.1
-
de

17489
Deutschland
Timing Problem für Counter
Hallo,

ich Arbeite zur Zeit an einem einfachen Zähler.
Das Messinstrument gibt TTL Signale an die NI PCI-6035E Karte gesendet.
Die Signale Zähle ich über den Internen Counter aus.
Ziel ist es am Ende Zeitaufgelöst die Ereignisse darzustellen.

Ich habe ein Screenshot des Programms einmal angehängt.

Zur Zeit gebe ich mit einem Freuqenzgenerator TTL Signale auf die Messkarte ab einer Freuqeunz von etwa 1kHz fällt auf, dass das zweite Auszählen scheinbar zu einem Willkürlichen Zeitpunkt erfolgt obwohl es erst nach der vorgegeben Messzeit erfolgen soll. Das interesante ist, es liegen immer zuwenig Messwerte vor.

Hier noch einmal der Ablauf Grob:
Programm Startet -> Der Counter wird Gestartet -> Die Schleife wird betreten -> Der Erste Wert wird ausgelesen (Und zwar die Korekkten 0 Counts) -> Die Schleife wartet die Messzeit (soll es zumindestens) bis zur nächsten Ausführung-> der counter wird ausgelesen und die Zahl wird gespeichert *-> Scheleife wartet wieder -> usw

* An der Stelle hier scheint ein Fehler zu sein da nicht die Korrekte Anzahl ausgelesen wird bzw in dem Schritt davor weil nicht die richtige Zeit gewartet wird.

Wo könnte der Fehler liegen oder was könnte das Problem verursachen ?
Schon einmal Danke im VorausSmile

Gruß

Alex


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.06.2009, 10:28
Beitrag #2

BerndDasBrot Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 128
Registriert seit: Feb 2008

8.2.1, 2012, 2017, 2020
2007
EN

7206
Schweiz
Timing Problem für Counter
Hallo Aldero

Es ist nicht definiert, ob das Warten vor oder nach dem Einlesen der Daten ausgeführt wird, da alle Zweige in der Schleife parallel abgearbeitet werden.

Ausserdem hat das verwendete Metronom die Eigenschaft, dass es sozusagen initialisiert werden muss. Beim ersten Mal wird nicht die angegebene Zeit gewartet, sondern immer bis zu einem Vielfachen der angegebenen Zeit vom Beginn der LabVIEW Session. Ein einfacher Delay ist vielleicht besser an dieser Stelle.

Gruss, BDB
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.06.2009, 10:28
Beitrag #3

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Timing Problem für Counter
Das SW-Timing kannst du für solche Aufgaben vergessen! Zu ungenau was Windows da veranstaltet...

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.06.2009, 11:03
Beitrag #4

Aldero Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jun 2009

7.1
-
de

17489
Deutschland
Timing Problem für Counter
Hm, was genau ist das SW Timing ? Ich arbeite zum ersten mal mit LabVIEW also nicht böse sein wenn ich triviale Fragen stelleSmile

Ich habe einmal Time Delay benutzt anstat das Metronom, jedoch behebt es das Problem nicht.

Es gibt auf der Messkarte eine Uhr kann ich die irgendwie nutzen ?


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2009, 12:07
Beitrag #5

Aldero Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jun 2009

7.1
-
de

17489
Deutschland
Timing Problem für Counter
Ich benutze jetzt die Timed While Schleife, damit schein zumindestens das Problem was oben angesprochen wurde behoben zu sein, das Programm wartet die richtige Zeit zwischen dem ersten und dem zweiten Durchlauf der Schleife ab.

Jedoch gibt es ein neues Problem.

Soweit wie ich das Programm bis jetzt verstanden habe fängt der Counter bei dem "Start" Icon an zu zählen und dann wird durch das "Read" Icon der Counter ausgezählt. Idealer weise sollte beim ersten Auslesen 0 als Count heraus kommen jedoch schwankt die Zahl bei einem TTL Signal mit 10000 Hz zwischen 8 und 250 Counts. Aus einem mir nicht verständlichen Grund scheint die Zeit bis zum ersten auslesen zwischen 0,8 ms und 25ms zu schwanken.

Woran könnte das liegen und wie kann dieses Problem umgehen ?


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2009, 12:22
Beitrag #6

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Timing Problem für Counter
Du kannst mit einem "Nicht-RealTime-System" (z.b. Windows) keine deterministischen Programmabarbeitung realisieren, d.h. die Ablaufgeschwindigkeit ist nicht vorhersagbar! Auch ist deine Erfassung ja offenbar nicht mit dem Eingangssignal synchronisiert, z.B. durch eines HW-getriggerten Start (steigende Flanke).

Folglich wirst du das so nicht hinkriegen! Wenn dein Programm für den Task "Start" sagt, hat der Counter schon einige Flanken gezählt, bis du überhaupt das erste Mal in die Schleife zum "Read" kommst. Wieviele Flanken da schon gezählt wurden, hängt ganz davon ab was dein Betriebssystem noch so nebenbei macht, bis es in einer "Zeitscheibe" mal wieder deine Counter-Applikation bedienen kann und den (unabhängig laufenden) Counter abfragen kann!

Wenn du dein Eingangssignal mal spaßeshalber mit nur 1 Hz laufen lässt, und dann die Erfassung ebenfalls mit einer Schleifenwartezeit von 1 sek. abfragst, könnte deine Anwendung "pro Iteration ein Count" funktionieren. Je schneller dein Signal wird, desto ungenauer!

Wenn du eine (im Rahmen der Windows/LabVIEW-Möglichkeiten) konstante Wartezeit zwischen zwei Counterabfragen haben willst, wirst du mit einer so bescheidenen Auflösung leben müssen.

Du könntest alternativ mit einem weiteren Counter einen HW-Referenztakt (Pulse train) starten, bei dessen steigender Flanke jeweils eine (somit getriggerte) Einzelwert-Abfrage des Signal-Counters erfolgt. Beispiele dazu gibt's im LV Example Finder

Gruß
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.06.2009, 09:50
Beitrag #7

Aldero Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jun 2009

7.1
-
de

17489
Deutschland
Timing Problem für Counter
Hallo und danke für die Antwort.

Das das Signal und die Messung nicht Syncron sind ist mir bewusst, deshalb habe ich bei den einzelnen Zählungen auch abweichungen von +-1 Count.
Später soll das Programm an einem Röntgenstrahlungsdetektor betrieben werden und das Ziel ist es die Röntgenstrahlung zeitaufgelöst zu messen.

Die Idee ist es den Counter zu starten und nach festen Zeiten die Messkarte auslesen zu lassen.

Achim schlägt vor, dass ich einen Pulstrain benutze, ich habe mir die Beispiele angeschaut und habe darauf das Programm im Anhang gemacht.

Neues Problem ist jetzt: Wie kann ich einstellen, dass die Obere Sampelclock den Kanal: "dev/ctr0internaloutput" benutzt, in dem drop down menü kann ich es nicht finden, im Exampel steht es aber im Menü dabei.

Des weiteren erhalte ich immer die Fehler Meldung "The specified resource is reserved. The operation could not be completed as specified" Google sagt mir, dass ich angeblich immer nur einen Task einer Sorte (AI, AO, Digital, Counter) gleichzeitig haben kann. Quelle

Lösung ist das ich zwei Kanäle in einen Task legen muss. Geht das auch mit countern und wie kann ich dann einen nutzen um einen Pulstrain zu erzeugen und mit den anderen dann auslesen ?


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.06.2009, 18:42
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Timing Problem für Counter
Zum Punkt ctr-internaloutput:

Rechtsklick auf Terminal-Konstante:
   
Dann Haken bei Advanced Terminals setzen:
   

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
23.06.2009, 09:50
Beitrag #9

Aldero Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jun 2009

7.1
-
de

17489
Deutschland
Timing Problem für Counter
Danke das hat mich schon einmal ein ganzes stück weiter gebracht.

Hm, irgendwo habe ich einmal gelesen, das man einen digital eingang ebenfalls als Counter benutzen könnte. Leider finde ich es nicht mehr, weiß dazu vielleicht wer mehr ?
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
  Timing von DAQ mit Dynamischer Event-Struktur lempy 5 4.682 27.07.2021 09:18
Letzter Beitrag: jg
  Timing Fehler von USB 6001 bachatero18 2 3.039 25.08.2020 19:39
Letzter Beitrag: bachatero18
  Unterschiedliche timing-anforderungen vereinigen serge_franke 16 11.026 26.03.2018 12:49
Letzter Beitrag: serge_franke
  Timing Problem ... ich gehe im Kreis gottfried 2 3.629 21.02.2018 14:23
Letzter Beitrag: gottfried
  Counter Auslesen, SW Problem serge_franke 2 3.670 31.01.2018 14:56
Letzter Beitrag: serge_franke
  Digital out timing des DAQmx USB-6003 ALuehmann 5 6.087 02.12.2016 15:50
Letzter Beitrag: GerdW

Gehe zu: