F.A.Q – Come è possibile leggere le parole d’ingresso nell’area di indirizzamento da 9999 a 65535 con la S7-1200/S7-1500 SIMATIC tramite Modbus RTU?
Requisito
La tabella seguente elenca i requisiti minimi per la lettura dell’area di indirizzamento d’ingresso estesa:
S7-1200 | CPU S7-1500 / ET 200SP | |
---|---|---|
Firmware CPU | V4.1.1 e successive | V1.7 e successive |
Board di comunicazione | CB 1241 RS485 | – |
Modulo di comunicazione | CM 1241 RS422/485 (V2.1 e successive) | CM PtP RS422/485 HF (V1.0 e successive) |
CM 1241 RS232 (V2.1 e successive) | CM PtP RS232 HF (V1.0 e successive) | |
ET 200SP CM PtP (V1.0 e successive) | ||
STEP 7 (TIA Portal) | V13 SP1 e successive | V14 e successive |
Istruzioni “MODBUS ( RTU )” | V3.0 e successive | V3.1 e successive |
Istruzione “Modbus_Master” | V2.2 e successive | V2.4 e successive |
Istruzioni
Per stabilire la comunicazione, oltre all’istruzione “Modbus_Master” è necessaria anche l’istruzione “Modbus_Comm_Load”.
I due blocchi sono disponibili in STEP 7 (TIA Portal) nelle istruzioni di comunicazione in “Processore di comunicazione” nella cartella “MODBUS (RTU)”:
Modbus_Comm_Load
Il blocco Modbus_Comm_Load viene utilizzato per selezionare il modulo di comunicazione, stabilire i parametri di comunicazione e parametrizzare il collegamento con i parametri master (o slave).
Il blocco aciclico Modbus_Comm_Load deve essere stato eseguito una volta con DONE prima di richiamare la prima volta Modbus_Master (o Modbus_Slave). Può essere avviato ad esempio nel primo ciclo del programma (attivando il merker di sistema M1.0 nelle impostazioni hardware). Dopo l’inserimento del modulo (o della scheda) di comunicazione nella configurazione hardware è possibile trasmettere il nome simbolico con relativo identificativo hardware con il parametro PORT.
I parametri di comunicazione BAUD (velocità di trasmissione) e PARITY (parità) devono essere adattati per lo slave da indirizzare. Al parametro MB_DB viene assegnata la struttura dati MB_DB dei dati di istanza del Modbus_Master (o Modbus_Slave) e così si definisce il modulo di comunicazione (identificato tramite il parametro PORT) come MODBUS master (o slave). Nei dati di istanza di Modbus_Comm_Load è necessario modificare il parametro statico MODE dell’esercizio Duplex (preferibilmente tramite il valore iniziale) (0 = full duplex (RS232), 1 = full duplex (RS422) four wire mode, 4 = half duplex (RS485) two wire mode).
Modbus_Master
Con il blocco Modbus_Master si definisce il modulo di comunicazione selezionato come MODBUS master con il blocco di configurazione Modbus_Comm_Load
Con il blocco Modbus_Master viene selezionato il MODBUS slave da indirizzare, specificato il codice funzione e stabilita l’area dati locale. La tabella sottostante illustra i parametri:
Parametro | Descrizione |
---|---|
REQ | Attivazione della comunicazione |
MB_ADDR | Indirizzo della stazione MODBUS-RTU |
MODE | Tipo di richiesta: “0” = Lettura “1” = Scrittura “104” = Lettura delle parole d’ingresso dello slave (fino all’indirizzo di registro 65535) |
DATA_ADDR | Indicazione dell’indirizzo iniziale MODBUS (= Offset + indirizzo di registro slave): per MODE = 104: Offest =0 |
DATA_LEN | Indicazione della lunghezza dati MODBUS: (in bit o parole) per MODE = 104: Parole |
DATA_PTR | Definizione delle aree dati locali di ricezione e/o trasmissione del master. Il parametro DATA_PTR deve rimandare ad un blocco dati il cui attributo “Accesso ottimizzato al blocco” deve essere disattivato. |
Software necessari:
Ricordo che per essere abilitati al download del software è necessaria una registrazione al sito di supporto Siemens (qui) ed una successiva autorizzazione da parte di Siemens, che può richiedere anche diversi giorni.