Hallo Herby,
du kannst einen µC mit einem begrenzten Softwareumfang (bzw. RTOS) nicht mit Windows vergleichen. Du gibst in LV nur den Wunsch eines bestimmten Delays vor. Ob das OS diesen Wunsch korrekt umsetzt, ist nirgendwo garantiert... Außerdem summieren sich diese Fehler ja auf: wenn du jedesmal 99.9ms statt genau 100ms wartest, hast du nach 10 Iteration (=~1s) schon einen Versatz von 1ms. Und: du nimmst nirgends eine echte Zeitermittlung vor: der Chart
berechnet nur die Zeitanzeige, Formel siehe oben. Merke: Windows ist
kein RTOS! Außerdem sind die üblichen PC-Uhren alles andere als genau...
Zitat:Zunächst erst mal finde ich es generell seltsam, wie LV die Zeit berechnet.
Wieso? Du sagst dem Chart, er möge die X-Achse aus Offset+Counter*Faktor berechnen - und das Ergebnis bitte
als Zeit formatiert darstellen. Genau das wird auch gemacht! Wenn du die Werte nicht mit einem zeitlichen Abstand, der dem Faktor entspricht, bereitstellst, kann das Ergenbis der Rechnung natürlich nicht korrekt sein...
Zitat:Und dann natürlich die "kritischt Frage": wie schreibt man denn dann ein VI, das folgendes erfüllt:
- ich lese alle 500 ms einen Messwert über die serielle Schnittstelle ein (klappt schon)
- stelle die Messwerte in einem Diagramm mit x-Zeitachse dar
- und möcht dann z.B. wissen bzw. ablesen, wie groß der Meßwert um 12:03:10 Uhr war ??
Dann musst du:
- die Zeit auch wirklich messen (GetDateTime ist bis WinVista (?) auf eine Auflösung von 15ms beschränkt...)
- die Zeitwerte mit speichern
- einen XY-Graph verwenden, dem du die Zeitwerte als X-Achse vorgibst