Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateC
C sharpCalculatoareCorel drawDot netExcelFox pro
FrontpageHardwareHtmlInternetJavaLinux
MatlabMs dosPascalPhpPower pointRetele calculatoare
SqlTutorialsWebdesignWindowsWordXml

Protocol MODBUS

calculatoare



+ Font mai mare | - Font mai mic



Protocol MODBUS

Introducere



Protocolul MODBUS a fost definit in 1979 de producatorul de automate programabile Modicon. El are o serie de avantaje, care l-au impus pe piata echipamentelor de automatizare, in prezent circa 40% din totalul comunicatiilor industriale se bazeaza pe MODBUS.

Printre avantaje, enumeram:

a. Este relativ simplu de implementat

b. Nu necesita harware dedicat pe nivelul fizic

c. Dispune de un mecanism sigur de detectie a erorilor

d. Este complet open source - astfel incat este foarte bine documentat

La capitolul dezavantaje, enumeram:

a. Are o structura rigida MASTER-SLAVE a retelei, astfel incat un SLAVE nu poate

niciodata lua initiativa de a transmite un "eveniment" detectat

b. Viteza de comunicatie e limitata la 115200 baud

MODBUS este prezentat in doua variante: MODBUS ASCII si MODBUS RTU.

Ulterior aparitiei MODBUS, au fost dezvoltate alte variante ale protocolului initial si anume:

a. MODBUS PLus

b. Modbus II

c. MODBUS TCP

Acestea nu mai sunt open source si sunt mult mai putin raspandite.

Structura fizica al MODBUS

La nivelul layer-ului fizic, MODBUS se bazeaza pe o structura de retea de tip RS48.

Reguli de acces la bus

Intr-o retea MODBUS exista un singur MASTER.

Toate secventele de comunicatie sunt initioate de MASTER. In consecinta doua unitati SLAVE nu pot comunica direct una cu alta.

Un singur SLAVE poate raspunde la un pachet emis de MASTER

Toate pachetele corecte trebuie sa primeasca raspuns.. Exista totusi o exceptie de la aceasta regula, si anume pachetele de tip "broadcast". Acestea sunt adresate tuturor unitatilor SLAVE.

Reprezentarea datelor in MODBUS

Datorita faptului ca MODBUS a fost initial dezvoltat pentru comunicatia cu PLC-urile Modicon, reprezentarea datelor este asociata cu resursele tipice ale PLC-urilor si anume: iesiri digitale (denumite "coils" - relee), intrari digitale (discrete), intrari analogice (input registers) si iesiri analogice (holding registers).

La nivelul MODBUS, valorile binare asociate cu intrarile si iesirile digitale sunt transferate in octeti, iar valorile asociate cu marimile analogice sunt codificate binar in cuvinte de 16 biti si sunt transmise in sistemul "big endian" - cu octetul mai semnificativ transmis primul. De exemplu, daca se transmite valoarea zecimala 4660 (hex 0x1234) aceasta se va transmite sub forma a doi octeti 0x12 si 0x34 in aceasta ordine. Daca sunt

necesare numere mai mari decat 65535 (0xFFFF) atunci se vor folosi doua sau mai multe holding registers pentru a stoca aceste variabile.

Exemplu de functie C pentru Calculul CRC

unsigned int crc16(unsigned char buffer[], int count)

while(--i);

return (crc);

La calculul CRC se iau in considerare toti octetii din buffer, incepand cu SLA si terminand cu ultimul octet din campul DATA. (se exclude evident campul CRC).



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2723
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved