Pianificazione e messa in servizio

Messa in servizio di Modbus RS-485

Messa in servizio di Modbus RTU su RS-485: caratteristiche, cablaggio, terminazione, indirizzi, decodifica, tempi, qualità dei dati e verbale di accettazione.

Modbus RTU su RS-485 collega contatori, azionamenti e controllori a un master lungo un'unica linea a coppia intrecciata. La messa in servizio verifica il bus fisico, le impostazioni seriali, l'identità di ogni dispositivo, il significato dei registri letti, il tempo di interrogazione e il comportamento del sistema quando un dispositivo smette di rispondere. Questa guida segue tale ordine e si conclude con un verbale di accettazione. Per le apparecchiature in rete anziché su bus seriale, la guida a Modbus TCP e RTU spiega le differenze.

Scarica il verbale di accettazione (.txt). Puoi stamparlo o compilarlo in sito.

Registra le caratteristiche dei dispositivi

Per ogni dispositivo, annota il modello e il firmware esatti, l'identificativo unità (indirizzo di stazione), la velocità in baud, la parità, i bit di dati e i bit di stop. Tutti i dispositivi sullo stesso bus usano le stesse impostazioni seriali.

Per ogni punto necessario, annota il tipo di oggetto dati, il codice funzione, l'offset del protocollo a base zero, il numero di riferimento come compare nel manuale, il numero di registri, il tipo di dato, l'ordine dei byte e delle word, il fattore di scala, l'unità, l'accesso in lettura o scrittura e l'intervallo atteso.

I manuali esprimono gli indirizzi dei registri secondo convenzioni diverse. 40001 nella notazione classica indica l'offset 0 di un registro holding, letto con il codice funzione 03:

Il convertitore di indirizzi Modbus mostra il tipo di oggetto e ogni convenzione, così uno scostamento di un registro viene rilevato prima di entrare nella mappa dei punti.

Cabla il bus RS-485

La guida Modbus per la linea seriale descrive una sola linea principale con i dispositivi collegati lungo il percorso, una terminazione a ciascuna estremità, polarizzazione (bias) in un punto e un conduttore comune. La guida al cablaggio RS-485 spiega queste regole; la guida a RS-485 e Modbus distingue l'interfaccia elettrica dal protocollo.

Linea principale RS-485 a due fili per Modbus RTU Interfaccia Modbus ZMB a un’estremità di una linea con conduttori A, B e comune. Tre contatori sono collegati lungo la linea. Una terminazione da 120 ohm è presente a ciascuna estremità e la polarizzazione è applicata in un solo punto. Interfaccia ZMB Master Modbus RTU bias qui A B C 120 Ω Contatore ID unità 1 Contatore ID unità 2 Contatore ID unità 3 linea: A, B e comune Bias in un solo punto 120 Ω a ogni estremità Collegamento in linea, derivazioni corte e ID unità distinto per ogni dispositivo
Una linea RS-485 a due fili: master a un'estremità, dispositivi su derivazioni corte, una terminazione da 120 Ω a ciascuna estremità e polarizzazione in un punto.

Controlla:

  • la modalità a due o quattro fili e la denominazione dei morsetti su ciascun dispositivo (i costruttori usano A/B, D+/D− o 485+/485− e talvolta invertono le lettere);
  • un'unica linea principale continua, con derivazioni corte e senza diramazioni a stella;
  • una terminazione a ciascuna estremità della linea principale, e solo lì;
  • una sola sorgente di polarizzazione, dove la rete la richiede; molti master e alcuni dispositivi hanno un bias inseribile;
  • il conduttore comune, la schermatura e la messa a terra secondo il progetto del sito;
  • ripetitori e isolatori, con la loro posizione.

Il verificatore di terminazione e polarizzazione RS-485 individua contraddizioni nella topologia, come tre terminazioni o due punti di polarizzazione. Le istruzioni dei dispositivi stabiliscono se terminazione e bias siano integrati, inseribili o esterni.

Aggiungi un dispositivo alla volta

Parti da un tratto corto e verificato con un solo dispositivo. Conferma le impostazioni seriali e leggi un valore semplice documentato. Poi aggiungi i dispositivi uno alla volta e tieni un elenco degli indirizzi. Due dispositivi con lo stesso identificativo unità rispondono alla stessa richiesta e si sovrappongono nelle risposte, dando l'impressione di un guasto intermittente.

Per i contatori più comuni, le mappe dei registri Modbus nella Directory dispositivi riportano ogni indirizzo in decimale ed esadecimale, con codice funzione, formato dei dati, fattore di scala e ordine delle word, sulla base del documento di protocollo del costruttore.

Una risposta di eccezione è una prova utile: il dispositivo ha ricevuto la richiesta e l'ha rifiutata. Il codice 02 (indirizzo dati non valido) indica spesso un offset o un numero di registri errato; il silenzio può dipendere da cablaggio, impostazioni seriali o identificativo unità. Il riferimento ai codici funzione ed eccezione Modbus elenca i codici.

Per provare una richiesta a mano, calcolane il CRC. Questa richiesta legge tre registri holding dall'unità 17 (0x11), a partire dall'offset 107 (0x6B):

Decodifica i valori: un esempio

Due registri da 16 bit possono contenere un numero in virgola mobile da 32 bit, un intero da 32 bit oppure due valori distinti. La mappa dei registri definisce il tipo di dato, l'ordine delle word e quello dei byte. Acquisisci le word grezze di un valore stabile e decodificale a mano prima di mappare il resto del dispositivo.

Per esempio, le word 436A 0000 si decodificano come numero in virgola mobile a 32 bit, con word e byte in ordine big-endian, in 234,0: una tensione di fase plausibile.

Confronta il valore decodificato con il display del dispositivo. Anche un ordine delle word errato può produrre un numero piccolo e plausibile: la corrispondenza con il display è la verifica. Conserva il vettore grezzo insieme alla configurazione, così potrai rilevare una successiva modifica del firmware o della mappa. La guida alla mappa dei registri approfondisce le convenzioni degli indirizzi, i tipi di dato, l'ordine delle word e i fattori di scala.

Interrogazione e timeout

Il tempo di trasmissione di una trama dipende dalla velocità in baud e dal formato dei caratteri. Il ciclo di interrogazione dipende anche dal tempo di risposta di ogni dispositivo, dall'intervallo tra le richieste, dalla strategia dei ritentativi e dal numero e dalla lunghezza delle richieste.

A 9.600 baud, con parità pari e un bit di stop, una richiesta da 8 byte, una risposta da 25 byte, 5 ms di ritardo di risposta e dieci dispositivi, un ciclo completo richiede circa 470 ms:

Usa il calcolo come limite inferiore e misura poi i dispositivi reali. Annota il tempo di risposta più lento rilevato durante il normale funzionamento, non solo su un banco prova senza traffico. Interrogare più rapidamente di quanto il bus consenta produce timeout, non più dati. La guida a interrogazione e ritentativi mostra quanto costa ogni ciclo un dispositivo offline; la guida alla risoluzione dei problemi distingue timeout, eccezioni e valori errati.

Qualità dei dati

L'applicazione che riceve i dati deve distinguere un valore recente da uno in cache, scaduto per timeout, associato a un'eccezione, fuori intervallo o obsoleto. Definisci:

  1. la data e l'ora dell'acquisizione e, se disponibile, quelle del dispositivo sorgente;
  2. l'età massima accettabile di un valore;
  3. le soglie per i ritentativi e lo stato offline;
  4. se l'ultimo valore resta visibile e come viene contrassegnato;
  5. la gestione degli azzeramenti e dei ritorni a zero dei contatori;
  6. che cosa fanno le regole a valle quando un valore non è valido.

Verbale di accettazione

Conserva un verbale per ciascun bus. Il modello scaricabile comprende:

CampoEsempio
Master, modello e firmwareInterfaccia ZMB
Impostazioni seriali9.600 baud, 8 bit di dati, parità pari, 1 bit di stop
TopologiaCollegamento in linea, 120 Ω al master e all'unità 3, polarizzazione al master
Elenco dispositiviID unità da 1 a 3, modelli e firmware annotati
Vettore grezzo per ogni tipo di dato436A 0000 = 234,0 V, coincide con il display
Ciclo di interrogazione calcolato e misurato470 ms calcolati, 520 ms misurati
Prove di guastoUn dispositivo scollegato: gli altri continuano a rispondere, valore segnalato come obsoleto
Nome e data

Ripeti le prove dopo una modifica del firmware, della mappa dei registri, della topologia, delle impostazioni seriali o dell'interrogazione. Per il progetto completo, consulta la guida all'integrazione di contatori in un BMS o SCADA, esplora i dispositivi Modbus con mappe dei registri documentate oppure configura un sistema partendo dall'elenco dei dispositivi.