Indice dei contenuti
ToggleSpiegazione dettagliata del protocollo Modbus RTU
Protocollo di comunicazione MODBUS_RTU (questo accordo adotta il metodo master-slave basato su domande e risposte)
Protocollo di comunicazione MODBUS: Il protocollo di comunicazione MODBUS consente agli strumenti e ai trasmettitori della serie PDM di comunicare con controllori a sequenze programmabili (PLC), RTU, sistemi SCADA, DCS o dispositivi di terze parti di numerosi marchi di fama internazionale quali Schneider, Siemens, AB, GE, ecc. Scambio di informazioni e trasmissione di dati tra sistemi di monitoraggio compatibili con MODBUS.

Gli strumenti/trasmettitori della serie PDM possono costituire un sistema di monitoraggio dell'alimentazione semplicemente aggiungendo un pacchetto di software di monitoraggio basato su computer (o computer industriale), come ad esempio Kingview, in ouch, FIX, synall, ecc.
Ampia integrazione di sistema: gli strumenti e i trasmettitori della serie PDM sono dotati di un'interfaccia di comunicazione RS-485/422 standard e del protocollo di comunicazione ModBus. Questo protocollo di comunicazione è ampiamente utilizzato come standard di integrazione di sistema nel settore energetico e in quello del controllo industriale, sia a livello nazionale che internazionale.
Tipo e formato dei dati di comunicazione: la trasmissione delle informazioni avviene in modo asincrono e in byte.exist
Le informazioni di comunicazione trasmesse tra la stazione master e la stazione slave sono in formato a parole da 11 bit:
Formato Word (dati seriali) binario a 11 bit
Bit di start 1
Bit di dati: 8 bit
Bit di parità 1: Con bit di parità / Nessuno: Senza bit di parità
Bit di stop 1: con bit di parità / 2: senza bit di parità
● Formato dei dati di comunicazione (frame di informazioni)
Formato dei dati: Codice indirizzo Codice funzione Area dati Controllo degli errori
Lunghezza dei dati: 1 byte 1 byte N byte Codice CRC a 16 bit (ciclo ridondante
(codice)
Nota
1. Un byte è costituito da numeri binari a 8 bit (ovvero 8 bit).
2. ModBus è un marchio registrato della società Modicon.
3. Nel presente documento, con l’espressione “macchina schiava” si intende il PDM.
1. Processo di trasmissione delle informazioni di comunicazione:
Quando il comando di comunicazione viene inviato dal dispositivo mittente (host) al dispositivo ricevente (slave), lo slave che corrisponde al codice di indirizzo ricevuto riceve il comando di comunicazione e legge le informazioni in base al codice di funzione e ai relativi requisiti. Se il controllo CRC è corretto, esegue l’operazione corrispondente e quindi restituisce i risultati dell’esecuzione (dati) all’host. Le informazioni restituite includono il codice di indirizzo, il codice di funzione, i dati dopo l’esecuzione e il codice di controllo CRC. Se il controllo CRC fallisce, non verrà restituita alcuna informazione.
1.1 Codice di indirizzo
Il codice di indirizzo è il primo byte (8 bit) di ogni frame di comunicazione, compreso tra 0 e 255. Questo byte indica che lo slave con un indirizzo impostato dall’utente riceverà le informazioni inviate dal master. Ogni slave deve avere un codice di indirizzo univoco e solo lo slave corrispondente a quel codice di indirizzo può rispondere al messaggio di feedback. Quando lo slave rinvia le informazioni, i dati inviati iniziano con i rispettivi codici di indirizzo. Il codice di indirizzo inviato dal master indica l’indirizzo dello slave a cui inviare i dati, mentre il codice di indirizzo restituito dallo slave indica l’indirizzo dello slave da cui proviene la risposta. Il codice di indirizzo corrispondente indica da dove provengono le informazioni.
1.2 Codice funzione
Si tratta del secondo byte trasmesso in ogni frame di comunicazione. Il protocollo di comunicazione ModBus può definire codici funzione compresi tra 1 e 127. Gli strumenti e i trasmettitori della serie PDM utilizzano solo una parte di questi codici funzione. Inviato come richiesta dall’host, il codice funzione serve a indicare allo slave quale azione deve eseguire. Come risposta dello slave, il codice funzione restituito dallo slave è lo stesso di quello inviato dall’host e indica che lo slave ha risposto all’host ed ha eseguito le operazioni pertinenti.
Tabella 8.1 Alcuni codici funzione di MODBUS
Operazione di definizione del codice funzione (binario)
02 Lettura ingresso interruttore: lettura di uno o più dati relativi allo stato dell'interruttore
01 Lettura delle uscite di commutazione: lettura di uno o più dati relativi allo stato delle uscite di commutazione
03 Lettura dei dati dei registri: lettura dei dati da uno o più registri
05 Scrivere l'uscita di commutazione per controllare l'uscita “chiuso/aperto” di un relè
06 Scrivere in un singolo registro Scrivere una serie di dati binari in un singolo registro
10 Scrittura su più registri Scrivere più insiemi di dati binari su più registri
1.3 Area dati
L'area dati include le informazioni che devono essere restituite dallo slave o l'azione che deve essere eseguita. Queste informazioni possono essere dati (ad esempio: ingresso/uscita di un interruttore, ingresso/uscita analogica, registro, ecc.), indirizzi di riferimento, ecc. Ad esempio, se l’host richiede allo slave di restituire il valore del registro (compreso l’indirizzo iniziale del registro da leggere e la lunghezza del registro letto) tramite il codice funzione 03, i dati restituiti includono la lunghezza e il contenuto del registro. A seconda delle diverse macchine slave, l’indirizzo e le informazioni sui dati variano (è necessario fornire una tabella delle informazioni di comunicazione).
Lo strumento/trasmettitore della serie PDM adotta il protocollo di comunicazione Modbus. L’host (PLC, RTU, PC, DCS, ecc.) può leggere il registro dati a piacimento utilizzando il comando di comunicazione (codice funzione 03) (vedere l’appendice per la tabella delle informazioni sui dati). Il registro dati degli strumenti/trasmettitori della serie PDM memorizza centinaia di grandezze elettriche (quali corrente, tensione, potenza, componenti armoniche da 0 a 31, ecc.), tutte rappresentate da dati binari a 16 bit (2 byte) Il bit di ordine più alto viene prima; il numero massimo di registri che possono essere letti contemporaneamente (ovvero il numero di diversi tipi di potenza) è 50.
Il formato del comando nella risposta PDM è costituito dall'indirizzo dello slave, dal codice funzione, dall'area dati e dal codice CRC. I dati nell'area dati sono tutti di due byte, con il bit di ordine più alto per primo (ad eccezione dell'energia elettrica).
Nota: 1. Strumenti PDM-820AC/ACM/ACR, PDM-800AC/ACM
Esistono i codici funzione “03”, “06” e “10”;
2. Se il PDM utilizza il protocollo di comunicazione MODBUS ASCII, il formato dei dati di comunicazione è: 7
Bit di dati, 1 bit di stop, parità pari.
2. Introduzione ai codici funzione MODBUS
2.1 Codice funzione “02”: Lettura di uno o più ingressi di stato degli interruttori
Ad esempio: l'host desidera leggere lo stato di ingresso degli switch DI1-DI4 con indirizzo 01.
L'indirizzo e i dati del registro dati dello slave (PDM) sono:
Indirizzo iniziale dei bit Dati del registro DI (esadecimali) Note 0000 0B
Lo stato di DI1/DI2/DI4 è “1”, mentre quello di DI3 è “0”
Il formato del messaggio inviato dall'host:
Numero di byte inviati dall'host Informazioni inviate Osservazioni
L'indirizzo slave 1 01 viene inviato allo slave con indirizzo 01
Il codice funzione 1 02 legge lo stato dell'ingresso dell'interruttore
BIT iniziale bit 2 0000 L'indirizzo del bit iniziale è 0000
Lettura lunghezza dati 2 0004 Lettura bit di stato degli ingressi del selettore a 4 posizioni
Codice CRC 2 79C9 Il codice CRC viene calcolato dall'host
Il formato del messaggio restituito dalla risposta dello slave (PDM):
Risposta dello slave: numero di byte restituiti, informazioni, note
L'indirizzo dello slave 1 01 proviene dallo slave 01
Il codice funzione 1 02 legge lo stato dell'ingresso dell'interruttore
Lunghezza dei dati: 1 01 1 byte (8 bit)
Dati di stato DI 1 0B Contenuto del registro DI
Codice CRC 2 E04F Il codice CRC viene calcolato dalla macchina slave
2.2 Codice funzione “01”: Lettura dello stato di una o più uscite degli interruttori
Ad esempio: l'host desidera leggere lo stato di uscita degli switch DO1 e DO2 con indirizzo 01.
L'indirizzo e i dati del registro dati dello slave (PDM) sono:
Indirizzo iniziale del bit Dati del registro DO (esadecimali) Note
0000 02 Lo stato dell'uscita DO2 è “1”, lo stato dell'uscita DO1
Lo stato è “0”
Il formato del messaggio inviato dall'host:
Numero di byte inviati dall'host Informazioni inviate Osservazioni
L'indirizzo slave 1 01 viene inviato allo slave con indirizzo 01
Il codice funzione 1 01 legge lo stato dell'uscita dell'interruttore
BIT iniziale bit 2 0000 L'indirizzo del bit iniziale è 0000
Lunghezza dati di lettura 2 0002 Lettura di 2 bit di stato delle uscite a relè
Codice CRC 2 BDCB Il codice CRC viene calcolato dall'host
Il formato del messaggio restituito dalla risposta dello slave (PDM):
Risposta dello slave: numero di byte restituiti, informazioni, note
L'indirizzo dello slave 1 01 proviene dallo slave 01
Il codice funzione 1 01 legge lo stato dell'uscita dell'interruttore
Lunghezza dei dati: 1 01 1 byte (8 bit)
Dati di stato DO 1 02 Contenuto del registro DO
Codice CRC 2 D049 Il codice CRC viene calcolato dalla macchina slave
2.3 Codice funzione “03”: Lettura di più ingressi di registro
Ad esempio: l'host desidera leggere il valore di 3 registri slave con indirizzo 01 e indirizzo iniziale 0116.
secondo.
L'indirizzo e i dati del registro dati dello slave (PDM) sono:
Indirizzo di registro Dati di registro (esadecimali) Potenza PDM corrispondente
0116 1784UA
0117 1780UB
0118 178A UC
Il formato del messaggio inviato dall'host:
Numero di byte inviati dall'host Informazioni inviate Osservazioni
L'indirizzo slave 1 01 viene inviato allo slave con indirizzo 01
Codice funzione 1 03 Lettura registro
Indirizzo iniziale 2 0116 L'indirizzo iniziale è 0116
Lunghezza dei dati: 3 0003. Lettura di 3 registri (6 byte in totale)
Codice CRC 2 E5F3 Il codice CRC viene calcolato dall'host
Il formato del messaggio restituito dalla risposta dello slave (PDM):
Risposta dello slave: numero di byte restituiti, informazioni, note
L'indirizzo dello slave 1 01 proviene dallo slave 01
Codice funzione 1 03 Lettura registro
Leggi parola 1 06 3 registri per un totale di 6 byte
Dati di registro 1 2 1784 Il contenuto della memoria all'indirizzo 0116
Dati di registro 2 2 1780 Il contenuto della memoria all'indirizzo 0117
Dati di registro 3 2 178A Il contenuto della memoria all'indirizzo 0118
Codice CRC 2 5847 Il codice CRC viene calcolato dalla macchina slave
2.4 Codice funzione “05”: impostare 1 uscita di commutazione (“telecomando”)
Esempio 1: Punto di uscita DO1 dell'interruttore, il cui stato attuale è “minuto”; l'host desidera controllare questo relè
Il dispositivo “si collega”.
I comandi di controllo sono:
“FF00” indica che il relè di controllo è “chiuso”;
“0000” è il relè di controllo “minuti”;
Il formato del messaggio inviato dall'host:
Numero di byte inviati dall'host Informazioni inviate Osservazioni
L'indirizzo slave 1 01 viene inviato allo slave con indirizzo 01
Il codice funzione 1 05 scrive lo stato dell'uscita dell'interruttore
Il bit 2 0000 del BIT di uscita corrisponde al bit del relè di uscita (DO1)
Il comando di controllo 2 FF00 imposta il bit di stato dell'uscita a relè su “on”
Codice CRC 2 8C3A Il codice CRC viene calcolato dall'host
Il formato del messaggio restituito dalla risposta dello slave (PDM):
Il formato e il contenuto dei dati del messaggio inviato dall'host sono esattamente gli stessi.
Esempio 2: Il punto di uscita DO2 dell'interruttore, il cui stato attuale è “chiuso”, e l'host desidera controllare questo relè
Il dispositivo “punta”.
Formato del messaggio inviato dall'host
Numero di byte inviati dall'host Informazioni inviate Osservazioni
L'indirizzo slave 1 01 viene inviato allo slave con indirizzo 01
Il codice funzione 1 05 scrive lo stato dell'uscita dell'interruttore
Il bit 2 (0001) del BIT di uscita corrisponde al bit del relè di uscita (DO2)
Il comando di controllo 2 0000 imposta il bit di stato dell'uscita a relè su “on”
Codice CRC 2 9C0A Il codice CRC viene calcolato dall'host
Il formato del messaggio restituito dalla risposta dello slave (PDM):
Codice CRC calcolato dall'host
Il formato del messaggio restituito dalla risposta dello slave (PDM):
Il formato e il contenuto dei dati del messaggio inviato dall'host sono esattamente gli stessi.

2.6 Codice funzione “10”: scrittura su più registri
L'host utilizza questo codice di funzione per salvare più dati nella memoria dati della tabella PDM.
Nel protocollo di comunicazione Modbus, un registro è costituito da 16 bit (ovvero 2 byte) e il bit di ordine più alto viene indicato per primo.
In questo modo, la memoria del PDM è di due byte. Poiché il protocollo di comunicazione Modbus consente fino a
È possibile salvare 60 registri; pertanto, il PDM consente di salvare fino a 60 registri di dati contemporaneamente.
Ad esempio: l'host desidera salvare i valori 0064 e 0010 nei registri dello slave con indirizzi 002C e 002D
Go (il codice dell'indirizzo dello slave è 01). Una volta salvati i dati di comunicazione, il PDM con indirizzo 002C/002D
Le informazioni contenute nella tabella sono:
Indirizzo dei dati originariamente memorizzati (esadecimale)
002C 04B0
002D 1388
Il formato del messaggio inviato dall'host:
Codice CRC calcolato dall'host
Il formato del messaggio restituito dalla risposta dello slave (PDM):
Risposta dello slave numero di byte numero di byte esempio
L'indirizzo dello slave 1 01 proviene dallo slave 01
Codice funzione 1 10 Scrittura su più registri
Indirizzo iniziale 2 002C L'indirizzo iniziale è 002C
Salva dati con lunghezza di parola 2 0002 Salva dati con lunghezza di parola 2
Codice CRC 2 8001: codice CRC calcolato dalla macchina slave
3. Codice di controllo degli errori (controllo CRC)
4. Elaborazione delle informazioni e dei dati relativi agli errori di comunicazione
Quando la tabella PDM rileva un errore diverso dall'errore del codice CRC, deve inviare un messaggio all'host
Per completezza di informazione, la cifra più significativa del codice funzione è 1; in altre parole, il codice funzione restituito dallo slave all’host è quello inviato dall’host stesso.
Aggiungere 128 in base al codice di funzione inviato. I seguenti codici indicano che si è verificato un errore imprevisto
nato.
Se le informazioni ricevute dal PDM dall'host presentano errori CRC, saranno ignorate dalla tabella PDM.
Il formato del codice di errore restituito da PDM è il seguente (ad eccezione del codice CRC):
Codice indirizzo: 1 byte
Codice funzione: 1 byte (il bit più significativo è 1)
Codice di errore: 1 byte
Codice CRC: 2 byte.
La risposta del PDM restituisce il seguente codice di errore:
81. Codice funzione non valido. Il codice funzione ricevuto non è supportato dalla tabella PDM.
82. Posizione dei dati non consentita. La posizione dei dati specificata supera l'ambito della tabella PDM
intorno.
83. Valore dei dati non valido. Il valore dei dati ricevuto dall'host supera la fase PDM
L'intervallo di dati dell'indirizzo corrispondente.



