LabVIEWForum.de
Lassen sich die FIFOs per Name ansprechen? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW FPGA (/Forum-LabVIEW-FPGA)
+---- Thema: Lassen sich die FIFOs per Name ansprechen? (/Thread-Lassen-sich-die-FIFOs-per-Name-ansprechen)



Lassen sich die FIFOs per Name ansprechen? - Matze - 31.08.2010 07:22

Hallo,

ich verwende mehrere FIFOs, z.B mit den Namen "Druck_0", "Druck_1", ...
Sollten zukünftig weitere Sensoren dazu kommen, muss ich sämtliche SubVIs, die FIFO-Properties oder FIFO-ReadWrite etc. beinhalten ändern.

Schön wäre es, wenn ich die in einer Schleife durch iterieren könnte.
Aktuell wäre es umständlich, das Programm zu erweitern und die Gefahr, etwas zu vergessen ist groß. Ein Beispiel-SubVI

[attachment=29104]

Als Beispiel mal ein Code in C-ähnlicher Syntax, wie ich es gerne hätte (geht schneller, als da was ähnliches zusammen zu klicken):

[code]for (i = 0; i < FIFO.Count; i++)
{


Lassen sich die FIFOs per Name ansprechen? - chrissyPu - 31.08.2010 07:57

Hi,

ich wüsste nicht, dass es geht, aber hast Du vielleicht mal überlegt, weniger FiFos zu nutzen und die Daten der einzelnen Kanäle immer nacheinander loszuschicken? Das ist in den NI-Beispielen so gemacht, gehta ber nur, wenn man nicht auf die einzelnen Daten unabhängig zugreifen will...

ch


Lassen sich die FIFOs per Name ansprechen? - Matze - 31.08.2010 08:25

Hallo,

genau das möchte ich aber.
Ich habe mehrere Kanäle, die ich z.T. gleichzeitig und z.T. nacheinander oder zeitversetzt einlese (meist gleichzeitig).
Daher verwende ich mehrere FIFOs.


Lassen sich die FIFOs per Name ansprechen? - cb - 31.08.2010 21:44

ich weiß gar nicht ob das evtl. bei LV 2010 klappt, aber unter 8.6.1. ist es noch so, dass im FPGA Code keine For-Schleifen akzeptiert werden, bei denen die Anzahl der Elemente, die verarbeitete werden sollen bereits zur Complile-Zeit feststeht.


Lassen sich die FIFOs per Name ansprechen? - Matze - 01.09.2010 05:29

' schrieb:ich weiß gar nicht ob das evtl. bei LV 2010 klappt, aber unter 8.6.1. ist es noch so, dass im FPGA Code keine For-Schleifen akzeptiert werden, bei denen die Anzahl der Elemente, die verarbeitete werden sollen bereits zur Complile-Zeit feststeht.
Normalerweise optimiert das ein guter Compiler so, dass er so eine Schleife durch festen Code ersetzt. Wobei ich die NI- bzw. Xilinx-Compiler natürlich nicht kenne. Aber es kann natürlich sein, dass es so ist, wie du schreibst.

Echt schade, dass man die FIFOs nicht über Namen oder Indizes ansprechen kann.


Lassen sich die FIFOs per Name ansprechen? - cb - 01.09.2010 08:18

ich hab sogar folgendes festgestellt (mit LV 8.6.1):

Wenn man eine For-Schleife z.B. immer wieder innerhalb einer While-Schleife durchläuft und die Anzahl der Durchläufe der For-Schleife durch eine Konstante angibt ("N"-Terminal), dann meckert der Compiler, wenn die Konstante außerhalb der While-Schleife plaziert ist und über einen Tunnel (der While-Schleife) mit dem N-Terminal verbunden ist. Ist die Konstante innerhalb der While-Schleife plaziert und direkt - ohne Tunnels, etc. - mit der For-Schleife verbunden klappt es

im übrigen hab ich in meinem letzten Post falsch formuliert, richtig muss es heißen:
bei LV 8.6.1 akzeptiert der Compiler keine For-Schleifen, bei denen die Anzahl der Durchläufe nicht schon bereits zur Compile-Zeit festgelegt ist - andersrum: es gibt keine dynamischen Arrays in LV-FPGA, und auch keine die evtl. den Anschein haben, dass sie dynamisch sein könnten.