Modbus

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Modbus este un protocol de comunicație serial creat în 1979 de Modicon (o companie care acum face parte din grupul Schneider Electric ) pentru a pune controlerele lor logice programabile (PLC) în comunicare. A devenit un standard de facto în comunicarea de nivel industrial și este în prezent unul dintre cele mai răspândite protocoale de conexiune din lume printre dispozitivele electronice industriale [ fără sursă ] . Principalele motive pentru o utilizare atât de mare a Modbus în comparație cu alte protocoale de comunicații sunt:

  1. Proiectat având în vedere utilizările industriale
  2. Este un protocol public și deschis fără redevențe
  3. Ușurința de instalare și întreținere
  4. Mută ​​cuvinte și cuvinte brute fără a pune multe restricții asupra producătorilor

Modbus permite comunicarea între diferite dispozitive conectate la aceeași rețea , de exemplu un sistem care măsoară temperatura și umiditatea și comunică rezultatul către un computer . Modbus este adesea folosit pentru a conecta un computer de supraveghere cu o unitate terminală la distanță ( RTU ) în sistemele de control de supraveghere și achiziție de date ( SCADA ). Există două versiuni ale protocolului: pe portul serial ( RS485 în mod implicit, dar și RS232 ) și pe Ethernet .

Există două variante, cu reprezentări diferite ale datelor numerice și mici diferențe în protocolul în sine. Modbus RTU este o reprezentare compactă a datelor de tip hexadecimal . Modbus ASCII este ușor de citit și redundant. Ambele variante folosesc comunicații seriale . Formatul RTU urmează comenzile / datele cu un câmp de sumă de verificare de tip CRC ( Verificare redundanță ciclică ) în timp ce formatul ASCII utilizează o sumă de verificare de tip LRC ( Verificare de redundanță longitudinală ). Nodurile configurate pentru varianta RTU nu pot comunica cu nodurile configurate pentru ASCII și invers. Modbus / TCP este foarte similar cu Modbus RTU, dar transmite pachete de protocol în interiorul pachetelor de date TCP / IP .

Fiecărui periferic care trebuie să comunice prin Modbus i se atribuie o adresă unică. Fiecare dintre acestea poate trimite o comandă Modbus, deși în general (în serial în mod necesar) doar un periferic acționează ca un master. O comandă Modbus conține adresa Modbus a perifericului cu care doriți să comunicați. Doar acesta din urmă va acționa la comandă, deși și celelalte dispozitive o primesc. Toate comenzile Modbus conțin informații de control, care asigură corectitudinea comenzii sosite. Comenzile de bază pot cere unei RTU să schimbe o valoare într-unul din registrele sale, precum și să comande perifericului să returneze una sau mai multe valori conținute în registrele sale.

Există mai multe modemuri care acceptă Modbus. Unele dintre acestea sunt concepute special pentru acest protocol. Unele implementări utilizează comunicații prin cablu, fără fir sau chiar SMS sau GPRS . Problemele tipice pe care le poate întâlni proiectantul sunt probleme de latență și de sincronizare ridicate.

Variante

Aproape toate implementările au variații față de standardul oficial. Diferite varietăți nu pot comunica corect între dispozitivele de la diferiți furnizori. Unele dintre cele mai frecvente variații sunt:

  • Tipuri de date
    • IEEE în virgulă mobilă
    • Numere întregi pe 32 de biți
    • Date pe 8 biți
    • tipuri de date mixte
    • Câmpuri de biți pe numere întregi
    • multiplicatori pentru a schimba datele din / în numere întregi. 10, 100, 1000, 256 ...
  • Extensii de protocol
    • Adrese slave pe 16 biți
    • Dimensiunea datelor pe 32 de biți (1 adresă = 32 de biți de date returnate)
    • date schimbate de cuvinte

Limitări

  • Modbus a fost proiectat la sfârșitul anilor 1970 pentru a comunica cu PLC-uri. Tipurile de date sunt limitate la cele acceptate de PLC-urile de atunci. Obiectele binare mari nu sunt acceptate.
  • Nu există o metodă standard prin care un sclav să poată indica reprezentarea sau descrierea diferitelor sale registre. Protocolul gestionează numai cuvinte pe 16 biți care, ca atare, pot fi interpretate ca numere întregi cu sau fără semn , sau numere de puncte fixe sau mobile , sau o serie de biți. În mod similar, nu există un standard care să definească ce reprezintă un anumit registru: ar putea fi o cantitate fizică, cum ar fi o viteză, o putere, o temperatură, dar și o stare, un mesaj, un comutator de pornire / oprire sau mai multe. Prin urmare, este necesar să existe o specificație furnizată de producătorul dispozitivului care să identifice toate registrele care pot fi consultate și să descrie tipul, natura și orice unitate de măsură a acestora.

Legături externe - engleză

Telematică Portal telematic : accesați intrări Wikipedia care vorbesc despre rețele, telecomunicații și protocoale de rețea