Spiegazione dettagliata del protocollo Modbus RTU

Spiegazione dettagliata del protocollo Modbus RTU

Protocollo di comunicazione MODBUS_RTU (questo accordo adotta il metodo master-slave basato su domande e risposte)

Contatori/trasmettitori della serie PDM: i contatori/trasmettitori della serie PDM presentano un design completamente nuovo, che rivoluziona il concetto di contatore elettrico tradizionale; sono multifunzionali, altamente precisi, digitali, programmabili, di struttura compatta e dotati di display multischermo. Grazie a queste caratteristiche, sono in grado di soddisfare le future esigenze del settore energetico in materia di contatori elettrici.

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.

Quali sono le funzioni e le differenze tra il gateway del protocollo MQTT e il protocollo Modbus? / Protocollo Modbus RTU

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.

Gateway DTU/Edge/Piattaforma IoT/Modulo gateway

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.

 

About Me
e87d0ef219292bb40d6f120e7d321bcb?s=150&d=mp&r=g
More Posts