10.11.2015, 10:35
Hallo zusammen,
ich sitze an meiner Masterarbeit und habe einen Batterieteststand gebaut und ihn mit Labview realisiert. Ich habe die Grundstruktur von LabView übernommen (UI Main: alle Meldungen vom PC verarbeiten und ggf. an RT schicken und RT Main: alle ausführenden Prozesse der Hardware steuern...).
Ich fahre bei meinem Teststand ein Lastprofil ab. Dazu lese ich in der UI Main eine Exceltabelle ein, speicher diese in einem Array ab. Dieses Array wird dann im Sekundentakt in der RT Main (dort in der RT Loop: automatic cycle) aufgerufen und schaltet meine Last oder meine Quelle mit den entsprechenden Parametern. Meine Messwerte nehme ich in der UI Main sekündlich mit einem Datum/Zeitstempel auf. Den Zyklus lasse ich unbegrenzt wiederholen und speichere jeden Zyklus in einer eigenen Datei ab. Leider hängt sich mein Programm (meistens beim 2. Zyklus) auf. Das Problem ist, dass alles einfriert und so bspw. den letzten Entladewert beibehält. Das kuriose ist, dass er Teststand manchmal tagelang ohne Probleme abläuft und ein anderes mal dieses Problem auftritt.
Was mir aufgefallen ist, ist, dass während des Problemzyklus der Zeitstempel der csv Datei plötzlich nur noch so aussieht (hh:mm:00), statt wie im Regelfall so hh:mms. Zunächst läuft der Problemzyklus auch fehlerfrei ab (bis auf den komischen Uhrzeitenstempel, der beginnt so ab Zeile 1 im csv Dokument), doch irgendwann hängt sich irgendetwas auf und keine Schleife in der RT Main wird mehr bearbeitet (nicht einmal der Watchdog löst aus...). Ich habe keine Ahnung woran es liegen könnte? Jemand von euch eine Idee?
Die drei angehängten Bilder zeigen meine RT Main Struktur (labview programm), meinen Funktion, die den Zyklus neubeginnt, sobald der alte fertig ist (wiederholen, liegt innerhalb der RT Loop- automatic cycle) und die logging Funktion (eventgesteuert innerhalb meiner UI Main).
Vielen Dank für euere Hilfe.
ich sitze an meiner Masterarbeit und habe einen Batterieteststand gebaut und ihn mit Labview realisiert. Ich habe die Grundstruktur von LabView übernommen (UI Main: alle Meldungen vom PC verarbeiten und ggf. an RT schicken und RT Main: alle ausführenden Prozesse der Hardware steuern...).
Ich fahre bei meinem Teststand ein Lastprofil ab. Dazu lese ich in der UI Main eine Exceltabelle ein, speicher diese in einem Array ab. Dieses Array wird dann im Sekundentakt in der RT Main (dort in der RT Loop: automatic cycle) aufgerufen und schaltet meine Last oder meine Quelle mit den entsprechenden Parametern. Meine Messwerte nehme ich in der UI Main sekündlich mit einem Datum/Zeitstempel auf. Den Zyklus lasse ich unbegrenzt wiederholen und speichere jeden Zyklus in einer eigenen Datei ab. Leider hängt sich mein Programm (meistens beim 2. Zyklus) auf. Das Problem ist, dass alles einfriert und so bspw. den letzten Entladewert beibehält. Das kuriose ist, dass er Teststand manchmal tagelang ohne Probleme abläuft und ein anderes mal dieses Problem auftritt.
Was mir aufgefallen ist, ist, dass während des Problemzyklus der Zeitstempel der csv Datei plötzlich nur noch so aussieht (hh:mm:00), statt wie im Regelfall so hh:mms. Zunächst läuft der Problemzyklus auch fehlerfrei ab (bis auf den komischen Uhrzeitenstempel, der beginnt so ab Zeile 1 im csv Dokument), doch irgendwann hängt sich irgendetwas auf und keine Schleife in der RT Main wird mehr bearbeitet (nicht einmal der Watchdog löst aus...). Ich habe keine Ahnung woran es liegen könnte? Jemand von euch eine Idee?
Die drei angehängten Bilder zeigen meine RT Main Struktur (labview programm), meinen Funktion, die den Zyklus neubeginnt, sobald der alte fertig ist (wiederholen, liegt innerhalb der RT Loop- automatic cycle) und die logging Funktion (eventgesteuert innerhalb meiner UI Main).
Vielen Dank für euere Hilfe.