-> Hier kostenlos registrieren
Hallo,
ich habe folgendes Problem:
Ich verwende Twincat3 (unter Windows 7 64 Bit) um die Daten eines Helligkeitsensors über Funk (EnOcean) auszulesen und aufzuzeichnen. Die Daten werden in einem Array abgespeichert und in einem Diagramm visualisiert.
Ich verwende einen BK9050 und eine KL6581.
Bis hierher funktioniert auch alles, das Programm wird ausgeführt und die Sensorwerte ausgelesen, umgerechnet und im Array gespeichert.
Im nächsten Schritt möchte ich die Messwertaufnahme zeitlich skalieren und hier beginnt mein Problem:
Das Programm läuft mit einer Zykluszeit von 50 ms. Jeden Zyklus lasse ich eine Integervariable um den Wert 1 erhöhen. Nach 200 Zyklen hat die Variable folglich den Wert 200 haben und es sollten 10 Sekunden vergangen sein. Zu diesem Zeitpunkt wird die Variable wieder auf 0 gesetzt und das zählen beginnt von vorne.
Leider ist es so, dass das Programm nicht im Takt läuft. Die Zyklen verlaufen unregelmäßig und es dauert ca. 35-40 Sekunden (nachgemessen mit der Stoppuhr), bis die Integervariable den Wert 200 hat.
An der Auslastung des Systems kann es nicht liegen, der Prozessor arbeitet im unteren Prozentbereich, zudem wird nicht viel Programmcode ausgeführt.
Alternativ habe ich die Verwendung eines Timers (TON) probiert. Hier habe ich das gleiche Problem, dass der Timer viel zu langsam und unregelmäßig nach oben zählt.
Vielleicht weiß jemand, woran es liegen könnte?
Vielen Dank für die Hilfe,
D4Rkl1Gh7
ich habe folgendes Problem:
Ich verwende Twincat3 (unter Windows 7 64 Bit) um die Daten eines Helligkeitsensors über Funk (EnOcean) auszulesen und aufzuzeichnen. Die Daten werden in einem Array abgespeichert und in einem Diagramm visualisiert.
Ich verwende einen BK9050 und eine KL6581.
Bis hierher funktioniert auch alles, das Programm wird ausgeführt und die Sensorwerte ausgelesen, umgerechnet und im Array gespeichert.
Im nächsten Schritt möchte ich die Messwertaufnahme zeitlich skalieren und hier beginnt mein Problem:
Das Programm läuft mit einer Zykluszeit von 50 ms. Jeden Zyklus lasse ich eine Integervariable um den Wert 1 erhöhen. Nach 200 Zyklen hat die Variable folglich den Wert 200 haben und es sollten 10 Sekunden vergangen sein. Zu diesem Zeitpunkt wird die Variable wieder auf 0 gesetzt und das zählen beginnt von vorne.
Leider ist es so, dass das Programm nicht im Takt läuft. Die Zyklen verlaufen unregelmäßig und es dauert ca. 35-40 Sekunden (nachgemessen mit der Stoppuhr), bis die Integervariable den Wert 200 hat.
An der Auslastung des Systems kann es nicht liegen, der Prozessor arbeitet im unteren Prozentbereich, zudem wird nicht viel Programmcode ausgeführt.
Alternativ habe ich die Verwendung eines Timers (TON) probiert. Hier habe ich das gleiche Problem, dass der Timer viel zu langsam und unregelmäßig nach oben zählt.
Vielleicht weiß jemand, woran es liegen könnte?
Vielen Dank für die Hilfe,
D4Rkl1Gh7