Ethernetkopplung CPU315 - CPU317 mit TCP Verbindung

duMMbatz

Level-1
Beiträge
128
Reaktionspunkte
9
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Jungs,

ich habe gestern eine TCP Verbindung zwischen einer Siemens CPU 315 und 317 über 2 CPs 343 Lean gekoppelt. Nun meine Frage, die ersten 8 Byte scheint ein Header zu sein, könnt ihr das bestätigen? Wenn ja, was genau ist enthalten? Ich habe nun ein Array mit 8 Bytes als Header abgelegt und danach dann ein Array mit Nutzdaten, diese werden auch richtig weitergegeben. Die Kopplung erfolgt über AG_SEND und AG_RECEIVE.


:ROFLMAO:ROFLMAO:ROFLMAO:
 
Ich bemühe jetzt mal meine Kristallkugel und versuche zu verstehen, was Du mit diesen unvollständigen Angaben sagen wolltest.
Wenn ich Dich richtig verstehe, dann willst Du uns sagen, dass die empfangenen Daten von einer der beiden CPUs nicht den gesendeten Daten der anderen entsprechen.

Dass die ersten 8 Byte einen Header enthalten, wäre mir neu. Die Ursache ist wohl woanders zu suchen.
Poste mal Deinen Code.
 
hmm....

Als ich eine Startadresse von DBX0.0 beim AG_SEND hatte, wurde auf AG_RECV trotz DBX0.0 ab 8.0 geschrieben.

Dann habe ich einen "Header" angelegt und wenn ich beide Seiten auf DBX8.0 andressiere Funktioniert es. Habt ihr ideen was falsch sein könnte?

SEND.jpgdata_recv.jpgdata_send.jpg

RECV.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nur NULLEN ..... :)


Müsste , müsste... tut es aber nicht. weitere Vorschläge?

Wir reden von einer TCP Kopplung über 2 CPs ( LEAN) nicht von 2 CPUs kann es sein, das der CP nen Haeder dazupackt?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
kann es sein, daß deine Daten nun einfach nur um 8 Byte verschoben ankommen?
Wenn man bei einer laufenden TCP-Verbindung die Telegrammlänge ändert, dann muß man erstmal den Empfangs-CP ausschalten oder das Senden anhalten, während man den Empfangs-CP umprogrammiert.

Bei einer TCP-Verbindung werden die Daten ohne irgendwelche Zusätze als Stream übertragen. Der Empfänger meldet kein Paket-Ende. Man MUSS unbedingt mit extra-Zeichen für STX oder ETX oder mit einem Header arbeiten und der Empfänger muß sich auf den Telegramm-Anfang synchronisieren (muß man extra programmieren!).

Nimm einfach eine ISO-on-TCP-Verbindung, da versieht der Sende-CP das Telegramm mit einem Rahmen und der Empfänger-CP synchronisiert sich selbständig und entfernt den Rahmen wieder.

Harald
 
Zurück
Oben