- RK512
-
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.
Inhaltsverzeichnis
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
- Telegrammkennung
Wikimedia Foundation.