09.10.2015, 07:07
Hallo liebe Leute,
ich möchte eine Datenerfassung unter cRIO programmieren.
Dazu verwende ich unter anderem das cRio- Modul 9223 in einem 9104- Chassis.
Das Modul NI9223 ist ja schön schnell mit 1 MS. das benötige ich auch, weil ich schnell auf Signale reagieren muss. Es soll vom Auftreten eines Events bis zur Abschaltung maximal 10 µs dauern.
Nun will man ja auch wissen, wie es zu der Abschaltung gekommen ist.
Das ist der Grund für den Transientenrecorder (bei uns heisst das Ding so; ist im Prinzip ein Ding, das die Geschehnisse um ein Ereignis mit genügender Auflösung speichert)
Nun bin ich auf der Suche nach prinzipiellen Designideen.
Ich hatte mit, naiver weise, vorgestellt, dass ich einen Ringspeicher baue, in den ich mit z.B. 100 kHz die Messwerte schreibe. Die Größe des Speichers sollt ca. 100.00 Messwerte sein, damit man eine Sekunde speichern kann.
Ich wollte deshalb einen Ringspeicher nehmen, weil es ja nicht Not tut über DMA immer auf das RealTime- Target zu schreiben. Da entsteht ja ein heftiger Datenstrom. Vor allem weil ich 4 Kanäle benötige.
Gibt es nun ein Event, dann wird das Schreiben in den Ringspeicher (verzögert / wegen pre- und posttrigger) und er wird dann ausgelesen.
Das muss nicht schnell sein, weil dann die Anlage eh ausgefallen ist.
Aber Fifo vom RealTime- Target auszulesen scheint auch nicht ohne weiteres Möglich zu sein. Somit muss man sich da dann auch noch einen Trick überlegen.
Aus diesem Grund hier dieser Post.
Mal sehen, was ihr da für Ideen habt.
Danke,
Rüdiger
ich möchte eine Datenerfassung unter cRIO programmieren.
Dazu verwende ich unter anderem das cRio- Modul 9223 in einem 9104- Chassis.
Das Modul NI9223 ist ja schön schnell mit 1 MS. das benötige ich auch, weil ich schnell auf Signale reagieren muss. Es soll vom Auftreten eines Events bis zur Abschaltung maximal 10 µs dauern.
Nun will man ja auch wissen, wie es zu der Abschaltung gekommen ist.
Das ist der Grund für den Transientenrecorder (bei uns heisst das Ding so; ist im Prinzip ein Ding, das die Geschehnisse um ein Ereignis mit genügender Auflösung speichert)
Nun bin ich auf der Suche nach prinzipiellen Designideen.
Ich hatte mit, naiver weise, vorgestellt, dass ich einen Ringspeicher baue, in den ich mit z.B. 100 kHz die Messwerte schreibe. Die Größe des Speichers sollt ca. 100.00 Messwerte sein, damit man eine Sekunde speichern kann.
Ich wollte deshalb einen Ringspeicher nehmen, weil es ja nicht Not tut über DMA immer auf das RealTime- Target zu schreiben. Da entsteht ja ein heftiger Datenstrom. Vor allem weil ich 4 Kanäle benötige.
Gibt es nun ein Event, dann wird das Schreiben in den Ringspeicher (verzögert / wegen pre- und posttrigger) und er wird dann ausgelesen.
Das muss nicht schnell sein, weil dann die Anlage eh ausgefallen ist.
Aber Fifo vom RealTime- Target auszulesen scheint auch nicht ohne weiteres Möglich zu sein. Somit muss man sich da dann auch noch einen Trick überlegen.
Aus diesem Grund hier dieser Post.
Mal sehen, was ihr da für Ideen habt.
Danke,
Rüdiger