750-842 TCP Empfangspuffer unvollständig

Sammy
2009-10-21
2009-10-22
  • Sammy - 2009-10-21

    Hallo;

    ich bin langsam am Ende mit meinen Möglichkeiten und will hier mal um Rat fragen. Ich habe einen WAGO 750-842, nutze die Ethernet.lib (8.7.04) und habe rund um das ein das Beispielprogramm TCP Client (Autor: Volker Begemann) von der Wago Anwendungshinweise Seite eine eigene Anwendung gebaut.

    Erfolgreich ist:

    TCP Verbindung zum Server (PC Applikation) herstellen,

    Daten senden (ASCIIBYTE_TO_STRING)

    Beim Empfang der empfangenen Daten fiel mir auf, dass einzelne Parameter nicht auftauchen. Die Parameter werden als ASCII codierte Worte mit Line Feed als Trenner gesendet. Meist fehlt der erste Parameter (6 Bytes) samt Line Feed. Soweit ich in die Programmierung reinschauen kann wird dies schon so geliefert von der utReceive_buffer.data Also würde ich schlussfolgern, dass im ETHERNET_READ Funktionsblock diese daten falsch übertragen werden.

    ```

    FOR i := 1 TO MyEthernetRead.LEN_OUT DO
                utReceive_buffer.index :=(utReceive_buffer.index MOD 1500)+1;
                utReceive_buffer.data[utReceive_buffer.index] := EthernetBuffer[i];
             END_FOR

    ```

    Über Telnet werden mir immer vollständige Parametersätze übermittelt.

    Hat denn hier jemand schon ähnliche Erfahrungen gemacht?

     
  • SPS-Fuzzi - 2009-10-22

    Hallo !

    Schon mal probiert, die FOR-Schleife von 0 an laufen zu lassen, dafür aber bis (MyEthernetRead.LEN_OUT - 1) ?

    Gruß SPS-Fuzzi

     
  • Sammy - 2009-10-22

    ich hab's mal probiert, das Ergebnis war unverändert. Wenn ich i verändere, verändert dies die Indizierung von Ethernetbuffer[i], welcher seinerseits aber deklariert ist als

    VAR
    EthernetBuffer               : ARRAY[1..1500] OF BYTE;
    END_VAR
    

    Ich habe aber mal die nachfolgende Behandlung des Ausgabepuffers auskommentiert und siehe da, in EthernetBuffer steht scheinbar alles richtig. Also passiert da was bei der Übergabe in das nächste Program-Modul.[/quote][/code]

     

Log in to post a comment.