Transcription of MODBUS - dia.uniroma3.it
1 Stefano PanzieriModbus -1 Reti e Sistemi per l AutomazioneMODBUSReti e Sistemi per l AutomazioneStefano PanzieriModbus -2La Storia DiventaunoSTANDARDnel1979 NatocomeprotocollodicomunicazioneSERIALE si successivamenteadattatoallespecificheTCP /IP PermetteunacomunicazioneClient/ServeroMa ster/Slave Semplicit delProtocolloReti e Sistemi per l AutomazioneStefano PanzieriModbus -3 Argomenti trattati Specifiche generali Strato Applicazione Costruzione del PDU Organizzazione dei dati Implementazione SERIALE Costruzione del pacchetto Implementazione su TCP/IP Costruzione del pacchettoReti e Sistemi per l AutomazioneStefano PanzieriModbus -4 Specifiche GeneraliModbus Protocollo di comunicazione dello strato APPLICAZIONE, livello 7 ISO/OSI Realizza una comunicazione client/servertra i dispositivi connessi su tipi di reti e bus diversiReti e Sistemi per l AutomazioneStefano PanzieriModbus -5 Architettura NetworkReti e Sistemi per l AutomazioneStefano PanzieriModbus -6 MODBUS Frame Ilprotocoldataunit(PDU)presentaunastrutt urasempliceeindipendentedaglistratidicom unicazionesottostanti Icampidell applicationdataunit(ADU)
2 Subisconodellevariazioniinfunzionedellar eteodelbusutilizzato DimensionemassimadelPDU=253bytesAddition al addressFunction codeDataError checkADUPDUReti e Sistemi per l AutomazioneStefano PanzieriModbus -7 Indicaaldispositivoindirizzatoqualetipod iazionedevesvolgere Dimensione:1byte Codifichevalide:da1a255decimale(da128a25 5riservateperleeccezioni) Sidividonointrecategorie: PublicFunctioncodes User-DefinedFunctionCodes ReservedFunctionCodesFUNCTION CODEReti e Sistemi per l AutomazioneStefano PanzieriModbus -8 Function Code -Categorie Public: Include le codifiche riservate Garantiti, unici Ben documentati Riconosciuti dalla User-Defined: Personalizzati dall utenteUser DefinedUser DefinedPUBLICPUBLICPUBLIC12711010072165 Reti e Sistemi per l AutomazioneStefano PanzieriModbus -9 Neimessaggidirichiesta,seesiste,contiene informazioniaggiuntivealfunctioncode.
3 Neimessaggidirispostacontieneidatirichie stidalclient Dimensione:0-252bytes(msgdirichiesta)1-2 52bytes(msgdirisposta)DATAReti e Sistemi per l AutomazioneStefano PanzieriModbus -10 Transazione (1)senza erroriReti e Sistemi per l AutomazioneStefano PanzieriModbus -11 Transazione (2)con erroriReti e Sistemi per l AutomazioneStefano PanzieriModbus -12 Tipo di datiReti e Sistemi per l AutomazioneStefano PanzieriModbus -13 Data Model 4tipididati Perognitipodidatiilprotocollopermettelag estionedi65536oggetti Differenzatramappaturafisicaelogica Nelframecompareilriferimentologicoagliog getti Linktramemoriafisicadeldispositivoerifer imentologicoReti e Sistemi per l AutomazioneStefano PanzieriModbus -14 Memoria dei dispositivi (1)
4 Organizzazione fisica dei dati a blocchi separati all interno di un dispositivoReti e Sistemi per l AutomazioneStefano PanzieriModbus -15 Organizzazione fisica dei dati in un unico blocco all interno di un dispositivoMemoria dei dispositivi (2)Reti e Sistemi per l AutomazioneStefano PanzieriModbus -16 MODBUS OVER SERIAL LINEReti e Sistemi per l AutomazioneStefano PanzieriModbus -17 MODBUS over Serial LineData link Layer si divide in -protocollo master-slave-modalit di trasmissione RTU o ASCIIReti e Sistemi per l AutomazioneStefano PanzieriModbus -18 Protocollo Master/Slave In un dato intervallo di tempo si ha.
5 Un solo master Massimo 247 slaves Comunicazione iniziata dal master Unicast Broadcast Nessuna comunicazione tra gli slavesReti e Sistemi per l AutomazioneStefano PanzieriModbus -19 Unicastmasterrequestreplyslaveslaveslave Broadcastmasterrequestslaveslaveslavereq uestReti e Sistemi per l AutomazioneStefano PanzieriModbus -20 ADU nel Serial LineAddress Field 0 per broadcast 1-247 dec per gli slave 248-255 dec riservatoAddress fieldFunction codeDataCRC(o LRC)ADUPDUReti e Sistemi per l AutomazioneStefano PanzieriModbus -21 Modalit di trasmissione RTU (remote terminal unit) Ogni byte di 8-bit contiene due caratteri esadecimali di 4 bit Throughput di dati maggiore di ASCII per la stessa percentuale di bit/secondo Carattere RTU Svantaggio.
6 Intervallo di tempo tra due frameReti e Sistemi per l AutomazioneStefano PanzieriModbus -22 CRC = Ciclical Redundancy CheckingSi applica solo ai bit di di un registro a 16 bit con tutti tra i bit del registro e gli 8 bit di risultato shifta nei LSB bit, i MSB vengono messi a il LSB 1 -> XOR con un valore fissato, altrimenti ripete tutto dal passo 2 per 8 shift 8 shift, XOR tra il byte successivo e il contenuto del ripete tutto per altre 8 risultato il CRCReti e Sistemi per l AutomazioneStefano PanzieriModbus -23 Ogni byte di 8 bit codificato con 2 caratteri ASCIIes: 0x5B codificato con due caratteri 0x35 e 0x42 ( 0x35 = 5 e 0x42 = B in ASCII) Carattere ASCII Vantaggio: intervallo di tempo fino a 1 sec tra due caratteri di un messaggioModalit di trasmissione ASCII Reti e Sistemi per l AutomazioneStefano PanzieriModbus -24 LRC = Longitudinal Redundancy CheckSi applica ai soli bit di sommano insieme i bytes del messaggio, scartando i fa il complemento a due della risultato il LRCReti e Sistemi per l AutomazioneStefano PanzieriModbus -25 Velocit del canale La velocit di trasmissione impostabile Minima : 9600 bps Massima.
7 115 KpsReti e Sistemi per l AutomazioneStefano PanzieriModbus -26 MODBUS ON TCP-IPReti e Sistemi per l AutomazioneStefano PanzieriModbus -27 Utilizzato per .. monitorare e programmare i dispositivi far comunicare i dispositivi intelligenti con i sensori monitorare i dispositivi di campo con l uso di PC e HMI Scambiare informazioni in tempo reale tra Due applicazioni L applicazione di un dispositivo e un altro dispositivo Applicazioni HMI/SCADA e i dispositivi Un PC e un programma di dispositivo provvisto di servizi on-lineReti e Sistemi per l AutomazioneStefano PanzieriModbus -28 Vantaggi Semplicit.
8 Bassicostidiimplementazione Hardwareminimorichiesto Faciledasviluppare Undispositivoremotopu essereaccedutodaqualunquepartedelmondoat traversoInternetReti e Sistemi per l AutomazioneStefano PanzieriModbus -29 Modello Client/ServerComunicazioneclient/serverb asatasuquattrotipidimessaggiReti e Sistemi per l AutomazioneStefano PanzieriModbus -30 Architettura di comunicazioneReti e Sistemi per l AutomazioneStefano PanzieriModbus -31 ADU nel MB-TCP/IPFrame MODBUS generaleAdditional addressFunction codeDataError checkADUPDUMBAP HeaderFunction codeDataADUPDUF rame di richiesta/risposta su TCP/IPReti e Sistemi per l AutomazioneStefano PanzieriModbus -32 MBAP HeaderStefano PanzieriModbus -33 Reti e Sistemi per l AutomazioneArchitettura dei componenti MODBUS CLIENT Permette all applicazione utente di controllare dispositivi remoti Costruisce il messaggio di richiesta Gestisce le transazioni fino alla conferma MODBUS SERVER Attiva una serie di azioni locali in base alla richiesta ricevuta Ascolto della porta 502 TCP Costruzione della rispostaReti e Sistemi per l AutomazioneStefano PanzieriModbus -34 TCP Management LayerGestione della comunicazione e del flusso di datiConnectionManagement
9 Stabilisce la comunicazione tra client e server Porta 502 TCP dal lato server, porta n>1024 dal lato client Due modalit di connessione Manualmente dall applicazione utente Grande flessibilit buona conoscenza di TCP richiesta Automaticamente dal modulo di connessione Trasparente per l utente Definisce due gruppi di connessione (proritario e non prioritario)Reti e Sistemi per l AutomazioneStefano PanzieriModbus -35 Access Control Module Controlla ogni nuova connessione verificando la lista degli indirizzi IP autorizzati In alcuni casi necessario specificare l accesso per ogni indirizzo IP remoto Gli IP non configurati vengono rifiutati