Hallo zusammen.
Ich habe eine cRIO 9074 und möchte von der Steuerung verschieden Werte auf einem File am PC speichern. In meiner Recherche habe ich herausgefunden dass ich entweder über Shared-Variables oder per Network-Stream die Daten zwischen cRIO und PC austauschen kann. Welche Vor-/ bzw. Nachteile haben diese Methoden im Bezug auf Ausfallsicherheit des PC`s. Werden die Daten irgendwo gepuffert? Wäre nett wenn jemand ein Beispiel-VI zur genaueren Erklärung hat, wie ich da vorgehen muss.
Benutze LabVIEW 2012.
Danke im Vorraus
lg
Domi1991
EDIT: Ich möchte die SCAN Engine benutzen und nciht FPGA.
Hi
Für das Buffern der Daten musst du selbst sorgen. Es gibt weder bei der Shared Variables, noch bei den Networkstreams ein eingebautes Buffern, dass eine längere Unterbrechung (PC aus oder auch nur eine Netzwerkunterbrechung) überbrückt.
Gruß Holger
Danke für die rasche Antwort!
Wie gehe ich fürs Buffern am Besten vor? Stichwörter: Queue, Erkennung des Netzwerksausfalls, Array,...?
gruß
Domi1991
(30.08.2012 13:49 )domi1991 schrieb: [ -> ]Hallo zusammen.
Ich habe eine cRIO 9074 und möchte von der Steuerung verschieden Werte auf einem File am PC speichern. In meiner Recherche habe ich herausgefunden dass ich entweder über Shared-Variables oder per Network-Stream die Daten zwischen cRIO und PC austauschen kann.
Du kannst die Datenübertragung auch selber programmieren, z.B. per TCP/IP oder UDP.
(30.08.2012 13:49 )domi1991 schrieb: [ -> ]Welche Vor-/ bzw. Nachteile haben diese Methoden im Bezug auf Ausfallsicherheit des PC`s. Werden die Daten irgendwo gepuffert? Wäre nett wenn jemand ein Beispiel-VI zur genaueren Erklärung hat, wie ich da vorgehen muss.
Das hat dir BNT schon beantwortet. Bei TCP/IP oder UDP sieht das natürlich nicht anders aus. Für das Puffern auf dem cRIO bei Störungen muss du selber sorgen.
(30.08.2012 13:49 )domi1991 schrieb: [ -> ]EDIT: Ich möchte die SCAN Engine benutzen und nciht FPGA.
Das ist irrelevant.
domi1991 schrieb:Danke für die rasche Antwort!
Wie gehe ich fürs Buffern am Besten vor? Stichwörter: Queue, Erkennung des Netzwerksausfalls, Array,...?
Puffern in einer Queue mag eine Lösung sein, das hängt von der Menge der Daten ab, die du überträgst und mit welchen Ausfallszeiten du zu Recht kommen willst. Bedenke, der RAM des cRIO ist begrenzt.
Wenn du also "sehr viele" Daten puffern willst, dann bleibt bietet sich das Filesystem des cRIO und das Zwischenspeichern in einem Pufferfile an. Auch da ist natürlich irgendwann Schluss, aber es ist etwas mehr möglich als beim Puffern im RAM.
Gruß, Jens
Wenn Du die Daten wegen eines Ausfalls puffern musst, kannst Du ja die daten komprimeiren, um einen längere Zeit zu überbrücken.
Z.B. könntest Du in die Rohdaten mittels Queue in eine andere Schleife schieben, und in dieser Mittelwert, Standardabweichung, Maximum und Minimum über einen bestimmten Zeitraum berechnen und nur die Daten zur Bufferung in eine Datei schreiben. Damit bleiben die wesentlichen Informationen erhalten.
Du kannst auch einen Kurzzeitbuffer mit den Rohdaten anlegen und diesen dann jeweils entsprechend komprimieren.
Gruß Holger