Ankommende Nachricht ist nicht lesbar

quant81

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

ich möchte mit Hilfe einer TCP/IP Verbindung Daten von der SPS zum PC schicken. Dafür verwende ich den Befehl AG_SEND. Die SPS schickt zyklisch einen String 'Hallo'. Diese Nachricht wird dann von einem selbstgeschriebenen Server in Python in eine Datei geschrieben. Dei ankommende Nachricht hat dabei folgende Gestalt: "þ" und ist somit nicht lesbar. Ich habe schon versucht INT Zahl zu schicken, dann kam folgende Nachricht an: . Ich vermute, dass die Codierungsart zwischen SPS und PC nicht übereinstimmt.

Falls jemand die Antwort auf mein Problem weiß, wäre ich für Eure Hilfe sehr dankbar.
 
Schreib doch mal die Hex-Werte der übertragenen Bytes in die Datei. Und vielleicht auch die Anzahl der empfangenen Zeichen. Vielleicht versteht deine Routine ja den ggf. mitgeschickten Header nicht ..
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Bei SIMATIC hat ein String in den ersten beiden Byte die Informationen über den String stehen:

Byte 0 maximale Länge
Byte 1 aktuelle Länge

also ander als z.B. bei C gibt es kein "Ende-Zeichen" für einen String.
Wenn Du einen solchen String in ein "anderes" System senden willst musst Du diesen erst mal umformatieren.
 
Beim Senden von Integerwerten ist zu beachten, dass High- und Lowbyte in der SPS gegenüber dem PC vertauscht sind. Also vorher den Wert mit TAW behandeln, dann senden oder im PC die Bytes tauschen.
 
Zurück
Oben