INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Labview fpga Daten loggen



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!

16.04.2013, 10:42 (Dieser Beitrag wurde zuletzt bearbeitet: 16.04.2013 10:44 von erik.sonnenschein.)
Beitrag #1

erik.sonnenschein Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Apr 2013

2011
2013
kA



Labview fpga Daten loggen
[/u]Hallo,
also ich bin Student und komplett neu in Labview. Ich habe die Aufgabe als Forschungsprojekt, für eine verfahrenstechnische Anlage (Wassertanks, Pumpe, Heizung, Proportionalventil etc.) verschiedene Strecken (Sprungantworten) mit Labview aufzunehmen. Dabei soll möglichst genau gemessen werden, um verschiedene Messmethoden zu vergleichen: einmal Labview, einmal per Hand, einmal eine Software, die zu der Anlage war. Ich habe eine cRIO 9074. Dabei will ich zum Beispiel die Pumpe (digitaler Ausgang) einschalten und dann den Füllstandssensor (analoger Eingang) mit Zeitstempel auslesen und in eine Datei schreiben.

1. reicht es, bei einem neuen Projekt ein FPGA Projekt mit Assistent einzurichten oder soll ich ein Echtzeitprojekt mit FPGA Interface machen: da weiß ich allerdings nicht, was ich einstellen soll, hab bisher immer FPGA Projekt genommen

2. habe jetzt schon mehrmals gelesen, dass ich ein VI brauche, welches auf der CRIO ausgeführt wird und einen DMA FIFO enthällt und ein VI, welches auf dem Host läuft. Brauche ich für mein Projekt dann auch ein VI auf dem RT Controller des CRIO ? Leider habe ich keine Ahnung, wie das mit den FIFOs konfiguriert werden muss.

Könnt ihr mir helfen?

Im Bild sieht man die Projektstruktur und das Blockdiagramm, des VIs auf der CRIO, mehr steht bisher noch nicht, da ich kompletter Neuanfänger bin. Auf dem Blockdiagramm Host.VI muss dann das subvi "fpga daten senden" eingefügt werden oder das FIFO Element? Gibt es beim Speichern der FIFO Daten noch etwas zu beachten?

   
   

mfG

PS: Falls es ein sehr einfaches Beispiel oder Tutorial dazu gibt und ich nur zu doof war, es zu findent, schickt mir doch einfach nen Link oder ein Anstoß, wo man gucken kann.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.04.2013, 10:48 (Dieser Beitrag wurde zuletzt bearbeitet: 16.04.2013 10:50 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Labview fpga Daten loggen
Hallo Erik,

Zitat:also ich bin Student und komplett neu in Labview.
Und dann gleich RT mit FPGA???

Tutorials gibt es bei NI.com: einfach mal im Suchfeld rechts oben "FPGA tutorial" eintippen...
Oder das hier. Oder hier: http://www.ni.com/fpga

Zu 1. und 2.:
Ist es wirklich nötig, den FPGA einzubeziehen? Deine Aufgabenbeschreibung klingt nicht nach "schneller" Datenerfassung.
Wenn du dich auf den RT-Teil beschränkst, kommst du mit der ScanEngine auch auf (locker) 100 Hz Samplerate...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.04.2013, 09:46
Beitrag #3

erik.sonnenschein Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Apr 2013

2011
2013
kA



RE: Labview fpga Daten loggen
ja also ich kann den Großteil der Aufgabe meinetwegen auch mit Scaninterface machen, soll aber auf jeden Fall einmal Scaninterface und FPGA direkt vergleichen; ab welcher Dynamik zB wird das Scaninterface schlechter als das FPGA; falls dies mit der Streckendynamik nicht festzustellen ist, wäre das natürlich auch ein Ergebnis.
und die Funktionalität des Programms ist ja an sich "einfach".
Ich will ja prinzipiell nur einen Eingang ansprechen und einen Ausgang messen und beides dann mit Zeitstempel aufzeichnen. (Auswertung etc. kann ich auch mit Excell oder Matlab machen)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.04.2013, 15:53
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Labview fpga Daten loggen
Hallo Erik,

Zitat:soll aber auf jeden Fall einmal Scaninterface und FPGA direkt vergleichen
Für jede Vorgehensweise (nur ScanEngine, FPGA, Verbindung von RT-cRIO mit Host-PC) gibt es fertige Projektvorlagen und Beispiele, die mit LabVIEW mitinstalliert werden. Einfach dort mal stöbern...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.04.2013, 10:30
Beitrag #5

erik.sonnenschein Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Apr 2013

2011
2013
kA



RE: Labview fpga Daten loggen
vielen Dank, hatte die Beispieldateien noch garnicht gefunden.
hab das jetzt auch schon ganz gut hinbekommen, im Attachment sind die Blockdiagramme und Projektexplorer
allerdings habe ich jetzt immer noch ein paar Fragen:
erstens: was sind die Anzahl an Elementen, die ich für das FIFO Element einstellen muss (nur 1 Element, wenn ich von 1 Sensor lesen will)
was sagt der Timeoutwert ? kann ich den auf 0 lassen, wenn ich mit maximaler Geschwindigkeit lesen will, oder soll ich einfach einen kleinen Wert einstellen ?

beim RT level 2 (s. Bild) sind die 2 Loops für den Deterministischen und den anderen Teil, diese hat der Wizard erstellt und ich hab sie noch vereinfacht.

Ich bekomme ja Festkommazahlen von meinem Sensor wenn bei der Anzeige 0,xxxxx als Füllstand steht.
Wenn ich Festkomma für das FIFO Element einstelle, kann ich das auf RT Level 1 (s. Bild) nicht in die Netzwerkvariable schreiben,
er sagt, dass es ein 1 D Array von Festkommazahlen ist, aber bei der Variable kann ich nur Array von I16 - 64 oder U16 - 64 einstellen, Festkomma kann man auch auswählen allerdings nicht als Array.
Wie müssen die Daten formatiert werden, damit ich sie mir auf dem Rechner jetzt anzeigen und speichern kann? Wieso ist das überhaupt ein 1 D Array hätte ja eher 2 D gedacht, zB ne Matrix mit 2 Spalten, die erste der Wert und die 2. der Zeitstempel dazu ?
Kann man den Zeitstempel dann auch getrennt rauslesen?

Gruß Erik


Angehängte Datei(en) Thumbnail(s)
               
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.04.2013, 10:40
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Labview fpga Daten loggen
Hallo Erik,

Zitat:erstens: was sind die Anzahl an Elementen, die ich für das FIFO Element einstellen muss (nur 1 Element, wenn ich von 1 Sensor lesen will)
Hier gibst du an, wieviele Werte du aus der Queue (FIFO) lesen willst. Auch wenn du nur Werte eines Sensors in den FIFO schreibst, kannst du trotzdem auf der RT-Seite mehrere Messwerte auf einmal aus dem FIFO lesen. Größere Datenpakete sind mit weniger Overhead zu handhaben als Einzelwerte...

Zitat:was sagt der Timeoutwert ? kann ich den auf 0 lassen, wenn ich mit maximaler Geschwindigkeit lesen will, oder soll ich einfach einen kleinen Wert einstellen ?
TimeOut gibt an, wie lange (auf RT-Seite) auf Werte im FIFO oder auf FPGA-Seite bei voller FIFO-Queue auf Platz im FIFO gewartet werden soll. Den TimeOut kannst du nach eigenem Gutdünken setzen - und zur Fehlerüberwachung nutzen: Wenn der FPGA einen TimeOut wg. vollem FIFO feststellt, dann arbeitet der RT-Host nicht. Wenn der RT-Host keine neuen Werte bekommt, dann arbeitet der FPGA-Teil nicht (aus welchen Gründen auch immer)...

Zitat:Wenn ich Festkomma für das FIFO Element einstelle, kann ich das auf RT Level 1 (s. Bild) nicht in die Netzwerkvariable schreiben
Man kann ein FXP aber auch immer in ein SGL/DBL wandeln (auf dem RT) und dann versenden...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.05.2013, 08:32
Beitrag #7

erik.sonnenschein Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Apr 2013

2011
2013
kA



RE: Labview fpga Daten loggen
also mittlerweile klappt es doch ganz gut;
ich habe es zumindest schonmal geschafft, mit dem fpga Daten in den FIFO zu schreiben und am RT den FIFO auszulesen und per Netzwerk an den Host zu verschicken;
wie kriege ich es denn hin, dass ich zu jedem Messwert den genauen Zeitpunkt bekomme ? Hab jetzt 2 mögliche Vorschläge im Attachment:
Wie beim Scaninterface habe ich einfach einen Cluster erstellt, 1 Element Messwert das andere Zeitpunkt (Timerwert). Allerdings wird das ja durch die Schleifentaktung vorgegeben. Und auf dem FPGA Level ist die Taktung ja schneller zB auf dem RT Level mit 10 ms FIFO auslesen und versenden und auf dem FPGA mit 1 ms messen. Dann würde der Cluster auf dem RT ja nur alle 10 ms neue Zeitwerte haben.
Wenn ich das allerdings auf dem FPGA Level machen will, kann ich ja keinen Cluster in den FIFO schreiben. Und wenn ich einen neuen FIFO für die Zeit erstelle, woher weiß ich denn, welcher Messwert zu welchem Zeitwert gehört?
ps: ich hab auch das Vergleichprogramm mit ScanEngine mal mit reingepackt. Dort schaffe ich "nur" 20 ms. Danach werden die Messpunkte nicht mehr äquidistant verteilt. Woran liegt das?
Ich meine ich brauche wahrscheinlich sowieso keine schnellere Dynamik als 20 ms messen...


Angehängte Datei(en) Thumbnail(s)
               
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.05.2013, 09:29 (Dieser Beitrag wurde zuletzt bearbeitet: 24.05.2013 09:32 von erik.sonnenschein.)
Beitrag #8

erik.sonnenschein Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Apr 2013

2011
2013
kA



RE: Labview fpga Daten loggen
oder kann ich davon ausgehen, dass die Wartezeit in ms genau der Abstand zwischen den Messwerten ist? Schön wäre es natürlich trotzdem, wenn die Zeitwerte gleich in einer 2. Spalte stehen.
weitere Idee wäre ein Array erstellen und in einer For Schleife nacheinander Zeit und Messwert zu schreiben ? aber das wäre dann auch nicht gleichzeitig ?
was ist denn nun die beste Variante ?

ps: wenn man den Zeitstempel bei den Variablen einstellt, krieg ich für die gespeicherte Datei abwechselnd 0 und 1 in der Zeitspalte.
Hier hat jemand das gleiche Problem ohne Antwort bisher.
http://www.labviewforum.de/Thread-Timestamp-erstellung
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.05.2013, 09:44 (Dieser Beitrag wurde zuletzt bearbeitet: 24.05.2013 09:44 von GerdW.)
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Labview fpga Daten loggen
Hallo Erik,

du kannst im FPGA einen (relativen) Zeitstempel erzeugen, Beispiele dazu gibt es bei den CAN(open)-Beispielen für FPGA. Diesen Wert (effektiv nur ein µs-Counter) kannst du doch einfach mit deinen Messwerten in den selben FIFO schieben!

Du musst nur sicherstellen, dass der FIFO synchronisiert bleibt, d.h. die Zuordnung von Timestamp und Messwert sowohl für FPGA als auch RT gleich bleibt. Ich habe sowas gern durch einen konstanten "Header"-Wert gelöst, der ebenfalls in den FIFO geschrieben wird...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.05.2013, 10:41
Beitrag #10

erik.sonnenschein Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Apr 2013

2011
2013
kA



RE: Labview fpga Daten loggen
Der relative Zeitstempel ist doch der TickCount zB in ms oder us o.ä. ? Und den kann ich auch nur in denselben FIFO schreiben, wenn ich das nacheinander mache zB mit einer FOR Schleife? weil die FIFOs keine Cluster oder Arrays erlauben? Was meinst du mit einem "Header" Wert? Vor jeden Messpunkt noch einen Index setzen ?
Und wenn ich das zB so wie eben erwähnt nacheinander schreibe, also Messwert, Zeitstempel, Messwert usw, dann weiß ich doch, dass der Messwert zeitlich zwischen den beiden Zeitstempeln liegt oder nicht?
Sorry für die doofen Fragen Smile
mfG und Danke für die schnellen Antworten
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
  Sind Referenzen auf FPGA-Variablen in FPGA vi möglich? Felix777 2 7.932 26.10.2015 20:41
Letzter Beitrag: Felix777
  FPGA-Referenz öffnen: FPGA-VI nicht kompiliert LauraP. 9 13.241 17.03.2015 16:58
Letzter Beitrag: LauraP.
  Literaturhinweis: A new Pulse-Pattern Generator based on LabVIEW FPGA BNT 2 5.700 02.05.2012 14:52
Letzter Beitrag: BNT
  LabView + FPGA simulieren lambda89 3 8.000 16.04.2012 12:54
Letzter Beitrag: Criso
  FPGA-Inbetriebnahme mit Labview fk046 1 5.612 21.10.2010 18:58
Letzter Beitrag: BNT
  Labview FPGA Probleme mit Timing chefweb 8 10.411 20.10.2010 15:59
Letzter Beitrag: Matze

Gehe zu: