Modbus este un protocol de comunicatie situat pe nivelul 7 in Referinta OSI, nivelul cel mai apropiat de utilizator, la fel ca Telnet, File Transfer Protocol (FTP), si Simple Mail Transfer Protocol (SMTP).

Acest protocol este bazat pe o arhitectura master/slave sau client/server. El este conceput de Modicon pentru a fi folosit la PLC-urile proprii. A devenit un standard de comunicatie in industrie si este in prezent cel mai folosit la conectarea tuturor dispozitivelor industriale. Motivele cele mai importante pentru utilizarea acestuia atit de raspindita sint:

1. este un protocol deschis, cu documentatie disponibila
2. poate fi implementat intr-un timp scurt (zile nu luni)
3. lucreaza cu biti sau octeti si in acest fel nu impune cerinte deosebite producatorilor.

Modbus permite administrarea unei retele de dispozitive, spre exemplu un sisteme care masoara temperatura si umiditatea pe care le comunica unui computer. Modbus este deseori folosit pentru a conecta un computer de supervizare cu un RTU dintr-un sistem de monitorizare si achititie de date SCADA. Exista versiuni ale protocolului MODBUS atit pentru portul serial cit si pentru Ethernet.

Variante Modbus comunicatia seriala:

  • Modbus RTU - datele sint reprezentate binar intr-o forma compacta.
  • Modbus ASCII -┬ádatele sint reprezentate ASCII intr-o forma usor interpretabila direct.

Varianta RTU foloseste ca suma de control pentru mesaje CRC(Cyclic_redundancy_check), iar varianta ASCII foloseste LRC(Longitudinal_redundancy_check).

Versiunea pentru Ethernet, Modbus/TCP este similara cu Modbus RTU, dar datele sint transmise in pachete TCP/IP

Exista si o versiune extinsa, Modbus Plus (Modbus+ sau MB+) dar este proprietara Modicon. Necesita un co-procesor dedicat rapid. Foloseste perechi torsadate la 1Mbit/s si are specificatii similare cu EIA/RS-485, totusi nu este EIA/RS-485.

Orice dispozitiv care comunica folosind Modbus are o adresa unica.

Orice dispozitiv poate trimite comenzi dar de obicei doar dispozitivul-master o face.

O comanda Modbus contine adresa dispozitivului caruia ii este adresata. Doar dispozitivul apelat va raspunde la aceasta comanda, chiar daca comanda este primita si de alte dispozitive.

Comenzile Modbus contin informatii de verificare pentru a se asigura de veridicitatea raspunsului.

Exemple de comenzi sint comanda care schimba o valoare intr-un registru al RTU sau comanda care cere RTU sa-i furnizeze o valoarea continuta de un registru.

Diversele implementari ale Modbus folosesc fie fire pentru transmisie, comunicatii fara fire, SMS sau GPRS.

Majoritatea implementarilor au variatii de la standardul oficial.

Unele din cele mai uzuale sint:

Formatul datelor:

  • Floating Point IEEE
  • 32 bit integer
  • 8 bit data
  • mixed data types
  • bit fields in integers
  • multipliers to change data to/from integer. 10, 100, 1000, 256 ...

Extensiile protocolului:

  • 16 bit slave addresses
  • 32 bit data size (1 address = 32 bits of data returned.)
  • word swapped data

Ca aplicabilitate, vedeti produsele din categoriile: Automat Programabil Basic/C sau Automate Programabile PLC sau HMI Interfete Operator sau Convertoare de Protocol.