SI_AV0215_008-009

SI_AV0215_rivista x iPad

MODBUS Comunicazione seriale integrata nelle reti Ethernet industriali Uno standard aperto basato sullo scambio di messaggi in modalità master-slave, che consente la trasmissione di informazioni su linee seriali, fra diversi apparati elettronici. Modbus è un protocollo di comunicazione seriale che prevede l’interazione tra i dispositivi collegati tramite rete e bus diversi. È uno dei protocolli più usati nella comunicazione di tipo industriale, utilizzato da milioni di dispositivi a livello internazionale. Uno standard ideato nel 1979, successivamente adattato alle specifiche TCP/IP, che consente la trasmissione di informazioni su linee seriali fra i diversi apparati elettronici. I dispositivi utilizzati per questo metodo di comunicazione vengono catalogati in due modi: il Modbus Master, che richiede le informazioni e il Modbus Slave che le fornisce. In una rete Modbus standard, ci sono un Modbus Master e fino a 247 Modbus Slave, ognuno dei quali presenta un indirizzo unico; oltre a richiederle, il Master può anche trasmettere le informazioni agli Slave. Il protocollo è di tipo aperto, pertanto molto diffuso tra le aziende del settore per le quali lo standard è royalty-free. Comunicazione fra dispositivi in rete Il protocollo di comunicazione Modbus consente dunque il dialogo tra diversi dispositivi collegati alla stessa rete, e può essere applicato in due versioni: tramite porta seriale RS232 (e anche RS485) oppure tramite Ethernet. È tipicamente utilizzato per trasmettere i segnali da strumenti e apparati di controllo ad un sistema principale di raccolta e gestione dei dati, come potrebbe essere, ad esempio, la trasmissione dati da un sistema di misurazione di temperatura e umidità ad un computer. Pertanto, nel sistema di acquisizione, il PC che funge da supervisore dialoga costantemente con COMPORTAMENTO DI MASTER E SLAVE IN CASO D’ERRORE Durante il processo di comunicazione, la trasmissione può evidenziare errori al sistema. Ricercare le cause di una comunicazione non perfetta è importante. Riportiamo di seguito 3 possibili condizioni, analizzando il comportamento di Master e Slave. – Lo slave non è connesso o presenta un guasto, ciò induce il master a ritrasmettere la richiesta. – Lo slave riceve un messaggio che contiene errori; anche in questo caso lo slave non risponde e induce il master ritrasmettere la richiesta. – Lo slave riceve correttamente il messaggio, ma la richiesta del master non può essere servita. In questo caso lo slave fornisce una risposta che invece di contenere dati riporta un byte che specifica il tipo di errore. Standard 8 Sistemi Integrati - Audio/Video Volume 2 - 2015 un’unità terminale remota. Lo standard prevede due tipi di trasmissione: Modbus ASCII e Modbus RTU. Nei box riportati nella pagina successiva, vengono evidenziate le caratteristiche di interazione a seconda della scelta della modalità di trasmissione. Come funziona Lo standard Modbus è un protocollo che opera in un’architettura di rete a strati ed è in grado di definire un semplice Protocol Data Unit (PDU) indipendente dai livelli di comunicazione sottostanti. Naturalmente, l’unità di dati delle applicazioni Modbus è costruita dal client che, avviando transazione Modbus, indica al server quale tipo di azione eseguire. Il tutto avviene attraverso un campo di codici funzione, codificato in un byte, racchiuso in un intervallo decimale da 1 a 255, con range da 128 a 255 riservato e utilizzato per risposte d’eccezione, e con codice funzione 0 non ritenuto valido. A definire ulteriori azioni, esistono dei codici sub-funzione che possono essere aggiunti ai codici funzione esistenti. In questo contesto, sarà compito del protocollo applicativo Modbus a stabilire il formato di una richiesta iniziata da un client. E quando il server risponde al client, utilizza il campo codice funzione per indicare una risposta normale (senza errori) oppure o evidenzia qualche tipo di errore chiamando in causa un codice presente nel range delle risposte di eccezione. Nel caso di una risposta normale, il server non fa altro che rimandare semplicemente indietro il codice funzione di partenza. www.modbus.org


SI_AV0215_rivista x iPad
To see the actual publication please follow the link above