Hallo Gerd!
Vielen Dank für die Antwort!
Ich verstehe nicht ganz was du mit dem Producer meinst? ... hätte dann ja das gleiche Problem mit der zu langsamen Programmlaufzeit oder?
oder meinst du das ich eine zweite Producer Schleife verwenden könnte, die über eine Event struktur auf die ausgelesenen Bytes reagieren soll? - das dann der Zugriff eben über einen Interrupt erfolgt?
Vl könntest du das noch ein wenig genauer ausführen..
Mich würde auch interessieren was du dazu meinst:
Ist es besser die Daten aus der seriellen Schnittstelle auszulesen, einen Sensorabgleich durchzuführen, die Messdaten zu visualisieren und anschließend an die Queue weiterzugeben?
oder sollte die Schleife so aufgebaut sein, dass man die Daten ausliest, sofort in die Queue schreibt und anschließend in einer anderen Schleife die Visualisierung und den Sensorabgleich durchführt?
Das mit der Zeit habe ich deshalb probiert.. weil ich das Problem hatte, dass bei schnelleren Programmlaufzeiten als 10 ms die Werte nicht mehr richtig ausgelesen wurden? (in meiner Testumgebung)
Mir kam es so vor, als wie wenn die Read Funktion "max" 17 Byte auslest. Sind bei einem Leseauftrag weniger als 17 vorhanden.. dann werden auch weniger ausgelesen.. falls zum Lesezeitpunkt noch keine 17 Bytes vorhanden sind... kann das sein? .. weiß leider sonst nicht, wo mein Problem sonst noch herkommen könnte.. sobald ich die 10 ms nicht unterschreite funktioniert es soweit einwandfrei?... solangs dann aber auch wieder nicht zu lange dauert - da es ansonsten eben zum Pufferüberlauf kommt
Die Logik Queue habe ich deshalb verwendet, da ich es persönlich als übersichtlich empfinde.. wenn man eine Queue rein für die Logik der Schleifen verwendet und eine 2. eben zur Speicherung der Messdaten.
Wie hättest du es gelöst? .. hättest du es aufgrund der Programmlaufzeit anders gelöst?
-> die Programmzustände über Schieberegister weitergegeben?...
Aja kurze Frage: gibt es im Forum iwo eine Seite wo man Buchempfehlungen abgeben kann?
Habe letztens dann zum Glück ein Buch gefunden, wo die serielle Kommunikation und die Implementierung in
Labview recht gut erklärt wird .. da du micht extra auf meinen Fehler bezüglich meiner Bytes at Port Einstellung hingewiesen hast.. und war dann auf der Suche nach sinnvoller
Literatur...
Hätte diese gerne geteilt
Vielen Dank!
LG Stefan