Hallo Dominik,
Zitat:Ich habe weiterhin das Problem, dass der "Lesepuffer 2" beim durchlaufen der VI fehlende Bytes hat. Beim "Wiederholt ausführen" tritt dieser Effekt wieder nicht auf. Was mir noch aufgefallen ist, der Schlussteil der zu lesenden Daten ist vorhanden, anscheinend wird (wenn Daten fehlen) immer ein Teil der vorderen Bytes abgeschnitten. Dies passiert aber auch willkürlich, mal weniger Daten mal mehr Daten.
1. VISARead bricht ab, wenn ein TermChar empfangen wird, bei dir ist das ein LineFeed.
2. Man sollte mehr Bytes abfragen als man zu lesen beabsichtigt: wenn deine Botschaft 31 Zeichen (inkl. oder exkl. LineFeed?) enthält, dann solltest du eben 49 Zeichen abfragen! VISARead beendet das Lesen ja sowieso, sobald das TermChar empfangen wird!
3. Zwischendrin den Lesebuffer zu löschen, insbesondere bei "wiederholter Ausführung", ist extrem störend, wenn man Daten zuverlässig empfangen will!
4. "Wiederholte Ausführung" ist nur zum Debuggen - aber hier bei Abfrage der seriellen Schnittstelle nicht hilfreich!
5. Wenn du dein VI mehrfach ausführst, solltest du nicht andauernd den COM-Port neu initialisieren.
6. Wenn man einen Port öffnet, dann sollte man ihn auch wieder schließen - machst du aber nicht!
Beispiel: