Zitat:Wenn der Puffer leer ist, lesen eben beide Forschleifendurchläufe nix ein. Die Elemente sollen ja schließlich nur eine bestimmte Anzahl Zeichen einlesen.
Ok, klar, das leuchtet mir ein.
Zitat:Du solltest wie folgt vorgehen: Daten senden an Endgerät - Warten, bis die erwartete Anzahl Zeichen im Puffer steht - Dann Auslesen bis Endezeichen und nochmals auslesen bis Endezeichen und zwar jeweils ohne Anschluss einer festen Anzahl.
Das wiederum nicht. LV fordert ja von mir den Anschluss einer Anzahl von Bytes (ich habe es in meinem Sub-VI sowohl mit der mir bekannten maximalen Anzahl an Bytes [32] und, wie zu sehen, mit Bytes at port.
Nach meinem Verständnis ist es doch so: Visa read liest die angegebe Anzahl von Bytes aus einem "Puffer" ein. Wenn in diesem Puffer/Zeichenkette, etc. ein vorher bei der Initialisierung der COM-Schnittstelle definiertes Abschlusszeichen (n, r, o. ä.) auftaucht, und die Zahl der Bytes zum lesen kleiner ist als die gelesenen, so kommt doch normalerweise nur eine Warnung, dass möglicherweise noch Zeichen im Puffer liegen.
Wie wäre denn nun die sauberste Lösung? Mittlerweile traue ich der Sache ja nicht mehr, obwohl sie seit ca. 4 Wochen funktioniert hat (das hier ist ein Umbau auf eine fernbedienbare Variante des ursprünglichen Programms).
Gruß