Rahmensynchronisationsfehler
Der Fehler entsteht beispielweise bei folgendem Szenarium:
Das Messgerät sendet die Messwerte kontinuirlich ohne Aufforderung.
Wenn Du jetzt plötzlich mit Visa Read in diesen Datenstrom hineinhörst, weiß Vise Read nicht, welches das Startbit ist und interpretiert das erste gelesene Bit als Startbit. Das kann zutreffen oder auch nicht. Wenn nicht, merkt Visa Read dann beim weiteren Lesen, dass mit dem Stopbit und dem nächsten Startbit etwas nicht stimmt und meldet "Rahmen-Synchronisationsfehler".
Das Gleiche hat man auch , wenn die Baudraten nicht übereinstimmen.
Bei obigem Szenarium sollte der Fehler mit Fehlerbehandling abgefangen und ignoriert werden und das Lesen so lange wiederholt werden, bis die Synchronisation erreicht ist. Damit sie nicht wieder verloren geht, am besten kontinuierlich lesen, auch wenn nicht alle Messwerte verwendet werden.
So wie Du es gemacht hast, sind fortlaufende Rahmen-Synchronisatinsfehler vorprogrammiert: Nach je drei gelesenen Messwerten Visa schließen, dann wieder öffnen und wieder drei Werte lesen usw.,
Die üblicher Methode, um Rahmensynchronisatinsfehler zu vermeiden, ist aber, wenn das Messgerät Slave ist und nur nach Aufforderung sendet. Dann können Rahmensynchronisationsfehler normalerweise nicht vorkommen.
|