Step 7 200 Byte senden via TCP-IP an S7 mit CP343-1 LEAN

Chefselber81

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

ich versuche 200 Byte mittels einem Javaprogramm über TCP an die 316er CPU mit CP343 zu verschicken.
Das klappt soweit. AG_RECV empfängt die 200 Byte.
Sobald ich das 2. Mal dieselben Daten verschicke wird der DB Anfang mit $r und $l überschrieben und der DB-Bereich um 2 Byte verschoben!


Nach dem ersten Senden
....
DB1.DBB 0 '1'
DB1.DBB 1 '1'
.
.
.
DB1.DBB 197 '1'
DB1.DBB 198 '2'
DB1.DBB 199 '3'

Nach dem zweiten Senden
....
DB1.DBB 0 '$r'
DB1.DBB 1 '$l'
.
.
.
DB1.DBB 199 '1'

Wie kann ich die Zeichen beim Sender entfernen?
Beim Empfänger habe ich keinen Zugriff.


MfG Chef
 
Vermutlich wäre es hilfreich, wenn Du uns den Sende-Teil Deines Java-Programms zeigen würdest. Denn dort mußt Du dafür sorgen, daß die Sende-Funktion kein $R$L dranhängt. Oder eine andere Funktion benutzen, die nichts dranhängt. Oder hast Du die Sendelänge falsch angegeben? Oder Du mußt das $R$L von Deiner Sende-Zeichkette entfernen?? Oder hängst Du das $R$L vielleicht sogar selber dran??

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die schnelle Antwort.
Ich erzeuge eine Instanz mit PrintWriter out....

char[] daten = {'1','1',....'1'} // 200 Byte
...

out.println(daten);
Spuckt mir da evtl. println in die Suppe?!

MfG
 
Hab ich probiert, ich lasse es parallel auf der Konsole ausgeben.
Da wird es mit print ausgegeben, nur die SPS schreibt mir nichts. Nur mit println.
Versuche jetzt mal andere Ausgabestreams.
OutputStreamWriter, BufferedStreamWriter....
 
Zurück
Oben