Protokollbeschreibung

Das Modbus RTU Protokoll ist in den AC500 Prozessormodulen implementiert. Modbus ist ein Master-Slave (Client-Server) Protokoll. Der Client sendet eine Anfrage an den Server und erhält die Antworten.

Die Betriebsart Modbus einer seriellen Schnittstelle wird in der Steuerungskonfiguration ⮫ „Konfigurieren von Modbus RTU auf der seriellen Schnittstelle“ eingestellt.

Um die SPS als Modbus RTU-Client zu verwenden, können zwei mögliche Programmiermethoden verwendet werden:

  • ModRtuMast

  • ModRtuToken mit Read/Write Funktionsbausteinen

ModRtuMast

Bei dieser Methode wird der Modbus Client-Funktionsbaustein ModRtuMast verwendet, um alle Lese- und/oder Schreibaufträge in einer Sequenz zu programmieren. Wird mehr als ein ModRtuMast-Funktionsbaustein verwendet, z.B. für mehrere Sever-Verbindungen, so ist in der Reihenfolge darauf zu achten, dass immer nur einer dieser ModRtuMast-Funktionsbausteine aktiv ist.

Eine Übersicht über die unterstützten Funktionscodes für die Modbus RTU-Kommunikation mit einer AC500 SPS finden Sie im Anwendungsbeispiel ‎⮫ Modbus RTU und Funktionsbaustein ModRtuMast.

ModRtuToken mit Read/Write Funktionsbausteinen

Bei dieser Methode wird der Funktionsbaustein ‎ModRtuToken‎ zusammen mit ‎ModRtuRead‎ und/oder ‎ModRtuWrite‎ und/oder ‎ModRtuReadWrite23‎ verwendet.

Anstelle der Programmierung einer Sequenz ist eine einfache Verbindung über Strukturvariablen zwischen den Funktionsbausteinen notwendig, um die sequentielle Funktionalität von Modbus RTU zu gewährleisten.

Ein Beispielprojekt für Modbus Client und Server, um Modbus RTU-Kommunikation mit einer AC500 SPS zu ermöglichen, finden Sie im Anwendungsbeispiel ‎⮫ Modbus RTU und Funktionsbaustein ModRtuMast.

Um das Modbus RTU Protokoll auf einer AC500-eCo SPS zu verwenden, muss das Prozessormodul mit einer Optionsbaugruppe für die serielle Kommunikation COMx TA5141-RS232I, TA5142-RS485 oder TA5142-RS485I ausgestattet sein. Der Typ des Adapters der Optionsbaugruppe muss entsprechend dem Typ der benötigten physischen seriellen Schnittstelle ausgewählt werden.

Je nach CPU-Typ können bis zu 3 Optionsbaugruppen für die serielle Kommunikation COMx verwendet werden⮫ „Anbringen einer Optionsbaugruppe für die serielle Kommunikation COMx“.

Modbus RTU kann für die Kommunikation zwischen einer AC500-eCo SPS und einem Bedienfeld verwendet werden. Das Anschlussprinzip wird am Beispiel des Bedienfelds CP604 beschrieben: ‎⮫ CP604-Anschluss über Modbus RTU.

Modbus Kunde

In dieser Betriebsart wird der Telegrammverkehr mit dem/den Server(n) über den Funktionsbaustein ModRtuMast abgewickelt.

Dieser Funktionsbaustein sendet über die eingestellte Schnittstelle Modbus Request-Telegramme an den/die Server und empfängt über diese Schnittstelle Modbus Response-Telegramme von dem/den Server(n).

Die vom Server übertragenen Blöcke von Modbus enthalten die folgenden Informationen:

  • Modbus Adresse des abgefragten Servers (1 Byte)

  • Funktionscode, der die Anfrage des Kunden definiert (1 Byte)

  • die auszutauschenden Daten (N Byte)

  • den CRC16-Steuercode (2 Byte)

Modbus Server

In dieser Betriebsart wird kein Funktionsbaustein für die Modbus Kommunikation benötigt. Das Senden und Empfangen von Modbus Telegrammen wird automatisch durchgeführt.

Die AC500 CPUs verarbeiten die folgenden Modbus Operationscodes:

Funktionscode

Beschreibung

DEZ

HEX

01 oder 02

01 oder 02

Lesen n Bits

03 oder 04

03 oder 04

Lesen n Worte

05

05

Schreiben eines Bits (kodiert in einem Wort)

06

06

Ein Wort schreiben

15

0F

Schreiben von n Bits (kodiert in einem Byte)

16

10

Schreiben n Worte

22

16

Maske schreiben

23

17

Lesen/Schreiben mehrerer Wörter in einem Telegramm

Es gelten folgende Längenbeschränkungen für die zu übertragenden Daten:

Funktionscode

Max. Länge

DEZ

HEX

01 oder 02

01 oder 02

2000 Bits

03 oder 04

03 oder 04

125 Wörter / 62 Doppelwörter

05

05

1 Bit

06

06

1 Wort

15

0F

2000 Bits

16

10

123 Wörter / 61 Doppelwörter

22

16

Schreiben: 1 Wort

23

17

Lesen: 125 Wörter / 62 Doppelwörter

Schreiben: 121 Wörter / 60 Doppelwörter