07.05.2011, 15:28
Beitrag #1
|
Markus82
LVF-Neueinsteiger
Beiträge: 3
Registriert seit: May 2011
2010
2008
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
|
|
|
08.05.2011, 07:39
(Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2011 08:20 von Y-P.)
Beitrag #2
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
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:
FIFO_bereinigen.vi (Größe: 13,83 KB / Downloads: 317)
Gruß Markus
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
08.05.2011, 17:00
Beitrag #3
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Schwierigkeiten mit variabler Datenerfassung, Zeitstempel und Fifo
Habe auch mal was auf die Schnelle skizziert.
FIFO.vi (Größe: 12,26 KB / Downloads: 276)
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.
|
|
|
08.05.2011, 17:25
Beitrag #4
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
08.05.2011, 18:00
Beitrag #5
|
Markus82
LVF-Neueinsteiger
Beiträge: 3
Registriert seit: May 2011
2010
2008
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!
|
|
|
08.05.2011, 19:11
(Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2011 19:11 von Lucki.)
Beitrag #6
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
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?
|
|
|
08.05.2011, 19:16
Beitrag #7
|
Markus82
LVF-Neueinsteiger
Beiträge: 3
Registriert seit: May 2011
2010
2008
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!
|
|
|
01.06.2011, 09:52
(Dieser Beitrag wurde zuletzt bearbeitet: 01.06.2011 09:53 von dlambert.)
Beitrag #8
|
dlambert
LVF-Gelegenheitsschreiber
Beiträge: 89
Registriert seit: May 2009
2010
2007
en
12359
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.
|
|
|
| |