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!
ich habe nur ein kurze Frage: ich lasse ein VI auf einem Programm laufen und lege einen Indicator an. Den kann ich ja dann auf dem Front Panel sehen. Wie werden die Daten vom FPGA an den Host gesendet, damit ich die auf dem Bildschirm ablesen kann. Ändert sich die Methode, wenn ich den Indicator bspw. in ein Waveform Chart ändere?
dafür gibt es Beispiele, die mit LabVIEW mitgeliefert werden. Einfach mal anschauen!
Zitat:Wie werden die Daten vom FPGA an den Host gesendet
Das hängt davon ab, wie du es programmierst…
- Indicator auf dem FPGA-VI per Methode/Property im RT-Host auslesen
- FIFO im FPGA beschreiben und im RT-Host auslesen
Zurück zur Ausgangsfrage: Auf dem FPGA läuft am Ende des Entwicklungsprozesses ein "kompilierter" Bitfile - ohne Frontpanel, das siehst du dann nicht mehr auf dem Host.
Controls und Indikatoren des ursprünglichen VI-Frontpanel fragst du über die entsprechenden FPGA-Read/Write-Methoden aus deinem Host-System (meist ein RT-System) ab. Die Kommunikation läuft hierbei bei einem cRIO über einen 32bit breiten Bus.
Es macht relativ bis gar keinen Sinn, auf einem FPGA ein Chart zu verwenden, viel zu viel Resourcenverbrauch...
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!
sorry hatte leider ein paar Tage keine Zeit um mit LabView zu arbeiten, deswegen melde ich mich jetzt erst.
Ja, VI auf Programm ist wohl Quatsch mit Soße! Meinte wohl eher VI auf FPGA. Hier läuft ein PXI-7853R.
Ich habe auch nur dieses eine VI und kein Host VI.
Aber auch das FPGA VI besitzt ja ein Frontpanel. Die Daten werden ja auch auf das Frontpanel übertragen, wenn ich im FPGA VI einen Indicator setze. Das Frontpanel wird ja aber auf dem Host-Rechner angezeigt. Also müssten die Daten ja irgendwie auf den Host übertragen werden, denke ich. Und dafür kann ich ja keine Methode einstellen, wenn ich mich nicht vertue.
Gleiches würde mich auch für Controls interessieren.
Habe ich Jens richtig verstanden, dass die Daten per Read/Write Control übertragen werden und nicht per DMA FIFO oder User defined I/O variables?
Zu dem Chart: ich wollte gucken, ob alles korrekt übertragen wird. Ich habe im Chart aber nur eine Null-Linie gesehen. Liegt das daran, dass die Daten einfach verloren werden?
Auch eine R-Serie als FPGA-Target ändert nichts Wesentliches an meiner Aussage.
Sobald dein VI auf dem FPGA-Target als Ziel ausgeführt wird, wird es erstens in einen Bitfile kompiliert und es besitzt nicht mehr wirklich ein Frontpanel - zumindest keines, das sich wie bei einem RT-Target oder wie unter Windows noch verlässlich aktualisiert oder bedienen lässt. Debugging eines FPGA-VIs über diesen Weg führt nicht zum Ziel.
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!
Ok. Das ist schonmal gut zu wissen. Aber dann verstehe ich trotzdem immer noch nicht wie "Indicators" ihre Werte auf dem Frontpanel wechseln können. Und wie verhält es sich mit "Controls"? Die können ja schon im laufenden Betrieb noch geändert werden.
Als Beispiel einfach:
Control gibt Indicator aus. Dann kann ich ja auch im laufenden betrieb den Wert von Control ändern und der Indicator gibt das dann auch aus!
Siehe angehängtes VI.
du musst zwischen Debugging und Produktiv-Betrieb unterscheiden!
Wenn du bei einem FPGA-VI in der Entwicklungsumgebung etwas sehen kannst, dann ist das ein reines Debugging-Feature!
In einem Produktiveinsatz mit Executable auf der PC/RT-Hostseite und einem Bitfile auf dem FPGA hast du eben kein FPGA-Frontpanel mehr…
Wie man Daten zwischen Host und FPGA austauscht, erläutern die diversen Projekt-Vorlagen zum FPGA!
Das ist eine Erklärung mit der ich etwas anfangen kann :-) Das war mir überhaupt nicht klar, dass das nur zum debuggen da ist. Bin halt ein neuling was LabVIEW angeht. Mein Prof. konnte mir das auch nicht erklären. Könnt ihr mir vielleicht nochmal ein Buch empfehlen, das so technische Hintergründe ein bisschen besser beschreibt? Ich habe mir deine Links schonmal angeschaut und bin auch so durh googeln darauf gekommen, aber die ganzen Videos sind sehr zeitintensiv und man schlecht nochmal kurrz gezielt nachlesen oder gucken.Wenn sie auch ansonsten sehr gut gemacht sind!!!
Ich kann halt ein wenig C programmieren und es ist grad eine mittelgroße Umstellung für mich, das auf LabVIEW zu übertragen.
Nochmal kurz dann eine Frage, ob ich es auch richtig verstehe: Es macht also gar keinen Sinn Controls (bis auf das auch wichtige Debugging) in einem FPGA VI zu haben, weil sich daran auch nichts mehr ändert?!
Zitat:Es macht also gar keinen Sinn Controls (bis auf das auch wichtige Debugging) in einem FPGA VI zu haben, weil sich daran auch nichts mehr ändert?!
Falsch. Controls/Indicator im FPGA-VI sind die einfachste Methode, um Daten mit einem Host-VI auszutauschen. Nur erfolgt dieser Datenaustausch programmatisch über "Read/Write Control"-Methoden-Aufrufe!
So sieht das z.B. aus:
Wichtig im Bild ist die FPGA-Referenz und die ReadWriteControl-Methode, mit der ein Control im FPGA-VI namens "AO0-3" beschrieben wird…
Okay! Dann hab ich jetzt ein stimmiges Bild im Kopf! Read-/Write-Control sagt mir auch was und verstehe ich einigermaßen! Jedenfalls das was in der Hilfe steht.
Noch eine Frage zum Debugging: das läuft dann auf em Rechner?