Dieser Artikel zeigt, wie eine Modbus-RTU-Kommunikation zwischen einer Siemens S7-1200 SPS und einem Servoregler der A6-RS-Serie von STEPPERONLINE eingerichtet wird.
Anwendungsszenario: Die S7-1200 SPS fungiert als Modbus-RTU-Master und der A6-RS-Servoregler als Slave. Die SPS liest die Zwischenkreisspannung (DC-Bus-Spannung) aus dem Servoregler.
Voraussetzungen
Bereiten Sie die folgenden Komponenten vor, bevor Sie beginnen:
- S7-1200 SPS: CPU 1215C DC/DC/DC
- Ein beliebiger Servomotor der A6-RS-Serie
- Ein RS-485-Kommunikationskabel
Vorgehensweise
1. Parameter des Servoreglers einstellen
Konfigurieren Sie die folgenden Parameter am A6-RS-Servoregler:
| Parameter | Wert | Beschreibung |
|---|---|---|
| C0A.00 | 1 | Modbus-Slave-Adresse |
| C0A.01 | 7 | Modbus-Baudrate |
| C0A.02 | 0 | Modbus-Kommunikationsformat |
2. Modbus-RTU-Kommunikationsmodul konfigurieren

3. Systemmerker aktivieren
Wählen Sie im Projektbaum PLC_1 aus, klicken Sie mit der rechten Maustaste auf Eigenschaften, navigieren Sie zu System- und Taktmerker und aktivieren Sie Nutzung des Systemmerkerbytes aktivieren.

4. Befehl MB_COMM_LOAD aufrufen
Öffnen Sie den Baustein Main (OB1). Navigieren Sie im Bereich Anweisungen zu Kommunikation → Kommunikationsprozessor → Modbus und ziehen Sie den Befehl MB_COMM_LOAD in ein Programmnetzwerk, wie unten dargestellt:

5. Daten-Sende- und Empfangspuffer anlegen
Wählen Sie im Projektbaum Neuen Baustein hinzufügen → Datenbaustein (DB) → OK, wie unten dargestellt.
Deaktivieren Sie nach dem Hinzufügen des neuen Datenbausteins die Option Optimierter Bausteinzugriff und definieren Sie die Bereiche für den Sende- und Empfangspuffer.

6. Befehl MB_MASTER aufrufen
Öffnen Sie den Organisationsbaustein Main (OB1). Navigieren Sie im Bereich Anweisungen zu Kommunikation → Kommunikationsprozessor → Modbus und ziehen Sie den Befehl MB_MASTER in ein Programmnetzwerk, wie unten dargestellt:

Konfigurieren Sie die Befehlsparameter wie folgt:
- MB_ADDR: Auf 1 setzen (die in Schritt 1 konfigurierte Slave-Adresse).
- MODE: Auf 0 setzen (Lesebetrieb).
- DATA_ADDR: Auf 16#4006 setzen, um das Register U40.06 (Zwischenkreisspannung) auszulesen. Verwenden Sie die direkte Registeradresse; fügen Sie nicht den Offset 40001 hinzu, der üblicherweise bei der Modbus-Adressierung verwendet wird.
7. Programm ausführen
Überwachen Sie den Wert von U40.06 im SPS-Programm. Die empfangenen Daten liegen im Hexadezimalformat vor; wandeln Sie diese in das Dezimalformat um und vergleichen Sie den Wert mit dem auf dem A6-RS-Servoregler angezeigten Wert U40.06, um die Korrektheit zu überprüfen.