Chengdu Yinchuan Tehnologia Informației Co., Ltd.
Acasă>Produse>Pachetul ModBus
Pachetul ModBus
Protocolul Modbus este un protocol de comunicații universal, care a fost utilizat pe scară largă în domeniul controlului industrial de astăzi, iar Int
Detaliile produsului

Introducerea protocolului ModBus

Protocolul Modbus este un protocol de comunicare universal care a fost utilizat pe scară largă în domeniul controlului industrial de astăzi. Prin intermediul acestui protocol, controlerele pot comunica între ele sau cu alte dispozitive prin intermediul unei rețele, cum ar fi Ethernet. Protocolul Modbus utilizează tehnologia de comunicare Master-From, adică interogă și operează în mod activ de către dispozitivul principal. În general, protocolul utilizat de către dispozitivul master este numit Modbus Master, iar protocolul utilizat de către dispozitivul este numit Modbus Slave. Echipamentele principale tipice includ mașini de control industriale și controlere industriale; Tipic de la dispozitive cum ar fi PLC controlor programabil etc. Interfața fizică de comunicații Modbus poate fi selectată pentru porturi seriale (inclusiv RS232 și RS485) sau pentru porturi Ethernet. Comunicarea sa urmeaza urmatorul proces:

• Dispozitivul principal trimite cereri de la dispozitiv

● Analiza și procesarea solicitărilor de la dispozitivul principal, apoi trimiterea rezultatelor la dispozitivul principal

● În cazul în care apare o eroare, un cod de funcție anormal va fi întors de la dispozitiv


Software-ul de comunicare ModBus

Produsele de software pentru protocolul de comunicații ModBus lansate de Intel sunt utilizate în principal în mediul de plăci de bază Embedded ARM9 de Intel, plăcile de bază de control industrial de Intel sunt dotate cu o gamă bogată de porturi seriale, resurse de rețea, interfețe GPIO universale și altele, în timp ce au o puternică capacitate de procesare. În combinație cu software-ul ModBus, puteți crea cu ușurință o platformă de aplicații Master (Master) și Slave (Device) în conformitate cu specificațiile de comunicare ModBus. Pentru modul principal de comunicare ModBus, pachetul ModBus este împărțit în două părți care pot fi utilizate separat, respectiv „ModBus Master Protocol Software” (scurt modbus_Master) și „ModBus Device Side Protocol Software” (scurt modbus_Slave). În prezent, software-ul ModBus este executat în mediul WinCE și este disponibil clienților sub formă de funcție C plus bibliotecă LIB statică. Caracteristicile sale principale sunt următoarele:

Perfect pentru aplicații industriale în timp real

Suport pentru aplicații ModBus bazate pe port serial sau TCP

Mod de transmitere RTU

Suport pentru cele mai multe operații de cod Modbus, inclusiv operații de bit pentru bobină, întrerupător discret de intrare și operații de byte pentru registru

• Suport pentru adrese de difuzare

• Configurarea flexibilă a timpului de expirare a comunicațiilor ModBus

● Puteți obține informații detaliate despre codurile de eroare ale protocolului de transfer în comunicare


Diagrama de comunicare a software-ului ModBus


Coduri de funcții suportate de software-ul ModBus

Codul funcţiei

Descriere

1

Citire bobină unică

2

Citirea intrărilor discrete

3

Citiți mai multe registre

4

Citirea registrului de intrare

5

Scrie o bobină singură

6

Scrie un singur registru

15

Scrie mai multe bobine

16

Scrie mai multe registre

22

Blocarea registrului de scriere

23

Registrul de citire/scriere


Metode de bază de utilizare a software-ului

Pentru a facilita utilizarea aplicației și pentru a menține o formă de cod consistentă pentru diferitele mijloace de comunicare, funcțiile API din software-ul ModBus oferit de Ingron (inclusiv modbus_Master și modbus_Slave) pot suporta în același timp protocolul Modbus bazat pe port serial și TCP, aplicația trebuie doar să distingă cu parametri diferiți atunci când se chemă funcția de inițializare, pentru instrucțiuni despre parametri, consultați fișierele de intet corespunzătoare: modbus_Master.h și modbus_Slave.h


Aplicația modbus_master

Aplicația ca modul client Modbus este în principal pregătirea solicitărilor și trimiterea solicitărilor către dispozitivele serverului și așteptarea răspunsului serverului. În timpul dezvoltării unor astfel de aplicații, utilizatorii se pot referi la literatura standard Modbus și la manualul de date privind interfața de comunicare a dispozitivului susținut și pot apela direct la pachetul modbus_Master oferit de Intel care oferă funcțiile API de operare corespunzătoare pentru a completa accesul și controlul dispozitivului de server. Pentru a dezvolta astfel de aplicații, utilizatorul trebuie doar să includă modbus_master.h/modbus_master.lib.


Aplicația modbus_slave

Ca o aplicație în modul server ModBus, trebuie să se realizeze în principal analiza și răspunsul la mesajele aplicației ModBus, dar aceasta este doar o parte a întregii comunicații ModBus, iar cealaltă parte necesită acces la datele aplicației, iar conținutul trebuie definit de utilizatorul însuși. Pentru a facilita utilizarea de către client, aceste funcții de interfață de utilizator sunt încărcate automat în pachetul modbus_Slave sub forma unui cursor de funcție, care asociează procesarea datelor aplicației utilizatorului cu răspunsul la mesajul aplicației ModBus. Utilizatorul trebuie doar să definească aceste funcții de interfață în funcție de nevoile sale pentru a implementa funcțiile corespunzătoare, fiecare funcție fiind definită prin intermediul unui fișier CPP dedicat: DataProvider.cpp.


Prin urmare, acest tip de aplicații de dezvoltare trebuie să conțină două părți, o parte fiind o funcție API definită de modbus_slave.h/modbus_slave.lib; O altă parte este funcția de interfață de date de utilizator definită de DataProvider.h / DataProvider.cpp, în care funcția de interfață necesită ca utilizatorul să fie implementat în mod specific în DataProvider.cpp.


Pentru a răspunde la mesajele aplicației ModBus în timp util, este necesar să rețineți că, în timpul programării, un fir trebuie proiectat pentru a chema în mod repetat funcția de execuție modbus_Slave, care este în modul de blocare.


De exemplu:

(1) Lansarea protocolului Modbus

hPort = mbusSlave_StartupServer (_T('*'), 1, 10000, mbusSlave_Interface );

Sau...

hPort=mbusSlave_StartupServer(_T)"COM3:9600-8-1-0"),1,10000, mbusSlave_Interface );


(2) Chemarea funcției de executare Serverloop în fir pentru a răspunde la cerere

în timp ce( 1 )

{

//Chemați funcția de executare pentru analiza și răspunsul la mesajele ModBus.

rezultat = mbusSlave_ServerLoop( hPort );

    dacă(rezultat!=0)//Verifică dacă returnează o eroare

{

      //Procesarea erorilor: Acest exemplu este un mesaj text pentru a obține și imprima codul de eroare

wcscpy( szText, mbusSlave_GetErrorText( rezultat ) );

i1 = wcslen( szText );

      dacă( i1>0 )

{

wcstombs( strText, szText, i1 );

printf(codul de eroare: %s! n'Stretex);

}

}

}


Anterior, software-ul ModBus a fost oferit clienților sub formă de funcții C plus biblioteci statice (fișiere modbus.lib sau libmodbus.a). Pe măsură ce este utilizat de tot mai mulți clienți, Intel a preinstalat protocolul ModBus, în special software-ul de protocol master (modbus_Master), sub forma unei biblioteci dinamice (fișiere modbus_Master.dll sau libmbusmaster.so) în sistemul de kernel de plăci de bază Embedded Industrial Control Intel pentru a facilita apelarea aplicațiilor clienților. Plăcile de bază preinstalate cu protocolul Modbus includ toate plăcile de bază din seria ESM (ESM6802, ESM6800, ESM335x, ESM928x etc.).


Referințe relevante


Aplicații de colectare a inelului de curent de 4 ~ 20mA Modbus Master Protocol Software pentru WinCE

Software-ul Modbus pentru partea dispozitivului sub WinCE Placa de bază Embedded Linux suportă protocolul Modbus Master

Modbus Device Party Protocol pentru Linux ESM6802 suportă dezvoltarea de programe Qt MODBUS

Preinstalarea protocolului Modbus în placa de bază
Cerere online
  • Contacte
  • Companie
  • Telefon
  • Email
  • WeChat
  • Codul de verificare
  • Conținut mesaj

Operaţiune reuşită!

Operaţiune reuşită!

Operaţiune reuşită!