!!

Willkommen Besucher...

...um das das LabVIEWForum.de als Benutzer in vollem Umfang nutzen zu können, ist eine kostenlose Registrierung nötig...
Registrierte Benutzer können Beiträge schreiben, Dateien uploaden, Beiträge lesen :) uvm.


Antwort schreiben 
Schwierigkeiten mit variabler Datenerfassung, Zeitstempel und Fifo
07.05.2011, 15:28
Beitrag #1

Markus82 Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: May 2011

LV-Version: 2010
LV-Erfahrung seit: 2008
LV-Sprachversion: DE



Schwierigkeiten mit variabler Datenerfassung, Zeitstempel und Fifo
Hallo,

ich möchte mittels eines cRio-9073 und NI 9215 Daten aufnehmen.
Soweit kein Problem, jedoch kommt nun die Schwierigkeit.

Die Daten sollen getriggert aufgezeichnet werden. Das bedeutet, dass ich eine gewisse Zeit vor dem Trigger aufnehmen will (z.B. 0,5-1,5s vor dem Trigger) und eine variable Zeit danach (0,5-2s).

Der Ansatz ist ein Fifo zu nutzen, in dem die Werde vor dem Trigger gespeichert werden.
Da die Frequenz der Messdatenerfassung und die Erfassungsdauer variabel sein soll müsste ich dazu den FiFo variabel gestalten.
Ein weiteres Problem ist der FiFo an sich, da dieser voll läuft. Ich möchte jedoch ein "Überlaufen" haben, also wenn der FiFo voll ist soll das Schreiben der neuen Daten zu einem entfernen der ältesten führen. Um somit die n neusten Daten im FiFo liegen.
Durch die Größe des FiFo kann somit zum Zeitpunkt des Triggerns die Speicherdaten im Vorlauf gemessen werden.

Also kann mir jemand bei den Problemen Helfen?
Also die Größe des FiFos innerhalb der Vi zu ändern.
Und ein "Überlaufen" der FiFo zu erzeugen.

Vielen Dank,
Markus
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
. .
08.05.2011, 07:39 (Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2011 08:20 von Y-P.)
Beitrag #2

Y-P Offline
- - - - -
LVF-Team

Beiträge: 10.486
Registriert seit: Feb 2006

LV-Version: Developer Suite Core -> LabVIEW 2011 Prof. (f2)
LV-Erfahrung seit: 2006
LV-Sprachversion: EN

PLZ: 71083
Land: Deutschland
RE: Schwierigkeiten mit variabler Datenerfassung, Zeitstempel und Fifo
Du kannst ja von der "aktuellen" Zeit die Sekundenzahl abziehen, die Dein Pretrigger haben soll. Alles was älter ist, kannst Du aus Deinem FIFO (Array) rausschmeißen.

Gruß Markus
Hab' Dir schnell mal was zusammengeklickt, wie ich das in etwa meine:

2010 .vi  FIFO_bereinigen.vi (Größe: 13,83 KB / Downloads: 58)


Gruß Markus

Bitte immer das Profil aktualisieren und bei den hochgeladenen VIs die LabVIEW-Version angeben!!!
----------------------------------------------------------------------------------------------------------------------------------------------
Link zu einem kostenlosen Online Fußballmanager! (2minman)
----------------------------------------------------------------------------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
----------------------------------------------------------------------------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.05.2011, 17:00
Beitrag #3

Lucki Offline
Guru-Simulator
LVF-Team

Beiträge: 5.534
Registriert seit: Mar 2006

LV-Version: ..2011prof.ohne Addons
LV-Erfahrung seit: 1995
LV-Sprachversion: DE

PLZ: 01108
Land: Deutschland
RE: Schwierigkeiten mit variabler Datenerfassung, Zeitstempel und Fifo
Habe auch mal was auf die Schnelle skizziert.

2010 .vi  FIFO.vi (Größe: 12,26 KB / Downloads: 40)

Es gibt aber noch eine weitere interessante Möglichkeit, einen FIFO zu begrenzen: Bei den Queue-Funktionen gibt es neuerdings das VI "Element verlustbehaftet hinzufügen". D.h. im Klartext: Wenn die Queue voll ist, wird nicht gewartet, sondern das älteste Element fliegt raus.

Den Labview-Beginner erkenne ich am deutlichsten an der exzessiven Verwendung der Sequenzstruktur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.05.2011, 17:25
Beitrag #4

jg Offline
Titel: Ja, hab ich..
LVF-Team

Beiträge: 9.940
Registriert seit: Jun 2005

LV-Version: 20xx / 8.x
LV-Erfahrung seit: 1999
LV-Sprachversion: EN

PLZ: 974xx
Land: Deutschland
RE: Schwierigkeiten mit variabler Datenerfassung, Zeitstempel und Fifo
@Markus82:
Erste Antworten hast du. Trotzdem solltest du deine Frage ein wenig präzisieren.
Du hast deine Frage im Unterforum FPGA gestellt. Geht es also mglw. im DMA-FIFOs zwischen FPGA und RT-Teil des cRIO? Oder was genau?

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!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.05.2011, 18:00
Beitrag #5

Markus82 Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: May 2011

LV-Version: 2010
LV-Erfahrung seit: 2008
LV-Sprachversion: DE



RE: Schwierigkeiten mit variabler Datenerfassung, Zeitstempel und Fifo
Hallo,
ersmal danke!
Ich hatte vergessen mitzuteilen, wie ich Daten sammle!
Die FiFo dient natürlich zur Datenübertragung vom Crio zum Hostsystem
Das CRio ist per FPGA programmiert.
Am liebsten wäre mir, dass das CRio die Vor und Nachlaufzeit dem CRio übergeben werden und das FPGA dann die Daten aufzeichnet und dann bei einem Triggersignal die Daten an das Hostsystem sendet.
ICh habe für das System die FPGA Lizenz aber keine Realtimelizens.
Somit muss ich ein FPGA-Programm erstellen, welches mir die Daten überträgt.
Ich würde mich über weitere Hilfe freuen!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.05.2011, 19:11 (Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2011 19:11 von Lucki.)
Beitrag #6

Lucki Offline
Guru-Simulator
LVF-Team

Beiträge: 5.534
Registriert seit: Mar 2006

LV-Version: ..2011prof.ohne Addons
LV-Erfahrung seit: 1995
LV-Sprachversion: DE

PLZ: 01108
Land: Deutschland
RE: Schwierigkeiten mit variabler Datenerfassung, Zeitstempel und Fifo
(08.05.2011 18:00 )Markus82 schrieb:  Ich würde mich über weitere Hilfe freuen!
-- und wir würden uns über eine Kommentierung der bereits gegebenen Hilfen freuen. Oder lagen die so daneben, daß hier die einzig adäquate Antwort "Der Mantel des Schweigens" ist?

Den Labview-Beginner erkenne ich am deutlichsten an der exzessiven Verwendung der Sequenzstruktur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
.. .
08.05.2011, 19:16
Beitrag #7

Markus82 Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: May 2011

LV-Version: 2010
LV-Erfahrung seit: 2008
LV-Sprachversion: DE



RE: Schwierigkeiten mit variabler Datenerfassung, Zeitstempel und Fifo
Beide Antworten bezogen sich leider nicht auf die FiFos welche zur Datenübertragung eingesetzt werden und sind somit leider nicht nutzbar.
Ich versuche jedoch aktuell das Problem mit dem verlustbehafteten Zufügen zu lösen. Bei dieser Vatiante werden jedoch weiterhin die Daten im Hostsystem verarbeitet, was ich vermeiden wollte.
Ich werde mich melden wenn es funktioniert hat.
Demnach erstmal vielen Dank aber wenn noch jemand ne idee hat sowas direkt im FPGA zu implementieren wäre ich für Vorschläge dankbar!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.06.2011, 09:52 (Dieser Beitrag wurde zuletzt bearbeitet: 01.06.2011 09:53 von dlambert.)
Beitrag #8

dlambert Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 89
Registriert seit: May 2009

LV-Version: 2010
LV-Erfahrung seit: 2007
LV-Sprachversion: en

PLZ: 12359
Land: Deutschland
RE: Schwierigkeiten mit variabler Datenerfassung, Zeitstempel und Fifo
Wenn die Zeitspanne der Aufzeichnung ( Pretrigger bis Posttrigger ) und die Samplerate bekannt sind, weist Du wie viele Daten pro Trigger anfallen. In dieser Größe legst Du einen FPGA Memoryblock an und baust damit einen Ringspeicher in den die Daten laufen. Nach dem Posttriggerevent schiebst Du die Daten in den Target2Host DMA FIFO.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.06.2011, 21:02
Beitrag #9

cheggers Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jun 2011

LV-Version: 2010 SP1
LV-Erfahrung seit: 2008
LV-Sprachversion: EN


Land: Schweiz
RE: Schwierigkeiten mit variabler Datenerfassung, Zeitstempel und Fifo
Hallo,

auf dem FPGA musst du einen Ringpuffer generieren. Solange der Trigger nicht kommt, wird kontinuierlich ein FPGA Memory beschrieben (von Adresse 0 bis N und dann wieder von vorne). Ich habe mir es einfach gemacht: Ich habe ein Memory für Pretriggered Samples und ein FPGA Memory für Posttriggered Samples. Das Memory für die Pretriggered Daten funktioniert wie beschrieben als Ringpuffer, das Memory für die Posttriggered Daten wird nur einmal nach dem Trigger beschrieben.

Vom Host kann jeweils die Grösse der Pre- und Posttriggered Samples angegeben werden. Da auch die Sample-Clock vom Host vorgegeben werden kann, ist somit auch klar wie lange die Pre- und Posttriggered Zeit ist.

Nach der Erfassung können die Daten per DMA zum Host gesendet werden.

Ich hoffe dies Hilft als Ideenanstoss.

Grüsse,
cheggers


Angehängte Datei(en) Thumbnail(s)
       
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
  FIFO und FFT bei hoher Abtastrate RoKi0815 5 627 Heute 12:27
Letzter Beitrag: RoKi0815
Rainbow ein DMA FIFO für verschieden Datentypen ? car 1 855 29.02.2012 14:27
Letzter Beitrag: RoKi0815
  Problem mit FIFO Einstellungen e.meu 6 1.997 26.01.2011 16:59
Letzter Beitrag: BNT
  DMA-FIFO leeren Matze 8 2.231 08.09.2010 06:20
Letzter Beitrag: Falk
  FIFO darf überlaufen? Matze 7 1.727 31.08.2010 07:06
Letzter Beitrag: Matze
  Host to Target FIFO Werner 5 1.842 22.04.2010 08:35
Letzter Beitrag: dlambert

Gehe zu: