Hallo, für ein Schulprojekt programmiere ich einen DaNI Roboter. Diesem soll beispielsweise ein Weg vorgegeben werden, welcher dann abgefahren und mittels Sensor abgetastet wird. Die Sensorwerte sowie Encoderdaten und Zeitstempel sollen dabei auf dem sbRIO gespeichert werden und nach der Fahrt auf dem PC ausgelesen und gespeichert werden können.
Momentan hänge ich am Speichern der Daten. Zunächst versuchte ich, die Werte in Network Shared Variables zu schreiben, das hat aber nicht funktioniert, da das Host VI, welches auf die Variabeln zugreifen will stoppt, sobald es die Verbindung zum sbRIO verliert (was ja auch logisch ist).
Meine Frage ist jetzt, wie ich die nach dem Starten des VIs auf dem RIO die Verbindung trennen und wiederherstellen kann, ohne dass mein Host VI stoppt und ich dann die Daten vom RIO wieder bekomme...
Grundsätzliche Idee/Möglichkeiten:
Ein sbRIO bietet einen Filesystem, auf dem du mit den File-VIs ganz normal Daten erzeugen und speichern kannst.
Zum Übertragen der Messdaten bieten sich mehrere Alternativen an:
1) Du holst dir im Host-VI die Dateien vom sbRIO per FTP.
2) Du programmierst eine Client-Server-Architektur: Server ist der PC (Host-VI). Das sendet ein Kommando an das sbRIO, was darauf hin seine gespeicherten Messdaten an den Server sendet.
3) ... (Hier darfst du dir selber etwas überlegen
)
etc. pp.
Gruß, Jens
Das ist mir jetzt echt peinlich, dass ich da nicht drauf gekommen bin
Vielen Dank, ich stell mir da mal was zusammen!
Hallo, ich hab wieder ein neues Problem... die Messdaten konnte ich bisher problemlos speichern, indem ich sie ins Default Data Directory des RIO gespeichert habe. Heute ist mir aufgefallen, dass keine neuen Files mehr auftauchen und nach kurzer Suche hab ich bemerkt, dass die Berichte ins DDD meines PCs geschrieben werden, was aber gar nicht in meinem Sinn ist.
Die einzige Änderung war die Konvertierung in eine Statemachine.
Auch hab ich jetzt das Problem, dass sich die State Machine aufhängt, wenn ich die Netzwerkverbindung trenne - gibts da Probleme falls Netzwerkvariabeln nicht mehr gelesen werden können?
greetz
(15.08.2012 08:52 )M4Z schrieb: [ -> ]Hallo, ich hab wieder ein neues Problem... die Messdaten konnte ich bisher problemlos speichern, indem ich sie ins Default Data Directory des RIO gespeichert habe. Heute ist mir aufgefallen, dass keine neuen Files mehr auftauchen und nach kurzer Suche hab ich bemerkt, dass die Berichte ins DDD meines PCs geschrieben werden, was aber gar nicht in meinem Sinn ist.
Dann läuft das VI auf deinem PC und nicht auf dem sbRIO.
(15.08.2012 08:52 )M4Z schrieb: [ -> ]Die einzige Änderung war die Konvertierung in eine Statemachine.
Hellseherkugel ist leider defekt.
(15.08.2012 08:52 )M4Z schrieb: [ -> ]Auch hab ich jetzt das Problem, dass sich die State Machine aufhängt, wenn ich die Netzwerkverbindung trenne - gibts da Probleme falls Netzwerkvariabeln nicht mehr gelesen werden können?
Hängt von deinem Programm ab.
Kann schon sein.
Gruß, Jens
Danke für die Antwort. Ich war wirklich nicht sehr konkret, sorry dafür.
Dass das VI auf meinem Rechner ausgeführt wird, hat sich mir mittlerweile auch erschlossen, das VI wird von einem Host VI auf meinem Rechner gestartet, könnte das daran liegen? Und wenn ja, gibt es eine Möglichkeit das VI so aufzurufen, dass es auf dem Target ausgeführt wird?
Worauf ich bei den Netzwerkvariabeln herauswollte: Was passiert, wenn die Variable selbst auf dem Target liegt und nur vom Host beschrieben wird, wenn die Verbindung weg ist?
greetz