ssound1de
Level-2
- Beiträge
- 351
- Reaktionspunkte
- 27
-> Hier kostenlos registrieren
Hi Leute,
ich suche seit Wochen einen Fehler und verzweifle langsam...
Ich hoffe Ihr könnte mir ein paar Tipps geben, was ich noch weiter unternehmen kann.
Folgender Aufbau...
Auf einem Rechner läuft ein VB6 Programm das Daten über Ethernet mit einer S7 austauscht (über CP343-1 LEAN).
Das VB6-Proggie ist von mir, und läuft seit 6 Monaten problemlos.
Rechner ist Server - S7 ist Client.
In der CPU ist nur eine Verbindung projektiert.
Der Rechner sendet an die S7
- ca. alle 5 Min. ein Paket mit 14 Bytes
Die S7 sendet an den Rechner
ca. alle 5 Min. 128 Bytes
ca. alle 1,5 Min. 160 Bytes - dieses Paket wurde vor ca. 3 Wochen neu integeriert
ca. alle 1 Min. 22 Bytes
Dabei vergeht zwischen den einzelnen Sendeaufträgen (nach deren Abschluss durch den LEAN = DONE) mind. 2 Sek.
Das ist über das S7-Prog abgesichert.
Im VB6 Programm ist ein Eventhandler auf den Ethernetport eingerichtet, der auf ankommende Daten reagiert.
Das Ganze funktioniert oft tagelang einwandfrei.
Aber aus unersichtlichem Grund reagiert der Eventhandler plötzlich nicht mehr auf die größeren Pakete (128 und 160 Bytes)
Die Verbindung steht, es werden keine Fehler gemeldet, die kleineren Pakete funktionieren in Sende- und Empfangsrichtung problemlos.
Die S7 sendet alle Pakete ohne Fehler.
Ich habe schon mit Wireshark die Kommunikation überprüft - alle Pakete tauchen in Wireshark auf.
Ich habe die kleinen Pakete mit den großen verglichen.
IP stimmt, Port stimmt, alle Flags stimmen überein.
Die Pakete unterscheiden sich lediglich in Uhrzeit, Paket-Nummer und Länge.
Im VB6 Eventhandler hab ich schon loggings integriert. Alle Pakete von der S7 kommen rein, werden geloggt.
Aber irgendwann fehlen die großen Pakete (128 und 160 Bytes), und zwar dauerhaft bis zum Neustart des VB6-Programms.
Ich hoffe Ihr habt irgendeine Idee, was ich zur Fehlersuche noch tun kann.
Danke im Voraus.
Gruß
ich suche seit Wochen einen Fehler und verzweifle langsam...
Ich hoffe Ihr könnte mir ein paar Tipps geben, was ich noch weiter unternehmen kann.
Folgender Aufbau...
Auf einem Rechner läuft ein VB6 Programm das Daten über Ethernet mit einer S7 austauscht (über CP343-1 LEAN).
Das VB6-Proggie ist von mir, und läuft seit 6 Monaten problemlos.
Rechner ist Server - S7 ist Client.
In der CPU ist nur eine Verbindung projektiert.
Der Rechner sendet an die S7
- ca. alle 5 Min. ein Paket mit 14 Bytes
Die S7 sendet an den Rechner
ca. alle 5 Min. 128 Bytes
ca. alle 1,5 Min. 160 Bytes - dieses Paket wurde vor ca. 3 Wochen neu integeriert
ca. alle 1 Min. 22 Bytes
Dabei vergeht zwischen den einzelnen Sendeaufträgen (nach deren Abschluss durch den LEAN = DONE) mind. 2 Sek.
Das ist über das S7-Prog abgesichert.
Im VB6 Programm ist ein Eventhandler auf den Ethernetport eingerichtet, der auf ankommende Daten reagiert.
Das Ganze funktioniert oft tagelang einwandfrei.
Aber aus unersichtlichem Grund reagiert der Eventhandler plötzlich nicht mehr auf die größeren Pakete (128 und 160 Bytes)
Die Verbindung steht, es werden keine Fehler gemeldet, die kleineren Pakete funktionieren in Sende- und Empfangsrichtung problemlos.
Die S7 sendet alle Pakete ohne Fehler.
Ich habe schon mit Wireshark die Kommunikation überprüft - alle Pakete tauchen in Wireshark auf.
Ich habe die kleinen Pakete mit den großen verglichen.
IP stimmt, Port stimmt, alle Flags stimmen überein.
Die Pakete unterscheiden sich lediglich in Uhrzeit, Paket-Nummer und Länge.
Im VB6 Eventhandler hab ich schon loggings integriert. Alle Pakete von der S7 kommen rein, werden geloggt.
Aber irgendwann fehlen die großen Pakete (128 und 160 Bytes), und zwar dauerhaft bis zum Neustart des VB6-Programms.
Ich hoffe Ihr habt irgendeine Idee, was ich zur Fehlersuche noch tun kann.
Danke im Voraus.
Gruß