Modbus: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Immagine e didascalia aggiunti #WPWP #WPWPIT #suggestededit-add-image-top
Etichette: Modifica da mobile Modifica da applicazione mobile Modifica da applicazione Android
 
(40 versioni intermedie di 31 utenti non mostrate)
Riga 1:
[[File:Modbus.png|miniatura|Esempio di Modbus]]
Il '''Modbus''' è un [[protocollo di comunicazione]] [[comunicazioneTrasmissione seriale|seriale]] creato nel 1979 da [[Modicon]] nel(azienda 1979ora parte del gruppo [[Schneider Electric]]) per mettere in comunicazione i propri [[Programmable logic controller|controllori logici programmabili]] (PLC). È diventato uno [[norma tecnica|standard]] [[de facto]] nella comunicazione di tipo [[industriale]], ed attualmente è ora{{Senza ilfonte|uno protocollodei protocolli di connessione più diffusodiffusi al mondo fra i dispositivi [[elettronica|elettronici]] industriali}}. Le principali ragioni di un così elevato utilizzo del Modbus rispetto agli altri protocolli di comunicazione sono:
# È un protocollo pubblicato apertamente e royalty-free
# Progettato pensando a utilizzi industriali
# Può essere implementato in pochi giorni, non in mesi
# È un protocollo pubblicato apertamente e [[royalty-free]]
# Muove raw bits e words senza porre molte restrizioni ai produttori
# Semplicità di installazione e mantenimento
# Muove [[bit|raw bits]] e [[Parola (informatica)|words]] senza porre molte restrizioni ai produttori
 
Modbus consente la comunicazione fra diversi dispositivi connessi alla stessa [[Rete di telecomunicazioni|rete]], per esempio un sistema che misura la temperatura e l'umidità e comunica il risultato a un [[computer]]. Modbus è spesso usato per connettere un computer supervisore con un'unità terminale remota ([[Remote TerminaleTerminal Unit|RTU]]) nel controllo di supervisione e sistemi di acquisizione dati ([[SCADA]]). Esistono due versioni del protocollo: una su [[porta seriale]] ([[RS232RS485]] di default, ma anche [[RS485RS232]]) e su [[Ethernet]].
 
Esistono due varianti, con differenti rappresentazioni dei dati numerici e piccole differenze sul protocollo stesso. Modbus RTU è una rappresentazione dei dati compatta di tipo [[esadecimale]]. Modbus [[ASCII]] è facilmente leggibile e ridondante. Entrambe le varianti usano la [[comunicazione seriale]]. Il formato RTU fa seguire ai comandi/dati un campo checksum di tipo CRC ([[cyclicCyclic redundancy check]] (CRC) mentre il formato ASCII usa un checksum di tipo LRULRC ([[longitudinalLongitudinal redundancy check]]). I nodi configurati per la variante RTU non possono comunicare con nodi configurati per l'ASCII e viceversa. Modbus/TCP è molto simile al Modbus RTU, ma trasmette i pacchetti del protocollo dentro pacchetti di dati [[TCP/IP]].
 
A ogni periferica che necessita di comunicare per mezzo del Modbus viene assegnato un indirizzo unico. Ognuna di queste può inviare un comando Modbus, sebbene generalmente (nel seriale obbligatoriamente) solo una periferica agisce come master. Un comando Modbus contiene l'indirizzo Modbus della periferica con la quale si vuole comunicare. Solo quest'ultima agirà sul comando, sebbene anche le altre periferiche lo ricevano. Tutti i comandi Modbus contengono informazioni di controllo, che assicurano che il comando arrivato sia corretto. IlI comandi base possono chiedere ad un RTU di cambiare un valore in uno dei suoi registri, così come comandare alla periferica di restituire uno o più valori contenuti nei suoi registri.
 
Ci sono diversi modem che supportano Modbus. Alcuni di questi sono specificatamente progettati per questo protocollo. Alcune implementazioni usano fili, comunicazioni [[wireless]] o anche [[SMS]] o [[GPRS]]. Problemi tipici in cui può imbattersi il progettista sono l'alta [[latenza]] e problemi di temporizzazione.
 
==Varianti==
Quasi tutte le implementazioni hanno variazioni dallo standard ufficiale. Differenti varietà non possono comunicare correttamente fra dispositivi di fornitori differenti. Alcune delle più comuni variazioni sono:
* Tipi di dati
** [[Floating Pointpoint]] [[IEEE 754|IEEE]]
** Interi a 32 bit
** Dati a 8 bit
Riga 21 ⟶ 23:
** Campi bit su interi
** moltiplicatori per cambiare i dati da/in interi. 10, 100, 1000, 256 ...
 
* Estensioni del protocollo
** Indirizzi degli slave a 16 bit
Riga 28 ⟶ 29:
 
==Limitazioni==
* Modbus è stato progettato nelverso lontanola fine degli [[anni 1970|anni settanta]] per comunicare con i PLC. I tipi di dati sono limitati a quelli supportati dai PLC adi suoquel tempo. Oggetti binari di grandi dimensioni non sono supportati. Non esiste un metodo standard per un nodo di trovare la descrizione di un tipo di dato; per esempio, determinare se un valore registro rappresenta una temperatura fra i 30 e i 175 gradi.
* Non esiste un metodo standard con cui uno slave può indicare la rappresentazione o la descrizione dei suoi vari registri. Il protocollo gestisce unicamente [[Parola (informatica)|parole]] a 16 bit che come tali possono essere interpretate come interi con o senza [[Complemento a due|segno]], oppure numeri a virgola fissa o [[Numero in virgola mobile|mobile]], o array di bit. Analogamente non c'è nessuno standard per definire che cosa rappresenti un particolare registro: potrebbe essere una grandezza fisica come una velocità, una potenza, una temperatura, ma anche uno stato, un messaggio, un interruttore acceso/spento o altro ancora. è quindi necessario possedere una specifica fornita dal produttore del dispositivo che identifichi tutti i registri interpellabili e ne descriva il tipo, la natura e l'eventuale unità di misura.
 
==Altri progetti ==
{{interprogetto}}
 
==Collegamenti esterni - inglese==
* [{{cita web|http://www.modbus.org/specs.php Descrizione dettagliata del protocollo] |Modbus Organization sito ufficiale}}
* [{{cita web|http://www.modbus.org/specs.php|Descrizione Modbus-IDA sito] dettagliata del protocollo}}
* [{{cita web|http://www.simplymodbus.ca/FAQ.htm come modbus|Come funziona] Modbus}}
{{Portale|Telematica}}
 
{{Portale|Telematicatelematica}}
[[Categoria:Sistemi di rete]]
 
[[Categoria:SistemiProtocolli di rete]]
[[cs:Modbus]]
[[de:Modbus]]
[[en:Modbus]]
[[es:Modbus]]
[[et:Modbus]]
[[fa:مودباس]]
[[fi:Modbus]]
[[fr:Modbus]]
[[ja:Modbus]]
[[pl:Modbus]]
[[pt:Modbus]]
[[ru:Modbus]]
[[sv:Modbus]]
[[uk:Modbus]]
[[zh:Modbus]]