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 

Überlauffehler bei serieller Schnittstelle



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!

23.03.2018, 14:05
Beitrag #11

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Überlauffehler bei serieller Schnittstelle
Hallo Dominik,

Zitat:Ich habe weiterhin das Problem, dass der "Lesepuffer 2" beim durchlaufen der VI fehlende Bytes hat. Beim "Wiederholt ausführen" tritt dieser Effekt wieder nicht auf. Was mir noch aufgefallen ist, der Schlussteil der zu lesenden Daten ist vorhanden, anscheinend wird (wenn Daten fehlen) immer ein Teil der vorderen Bytes abgeschnitten. Dies passiert aber auch willkürlich, mal weniger Daten mal mehr Daten.
1. VISARead bricht ab, wenn ein TermChar empfangen wird, bei dir ist das ein LineFeed.
2. Man sollte mehr Bytes abfragen als man zu lesen beabsichtigt: wenn deine Botschaft 31 Zeichen (inkl. oder exkl. LineFeed?) enthält, dann solltest du eben 49 Zeichen abfragen! VISARead beendet das Lesen ja sowieso, sobald das TermChar empfangen wird!
3. Zwischendrin den Lesebuffer zu löschen, insbesondere bei "wiederholter Ausführung", ist extrem störend, wenn man Daten zuverlässig empfangen will!
4. "Wiederholte Ausführung" ist nur zum Debuggen - aber hier bei Abfrage der seriellen Schnittstelle nicht hilfreich!
5. Wenn du dein VI mehrfach ausführst, solltest du nicht andauernd den COM-Port neu initialisieren.
6. Wenn man einen Port öffnet, dann sollte man ihn auch wieder schließen - machst du aber nicht!

Beispiel:
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.04.2018, 13:07
Beitrag #12

DominikPl Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Mar 2018

2016
2016
DE



RE: Überlauffehler bei serieller Schnittstelle
Ich komme leider mit dem Problem nicht wirklich weiter. Habe dabei schon die Vorschläge probiert.
Außerdem habe ich jetzt versucht einen anderen Adapter (USB-Seriell) zu verwenden, das Problem mit dem Überlauffehler bleibt aber bestehen.
Deswegen habe ich das VI jetzt noch deutlich vereinfacht und ich versuche nur die Schnittstelle auszulesen.
Dabei kann ich jetzt feststellen, dass das VI die ersten 1-3 Durchläufe nicht richtig funktioniert, das heißt zu wenige Daten ausliest. Danach funktioniert es komischerweise immer richtig.
Der Fehler tritt dann erst wieder auf, wenn LabView komplett geschlossen und neugestartet wird. Dann habe ich beim Durchlauf des VI wieder die Probleme.
Kann sich jemand vorstellen, woher dieser Fehler noch kommen könnte?


Angehängte Datei(en)
16.0 .vi  Unbenannt 1.vi (Größe: 11,5 KB / Downloads: 256)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.04.2018, 13:41
Beitrag #13

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Überlauffehler bei serieller Schnittstelle
Aktivierung "Termination Char" und Lesen einer festen Menge von Zeichen, das hat noch nie so richtig funktioniert. Die Logik bei VISA Read ist dann nämlich:

Lies max. 49 Zeichen, aber nur solange, bis der Termination Char erkannt ist.

Wenn deine Gegenstelle unaufgefordert Meldungen verschickt, dann hast du in den allermeisten Fällen beim ersten Lesen nicht genügend Zeichen, denn du weisst ja nicht, wann du das Lesen beginnst. Mit hoher Wahrscheinlichkeit mitten im Stream. Der erste Datensatz wird also zu kurz sein. Ab dem zweiten Lesen sollte dann aber alles passen - gesetzt den Fall dass du nicht dauernd die Schnittstelle schließt und wieder neu initialisierst.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.04.2018, 17:57 (Dieser Beitrag wurde zuletzt bearbeitet: 16.04.2018 18:02 von Lucki.)
Beitrag #14

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Überlauffehler bei serieller Schnittstelle
Voraussetzung, daß das alles wie gedacht funktioniert, ist natürlich, dass die Übertragung noch dem Master-Slave-Prinzip erfolgt. Der Slave (das angeschlossene Gerät) darf nur nach Aufforderung des Masters (dem PC) antworten. Niemals darf der Slave ohne Aufforderung etwas senden.
Dem Verdacht von Jens, dass das Gerät vielleicht auch ohne Aufforderung etwas sendet, solltest Du nachgehen. Das ist ja leicht zu prüfen.
Um Dir qualifiziert helfen zu können, könnte auch ein Posting der Schnittstellenbeschreibung deiner "Auswerteelektronik" hilfreich sein.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.05.2018, 11:51
Beitrag #15

Kiesch Offline
LVF-Stammgast
***


Beiträge: 412
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
RE: Überlauffehler bei serieller Schnittstelle
Vielleicht kann ich hier auch was zu beitragen, da ich gerade (phänomenologisch) das gleiche Fehlerbild sehe:

Ich habe eine Gegenstelle, die (soweit das Manual und das Leseverhalten nahelegt) unaufgefordert sendet. Das führt teilweise dazu dass ich mitten im Stream beginne zu empfangen und beim zweiten Lesen dann zum Teil einen Überlauf kriege (keine Ahnung ob die Gegenstelle auf das erste Lesen regelmäßig beginnt zu senden oder wo genau der Überlauf auftritt).

Es scheint allerdings so zu sein, dass nach dem initialen Fehler (der nicht jedes Mal auftritt) bei weiterem Abfragen der Schnittstelle der Fehler im folgenden vermieden wird (wiederholt ausführen meines TestVIs führte zu keinen weiteren Fehlern). Ich muss also scheinbar die Daten nur schnell genug abholen dann ist für meine Zwecke alles gut.
Für meinen Fall würde ich wahrscheinlich den initialen Fehler ignorieren (es sei denn er tritt wiederholt beim Lesen auf), da im Lesen direkt nach dem Fehler alles beginnt "richtig" zu laufen. Ich werd aber eventuell auch mal schauen ob sich das Auftreten des Fehlers irgendwie vermeiden lässt (Buffer leeren etc. wäre eventuell auch mein Ansatz).

Gruß Kiesch

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Fehlermeldung bei serieller Schnittstelle Lab-Girl 3 6.014 02.02.2016 17:12
Letzter Beitrag: IchSelbst
  Synchrone Datenerfassung von Serieller Schnittstelle und DAQ darkbeppo 5 7.102 17.12.2014 12:46
Letzter Beitrag: GerdW
  Überlauffehler bei RS-485, aber... Flemmy 4 6.404 23.09.2014 15:49
Letzter Beitrag: Flemmy
  Konfiguration von serieller Schnittstelle funktioniert erst das 2. Mal machfax 11 10.841 08.01.2014 13:51
Letzter Beitrag: Lucki
  Probleme bei der Datenkommunikation mit serieller Schnittstelle Prama 9 8.364 26.02.2013 10:02
Letzter Beitrag: Prama
  VISA Error -1073807252 (Überlauffehler) dali4u 4 9.455 05.02.2013 11:43
Letzter Beitrag: GerdW

Gehe zu: