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 

Fehler Zeitüberschreitung beim Auslesen



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!

26.08.2009, 22:46
Beitrag #9

Newton2k1 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Aug 2009

Developer Suite -> immer die neueste :-)
1995
DE_EN

5430
Schweiz
Fehler Zeitüberschreitung beim Auslesen
Wegen all dieser Probleme und Diskussionen konnte ich mich bisher noch nie richtig für VISA für serielle Geräte erwärmen. Bei diesen Teilen bin ich immer irgendwie wieder zurück zu den super-einfachen seriellen VI's gegangen und habe immer in etwa so programmiert:
1. Frage den Seriellen Eingangspuffer wieviele Zeichen angekommen sind. Dafür gabs und gibts evtl. immer noch eine spezielle Funktion, "Number of characters on serial port" oder so ähnlich.
2. Wenn nichts angekommen ist warte irgendwelche 100ms.
3. Sobald mehr als null Zeichen da sind lies genausoviele ein und hänge sie an einen Stringbuffer an.
4. Nun könnte man z.B. den Endekennzeichen-Check einbauen und den vorhandenen Sting an das rufende Programm übergeben und danach den Buffer löschen um bei 1. wieder von vorne anzufangen oder das Sub VI zu beenden.

Das ganze in einer separaten While loop, die über eine occurence sofort beendet werden kann und selbst mit einem Wait von 10...100ms ausgebremst wird.

Im vorliegenden Fall müsste man immer nach dem Einlesen einer gewissen Datenmenge kontrollieren, ob ein Zeilenendekennzeichen vorhanden ist. Falls ja, kann man diesen Teil der Daten als Zeile z.B. in einem String-Array ablegen und den Rest dem folgenden Datenpaket voranstellen.

Diese Vorgehensweise ist übrigens aus dem Example VI LabVIEW<-->seriell direkt geklaut. Aber eben ohne VISA overhead, ca. 3 functions in einem while loop und ein paar cases. sehr übersichtlich...
Ich weiss momentan nicht ob es dieses Example noch gibt im aktuellen LV8.6.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
Fehler Zeitüberschreitung beim Auslesen - Newton2k1 - 26.08.2009 22:46

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  VISA: I/O Fehler beim Auslesen einer seriellen Schnittstelle konne 5 7.677 19.07.2017 13:04
Letzter Beitrag: konne
  Fehler beim Erstellen einer Datei, durch VISA ausgelöst? Klausenwirt 5 6.817 14.03.2014 10:39
Letzter Beitrag: Klausenwirt
  Datenverlust beim RS232 auslesen Dominator 3 5.857 20.04.2012 14:43
Letzter Beitrag: Dominator
  RS232 undokumentierter Fehler beim senden von zu großen Datein mikschi 14 12.756 22.03.2010 18:02
Letzter Beitrag: mikschi
  Probleme beim Auslesen RS232 Guest 13 13.917 08.03.2010 13:44
Letzter Beitrag: GerdW
  Fehler beim Aufnehmen von Messwerten! SledgeDL 13 10.501 04.02.2010 15:21
Letzter Beitrag: Y-P

Gehe zu: