Das RK512-Protokoll dient zum Zugriff auf interne Speicherbereiche einer Siemens-SPS der Reihe S5.

Im OSI-Modell ist RK512 auf Schicht 4, der Transportschicht anzusiedeln (da einzelne Bereiche des Zielsystems adressiert werden). Unter RK512 läuft zumeist das 3964R-Protokoll (auf Schicht 2). Die Vermittlungsschicht (Layer 3) entfällt dabei, da es sich um eine Punkt-zu-Punkt-Kommunikation handelt und somit kein Zielsystem adressiert werden muss.

Protokollablauf

Eine RK512-Transaktion besteht aus einem Befehlstelegramm und einem Reaktionstelegramm. Der Initiator der Transaktion steuert dabei die Datenübertragung zum oder vom Partnersystem. Dabei wird zwischen zwei Auftragsarten unterschieden: SEND (Datenübertragung zum Partnersystem) und FETCH (Anfrage an Partner und Datenübertragung zum Initiator).

Telegrammaufbau

Ein SEND-Befehl und eine FETCH-Reaktion bestehen aus einem Telegrammkopf und folgenden Daten, während SEND-Reaktionen und FETCH-Befehle nur einen Telegrammkopf (ohne Daten) besitzen. Dabei unterscheidet sich der Telegrammkopf zwischen Befehl und Reaktion.

Befehls-Telegrammkopf

Der Telegrammkopf eines Befehlstelegramms besteht aus 10 Bytes:

Byte Bedeutung 1–2 Telegrammkennung 3 Auftragsart 4 Datenbereich 5–6 Datenziel bzw. -quelle 7–8 Länge der Daten 9 Koordinierungsmerker 10 Koordinierungsmerkerbit (Bit 0–3) und CPU-Nummer (Bits 4–7) (11-?) (Daten beim SEND-Auftrag)

Dabei bedeuten: Telegrammkennung 0x00 0x00: Starttelegramm 0xFF 0x00: (hex) Folgetelegramm, wenn mehr als 128 Bytes Daten übertragen werden Auftragsart 'A': SEND-Auftrag in Datenbaustein als Ziel 'O': SEND-Auftrag in erweiterten Datenbaustein als Ziel 'E': FETCH-Auftrag Datenbereich 'D': Datenbaustein 'X': erweiterter Datenbaustein 'E': Eingangsbytes 'A': Ausgangsbytes 'M': Merkerbytes 'P': Peripheriebytes 'Z': Zähler 'T': Timer 'S': Absolute Speicheradressen 'B': (Betriebs-)Systemadressen Datenziel/-quelle Bausteinnummer (Byte 5) und Offset (Byte 6) Byte-, Zähler- oder Timernummer Speicheradresse (in Big-Endian-Byte-Reihenfolge) Datenlänge Anzahl zu übertragender Bytes (Eingänge, Ausgänge, Merker, Peripherie) oder Worte in Big-Endian-Byte-Reihenfolge Koordinierungsmerker zeigt erfolgreiche Abarbeitung des Befehls an Angabe als Merkerbyte (Byte 9) und Bit in diesem Byte (Byte 10, Bits 0–3) Kein Koordinierungsmerker wird als Merker 255, Bit 15 dargestellt CPU-Nummer Nummer der CPU, auf die Zugegriffen wird Keine Angabe (Alle CPUs) wird dargestellt als 0 (wenn Koordinierungsmerker vorhanden) oder 0xF (ohne Koordinierungsmerker)

Reaktions-Telegrammkopf

Der Telegrammkopf eines Reaktionstelegramms besteht aus 4 Bytes:

Byte Bedeutung 1–2 Telegrammkennung 3 Auftragsart 4 Status (5-?) (Daten beim FETCH-Auftrag)

Dabei bedeuten: Telegrammkennung (Analog zum Befehl) 0x00 0x00: Starttelegramm 0xFF 0x00: (hex) Folgetelegramm, wenn mehr als 128 Bytes Daten übertragen werden Auftragsart 0x00: Antworttelegramm Status 0x00: Bearbeitung erfolgreich > 0x00: Fehlernummer

Quellen

SIMATIC S5 CP 544 Handbuch Kapitel 3.6: Protokolldefinition der Rechnerkopplung RK512

Kategorie:Netzwerkprotokoll (Transportschicht)