Comunicazione Modbus RTU tra un PLC Siemens S7-1200 e un Servoazionamento Serie A6

D

Daniel Zhang

Ultimo aggiornamento Jul 12, 2026

Questo articolo illustra come stabilire una comunicazione Modbus RTU tra un PLC Siemens S7-1200 e un servoazionamento STEPPERONLINE della serie A6-RS.

Scenario applicativo: Il PLC S7-1200 funge da master Modbus RTU, mentre il servoazionamento A6-RS funge da slave. Il PLC legge la tensione del bus CC dal servoazionamento.

Prerequisiti

Preparare i seguenti elementi prima di iniziare:

  • PLC S7-1200: CPU 1215C DC/DC/DC
  • Un qualsiasi servomotore della serie A6-RS
  • Un cavo di comunicazione RS-485

Procedura

1. Impostare i parametri del servoazionamento

Configurare i seguenti parametri sul servoazionamento A6-RS:

Parametro Valore Descrizione
C0A.00 1 Indirizzo slave Modbus
C0A.01 7 Baud rate Modbus
C0A.02 0 Formato di comunicazione Modbus

2. Configurare il modulo di comunicazione Modbus RTU

3. Abilitare la memoria di sistema

Nell'albero del progetto, selezionare PLC_1, fare clic con il pulsante destro su Proprietà, accedere a Memoria di sistema e memoria clock, quindi spuntare Abilita l'uso del byte di memoria di sistema.

4. Richiamare l'istruzione MB_COMM_LOAD

Aprire il blocco Main (OB1). Nel riquadro Istruzioni, accedere a Comunicazione → Processore di comunicazione → Modbus, quindi trascinare l'istruzione MB_COMM_LOAD in un segmento di programma, come mostrato di seguito:

5. Creare i buffer di invio e ricezione dati

Nell'albero del progetto, selezionare Aggiungi nuovo blocco → Blocco dati (DB) → OK, come mostrato di seguito.

Dopo aver aggiunto il nuovo blocco dati, disabilitare l'opzione Accesso al blocco ottimizzato e definire le aree del buffer di invio e ricezione dati.

6. Richiamare l'istruzione MB_MASTER

Aprire il blocco organizzativo Main (OB1). Nel riquadro Istruzioni, accedere a Comunicazione → Processore di comunicazione → Modbus, quindi trascinare l'istruzione MB_MASTER in un segmento di programma, come mostrato di seguito:

Configurare i parametri dell'istruzione come segue:

  • MB_ADDR: Impostare su 1 (l'indirizzo slave configurato al punto 1).
  • MODE: Impostare su 0 (modalità lettura).
  • DATA_ADDR: Impostare su 16#4006 per leggere il registro U40.06 (tensione del bus CC). Utilizzare l'indirizzo diretto del registro; non aggiungere l'offset 40001 tipicamente utilizzato nell'indirizzamento Modbus.

7. Eseguire il programma

Monitorare il valore di U40.06 nel programma PLC. I dati ricevuti sono in formato esadecimale; convertirli in decimale e confrontarli con il valore U40.06 visualizzato sul servoazionamento A6-RS per verificarne la correttezza.