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 

LabVIEW Anfänger: Zeitnahe Datenerfassung



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!

29.01.2009, 09:15
Beitrag #1

Nathan Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jan 2009

8.5
2008
de

80805
Deutschland
LabVIEW Anfänger: Zeitnahe Datenerfassung
Hallo,

Zunächst was aufgebaut ist:
Eine lichtdichte Box in der ein Photomultiplier und eine LED liegen. Das Photomultipliersignal
geht in einen vorprogrammierten FPGA (100MHz) mit vielen fertigen VIs (Input/Output, USB Ansteuuerung, Zähler, Discriminator, usw.).
NimBox von WIENER (falls das jemandem was sagt)

Mit den fertigen VI habe ich einen Zähler erstellt, der einfach die Signale oberhalb einer Spannungsschwelle zählt. - siehe Anhang

Lese ich den Zähler VI in einer Schleife aus, fängt er in scheinbar unregelmäßigen Abständen von vorne an. Auch bin ich mir nicht
sicher wie ich eine Auslese erstelle um eine Counts/Sek. anzuzeigen. Schon allerhand rumprobiert, die erwarteten 1500Hz (vom externen Oszilloskop)
erhalte ich jedoch nicht.

Grundsätzliche Unklarheit besteht bei mir über folgendes:

Nach was richtet sich die Wiederholrate des While Loops?

Ob Zählrate oder sonstiges:
Wie kann ich sicherstellen, dass die Auslese synchron/zeitnah mit dem FPGA erfolgt?


War mir jetzt nicht ganz sicher, ob ich damit ins FPGA-Forum hätte müssen.

Vielen Dank schon einmal!


Nathan


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

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
LabVIEW Anfänger: Zeitnahe Datenerfassung
ich hab das Thema mal in den FPGA-Bereich verschoben

Zeitnahes Auslesen bzw. Synchrone Datenübertragung erreichst du in dem Du die Daten vom FPGA zum Host mit einem DMA-FIFO überträgst und zur Synchronisierung einen Interrupt verwendest. Vermutlich wirst du dabei aber auf die fertigen VIs verzichten müssen ...

Die Schleifen-Durchlaufzeit in dem Screenshot richtet sich nach dem VI das da drin steckt, sonst wird die Schleife durch nichts getaktet. Da ich nicht weiß was in diesem VI drinsteckt kann man auch nicht sagen, wie lang das VI braucht ... im schlimmsten Fall handelt es sich um eine ungebremste While-Schleife die so schnell abläuft wie die CPU diesen Code abarbeiten kann.

Der Zähler fängt scheinbar immer wieder von vorne an, weil die dahinter liegende Variable "überläuft". Wenn die Variable z.B. den Datentyp U32 hat, dann ist ihr Werte-Bereich von 0 bis 4294967295. Wenn man nun auf 4294967295 eins dazuaddiert, dann läuft die Variable über und der Wert ist wieder 0 ...

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.01.2009, 10:47
Beitrag #3

Nathan Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jan 2009

8.5
2008
de

80805
Deutschland
LabVIEW Anfänger: Zeitnahe Datenerfassung
Als ziemlicher Anfänger würde es mir natürlich unglaublich die Arbeit erleichtern die fertigen VIs benützen zu können.

Im Anhang mal der COUNT.VI vom Hersteller. Ich werde zu meinem derzeitigen Wissensstand daraus nicht
sonderlich schlau.

Wäre er zu etwas zu gebrauchen oder muss ich, wie Du sagtest, es selbst machen?


Angehängte Datei(en)
Sonstige .vi  LabVIEW_8.5_COUNT.vi (Größe: 108,88 KB / Downloads: 270)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.01.2009, 11:04 (Dieser Beitrag wurde zuletzt bearbeitet: 29.01.2009 11:05 von chrissyPu.)
Beitrag #4

chrissyPu Offline
LVF-Stammgast
***


Beiträge: 467
Registriert seit: Jun 2006

2014 PDS
2006
DE_EN

64283
Deutschland
LabVIEW Anfänger: Zeitnahe Datenerfassung
Hi,

so schwer scheint das doch nicht zu sein... Du hast nen FPGA, der gewisse Sachen kann und nach irgendeiner Vorschrift und mit irgendwelchen Funktionsblöcken funktioniert, die eigentlich der Hersteller dokumentieren sollte. Tendentiell müsste das ganze was mit Abtastraten der Eingänge, Zählerbreiten etc. zu tun haben. Dazu hast Du uns irgendwie noch keine Infos geliefert, daher müsste ich hier spekulieren.

Auf der anderen Seite hast Du LabVIEW, dass wohl per USB mit dem FPGA kommuniziert. In dieser Kommunikation sind ein paar Dinge festgelegt, wie z.B. das Auslesen und Konfigurieren eines Counters. Das ist sogar als VI ausgeführt und damit scheinst Du also ein bisschen arbeiten zu können. Das Problem dass du hast, ist dass das Countersignal eindimensional ist, Dir also keine Zeitinformationen mitliefert. Die musst Du dir irgendwie generieren. Eine Möglichkeit wäre, den Counter in einem festen Abstand auszulesen. Wie kurz oder lang der sein muss, hängt damit zusammen, wofür die Angabe gebraucht wird. Wenn Du nur was ablesen willst, langen ca. 2-5 Hz, mehr kann das Auge eh nicht auflösen. Tendentiell sogar noch langsamer. Ablauf wäre dann

1. Counter auslesen
2. Zeit warten
3. Counter wieder auslesen
4. Ergebnisse von 3. minus 1. und durch 2. Teilen (ergibt momentanen Wert in Pulsen pro Zeit), 3. irgendwo unter 1. zwischenspeichern und mit 2 weiter.

In LabVIEW ist das Schlüsselwort dazu Schieberegister. Außerdem wäre es sinnvoll, den Counter irgendwann rückzusetzen, damit da nix mit dem Überlauf schief geht (könnte auch jedes Mal passieren, das wäre die sicherste Variante) oder man weiß, wie breit der Counter ist und kann dann entsprechend programmtechnisch arbeiten.

Wenn Du noch mehr so Sachen machen willst, solltest Du dir ggf. überlegen, ob Du aus diesen Viel-Funktion-VIS nicht mehrere Machst und z.B. die USB-Referenz geöffenet lässt, das könnte geschwindigkeitstechnisch ggf. problematisch werden - keine ahnung, wie schnell Du am Ende mit allem sein mussst...

ch

PS Bist Du Sicher, dass die Counter-VIs ohne USB-Referenz überhaupt funktionieren? Wüsste nicht, wie das VI sonst den FPGA ansprechen könnte...
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.01.2009, 14:34
Beitrag #5

Nathan Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jan 2009

8.5
2008
de

80805
Deutschland
LabVIEW Anfänger: Zeitnahe Datenerfassung
Danke für die Antworten!

Mache mich derzeit an das Schieberegister.


zum USB: Die Referenz wird am Anfang mit dem open.vi festgelegt und ist global, so lange nicht ein weiteres Gerät im selben VI
über USB angesprochen wird.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.02.2009, 14:15
Beitrag #6

Nathan Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jan 2009

8.5
2008
de

80805
Deutschland
LabVIEW Anfänger: Zeitnahe Datenerfassung
Meine derzeitige Lösung:
Counter auf 0
1sec Warten
Counter auslesen
Counter auf 0.

Nachwievor habe ich folgendes Problem, wenn ich unterschiedliche Wartezeiten verwende und über längere Zeit mittle:
Bei 1sec Warten => ca. 1000 counts/s
Bei 100ms Warten => ca. 150 counts/s (müsste je bei ca. 100 liegen)

Tatsächlich ist der zweite Wert realistischer, trotzdem kann ich mir den Unterschied nicht erklären.

Es würde mir helfen, wenn jemand auf das Bild schauen könnte und mir
sagt, ob dass so von LabVIEW aus gesehen überhaupt vernünftig funktionieren kann
oder schon prinzipiell unglücklich programmiert ist.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  FPGA Anfänger gnikre 4 6.663 28.05.2009 10:33
Letzter Beitrag: Kvasir
  LabVIEW Anfänger braucht Hilfe kcccp 3 5.900 28.05.2009 07:35
Letzter Beitrag: dlambert

Gehe zu: