S7 Kommunikation
Die Grundlage für die S7-Datenübertragung über Ethernet ist die RFC1006. Der Standard beschreibt, wie das paketorientierte ISO Transport Protokoll (ISO 8073) im zeichenorientierten TCP/IP-Protokoll verpackt und versendet werden kann.
Zu allererst wird der ISO-TCP Header übertragen.
Dem Header folgend, wird im ISO-TCP Body die eigentliche TPDU versendet (Transport Protocol Packet Data Unit).
Die TPDU besteht aus:
- einer Längenangabe,
- einem Typ-Abhängigen „Fixed Part“,
- einem optionalen „Variable Part“,
- sowie optionalen „User Data“.
Ablauf der Kommunikation
Im Folgenden soll der Ablauf der S7 Kommunikation zwischen der Server-Seite (z.B. einer SPS oder einem T4gl-Automatisierungssystem) und der Client-Seite (z.B. WinCC flexible oder ein HMI) erläutert werden.
Die Server-Seite lauscht zunächst auf TCP-Port 102. Nach einer eingehenden Verbindung erwartet der Server vom Client ein Packet mit einem Connection Request TPDU-Code (CR).
Der Server antwortet daraufhin mit einem Connection Confirm Packet (CC).
Nach diesem Handshake wechseln beide Seiten aus ihrem Server- bzw. Client-State in den Peer-State. Im Peer-State erfolgt der eigentliche Datenaustausch. Alle Daten werden dabei in Packets mit Data TPDU-Code (DT) verpackt und versendet.
Das eigentliche Protokoll für die S7 Kommunikation ist in den PDUs (User Data Teil der Data TPDUs) enthalten.
Hier ein Beispiel für einen S7 Kommunikationsablauf.