Controlul industrial a trecut de la controlul de sine stătător la monitorizarea centralizată și controlul centralizat, iar acum a intrat în epoca rețelei, controlerele industriale conectate la rețea oferă, de asemenea, un management convenabil al rețelei. Modbus este unul dintre protocoalele de rețea pentru controlerele industriale.
Introducerea protocolului de comunicare Modbus
Protocolul Modbus, în primul rând, din înțelegerea literală, include mod și autobuz două părți, în primul rând, este un autobuz, adică protocolul de autobuz și I2C, SPI similar, autobuzul înseamnă că există gazde, există sclavi, aceste dispozitive în același autobuz.
Modbus acceptă un singur master, mai mulți sclavi și până la 247 de dispozitive sclave. Despre mod, deoarece acest protocol a fost utilizat pentru prima dată în controlerele PLC, controlerele PLC ale MoDicon să fie exacte, de unde provine numele Mod-Bus.
Ulterior, Modicon a fost achiziționat de Schneider (Schneider), Protocolul Modbus este utilizat pe scară largă în controlerele industriale, HMIS și senzori și acceptat treptat de alți producători, devenind un protocol de comunicare mainstream pentru comunicarea cu dispozitivele periferice.
Modbus aparține celui de -al șaptelea strat de aplicație din modelul de referință OSI {7- stratul OSI și există două tipuri de strat de legătură de date: Pe baza protocolului serial standard și a protocolului TCP, stratul fizic poate utiliza 3- Wire 232, 2- Wire 485, {5}} Wire 422, sau FiBer Opic, Netwad Media de transmisie.
Protocolul Modbus este un proces de solicitare/răspuns de interacțiune, gazda inițiază cererea de comunicare, sclavul răspunde la cererea gazdei, sclavul nu va trimite date activ atunci când nu primește cererea gazdei, iar sclavii nu vor comunica între ei.
Caracteristici ale protocolului de comunicare Modbus
(1) Utilizatorii standard, deschis, pot utiliza gratuit Protocolul Modbus, sunt siguri că nu este nevoie să plătiți taxe de licență și nu vor încălca drepturile de proprietate intelectuală.
)
(3) Formatul de cadru al Modbus este simplu, compact și ușor de înțeles. Este ușor pentru utilizatori să utilizeze și simplu pentru vânzători să se dezvolte.
Modbus 4 tipuri de date
Protocolul Modbus prevede că tipurile de date pentru operațiunile de citire și scriere pot fi clasificate în următoarele 4 tipuri în funcție de atributele și tipurile de citire și scriere:
1. Intrare discretă (discrete de intrare):1 bit, numai pentru citire
2. Bobine (bobine):1- bit, citire-scriere
3. Registre de intrare:16 biți, numai pentru citire
4. Deținerea registrelor:16 biți, citiți/scrieți.
Versiuni de protocol Modbus
Versiunile protocolului Modbus există în prezent pentru rețele seriale, Ethernet și alte rețele care acceptă protocolul de internet.
Majoritatea dispozitivelor MODBUS comunică peste seria EIA -485 strat fizic.
Pentru conexiunile seriale, există două variante care diferă ușor în ceea ce privește diferite reprezentări de date numerice și detalii despre protocol.Modbus RTU este o reprezentare compactă, binară a datelor, iar Modbus ASCII este o reprezentare verbOSE, citită de om. Ambele variante folosesc comunicare în serie; Formatul RTU urmează cu comenzi/date cu o sumă de control de redundanță ciclică, în timp ce formatul ASCII folosește o sumă de control longitudinală de redundanță. Nodurile configurate pentru varianta RTU nu comunică cu nodurile configurate pentru varianta ASCII și invers.
Pentru conexiuni prin TCP/IP (de exemplu, Ethernet) unde există mai multe variante MODBUS/TCP, această abordare nu necesită un calcul de control.
Pentru toate cele trei protocoale de comunicare, modelul de date și apelurile funcționale sunt aceleași, doar încapsularea este diferită.
Modbus are o versiune extinsă ModBusPlus (ModBus+ sau MB+), cu toate acestea, acest protocol este proprietar Modicon și diferit de Modbus. Este nevoie de un coprocesor specializat pentru a gestiona rotația de jeton de mare viteză similară cu HDLC. Utilizează un cablu de pereche răsucit de 1MBit/s și are izolare de conversie la fiecare nod, un dispozitiv care folosește conversie/declanșare a conversiei/marginii, mai degrabă decât declanșarea tensiunii/nivelului. Conectarea Modbus Plus la un computer necesită o interfață specială, de obicei o placă care acceptă autobuzul ISA (SA85), PCI sau PMCIA.
Deci, atunci când ne referim la protocolul Modbus, este important să determinăm ce mod este, există încă o diferență mare între diferitele moduri.
Formatul cadrului de date Modbus
Primul lucru pe care trebuie să -l știm este că un cadru normal de date Modbus conține următoarele: Câmp de adresă + Cod funcție + date + Glitch Checksum, plus formatul cadrului Modbus este același, indiferent de versiunea protocolului menționată mai sus:
Include în principal:
1. Câmp de adresă:adică adresa sclavă care va fi accesată de maestru, intervalul său 0 ~ 247
2. Codul funcției:adică ce fel de operație dorește să efectueze pe sclav.
3. Date:Dacă cererea maestrului este de a citi date, atunci „datele” ar trebui să conțină următoarele informații: Unde să începeți să citiți date + cât de multe date de citit. Dacă cererea maestrului este de a scrie date sclavului, atunci „datele” ar trebui să conțină următoarele informații: Unde să începeți să scrieți date + câți octeți de date pentru a scrie + datele specifice care trebuie scrise.
4. Verificarea erorilor:Pentru a asigura corectitudinea transmisiei de date, protocolul Modbus adaugă o verificare de eroare de doi octeți la sfârșitul cadrului de date.
Codul funcției Modbus
Codurile de funcții Modbus, care sunt scrise în cadrul datelor de solicitare a gazdei, determină dacă gazda citește sau scrie, indiferent dacă citește bobine, cantități discrete sau registre, indiferent dacă scrie un singur registru sau mai multe registre etc. și ce tip de date solicită gazda.
Există trei tipuri principale de coduri funcționale: coduri de funcții publice, coduri de funcții definite de utilizator și coduri de funcții rezervate.
1. Coduri de funcții publice
-Cede coduri de funcționare care sunt mai bine definite
-Guaranteed pentru a fi unic
-Cansabil de către organizația Modbus
-Publical probabil
-Vedeți un test de conformitate utilizabil
-PROVEN ÎN MB IETF RFCS
-Contamentele definite coduri de funcții alocate publicului și coduri de funcții rezervate neasignate pentru utilizare viitoare.
2. Coduri de funcții definite de utilizator
Există două intervale de definire a codului funcției definite de utilizator, adică 65 până la 72 și zecimale 100 până la 110.
-A Utilizatorul poate selecta și implementa un cod funcțional fără nicio aprobare din partea organizației MODBUS.
-A Utilizarea codului funcției selectate nu este garantată a fi unică.
-Dacă utilizatorul dorește să reseteze funcția ca cod funcțional public, atunci utilizatorul trebuie să pornească RFC pentru a introduce modificarea în clasificarea publică și a atribui un nou cod de funcții publice.
3. Coduri funcționale rezervate
-Cede coduri de funcționare care sunt utilizate în mod obișnuit de unele companii pentru produse moștenite și nu sunt valabile pentru utilizare publică.
Cele mai frecvent utilizate sunt cele 4 coduri funcționale din codurile de funcții publice: 03/04/06/10
0 x03: Citiți mai multe registre de reținere
0 x04: Citiți registrul de intrare
0 x06: Scrieți registre de reținere unice
0 x10: Scrieți mai multe registre de reținere
Deoarece PLC controlează în principal contactele releului, bobinele (bobinele) sunt, de asemenea, citite și scrise frecvent pe PLC. Aici trebuie să acordați o atenție specială unui punct este: scrierea registrelor de reținere, trebuie să distingem între {{0}} x 0 6 Scrieți un singur registru unic și 0x10 Scrieți mai multe registre, în timp ce registrele de referință de citire nu distinge între citirea unică și citiți multiplu, atunci când trebuie să citiți un singur registru de reținere, este de asemenea utilizarea instrucțiunii 0x03, specifică numărul de citire pentru 1.




