Serielle Schnittstelle

  • Hallo,


    ich habe ein Problem mit der seriellen Schnittstele. Und zwar möchte ich unabhängig vom aktuellen Programm Daten mit dem Roboter kommunizieren.
    Roboter erhält neue Daten, sendet seinen Status, usw. . Dies habe ich zur Zeit in der SPS.sub realisiert. Leider steigt mir bei mehreren Kunden des öfteren die SPS.sub aus. Und zwar mit der Fehlermeldung Pufferüberlauf an der seriellen Schnittstelle. Da die Kabel der seriellen Schnittstelle teilweise recht lang sind, kann ich mir vorstellen, das Störungen auf der Leitung sind. Wie kann ich vermeiden, das mir der Puffer überlauft. Wenn die Prüfsumme nicht stimmt, kann der Roboter die Daten neu anfragen. Nur sollte mir nicht der Roboter jedesmal stehen bleiben und nur mit einem Kaltstart wieder zum Leben erweckt werden können. Falls jemand einen Lösungsvorschlag hat, wäre ich dankbar. Wie teuer (aufwendig) ist eigentlich eine Umstellung auf Ethernet (KRL.XML) ? Ich hab das Teil jetzt schon ein dutzend mal weltweit im Einsatz.


    Mike

  • Schritt für Schritt zum Roboterprofi!
  • Hallo Mike,


    die Meldung "Pufferüberlauf" sagt folgendes:
    es wurden mehr Telegramme empfangen als mit CREAD gelesen wurde.
    Die Anzahl Empfangspuffer kann in der serial.ini eingestellt werden.
    MAX_RX_BUFFER=10 ; 1..20 number of receive buffers


    Ein Erhöhung der Pufferanzahl hilft aber meist nichts - verzögert nur die Fehlermeldung.


    Wenn kein "Tegrammhandshake" möglich ist (senden, empfangen, senden,empfangen,....) sollte mit den Anweisungen
    WHILE $DATA_SERx > 0
    CREAD (...
    ENDWHILE
    ein Pufferüberlauf vermieden werden.


    Bei der Verwendung des Protokolls 3964R werden bei einer Störung (Checksummenfehler) automatisch die Daten neu angefordert.


    happy weekend

    Wer nach allen Seiten offen ist kann nicht ganz dicht sein

  • Hallo,


    nach mehreren Jahren bin ich noch auf die Lösung des Problems gekommen. Der Fehler tritt immer auf, wenn gleichzeitig gesendet und empfangen wurde. Dann kommt die KRC irgendwie aus dem tritt.
    Vielleicht hilft diese Erkenntnis noch jemand.


    Mike

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden