INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Unidirektionale RS232-Verbindung



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

22.07.2016, 16:33 (Dieser Beitrag wurde zuletzt bearbeitet: 22.07.2016 16:35 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Unidirektionale RS232-Verbindung

Akzeptierte Lösung

Hallo Scheisser,

Zitat:läuft das Programm dann so: Schreibe in Buffer bis TermChar kommt--> lese RS232 aus und gib es in LV aus--> lösche Buffer
Die serielle Schnittstelle bzw. deren (VISA-)Treiber hat einen internen Buffer. In diesem landen die am Port ankommenden Daten. Das VISARead wartet jetzt bis zum Empfang eines TermChar (bzw. bis zum TimeOut) und liest/holt dann die Daten aus dem Buffer…

Zitat:Angenommen es kommt einmal zufällig kein TermChar, weil es einen Paritätsfehler gibt, etc.
Bei einem Paritätsfehler bekommst du eine Fehlermeldung…

Zitat:Stürzt mir dann nicht das VI ab, weil anstatt kleiner 20 byte aufeinmal 25 byte anliegen?
Wieso sollte es "abstürzen"? Meinst du, der LabVIEW-Speichermanager kommt mit einem 25 Zeichen langen String nicht klar?

Zitat:Und es kommen bei mir meistens nur 13 byte an, wartet der dann nicht auf 20 byte?
Nein.
VISARead wartet auf folgende Bedingungen:
- Anzahl der angefragten Bytes steht im Buffer bereit.
- Das konfigurierte TermChar ist im Buffer angekommen.
- TimeOut
- Fehler
So steht es jedenfalls in der LabVIEW-Hilfe, die du ja sicher auch schon durchgelesen hast!

Was passiert wohl, wenn du auf 20 Zeichen wartest und auf ein TermChar?

Zitat:Ich denke mal 15 byte wäre ein guter Sicherheitsbereich.
Das hängt davon ab, wieviele Bytes in deinen Messages enthalten sind. Entweder es sind immer 13 (+TermChar) oder eben nicht…
Abgesehen davon: wie oben dargelegt, ist es irrelevant, ob du auf 20, 99 oder 9999 Zeichen wartest - solange dein TermChar vorher ankommt…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Unidirektionale RS232-Verbindung - GerdW - 22.07.2016 16:33

Gehe zu: