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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
VAREthernetBuffer:ARRAY[1..1500]OFBYTE;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]
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
Hallo !
Schon mal probiert, die FOR-Schleife von 0 an laufen zu lassen, dafür aber bis (MyEthernetRead.LEN_OUT - 1) ?
Gruß SPS-Fuzzi
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
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]