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 

neg.Flanke erfassen u. Zeit bestimmen



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!

19.11.2008, 16:20
Beitrag #1

Wernie76 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Sep 2008

8.6
2005
en

49074
Deutschland
neg.Flanke erfassen u. Zeit bestimmen
Hallo,

ich möchte von einem digitalen Signal jeweils den zeitlichen Abstand zwischen zwei negativen Flanken messen.
Vielleicht kurz zur Erklärung:
Wir haben hier ein Laufband auf dem irgendwelche Dinge liegen und an einer Lichtschranke vorbeifahren. Jedes mal beim durchqueren der Lichtschranke wird ein negativer Impuls ausgegeben. Den Abstand dieser Impulse, bzw. den Abstand der negativen Flanken, möchte ich jeweils bestimmen. Wir bewegen uns hier im ms-Bereich.
Eine Messung dauert ca. 4 Minuten. Während dieser Zeit möchte ich alle zeitlichen Abstände zwischen den neg. Flanken erfassen und in ein Arry speichern. Anschliessend werden diese Daten dann ausgewertet und es wird geschaut ob die Produkte alle in einem vorgegebenen zeitlichen Abstand durch die Lichtschranke gelaufen sind. Aber dieses ist eine anderes Geschichte. Erst mal muss ich die Erfassung hinbekommen.
Außerdem muss das ganze nicht nur für ein Laufband gemacht werden, sonder gleichzeitig für 12. Also 12 Kanäle.
Ich habe mir dazu eine PCI Karte 6254 zugelegt, mit 32 analog Inputs und 48 Digital I/O. Aber ganz ehrlich gesagt komme ich irgendwie nicht so recht weiter. Hat jemand von euch eine Idee und kann mir helfen?
Vielen Dank für eure Mühen.
Gruß
Daniel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.11.2008, 17:27 (Dieser Beitrag wurde zuletzt bearbeitet: 19.11.2008 17:28 von Kvasir.)
Beitrag #2

Kvasir Offline
LVF-Freak
****


Beiträge: 642
Registriert seit: May 2006

10
2004
DE_EN

0000
Oesterreich
neg.Flanke erfassen u. Zeit bestimmen
Hmm .... nun:

Was hast du denn schon?
Woran scheitert es?


Auf deine allgemeine Fragestellung eine allgemeine Antwort:
- Einen Task erstellen, der mind 12 Kanäle einliest (vermutlich kann die Karte nur Ports erfassen sprich: 8,16,32 ... Kanäle)
- Als Sampling Rate (ausgehend von Digital) eine Rate einstellen die höher ist als die minimale High/Low Zeit deines Sensors (damit alles erfasst wird)
- Kontinuierliche Datenerfassung (na/no/na/ned)
- Per "Kleiner" Operation negative Flanke finden
- Differenz der Flanken ausrechnen.

Grüße

A few weeks of developement and testing can save a WHOLE afternoon in the library!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.11.2008, 19:22 (Dieser Beitrag wurde zuletzt bearbeitet: 19.11.2008 19:42 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
neg.Flanke erfassen u. Zeit bestimmen
' schrieb:Während dieser Zeit möchte ich alle zeitlichen Abstände zwischen den neg. Flanken erfassen und in ein Arry speichern.
Das ist genau das, was in den meisten Universalmesskarten von NI fix und fertig implementiert ist. Das Array anthält alle Zeitabstände zwischen den Flanken.
Z.B erstellst Du dafür eine virtuelle Task dafür im M&A-Explorer:
Datenumgebung --> DAQmx-Tasks --> rechte Maustaste -> Neu --> Signale erfassen --> zählergestützt --> Periode.

Wehrmutstropfen: Das wird nur für 1 oder 2 Kanäle funktionieren, mehr Counter hat die Karte nicht.
Somit wirst Du doch in der von Kvasir genannten Richtung gehen müssen.
Dazu ist noch zu sagen:
a) Kontinuierlich digitale Daten mit hoher Rate einzulesen funktioniert nicht mit allen Karten. Es kann sein, daß Du mit analoger Eingabe besser kommst. Die Daten mit einem Schwellwert vergleichen und in O/1 Werte konvertieren ist ja kein Problem.
b) Kvasir berechnet die Rate so, daß Dir keine Flanken verloren gehen. Du willst ja aber nicht die Flanken zählen, sondern die Zeitabstände zwischen den Flanken erfassen. Somit muß die Rate deutlich höher sein, wie hoch, hängt von der geforderte Zeitauflösung (Genauigkeit) ab.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.11.2008, 13:20
Beitrag #4

Wernie76 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Sep 2008

8.6
2005
en

49074
Deutschland
neg.Flanke erfassen u. Zeit bestimmen
Hallo,

danke für Eure Antworten.
Ich hab es soweit dass ich einen digital Port einlese und zwar mit 100kHz Timebase.
Das funktioniert soweit ganz gut, ist aber an sich zu schnell. Man kann da aber irgendwie nur 100kHz oder 10MHz, 20MHz oder 80MHz einstellen. Ich wollte aber an sich ganz gerne 10k einstellen. Das ist schnell genug und gibt mir nicht so eine riesen Anzahl von Daten. Wie kann man das einstellen?
Ich hab das auch nicht mehr mit dem DAQ Assistenten gemacht, sondern die Datenerfassung "per Hand" mit den vorhandenen VI´s aufgebaut (DAQ Max Kanalerzeugen.vi, DAQ Max Timing.vi...etc). Mit dem Assistenten konnte man ja wirklich nicht viel einstellen. Sobald man da irgendwas anderes als die Standardeinstellung nehmen wollte, kam meistens eine Fehlermeldung.
Aber per hand ging das irgendwie alles,.... außer halt die 10kHz.
Kann mir da jemand weiterhelfen? Danke.
Gruß
Daniel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.11.2008, 14:00
Beitrag #5

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
neg.Flanke erfassen u. Zeit bestimmen
' schrieb:Kann mir da jemand weiterhelfen? Danke.
Zwar peinlich, sich selbst zitieren zu müssen, aber was solls, wenn Du das Posting nicht liest:
Zitat:Kontinuierlich digitale Daten mit hoher Rate einzulesen funktioniert nicht mit allen Karten. Es kann sein, daß Du mit analoger Eingabe besser kommst. Die Daten mit einem Schwellwert vergleichen und in O/1 Werte konvertieren ist ja kein Problem.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.11.2008, 15:21
Beitrag #6

Wernie76 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Sep 2008

8.6
2005
en

49074
Deutschland
neg.Flanke erfassen u. Zeit bestimmen
Hallo Lucki,

natürlich habe ich dein Posting gelesen.
Ich glaube wir reden gerade aneinander vorbei oder ich hab´s einfach nicht verstanden..... :-(
Du schriebst dass man nicht mit allen Karten mit hoher Abtastrate digital einlesen kann und ich deshalb evtl auf analog gehen müßte.
Mein Problem ist ja quasi genau umgekehrt. Ich lese ja jetzt mit hoher Abtastrate (100k) ein und will aber mit niedriger (nämlich 10k, oder 20k) einlesen.
Und genau das geht ja irgendwie nicht.
Gruß
Daniel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.11.2008, 09:20
Beitrag #7

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
neg.Flanke erfassen u. Zeit bestimmen
' schrieb:Mein Problem ist ja quasi genau umgekehrt. Ich lese ja jetzt mit hoher Abtastrate (100k) ein und will aber mit niedriger (nämlich

Also jetzt habe ich mir mal die Mühe gemacht und die Spezifikation Deiner Karte angesehen.
Sie gehört nicht zu denen, mit denen man keine digitale Waveform erzeugen kann: Mit Port 0 geht es.
Allerdings, siehe die Fußnote 3 (Kopie unten), gibt es für digitalen I/O keinen eigenen internen Timer für die Taktung. Es gibt aber mehrere andere Timer auf der Karte, davon muß man einen für die Taktung benutzen. Das zu machen isr aber eher ein Sache für fortgeschrittene Anwender. Lernen wie man das macht kann man in der Beispielesammlung.
Ganz einfach ist hingegen das Einlesen einer analogen Waveform, deshalb war mein Rat damit anzufangen. Auch hier gilt: Beispiele studieren. Du kanst quasi jede Frequenz mit dem Timing-VI auswählen, ohne nachdenken zu müssen wie es intern gemacht wird. Das Einzige ist, das wegen der Frequenzerzeugung aus einem 20MHz Muttergenerator nicht jede gewünschte Frequz machbar ist. Das spielt aber bei niedrigen Raten keine Rolle. (Machbar im Bereich 10kHz ist z.B. 9995 HZ, 10000Hz, 10005Hz...)
Also so sollte Dein Lernprozess abgestuft sein:
1.) Lernen analoge Waveform mit 10kHz einzulesen
2.) Lernen Digitale Waveform einzulesen und wie man dazu zur Takterzeugung einen Timer auf der Karte routet, so daß er als Taktgeber dient.
Damit hast Du erst mal für etliche Tage Arbeit.

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.11.2008, 13:13
Beitrag #8

Wernie76 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Sep 2008

8.6
2005
en

49074
Deutschland
neg.Flanke erfassen u. Zeit bestimmen
Ich sag einfach erst mal danke und werde mich dann jetzt mal ein paar Tage in mein stilles Kämmerlein verkriechen :-)
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
  Flanke detektieren NI 6356 Armeldonald 5 3.556 07.05.2019 16:52
Letzter Beitrag: jg
  Erste Flanke wird unzuverlässig erkannt djlunatic 15 9.780 17.09.2014 09:08
Letzter Beitrag: djlunatic
  Datenerfassung bei aufsteigender TTL-Flanke GrEeHoRn 9 7.779 10.04.2014 10:04
Letzter Beitrag: Lucki
  Messwerterfassung auf fallende Flanke chrigi28 9 7.227 07.11.2013 12:32
Letzter Beitrag: chrigi28
  auf Flanke warten, während dessen etwas anderes tun labvii 11 10.377 03.09.2013 10:56
Letzter Beitrag: S.D.
  warten auf eine TTL Flanke gottfried 4 4.408 28.02.2013 21:13
Letzter Beitrag: dimitri84

Gehe zu: