Protocollo DNP3: architettura, funzionamento, codici funzione, formato dati e sue applicazioni

Prova Il Nostro Strumento Per Eliminare I Problemi





Il DNP3 o Distributed Network Protocol3 è stato lanciato nel 1992 da una società giapponese per stabilire un protocollo per la comunicazione tra sistemi distribuiti. DNP3 è un protocollo di controllo del dispositivo basato sulla rete che viene utilizzato per la comunicazione tra un dispositivo e un dispositivo di input/output remoto. Questo protocollo dipende principalmente da un modello orientato agli oggetti che riduce la mappatura dei bit di dati solitamente richiesta da altri protocolli meno orientati agli oggetti. Viene utilizzato principalmente tra stazioni master centrali e unità remote distribuite in cui la stazione master centrale funge semplicemente da interfaccia tra il gestore della rete umana e il sistema di monitoraggio. L'unità remota distribuita è l'interfaccia tra la stazione principale e l'apparato fisico osservato e controllato nelle aree distanti. Lo scambio di dati tra questi due può essere effettuato dalla libreria di oggetti comuni. Questo articolo discute una panoramica del protocollo DNP3 – lavorare con le applicazioni.


Che cos'è il protocollo DNP3?

L'insieme dei protocolli di comunicazione utilizzati tra i diversi componenti all'interno dei sistemi di automazione dei processi è noto come protocollo DNP3. Questo protocollo è stato progettato principalmente per scopi di comunicazione tra diversi tipi di apparecchiature di acquisizione e controllo dei dati. Quindi dentro Sistemi SCADA , questo protocollo svolge un ruolo essenziale quando viene utilizzato da RTU, SCADA e IED.



Architettura del protocollo DNP3 e ​​suo funzionamento

Il DNP3 è un protocollo di rete distribuito di terza versione. Ha un sondaggio di integrità e tre livelli di polling, in cui il sondaggio di integrità viene utilizzato per acquisire i dati in un sondaggio.

  Architettura del protocollo DNP3
Architettura del protocollo DNP3

L'architettura di rete DNP3 può essere unicast, multidrop e connettore dati/architetture gerarchiche.



L'architettura unicast: è anche conosciuta come architettura uno-a-uno, qui la stazione master può comunicare solo con una stazione esterna, mentre in architettura multidrop la stazione principale può comunicare con più di un dispositivo esterno, il che significa che può comunicare con più dispositivi esterni. Il connettore dati/architettura gerarchica è una combinazione di architetture multidrop e unicast.

Il protocollo di comunicazione DNP3 è comunemente usato per servizi elettrici, acqua e fognature, petrolio e gas, trasporti e altri ambienti SCADA. Ti consente di visualizzare livelli importanti in tempo reale e cronologici, che potrebbero essere temperatura, umidità, livello della batteria, voltaggio, livello del carburante, ecc. Ti consente inoltre di rilevare i problemi e correggerli rapidamente, inoltre puoi eliminare i colli di bottiglia e inefficienze.

La progettazione del protocollo DNP3 può essere eseguita in base ai livelli del modello OSI come collegamento dati, trasporto, applicazione e livello utente. Questo protocollo ha la flessibilità per collegare un singolo master attraverso un minimo di una o più stazioni esterne al di sopra dei supporti fisici seriali ed Ethernet.
Altre possibili architetture comprendono principalmente varie connessioni master con un'unica stazione esterna e operazioni peer-to-peer. Di solito, il master avvia i comandi di controllo per richiedere dati o attivare dispositivi gestiti tramite la stazione esterna. Questa stazione esterna reagisce semplicemente al master trasmettendo informazioni adeguate.

  Strati del protocollo DNP3
Strati del protocollo DNP3

Basato sul modello OSI, il protocollo DNP3 include quattro livelli Data Link, Transport Function, Application & User Layer. Qui, il livello di collegamento dati in basso renderà il collegamento fisico più affidabile tramite l'indirizzamento e il rilevamento degli errori. La funzione di trasporto assembla semplicemente i frame del livello di collegamento nei frammenti del livello dell'applicazione. Questo livello prende l'intero messaggio e specifica quali dati sono preferiti al livello utente sopra. Ogni messaggio può avere diversi tipi di dati come ingressi e uscite analogici, binari e contatore.

Come funziona il protocollo DNP3?

Il protocollo DNP3 funziona semplicemente utilizzando 27 codici funzione fondamentali per consentire la comunicazione tra stazioni master e unità remote. In modo che alcuni codici funzione consentano al master di richiedere e ottenere la condizione delle informazioni da un dispositivo remoto e altri codici funzione consentano al master di decidere o correggere la configurazione dell'unità remota.

Diversi codici funzione vengono utilizzati principalmente nella stazione master DNP3 per il controllo dell'apparecchiatura o dell'unità remota in siti remoti. La stazione master DNP3 emette la maggior parte della comunicazione al dispositivo remoto di DNP3. Tuttavia, il messaggio non richiesto (messaggio o/p) viene avviato tramite un'unità remota e genera un allarme. In modo che questo messaggio dia un avviso al master quando si verifica un allarme.

Codici funzione

I codici funzione di DNP3 includono quanto segue.

Codice funzione

Descrizione

0x00

Conferma codice funzione.

0x01

Leggi il codice funzione.
0x02

Scrivi codice funzione.

0x03

Seleziona il codice funzione.

0x04

Azionare il codice funzione.

0x05

Codice funzione di azionamento diretto

0x0d

Codice funzione di riavvio a freddo

0x0e

Codice funzione di riavvio a caldo

0x12

Arresta il codice funzione dell'applicazione

0x1b

Elimina il codice funzione del file

0x81

Codice funzione di risposta

0x82

Codice funzione Risposta non richiesta

Formato messaggio DNP3

La struttura del formato del messaggio di DNP3 è mostrata di seguito. Se esaminiamo questa struttura, possiamo osservare che i messaggi vengono scambiati tra master e telecomandi. Il protocollo di telemetria seriale (TBOS) è orientato ai byte scambiando un singolo byte per comunicare.

I protocolli di telemetria seriale estesi come TABS sono orientati ai pacchetti con pacchetti di byte che vengono scambiati per comunicare. Questi pacchetti normalmente includono intestazione, dati e byte di checksum. Il protocollo DNP3 è orientato ai pacchetti e utilizza la struttura dei pacchetti mostrata nella figura seguente.

  Formato messaggio di DNP3
Formato messaggio di DNP3

Nel diagramma del formato del messaggio sopra, DNP3 ASDU (Application Service Data Unit) è utile per la regolazione di contenuti intelligenti che sono controllati sia attraverso i qualificatori che i campi indexSize. Quindi questo design renderà i dati dell'applicazione accessibili all'interno di configurazioni flessibili.

Ora discutiamo di come i dati vengono scambiati soprattutto nel modello di comunicazione a più livelli.
Il livello dell'applicazione nel diagramma precedente combina un'ASDU (Application Service Data Unit) e un oggetto imballato da un blocco APCI (Application Protocol Control) per creare un APDU (Application Protocol Data Unit).

Il livello di trasporto suddividerà l'unità dati del servizio dell'applicazione o APDU in segmenti diversi con una dimensione massima di 16 byte e li impacchetta da un'intestazione di controllo del trasporto a 8 bit e separatori CRC di segmento a 16 bit in un frame di trasporto.

Il livello di collegamento è mappato al modello a 4 livelli che viene sviluppato attraverso il DoD (Department of Defense) attraverso il DoD Internet Layer omesso. Se viene utilizzato il trasporto seriale, l'assemblaggio del pacchetto viene eseguito e posizionato sul supporto di trasporto per la consegna.

Se il pacchetto viene trasmesso su una LAN o WAN, 3 livelli DNP3 vengono arrotolati nel primo livello. Il pacchetto che viene assemblato può essere avvolto all'interno del TCP (Transport Control Protocol) attraverso il livello di trasporto che è avvolto all'interno dell'IP (Internet Protocol) attraverso il livello Internet. Può essere utilizzato anche l'UDP (User Datagram Protocol), ma presenta alcuni problemi aggiuntivi legati alla consegna affidabile all'interno di reti imballate.

Formato dati DNP3

DNP è ampiamente utilizzato per controllare il messaggio che passa tra la stazione centrale e le unità di controllo. Il formato dei dati di DNP3 include principalmente due sezioni, l'intestazione e le sezioni dei dati. Inoltre, l'intestazione è suddivisa in sei sottosezioni.

  Formato dati DNP3
Formato dati DNP3

Il formato del frame di dati e la dimensione necessaria di ogni campo sono mostrati nella figura sopra. In questo diagramma, Sync è il primo campo che è di 1 byte e specifica l'inizio del frame.
Questo valore di campo è fisso su 0564, quindi una volta ricevuto un frame esaminando la posizione del campo Sync, la mappatura può essere eseguita in modo efficiente.

La lunghezza del campo fornisce l'intera lunghezza del frame in modo che un determinato buffer possa essere assegnato alla destinazione per contenere i frame in arrivo. Quindi il secondo frame è 'Campo di controllo' che descrive l'azione di controllo che deve essere richiesta all'estremità del ricevitore.

Il campo di controllo includerà il valore esadecimale 41 altrimenti 42 in base al tipo di azione. Successivamente, il campo dell'indirizzo di destinazione e di origine fornirà gli indirizzi del destinatario previsti e il nodo di invio.
Il CRC o Cyclic Redundancy Check è l'ultimo campo che aiuterà a verificare l'errore di frame. Un valore di controllo è collegato al messaggio al momento della trasmissione che verrà verificato in modo incrociato all'estremità ricevente. Una volta che questo valore corrisponde, specifica l'inesistenza di errori all'interno del frame. La sezione dei dati è compresa tra 2 e 4 byte, tuttavia non ha alcun ruolo nel controllo del passaggio dei messaggi.

La figura sopra mostra il messaggio di controllo trasmesso nel formato DNP3 da una stazione all'altra come il controllo alla destinazione. Per la comunicazione di varie azioni alle destinazioni, i campi come il campo di controllo e l'indirizzo di destinazione, mentre alcuni campi non cambieranno per tutte le comunicazioni.

Esempio di sistema di monitoraggio DNP3

Di seguito è mostrato lo schema del sistema di monitoraggio remoto e master DNP3. Questo modello viene utilizzato per trasferire dati tra due dispositivi come master e remoto utilizzando DNP3.

  Esempio DNP3
Esame DNP3 il

Lo schema del master DNP3 e ​​del sistema di monitoraggio remoto è mostrato di seguito. Questo modello viene utilizzato per trasferire dati tra due dispositivi come master e remoto utilizzando DNP3. Qui il master è il computer e lo slave o il telecomando è l'outstation. I dati trasmessi sono dati statici, dati di eventi e accettano dati di eventi non richiesti.

Il protocollo DNP3 viene normalmente utilizzato tra il master (computer) e il remoto (Outstation). Qui, il master viene utilizzato per fornire un'interfaccia tra il gestore della rete umana e il sistema di monitoraggio. Il telecomando fornisce l'interfaccia tra il master e il dispositivo fisico che viene controllato o monitorato.

Sia il master che il telecomando utilizzano una libreria di oggetti comune per lo scambio di dati. Qui i dati sono Il protocollo DNP3 è un protocollo polled che include funzionalità progettate con attenzione. Una volta che la stazione master è collegata a un telecomando, è possibile eseguire un sondaggio di integrità che è molto significativo per l'indirizzamento di DNP3 perché per un punto dati restituiscono tutti i valori bufferizzati e comprendono anche il valore attuale del punto.

In genere, i driver DNP3 possono eseguire diversi sondaggi di routine come un sondaggio di integrità, una classe 1, una classe 2 e una classe 3. Nel sondaggio di integrità, il DNP3 richiede semplicemente all'esterno di trasmettere la sua classe 1, classe 2 e classe 3 dati sull'evento e dati statici di Classe 0 in ordine cronologico. Un Integrity Poll viene normalmente utilizzato per sincronizzare i database di DNP3 master & slave e quindi tende a ricevere una velocità di polling lenta. In genere, i sondaggi di Classe 1, Classe 2 e Classe 3 vengono utilizzati per recuperare singoli eventi di classe a tassi variabili in base all'importanza di tali eventi, eventi più critici vengono assegnati alle classi che hanno il tasso di polling più rapido.

Differenza tra DNP3 e ​​IEC 61850

La differenza tra DNP3 e ​​IEC 61850 include quanto segue.

DNP3

IEC 61850

Il protocollo DNP3 è una specifica industriale aperta. La norma IEC 61850 è la norma IEC.
Il gruppo di utenti DNP è l'organizzazione standard del protocollo DNP3. La commissione elettrotecnica internazionale è l'organizzazione standard della IEC 61850.
Il protocollo DNP3 è un'architettura a quattro livelli e supporta anche sette livelli TCP/IP o UDP/IP. La comunicazione in un protocollo IEC 61850 si basa su modello OSI .
DNP3, GOOSE, HMI, IEC, RTU e SCADA sono i termini comuni del protocollo di comunicazione IEC 61850. Il dispositivo intelligente (IED), il dispositivo logico e il nodo logico, l'oggetto dati e l'attributo dei dati sono i livelli che definiscono il modello informativo gerarchico di una norma IEC 61850
I vantaggi della terza versione del protocollo di rete distribuito sono che non sono necessari traduttori di protocollo, manutenzione, test e formazione richiederanno meno tempo, una facile espansione del sistema e una lunga durata del prodotto. I vantaggi del protocollo IEC 61850 sono il costo di estensione, il costo di integrazione, il costo di migrazione delle apparecchiature ei costi di installazione sono bassi.

Differenza tra DNP3 e ​​Modbus

La differenza tra DNP3 e ​​Modbus include quanto segue.

DNP3

Modbus

Il protocollo di rete distribuito è stato sviluppato nel 1993 da Harris. Il protocollo Modbus è stato sviluppato nel 1979 da Modicon
Il protocollo di rete distribuito utilizza i bit. Il protocollo di comunicazione Modbus utilizza descrizioni di testo per inviare i dati.
DNP3 è costituito da tre livelli: fisico, datalink e applicazione. Il protocollo di comunicazione Modbus è costituito solo dal livello applicativo
Il protocollo DNP3 supporta più slave, più master e la comunicazione peer-to-peer. il protocollo Modbus supporta solo la comunicazione peer-to-peer.
I parametri di configurazione richiesti nel protocollo DNP3 sono badrate, dimensione del frammento e indirizzi del dispositivo. Le configurazioni richieste nel protocollo Modbus sono modalità parità, modalità ASCII, modalità RTU e baud rate.

DNP3 Pro e Contro

Il vantaggi del protocollo DNP3 Includo quanto segue.

  • DNP3 è un protocollo standard aperto, quindi qualsiasi progettista può progettare apparecchiature DNP3 che si adattano bene ad altre apparecchiature DNP3.
  • DNP3 offre molte funzionalità grazie a un protocollo intelligente e robusto.
  • Può richiedere e rispondere attraverso diversi tipi di dati all'interno di singoli messaggi
  • Consente diverse operazioni master e peer-to-peer
  • Supporta il formato dell'ora standard e la sincronizzazione dell'ora.
  • I costi del software saranno ridotti.
  • Nessun requisito per i traduttori di protocollo.
  • Meno manutenzione e test.

Gli svantaggi del protocollo DNP3 includono quanto segue.

Il DNP3 utilizza una RTU seriale e la aggiorna tramite una RTU Ethernet (ERTU). Se anche la larghezza di banda del canale di comunicazione a quella stazione non viene migliorata, l'utente avrà un collegamento più lento a causa dell'overhead implementato nel wrapping del DNP3 tramite TCP/IP.

Applicazioni DNP3

Il Applicazioni DNP3 include il seguente.

  • DNP3 consente a diversi dispositivi all'interno dei sistemi di automazione di processo di comunicare.
  • Diverse società di servizi pubblici utilizzano ampiamente questo protocollo per i sistemi di telemetria del gas, dell'elettricità e dell'acqua.
  • Viene utilizzato nelle comunicazioni SCADA.
  • Il protocollo di comunicazione DNP3 viene utilizzato nei sistemi di monitoraggio remoto e SCADA.
  • Questo è applicabile nell'intero ambiente SCADA che include comunicazioni da master a remote e RTU a IED e anche in applicazioni di rete.

Quindi, questo è tutto una panoramica del protocollo DNP3 – lavorare con le applicazioni. Il Specifica del protocollo DNP3 dipende principalmente dal modello oggetto. Quindi questo modello riduce semplicemente la mappatura dei bit di dati che di solito è necessaria con altri protocolli meno orientati agli oggetti. Per i tecnici e gli ingegneri SCADA, avere alcuni oggetti predefiniti renderà il DNP3 più comodo per la progettazione e la struttura di distribuzione. Ecco una domanda per te, qual è il protocollo?