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.