LabVIEWForum.de - Probleme RS232

LabVIEWForum.de

Normale Version: Probleme RS232
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich habe Probleme mir der seriellen Kommunikation über Visa. Ich möchte mit dem angehängten Programm z.B. alle 100ms den aktuellen Wert eines Parameters abfragen. Dies funktioniert auch teilweise aber ich bekomme immer wieder eine fehlerhaften Antwortstring zurück die Länge paßt zwar aber das Format nicht die einzelnen Bytes kommen vertauscht an z.b. letztes zuerst . Ich erwarte immer 8Bytes mit dem Format 2[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]3[~]4. Ich vermute dass es irgendwas mit dem Timinig zu tun hat weil wenn ich in die Whileschleife keine Wartezeit einbaue taucht das Problem öfters auf es ist aber keine Reihenfolge erkennbar. Bei 100ms Wartezeit taucht das Problem immer im 11. Schleifendruchlauf auf, ab 200ms im 6.Schleifendurchlauf . Ab 1000ms im 2.Schleifendurchlauf. Hat jemand eine Ahnung woran das liegen könnte? Ich wäre auch dankbar wenn ihr euch das Programm mal grundlegend anschaut und mir ein feedback gebt ob und was man das noch optimieren oder umgestalten kann.
Viele Grüße
Alfe
Hallo,

ich habe mir das angeschaut (CheckBCCforErrors.vi hat übrigens gefehlt) und konnte auf den ersten Blick nichts "falsches" feststellen.
Was Du aber machen könntest ist, ein paar SubVIs zu entfernen. SubVIs sind zwar prinzipiell empfehlenswert, aber manchmal ist weniger mehr.Big Grin
Vielleicht liegt das Problem an Deiner Hardware, wo Du den Parameter ausliest.
Das einzige was ich nicht ganz angeschaut habe ist das VI, das den Inhalt prüft. Da hat das SubVI gefehlt. Allerdings ist da ein "Rotate" drin, das Dir evtl. was an Deiner Reihenfolge ändert.
Lass das Programm mal im Highlight-Modus (Glühbirnchen) ablaufen und schau mal genau, was wo und wann anliegt.

Gruß Markus

PS: Wenn alles nichts hilft könntest Du ja auch mal bei NI nachhaken.

' schrieb:Hallo,
ich habe Probleme mir der seriellen Kommunikation über Visa. Ich möchte mit dem angehängten Programm z.B. alle 100ms den aktuellen Wert eines Parameters abfragen. Dies funktioniert auch teilweise aber ich bekomme immer wieder eine fehlerhaften Antwortstring zurück die Länge paßt zwar aber das Format nicht die einzelnen Bytes kommen vertauscht an z.b. letztes zuerst . Ich erwarte immer 8Bytes mit dem Format 2[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]3[~]4. Ich vermute dass es irgendwas mit dem Timinig zu tun hat weil wenn ich in die Whileschleife keine Wartezeit einbaue taucht das Problem öfters auf es ist aber keine Reihenfolge erkennbar. Bei 100ms Wartezeit taucht das Problem immer im 11. Schleifendruchlauf auf, ab 200ms im 6.Schleifendurchlauf . Ab 1000ms im 2.Schleifendurchlauf. Hat jemand eine Ahnung woran das liegen könnte? Ich wäre auch dankbar wenn ihr euch das Programm mal grundlegend anschaut und mir ein feedback gebt ob und was man das noch optimieren oder umgestalten kann.
Viele Grüße
Alfe
Referenz-URLs