Step 7 FC6 Receive - 2 Byte mehr als nötig

macrums

Level-1
Beiträge
32
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Gemeinde,

habe ein SPS Programm mit einer Kommunikation über FC5 + 6 geerbt. Mein Problem ist, das der Gegenpart der Kommunikation 200Bytes sendet, diese über einen Pointer in einen DB geschrieben werden und nun alle Werte um 2 Byte "nach unten" verschoben sind.

Pointer sieht nun so aus:

P#DB202.DBX0.0 BYTE 402

Fraglich ist, warum der Programmierer 402 Bytes schreibt, obwohl nur 400 gesendet werden. (Die Frage kann dieser aber nicht mehr beantworten.)

Wird der Speicher vom Ende her beschrieben? Dann wäre klar, warum alle Daten um exakt 2 Byte verschoben sind.

Weiß jemand Bescheid?
 
200 oder 400?

Verschiebt sich der Versatz mit jedem Telegramm? Wenn nicht, dann sendet der Partner tatsächlich 201 oder 402 Byte je Telegramm. Vielleicht denkt er nur, daß er 200 (400) Byte sendet, benutzt aber eine Funktion, welche automatisch noch ein Startbyte oder Endebyte dranhängt? Oder die Dokumentation des Partnertelegramms ist falsch?

Der FC6 AG_RECV empfängt nicht direkt Zeichen vom Partner sondern holt lediglich soviele Zeichen/Byte aus dem Empfangspuffer des CP wie in dem ANY an RECV angegeben sind. Der Ausgang LEN sollte bei jedem NDR=1 auch angeben, daß 402 Bytes aus dem CP übernommen wurden.

Harald
 
Zurück
Oben