08.08.2012, 10:28
Hallo zusammen, ich hab mal wieder ein kleines Problem.
Ich möchte ein paar Werte messen und dabei zusätzlich die vergangene Zeit seit Programmstart mit aufzeichnen.
Mein erster Ansatz war, ich bestimme zum Start des Programms den aktuellen Zeitstempel des Systems.
Bei jeder Messung wird dann parallel zur Messung ebenfalls ein Zeitstempel bestimmt und aus diesem und dem ersten die Differenz gebildet.
An sich funktioniert das auch, aber irgendwann nach 1000-1070 Messungen ist hier öfter ein Problem aufgetreten.
Das ganze kann ich interessanterweise sogar reproduzieren. Dazu hab ich mal ein vereinfachtes VI angehängt.
Lasse ich das VI mit der "disable structure" laufen, dann bleibt die Zeitdifferenz nach 1000-2000 Sekunden stehen.
Nehme ich aber das delay von 1 ms mit hinzu, dann funktioniert es scheinbar richtig. Zumindest ist mir nach langer Laufzeit kein Problem aufgefallen.
Ich hab auch überlegt das ganze dann mit dem "Tick count" Baustein zu machen. Der liefert mir ja irgendwie einen "millisecond timer value". Jedoch weiß ich nicht genau was dieser Wert angeben soll und die Hilfe ist da auch sehr vorsichtig.
Da das VI später aber auch mehrere Monate am Stück laufen soll wäre mir das mit dem Timestamp lieber.
Hat jemand schonmal so ein ähnliches Phänomen gehabt? Und weiß vielleicht sogar woher das kommt?
Ich möchte ein paar Werte messen und dabei zusätzlich die vergangene Zeit seit Programmstart mit aufzeichnen.
Mein erster Ansatz war, ich bestimme zum Start des Programms den aktuellen Zeitstempel des Systems.
Bei jeder Messung wird dann parallel zur Messung ebenfalls ein Zeitstempel bestimmt und aus diesem und dem ersten die Differenz gebildet.
An sich funktioniert das auch, aber irgendwann nach 1000-1070 Messungen ist hier öfter ein Problem aufgetreten.
Das ganze kann ich interessanterweise sogar reproduzieren. Dazu hab ich mal ein vereinfachtes VI angehängt.
Lasse ich das VI mit der "disable structure" laufen, dann bleibt die Zeitdifferenz nach 1000-2000 Sekunden stehen.
Nehme ich aber das delay von 1 ms mit hinzu, dann funktioniert es scheinbar richtig. Zumindest ist mir nach langer Laufzeit kein Problem aufgefallen.
Ich hab auch überlegt das ganze dann mit dem "Tick count" Baustein zu machen. Der liefert mir ja irgendwie einen "millisecond timer value". Jedoch weiß ich nicht genau was dieser Wert angeben soll und die Hilfe ist da auch sehr vorsichtig.
Da das VI später aber auch mehrere Monate am Stück laufen soll wäre mir das mit dem Timestamp lieber.
Hat jemand schonmal so ein ähnliches Phänomen gehabt? Und weiß vielleicht sogar woher das kommt?