LabVIEWForum.de
Rahmensynchronisationsfehler - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Rahmensynchronisationsfehler (/Thread-Rahmensynchronisationsfehler)



Rahmensynchronisationsfehler - enser - 28.04.2009 10:39

Hallo.

In meinem Programm lese ich konstant Werte von einem Messgerät ein. Hierbei wird sehr oft ein "Rahmensynchronisationsfehler" angezeigt.

Wie kann ich diesen Fehler vermeiden?

Beim Suchen nach vergleichbaren Fehlermeldungen, bzw. anderen Ursachen, hatte ich kein Erfolg.

Das Messgerät ist auf die gleichen Eckdaten, wie das LabVIEW Programm, eingestellt (Parität, Stopbit, Datenrate).

Ist das eine gewöhnliche Fehlermeldungen? (Die Fehlermeldung kommt auch bei anderen Baudraten!)
Oder gibt es einen Datenüberlauf im Puffer den ich irgendwie vermeiden kann?

Ich bekomme zwar noch genügend brauchbare Werte hinein, es würde mich dennoch interessieren, warum diese Fehlermeldung kommt.

Danke für euer Bemühen.


Rahmensynchronisationsfehler - Lucki - 28.04.2009 15:47

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.