Il gestore Modbus viene usato per il protocollo Modbus RTU o ASCII in modalità master o slave.
Per aggiungere un gestore Modbus al controller, selezionare il gestore Modbus nel Catalogo hardware, trascinarlo nella Struttura dei dispositivi e rilasciarlo su uno dei nodi evidenziati.
Per maggiori informazioni sull'aggiunta di un dispositivo nel progetto, vedere:
• Uso del metodo di trascinamento
• Uso del Menu contestuale o pulsante Più
Per configurare il gestore Modbus Manager del controller, fare doppio clic su Modbus Manager nella struttura Dispositivi.
La finestra di configurazione del gestore Modbus viene visualizzata come illustrato di seguito:
Impostare i parametri come descritto in questa tabella:
Elemento |
Descrizione |
---|---|
Modalità di trasmissione |
Specificare la modalità di trasmissione da utilizzare: oRTU: utilizza la codifica binaria e la verifica errori CRC (8 bit di dati) oASCII: i messaggi sono in formato ASCII, verifica errori LRC(7 bit di dati) Impostare questo parametro a un valore identico per ogni dispositivo Modbus sul collegamento. |
Indirizzamento |
Specificare il tipo di dispositivo: oMaster oSlave |
Indirizzo |
Indirizzo Modbus del dispositivo, quando lo slave è selezionato. |
Intervallo tra frame (ms) |
Tempo per evitare la collisione tra bus. Impostare questo parametro a un valore identico per ogni dispositivo Modbus sul collegamento. |
Impostazioni linea seriale |
Parametri specificati nella finestra Configurazione Linea seriale. |
Quando il controller è configurato come un Master Modbus, i seguenti blocchi funzione sono supportati dalla libreria PLCCommunication:
oADDM
oREAD_VAR
oSEND_RECV_MSG
oSINGLE_WRITE
oWRITE_READ_VAR
oWRITE_VAR
Per maggiori informazioni, vedere le Descrizioni dei blocchi funzione contenute nella Libreria PLCCommunication.
Quando il controller è configurato come slave Modbus, sono supportate le seguenti richieste Modbus:
Codice funzione Dec (Hex) |
Sottofunzione Dec (Hex) |
Funzione |
---|---|---|
1 (1 esadecimale) |
– |
Lettura uscite digitali (%Q) |
2 (2 esadecimale) |
– |
Lettura ingressi digitali (%I) |
3 (3 esadecimale) |
– |
Lettura più registri (%MW) |
6 (6 esadecimale) |
– |
Scrittura registro singolo (%MW) |
8 (8 esadecimale) |
– |
Diagnostica |
15 (F esadecimale) |
– |
Scrittura su più uscite digitali (%Q) |
16 (10 esadecimale) |
– |
Scrittura su registri multipli (%MW) |
23 (17 esadecimale) |
– |
Lettura/scrittura registri multipli (%MW) |
43 (2B esadecimale) |
14 (E esadecimale) |
Lettura identificazione dispositivo |
Questa tabella contiene i codici delle sottofunzioni supportate dalla richiesta di diagnostica Modbus 08:
Codice sottofunzione |
Funzione |
|
---|---|---|
Dec |
Esadecimale |
|
10 |
0A |
Azzera contatori e registro di diagnostica |
11 |
0B |
Restituisce conteggio messaggio bus |
12 |
0C |
Restituisce conteggio errori di comunicazione bus |
13 |
0D |
Restituisce conteggio errori di eccezione bus |
14 |
0E |
Restituisce conteggio messaggi slave |
15 |
0F |
Restituisce conteggio nessuna risposta slave |
16 |
10 |
Restituisce conteggio NAK slave |
17 |
11 |
Restituisce conteggio occupato slave |
18 |
12 |
Restituisce conteggio overrun caratteri bus |
In questa tabella sono elencati gli oggetti che possono essere letti con una richiesta di lettura identificazione dispositivo (livello di identificazione di base):
ID oggetto |
Nome oggetto |
Tipo |
Valore |
---|---|---|---|
00 esadecimale |
Codice produttore |
Stringa ASCII |
Schneider Electric |
01 esadecimale |
Codice prodotto |
Stringa ASCII |
Codice prodotto controller es.: TM241CE24T |
02 esadecimale |
Revisione maggiore/minore |
Stringa ASCII |
aa.bb.cc.dd (uguale al descrittore dispositivo) |
La seguente sezione descrive le differenze esistenti tra il mapping di memoria Modbus del controller e il mapping Modbus dell'HMI. Se non si programma l'applicazione affinché riconosca queste differenze nel mapping, il controller e l'HMI non comunicheranno correttamente. In questo modo i valori non corretti potranno essere scritti in aree di memoria responsabili delle operazioni di uscita.
|
FUNZIONAMENTO IMPREVISTO DELL'APPARECCHIATURA |
Programmare l'applicazione per convertire tra la mappatura di memoria Modbus usata dal controller e quella usata dai dispositivi HMI collegati. |
Il mancato rispetto di queste istruzioni può provocare morte, gravi infortuni o danni alle apparecchiature. |
Quando il controller e l'HMI Magelis sono collegati via Modbus (HMI è il master delle richieste Modbus), lo scambio di dati utilizza richieste a parola semplice.
Quando si utilizzano le parole doppie, vi è una sovrapposizione delle parole semplici nella memoria dell'HMI, ma non nella memoria del controller (vedere lo schema che segue). Affinché l'area di memoria dell'HMI e l'area di memoria del controller corrispondano, il rapporto tra le parole doppie della memoria dell'HMI e le parole doppie della memoria del controller deve essere 2.
Di seguito è fornito un esempio di corrispondenza della memoria per le parole doppie:
oL'area di memoria %MD2 dell'HMI corrisponde all'area di memoria %MD1 del controller poiché le stesse parole semplici sono utilizzate dalla richiesta Modbus.
oL'area di memoria %MD20 dell'HMI corrisponde all'area di memoria %MD10 del controller poiché le stesse parole semplici sono utilizzate dalla richiesta Modbus.
Di seguito è fornito un esempio di corrispondenza della memoria per i bit:
oL'area di memoria %MW0:X9 dell'HMI corrisponde all'area di memoria %MX1.1 del controller poiché le parole semplici sono suddivise in 2 byte distinti nella memoria del controller.
Per aggiungere un modem al gestore Modbus, fare riferimento a Aggiunta di un modem a un gestore.