Hallo,
in meinem aktuellen Projekt werden bis zu 16 Messdaten über NI 9211 Thermocouple Module ausgelesen und in einer TDMS Datei abgelegt. Zusätzlich wird ein externes Netzgerät angesteuert.
Die Werte beider "Geräte" werden in Echtzeit mit einer Abtastrate von 5Hz in zwei Waveform Charts dargestellt und mit der selben Frequenz gespeichert.
Nun zu meinem Problem:
Das VI verliert bei einer Laufzeit von ca. 1 Tag und länger den Bezug zur Echtzeit. Die Systemzeit des PCs läuft der Zeit, die am Wavechart zu sehen ist, voraus, wodurch die Reaktion des Netzgerätes auf Temperaturänderungen der Thermocouples träge wird.
Es macht den Eindruck, als würde das Programm stumpf die 5 Loops pro Sekunde ablaufen und dabei jeglichen Bezug zur Systemzeit außer acht lassen.
Der Übersicht halber möchte ich nicht jedes Detail meines Projektes auflisten. Ich suche nur nach allgemeinen Ansätzen zur Lösung eines solchen Problems (evlt. Synchronisation mit Systemzeit, Umgestalten des Speicherverfahrens, etc.)
Bisherige (erfolglose) Lösungsansätze:
- Herabsetzen der Abtastrate: Da das Problem auch bei einer Abtastrate von 1Hz in gleicher Weise besteht, gehe ich davon aus, dass der Prozessor meines PCs nicht die Fehlerquelle sein sollte, sondern evtl. die Organisation meines Programms
- Reduzierung der Rechenoperationen im Hauptloop auf das Mindeste
- Benutzung eines einfachen Speicherformates (TDMS)
- nach 12 Stunden wird eine neue TDMS-Datei angelegt, um eine einzelne Datei nicht zu groß werden zu lassen
Im angehängten Screenshot ist der Hauptloop meines Programms zu sehen, der 5x pro Sekunde durchlaufen wird. Ich bitte um rücksichtsvolle Antworten (hinsichlich meiner Blockdiagrammstrukturierung und meines Programmierstils), da ich kein Profi in LabView bin
Vielen Dank im Voraus!