Bytes At Port ist in vielen Fällen eine völlig überflüssige Abfrage, vor allem dann, wenn man weiß, dass eine Nachricht immer mit einem ganz bestimmten ASCII Zeichen abgeschlossen wird.
Die Verwendung von \r in deinem Screenshot und ein Vergleich mit einem VISA-Instrument Driver für ein "Fluke 5XXX Series Multicalibrators" deuten darauf hin, dass Fluke das <Carriage Return> als Abschlußzeichen verwendet, sowohl bei Kommandos als auch bei Antworten.
Die Verwendung von \r in deinem Screenshot und ein Vergleich mit einem VISA-Instrument Driver für ein "Fluke 5XXX Series Multicalibrators" deuten darauf hin, dass Fluke entweder das <Carriage Return> oder <LineFeed> als Abschlußzeichen verwendet, sowohl bei Kommandos als auch bei Antworten.
Somit bieten sich die folgenden Einstellungen der seriellen Schnittstelle an (kopiert aus dem oben erwähnten Instrument Driver):
Das kommt in dein VI direkt nach "VISA Configure Serial Port" (edit) und zeigt die Einstellung mit "LineFeed".
Vorteile: Du kannst es dir sparen, an Kommandos das <CR>/<LF> anzuhängen, das macht dann VISA für dich, und bei VISA Read kannst du auf Bytes at Port verzichten, stattdessen versuchst du einfach eine genügend große Anzahl an Bytes einzulesen (z.B. 100). VISA Read gibt trotzdem nur den Antwort-String bis zum ersten erkannten Termination Char zurück.
Gruß, Jens
@Freddy: Eine ungebremste While-Loop