LabVIEWForum.de
Datenaustausch auf RT_FIFO to SharedVariable - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW RealTime (/Forum-LabVIEW-RealTime)
+---- Thema: Datenaustausch auf RT_FIFO to SharedVariable (/Thread-Datenaustausch-auf-RT-FIFO-to-SharedVariable)



Datenaustausch auf RT_FIFO to SharedVariable - Brainbug - 30.10.2015 16:27

Hallo liebe LabVIEW-Gemeinde!

Ich tüftle gerade an einer Sache die ich einfach nicht in den Griff bekomme.

Zum Problem: Construction
Ich schreibe Daten auf dem FPGA in 3 FIFOs die ich dann auf der RT von einer Schleife in eine andere übergeben möchte. Bei diesem Versuch geht das Programm in die Knie, weil der Austausch zwischen den Schleifen zu lange dauert. Außerdem kommt es zu Datenverlust.

Zur Konfig:
FIFOs
1. FIFO Requested Num of Elements 1023
2. FIFO Requested Num of Elements 2047
3. FIFO Requested Num of Elements 4095

Shared Variables:
1. SV Einzelprozess, Multielement, Num of Arrays 10.000, Num of Elements 10
2. SV Einzelprozess, Multielement, Num of Arrays 10.000, Num of Elements 10
3. SV Einzelprozess, Multielement, Num of Arrays 10.000, Num of Elements 80

cRIO:
sendet alle 1000 µs
1 Wert in 1.FIFO
4 Werte in 2.FIFO
8 Werte in 3.FIFO

Die Zeit des Sendens soll variabel sein, wobei 1000 µs (1 kHz) jedoch die schnellste ist.
Die langsamste ist 20 ms (50 Hz).

Weitere Anmerkungen:
So wie es aktuell dasteht kommt es nach ca. 3000 Werten zu erheblichen Verzögerungen bis hin zum Verbindungsabbruch zum FPGA. Außerdem werden Werte teils falsch übergeben. Das bedeutet: Ich sende hardcodierte Werte vom FPGA an die RT, die dort falsch dargestellt werden. Mir ist leider unerklärlich warum das geschieht.

Fragen:
Sind die Shared Variables ungünstig konfiguriert? Oder gehe ich das generell falsch an?
Wie stelle ich sicher, dass alle aus dem FIFO gelesenen Werte auch in die andere Schleife bzw. an das UI übergeben werden? Ist die UI da nicht ein Flaschenhals? Reicht das Puffern der Daten in NetworkSharedVariables? Ich rechne so mit ca. 100.000 Werten pro 1 min 40 sek @ 1000 µs Sendezyklus vom FPGA.

Ich wäre für eure Hilfe mehr als dankbar, da ich völlig auf dem Schlauch stehe und keinen Ansatz geschweige denn Lösung finde. Das komplette Projekt liegt bei. Es ist ein generiertes Projekt, daher ist eine Menge drin die nicht benötigt wird. Es geht um das „FPGA.vi“ & „ RT.vi“

Ps: Sorry für den Quick&Dirty-Style! Angel_not

Cheers sagt
Brainbug


RE: Datenaustausch auf RT_FIFO to SharedVariable - Brainbug - 03.11.2015 07:14

Hat denn niemand einen Anhaltspunkt für mich? Huh
Ich erwarte hier absolut keine Komplettlösung. Finde keinen Ansatz und komme einfach nicht weiter. Ein paar helfende Sätze wären Gold für mich wert! 2hands