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 

Datenerfassung - trennen einzelner Zyklen



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.07.2015, 10:00
Beitrag #1

webghost Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Apr 2015

2013
-
EN



Datenerfassung - trennen einzelner Zyklen
Guten Tag zusammen,

ich arbeite im Moment an der Software zur Steuerung, Datenerfassung und Auswertung eines Prüfstands. Die Datenerfassung soll mit dem FPGA einer cRIO (9022) gemacht werden. Das Thema FPGA ist für mich komplettes Neuland. Von NI hab ich ein paar Webcasts angesehen und Nachgelesen, soweit ist mir klar wie das ganze funktioniert.
Nur habe ich noch ein Problem: Der Prüfstand fährt verschiedene Zyklen nacheinander mit verschiedenen Parametern durch (z.B. andere Geschwindigkeit). Die Daten möchte ich nach jedem Zyklus (ein Zyklus dauert grob geschätzt max. 10 sec) auf dem RT System auswerten. Nun benötige ich noch eine Möglichkeit wie ich die einzelnen Zyklen auseinanderhalten kann, denn die Anzahl der Messwerte variert. Wie kann ich dies am besten umsetzen?

Viele Grüsse

PS: Nochmal die Systemdaten: cRIO 9022, 32AI 16bit - 9205, 32DI - 9403 und LV 2013
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.07.2015, 10:38
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenerfassung - trennen einzelner Zyklen
Hallo ghost,

generelle Antwaort auf diese unspezifische Frage:
Du suchst dir ein Messsignal deines Prüfstandes, anhand dessen du das Ende/den Anfang eines Zyklus erkennst. Dieses nutzt du dann, um deine Messdaten den Zyklen zuzuordnen…

Zitat:Software zur Steuerung, Datenerfassung und Auswertung eines Prüfstands.
Da dein System den Prüfstand anscheinend auch steuert, sollte deine Software eigentlich wissen, wann ein neuer Zyklus beginnt!
Was genau ist deine Frage??? Hmm

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

webghost Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Apr 2015

2013
-
EN



RE: Datenerfassung - trennen einzelner Zyklen
Hallo Gerd,

danke schonmal für deine Antwort.

(16.07.2015 10:38 )GerdW schrieb:  
Zitat:Software zur Steuerung, Datenerfassung und Auswertung eines Prüfstands.
Da dein System den Prüfstand anscheinend auch steuert, sollte deine Software eigentlich wissen, wann ein neuer Zyklus beginnt!
Was genau ist deine Frage??? Hmm
Richtig, die Software weiss wann ein neuer Zyklus beginnt. Allerdings ist dies im RT Teil der Software, der ja wesentlich langsamer Abläuft. Hier ist nun mein Problem, wie kann ich die beiden Teile sychronisieren?
Wenn ich die Messwerte des FPGA in einen FIFO schreibe werden sie gebuffert, folgedessen könnten sie zeitlich verzögert auf dem RT System ankommen (oder liege ich hier falsch?). Mein Wunsch bzw Gedanke wäre das jeder Zyklus als separates File oder Array klar abgetrennt auf dem RT System ist.

Gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.07.2015, 11:00
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenerfassung - trennen einzelner Zyklen
Hallo ghost,

Zitat:Allerdings ist dies im RT Teil der Software, der ja wesentlich langsamer Abläuft
Der RT-Teil steuert aber (idealerweise), was im FPGA abläuft. Und der RT-Teil kann mit dem nächsten Zyklus warten, bis die Messdaten für den aktuellen eingesammelt sind…

Zitat:Wenn ich die Messwerte des FPGA in einen FIFO schreibe werden sie gebuffert, folgedessen könnten sie zeitlich verzögert auf dem RT System ankommen (oder liege ich hier falsch?).
Jein. Durch den FIFO kommt es sicherlich zu einer Verzögerung.
Aber:
- Über welche Datenraten reden wir hier?
- Über welche Timings im RT-Teil reden wir hier?
- Wie lange dauert ein Zyklus?

Beispiel: Wenn du im RT alle 10ms den FIFO ausliest, hast du eine Verzögerung von max. 10ms. Setze das in Relation zu deinen Sampleraten und Zykluszeiten!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.07.2015, 11:39
Beitrag #5

webghost Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Apr 2015

2013
-
EN



RE: Datenerfassung - trennen einzelner Zyklen
zu deinen Fragen:
- Ein Zyklus wird im Bereich von 5 - 10 sec liegen.
- der Zeitkritische Teil des RT ist auf 5 ms getimmt.
- Die Datenrate ist noch nicht ganz klar. Fest steht es sollen alle Eingänge der Karten erfasst werden, das wären 32 x 16 bit (AI) + 32 x 1 bit (DI). Damit wären wir bei 544 bit. Die Abtastfrequenz ist noch nicht genau definiert, es sollen aber kurzfristige Peaks erfasst werden, deren Dauer ich noch nicht genau kenne. Ich schätze aber das die Abtastfrequenz in einem Bereich von 10 - 100 kHz liegen wird. Somit dürften es 5440 bis 54400 kbit/s sein.

Die Zyklen sind Bewegungen und sollen flüssig hintereinander sein, daher sollte eine Wartezeit zwischen den Zyklen nicht länger als 20-30 ms dauern.

Gruss und guten Apetitt Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.07.2015, 11:50
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenerfassung - trennen einzelner Zyklen
Hallo ghost,

Zitat:- Ein Zyklus wird im Bereich von 5 - 10 sec liegen.
- der Zeitkritische Teil des RT ist auf 5 ms getimmt.
Wir reden also über eine zeitliche Unschärfe von 5ms/5s = 0.1%? Oder bei 100kHz Samplerate von 500 Samples?

Nochmal: wenn du die Zyklen genau abrechnen willst, benötigst du ein Signal, aus dem der Zyklusstart genau hervorgeht. Dies könnte bei Bewegungen z.B. ein passender Encoder sicherstellen…

Zitat: sollte eine Wartezeit zwischen den Zyklen nicht länger als 20-30 ms dauern.
Das sind immer noch 4-6 Schleifeniterationen deiner RT-Datenerfassung. Das sollte doch ausreichen, um Zyklen zu trennen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.07.2015, 15:30
Beitrag #7

webghost Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Apr 2015

2013
-
EN



RE: Datenerfassung - trennen einzelner Zyklen
Hallo Gerd,

ich versuche mal die Zyklen zu trennen und melde mich dann noch nochmals.

Im Moment habe ich ein Problem mit dem FIFO, er sagt mir das alle DMA belegt sind, nur wo finde ich das entsprechende Fenster dazu?
Vermutlich belegt die Scan Engine, welche ich zuerst verwendet hab, noch DMAs...

Im Anhang befindet sich die entsprechende Meldung.

Gruss


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.07.2015, 15:44
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenerfassung - trennen einzelner Zyklen
Hallo ghost,

jedes NI-FPGA-Target verfügt über eine begrenzte Anzahl DMA-Kanäle. Einige davon belegt die ScanEngine. Wenn du alle DMA-Kanäle benötigst, dann musst du die ScanEngine deaktivieren und deinen FPGA vom Hybrid-Modus auf reinen "nicht-ScanEngine"-Betrieb umschalten (aka konfigurieren)…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.07.2015, 15:57
Beitrag #9

webghost Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Apr 2015

2013
-
EN



RE: Datenerfassung - trennen einzelner Zyklen
Soweit ich das beurteilen kann hab ich das auch gemacht: Rechtsklick auf das Chassis im Project Explorer --> Properties --> Programming Mode und den auf "LabVIEW FPGA Interface" stellen, anschliessend noch Deploy all im Project Explorer.

mfg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.07.2015, 15:58
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenerfassung - trennen einzelner Zyklen
Und zwischendrin das FPGA.vi kompilieren?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: