Torna al blog

Progettazione dei ruoli per la comunicazione da CompactLogix a DeltaV tramite Modbus RTU

Una guida pronta per l’uso sul campo per CompactLogix e DeltaV tramite Modbus RTU, che copre i ruoli client/server, i contratti dei registri, la realizzazione della rete RS-485, gli handshake dei c...

Un collegamento Modbus RTU tra CompactLogix e DeltaV può scambiare solo poche decine di valori e diventare comunque una delle interfacce meno prevedibili di un impianto. Il protocollo è semplice; il confine ingegneristico non lo è. La maggior parte dei guasti inizia prima del cablaggio, quando nessuno dei due team definisce chi invia le richieste, chi è responsabile dei comandi, come vengono rappresentati gli indirizzi o cosa debba fare ciascun sistema in presenza di dati obsoleti.

Sistemi CompactLogix e DeltaV collegati tramite un gateway Modbus RTU

Un’integrazione seriale stabile richiede un unico iniziatore delle richieste, un contratto dei registri firmato, stati di qualità espliciti e un segmento RS-485 realizzato correttamente.

La prima decisione progettuale è architetturale. DeltaV può comunicare tramite un’interfaccia seriale, mentre CompactLogix richiede comunemente un modulo di comunicazione installato nel telaio o un gateway esterno. La scheda tecnica dell’interfaccia seriale M-series di DeltaV documenta il supporto per Modbus RTU e Modbus ASCII. È comunque necessario verificare la revisione esatta del modulo, il firmware del controllore, il firmware del gateway e la topologia supportata dal sistema installato.

Assegnare un unico iniziatore delle richieste per ogni segmento seriale

La terminologia Modbus tradizionale utilizzava i termini master e slave. La documentazione attuale usa spesso client e server. In un segmento Modbus RTU, un solo client avvia le transazioni e i server rispondono alle richieste indirizzate a loro. Due client indipendenti non possono condividere in sicurezza lo stesso collegamento a due fili, perché nessuno dei due coordina la temporizzazione dei messaggi con l’altro.

Se DeltaV è il client, il lato CompactLogix deve esporre i dati tramite un’interfaccia server Modbus. Il programma PLC scrive i valori approvati in un’area dati del gateway; il gateway risponde alle interrogazioni di DeltaV. Se il PLC deve avviare letture e scritture, utilizzare una porta o un percorso del gateway separato. Non bisogna presumere che un dispositivo descritto come “compatibile con Modbus” possa svolgere contemporaneamente entrambi i ruoli.

La pagina delle specifiche della Modbus Organization distingue la guida attuale all’implementazione seriale dal documento obsoleto del 1996. Questa distinzione è importante quando una specifica di progetto si limita a dire “usare Modbus” senza identificare il livello fisico e le regole di implementazione.

Considerare la mappa dei registri come un contratto d’interfaccia

Una mappa dei registri utile è più di un semplice elenco di riferimenti 4xxxx. Per ogni punto devono essere definiti l’offset del protocollo, il riferimento visualizzato, il codice funzione, il tipo di dati, l’ordine delle word, l’ordine dei byte, il fattore di scala, l’unità ingegneristica, la direzione di lettura o scrittura, l’intervallo valido, il periodo di aggiornamento, il responsabile della sorgente e il comportamento in caso di guasto. Includere un numero di revisione e un verbale di approvazione, così che entrambi i sistemi implementino la stessa mappa.

L’indirizzamento merita una verifica dedicata. Alcuni strumenti di configurazione mostrano il registro holding 40001, mentre trasmettono l’offset zero. Altri richiedono direttamente offset basati su zero. Una mappa che registra entrambe le forme previene il consueto spostamento di un registro. Testare un pattern riconoscibile prima di caricare i valori di produzione.

I valori che occupano più registri richiedono una gestione altrettanto esplicita. Un REAL a 32 bit occupa due registri da 16 bit, ma i prodotti differiscono nell’ordine dei registri. Testare pattern di bit noti invece di affidarsi a etichette come “big endian”, che i team talvolta utilizzano in modo diverso. Anche interi con segno, interi senza segno, raggruppamento dei Boolean e valori interi scalati richiedono regole di conversione documentate.

Separare comandi, stato e conferma

Non consentire mai che una scrittura del DCS raggiunga direttamente un’uscita fisica. Scrivere i comandi in un’area di staging all’interno di CompactLogix. Il PLC deve convalidare modalità, permissivi, intervallo, sequenza, aggiornamento e titolarità prima di modificare lo stato controllato. Deve quindi restituire lo stato di accettazione, lo stato di rifiuto o un codice motivo.

Un handshake dei comandi è particolarmente utile per le azioni di avvio, arresto, impostazione del setpoint e reset. Un numero di sequenza o un bit di richiesta commutato consente al ricevitore di distinguere una nuova richiesta da un valore rimasto in un registro. La conferma dovrebbe identificare la sequenza elaborata e lo stato risultante. In questo modo si impedisce che il ripristino della comunicazione riesegua un comando precedente.

Realizzare il livello RS-485 per le condizioni reali dell’impianto

Utilizzare un dorsale collegato in cascata anziché una topologia a stella. Terminare solo le due estremità fisiche, mantenere brevi le derivazioni, rispettare la polarità dei conduttori e applicare il biasing in un’unica posizione controllata secondo i manuali delle apparecchiature. La messa a terra dello schermo deve seguire il progetto di messa a terra del sito e le istruzioni dei dispositivi; collegamenti improvvisati possono creare problemi di modo comune invece di risolverli.

Ogni nodo deve condividere la stessa velocità di trasmissione, parità, bit di stop e modalità di framing. Modbus RTU e Modbus ASCII non possono coesistere sullo stesso segmento. Nemmeno DF1 può essere semplicemente miscelato su un dorsale Modbus. Un gateway di conversione dei protocolli crea due reti separate, con temporizzazioni, diagnostica e responsabilità distinte.

La temporizzazione delle interrogazioni richiede un bilancio. Considerare la lunghezza della richiesta, la lunghezza prevista della risposta, la velocità di trasmissione, il tempo di elaborazione del server, il ritardo tra i frame, i tentativi e il timeout. Raggruppare, quando possibile, i registri contigui. Un server silenzioso non deve costringere ogni punto funzionante ad attendere diversi tentativi prolungati. Registrare il tempo di scansione in condizioni normali e con un server disconnesso.

Esporre la qualità insieme a ogni blocco di valori

Un numero credibile può essere più pericoloso di un guasto evidente. Ogni blocco scambiato dovrebbe includere lo stato della comunicazione, l’ora dell’ultima riuscita, l’età del dato e una soglia di obsolescenza definita. Gli utenti devono sapere se il valore è aggiornato, mantenuto, sostituito o non valido.

Il comportamento alternativo dipende dal rischio di processo. Alcuni valori di stato possono essere azzerati in caso di perdita. Altre misure possono essere mantenute per il contesto dell’operatore, ma bloccate per il controllo automatico. I comandi potrebbero dover adottare un comportamento fail-safe, congelarsi o trasferire la titolarità al controllo locale. Queste decisioni appartengono all’analisi dei rischi, non a un’impostazione predefinita del gateway.

Commissionare dal cavo fino all’azione di processo

Iniziare con la rete isolata dai comandi di produzione. Verificare polarità, terminazione, bias e impostazioni seriali. Leggere un piccolo blocco diagnostico, quindi testare pattern noti per valori interi e in virgola mobile. Confermare l’allineamento degli indirizzi e l’ordine delle word. Misurare il tempo di scansione normale, forzare dei timeout e confermare che lo stato di obsolescenza sia visibile agli operatori e alla logica.

Successivamente, testare ogni comando lungo il percorso completo: richiesta del DCS, trasferimento al gateway, convalida del PLC, azione sull’uscita, feedback e conferma. Includere richieste rifiutate, valori fuori intervallo, perdita della comunicazione durante una transazione, spegnimento e riaccensione e ripristino. Una lettura riuscita di dati in tempo reale non costituisce l’accettazione dell’interfaccia di controllo.

L’hardware d’interfaccia pertinente è raggruppato nella collezione ProSoft. Le apparecchiature più generali per sistemi host sono disponibili nella sezione DCS e sistemi di controllo. La scelta deve basarsi sui requisiti relativi a controllore, firmware, porta, isolamento e ambiente supportati, non soltanto sul nome del protocollo.

Prospettiva ingegneristica

Modbus RTU rimane utile per lo scambio di dati delimitato e a variazione lenta. Il suo limite è l’assenza di un contesto semantico integrato. Il protocollo non può comunicare al ricevitore che un registro è obsoleto, che un comando non è sicuro o che una scala è cambiata dopo la manutenzione. Queste protezioni devono essere progettate nel contratto dei registri e nella logica applicativa.

La migliore interfaccia non è quindi quella con la mappa più estesa. È quella la cui titolarità, temporizzazione, qualità, comportamento alternativo e documentazione dei test rimangono comprensibili anche dopo molti anni. È questo che trasforma un semplice collegamento seriale in un confine manutenibile del sistema di controllo.

Lascia un commento

Si prega di notare che, prima di essere pubblicati, i commenti devono essere approvati.