27.02.2023, 10:16
Hallo zuammen,
folgendes Szenario:
- "Hauptschleife" liest Waveforms aus Queue und stellt sie im Graph dar
- Asynchrone DAQ-Schleife liest cDAQ-USB-Chassis/Module aus und schiebt die Waveforms in die Queue
- Das läuft prima und flüssig über Tage...
- Allerdings nur, wenn der der Laptop nicht den Monitor ausschaltet.
- Ich hab mir die Anzahl der Queue-Elemente ausgeben lassen...und wenn man den Laptop sperrt oder wenn der Timeout für den Bildschirm zuschlägt, dann wird die Queue zugeballert. Die restliche Applikation, also das erfassen, läuft immer weiter. Irgendwann ist der Puffer der Hardware voll und es wird ein Fehler ausgegeben.
- Wenn der Monitor wieder aktiv wird, dann kann man sehen, wie die Anzahl der Queue-Elemente ruckzuck wieder abnimmt, ab da wird wieder was augelesen und dargestellt.
Kann mir das einer erklären? Gibts irgendwelche Einschränkungen wegen dem UI-Thread?
Gruß
Achim
folgendes Szenario:
- "Hauptschleife" liest Waveforms aus Queue und stellt sie im Graph dar
- Asynchrone DAQ-Schleife liest cDAQ-USB-Chassis/Module aus und schiebt die Waveforms in die Queue
- Das läuft prima und flüssig über Tage...
- Allerdings nur, wenn der der Laptop nicht den Monitor ausschaltet.
- Ich hab mir die Anzahl der Queue-Elemente ausgeben lassen...und wenn man den Laptop sperrt oder wenn der Timeout für den Bildschirm zuschlägt, dann wird die Queue zugeballert. Die restliche Applikation, also das erfassen, läuft immer weiter. Irgendwann ist der Puffer der Hardware voll und es wird ein Fehler ausgegeben.
- Wenn der Monitor wieder aktiv wird, dann kann man sehen, wie die Anzahl der Queue-Elemente ruckzuck wieder abnimmt, ab da wird wieder was augelesen und dargestellt.
Kann mir das einer erklären? Gibts irgendwelche Einschränkungen wegen dem UI-Thread?
Gruß
Achim