Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 4 von 4

Thema: S7-200 RCV und XMT

  1. #1
    Registriert seit
    21.09.2004
    Beiträge
    92
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    nach langer Zeit melde ich mich nochmal zurück und brauche euren Rat:

    ich versuche derzeit mit einer 226 eine serielle Kommunikation zu implementieren.

    Dabei möchte ich Meldungen von der SPS aus bei einem Slave anfragen und die Antwort auswerten. Dazu verwende ich die Befehle XMT und RCV.

    Wenn ich eine Anfrage verschickt habe (mit XMT) setze ich im zugehörigen Sendeinterrupt den Befehl RCV um die anstehende Antwort zu empfangen.

    Dies Funktioniert erst mal wunderbar.

    Mein Problem ist nun, falls der Slave einmal nicht antwortet, wird keine Anfrage mehr versendet, da RCV noch aktiv auf eine Antwort wartet und ein XMT dann nicht mehr ausgeführt wird (Fehler gleichzeitiges ausführen von XMT und RCV).

    Wie bekomme ich das RCV auf Timeout überwacht?

    Die Siemens Beispiele habe ich mir bereits alle angesehen, aber was richtig passendes konnte ich nicht entdecken.

    Danke für eure Tipps!
    Zitieren Zitieren S7-200 RCV und XMT  

  2. #2
    Registriert seit
    27.04.2009
    Ort
    Frankfurt am Main
    Beiträge
    155
    Danke
    50
    Erhielt 28 Danke für 14 Beiträge

    Standard

    Hi,

    bevor du den XMT ausführst, rufe noch mal die RCV aus und setze die Merker SM87.7 (Port 0) oder SM187.7 (Port 1) zurück, danach kannst du die XMT problemlos ausführen.


    Gruß
    com
    Angehängte Grafiken Angehängte Grafiken
    Geändert von com (22.12.2009 um 19:35 Uhr)
    Nothing is easier than being busy and nothing more difficult than being effective. (R. Alec Mackenzie)


  3. Folgender Benutzer sagt Danke zu com für den nützlichen Beitrag:

    Küffel (22.12.2009)

  4. #3
    Registriert seit
    21.09.2004
    Beiträge
    92
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke com,

    ich glaube das hatte ich gestern auch schon probiert!
    Ich habe mittlerweile alles umgebaut und verzichte gänzlich auf RCV. Ich werte alles selbst im Interrupt (für jedes empfangene Zeichen) aus.

    Funktioniert soweit prima, auch wenn ich die andere Lösung eleganter gefunden hätte.

    Aber auch bei der jetzigen Lösung ist mir aufgefallen, dass man XMT nicht zu schnell nacheinander callen sollte. Ansonsten wird Müll gesendet. Ich habe jetzt mind. 20ms zwischen zwei XMT Calls eingebaut und es funktioniert.

    Danke und Gruß
    Geändert von Küffel (22.12.2009 um 19:49 Uhr)

  5. #4
    Registriert seit
    27.04.2009
    Ort
    Frankfurt am Main
    Beiträge
    155
    Danke
    50
    Erhielt 28 Danke für 14 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    jep, richtig.
    generell etwas warten ist empfehlenswert.


    gruss
    Geändert von com (22.12.2009 um 20:22 Uhr)
    Nothing is easier than being busy and nothing more difficult than being effective. (R. Alec Mackenzie)


Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •