Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Timeout serielle Kommunikation RS485
15.02.2008, 12:03
Beitrag: #1
Timeout serielle Kommunikation RS485
Hallo zusammen,

ich kommuniziere über VEE 7.5 mit einer seriellen Schnittstelle (RS485, 38,4kb) eines Sensors. Ich sende einen Messwert-Befehl bestehend aus 4 Byte und der Sensor antwortet jeweils mit dem Echo des Bytes (Direkt IO: write text a, read binary byte). Nachdem die 4 Byte gesendet und jeweils das Echo empfangen wurde, schickt der Sensor den Messwert bestehend aus 2 Byte.
Das klappt alles an sich recht gut, jedoch bekomme ich ab und zu den timeout error 811 an der seriellen Schnittstelle, dies kann nach 100 aber auch erst nach 2000 Messwerten geschehen. Wenn ich den Timeout error mit ok quittiere und die Schleife zur Messwertaufnahme weiter abgearbeitet wird, funktioniert wieder alles für unbestimmte Zeit.
Der Bus Monitor von VEE sagt, dass Antwortbytes vom Sensor fehlen. Ich habe aber die Kommunikation mit dem Oszilloskop beobachtet und die Antwort/Echo Bytes des Sensors waren immer vorhanden.

Nun die Frage: weiss jemand, ob spezielle Einstellungen (buffer Größe, o.ä.) in VEE gemacht werden müssen, oder Treibereinstellungen von Windows verändert werden müssen, damit ich sicher die Schnittstelle betreiben kann, oder wo könnte das Problem liegen??


Viele Grüße Jo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.02.2008, 14:48
Beitrag: #2
 
Zitat:Nun die Frage: weiss jemand, ob spezielle Einstellungen (buffer Größe, o.ä.) in VEE gemacht werden müssen, oder Treibereinstellungen von Windows verändert werden müssen, damit ich sicher die Schnittstelle betreiben kann, oder wo könnte das Problem liegen??
Hi Jo,

Buffer und/oder Window-Einstellungen werden es nicht sein.
Denn dann hättest du ja "überhaupt was oder nie was" im Buffer.
Die Gründe für den Datenverlust können vielfältig sein ...

Genau für diesen Fall gibt es ja den Error-Output !
Den mußt du an deinem O/I-Objekt adden und für den Fall des 811'er Errrors erneut das I/O-Objekt aufrufen (Schleife in der Schleife), wenn kein Error auftritt wird die (Schleife in der Schleife) mit Break verlassen.

Probier das mal aus. :wink:

Gruߟ Bratbaecker
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.02.2008, 16:44
Beitrag: #3
 
Hallo bratbaecker,

danke für die Antwort, ich dachte vielleicht gibt es einen "Standard"-Fehler den man da machen kann und den ich übersehen habe (da mich die Fehlerursache schon interessiert).

Aber ansonsten werde ich es über den Error Pin machen.

Gruß
Jo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:




Partnerforen: LabVIEWForum.de| DIAdem-Forum.de| Machine-Vision-Forum.de| goMatlab.de| VEEforum.de