Implementacija sveobuhvatnog uređaja za zaštitu motora korištenjem RS-485 serijske komunikacije i Modbus protokola

Jan 04, 2026 Ostavite poruku

1 Uvod

 

Mikrokontroleri se sve više primjenjuju u automatiziranim upravljačkim uređajima, mikroprocesorskim-integriranim zaštitnim sustavima za električne mreže i drugim područjima upravljanja industrijskom automatizacijom, pri čemu složenost tih uređaja stalno raste. Kako bi se odgovorilo na zahtjeve razvojnih ciljeva za više-zadatke u stvarnom-vremenu, model jednog-CPU-a, jednog-razvojnika zamjenjuje se suradničkim pristupom koji uključuje višestruke CPU-ove različitih vrsta i više programera. Ova nova razvojna paradigma predstavlja ključni izazov: standardiziranje hardvera i softvera za razmjenu informacija između CPU-a tijekom implementacije. Ova standardizacija ključna je za uspješno prihvaćanje ovog novog modela. Među brojnim komunikacijskim metodama, RS-485 serijski komunikacijski protokol temeljen na UART- široko je prihvaćen zbog svog jednostavnog ožičenja, visoke pouzdanosti i mogućnosti podrške za više procesora. Što se tiče softverskih komunikacijskih protokola, Modbus protokol nudi značajne prednosti korisnicima zbog svoje univerzalne prirode i zrelog softvera za otklanjanje pogrešaka. Stoga, tijekom razvoja novog uređaja za sveobuhvatnu zaštitu motora, RS-485 serijska komunikacijska metoda i Modbus komunikacijski protokol su usvojeni kako bi se postigla razmjena podataka i informacija o upravljačkim naredbama između više CPU-a. Kako bi poboljšao učinkovitost i koordinaciju serijske komunikacije, autor je implementirao brojne mjere u hardversku i softversku arhitekturu komunikacijskog mehanizma, postigavši ​​izvrsne rezultate. Tijekom faze otklanjanja grešaka u komunikaciji sustava, korištena je metoda u kojoj je svaki CPU modul prvo komunicirao sa standardnim Modbus softverom za testiranje prije nego što se podvrgne međusobnom otklanjanju grešaka međupovezanosti, značajno poboljšavajući učinkovitost kolaborativnog razvoja. Praksa je dokazala da ova filozofija dizajna pojednostavljuje strukturu sustava dok uvelike poboljšava radnu učinkovitost i pouzdanost uređaja.


2 Značajke uređaja za sveobuhvatnu zaštitu motora


Osim opsežnih zaštitnih funkcija, uređaj za zaštitu motora integrira mogućnosti mjerenja, daljinskog upravljanja i komunikacije. Njegov veliki-zaslon LCD zaslon s kineskim znakovima omogućuje korisnik-prijateljsko sučelje. Koristeći komunikaciju CAN sabirnice s hostom za nadzor, čini podsustav unutar hijerarhijskog, distribuiranog sustava automatizacije podstanice. Za optimizaciju funkcionalnosti sustava za njegove-zahtjeve višezadaćnosti, usvojena je više-CPU arhitektura. Jedan CPU obrađuje periodično uzorkovanje i prijenos impulsa; glavni CPU modul upravlja obradom podataka, izračunom električnih parametara, dijagnozom greške i operacijama prebacivanja; dok CPU modula ploče nadzire interakciju čovjeka-stroja i olakšava komunikaciju s glavnim zaštitnim modulom i nadzornim hostom. Svaki CPU modul ima jasno definirane zadatke, olakšavajući zajednički razvoj više inženjera tijekom implementacije. Serijska komunikacija povezuje glavni CPU i panel CPU, omogućujući interakciju čovjeka-sa strojem i tako zauzimajući kritičnu poziciju. Uspostavljanje racionalnog komunikacijskog mehanizma srž je dijela serijske komunikacije, određujući komunikacijsku koordinaciju i učinkovitost uklanjanja pogrešaka tijekom kasnijih faza razvoja sustava.


3 Uvod u komunikacijske mehanizme

 

3.1 Hardverski dizajn komunikacijskog mehanizma

Komunikacijski mehanizam predložen za ovaj sustav ima za cilj visoku učinkovitost i pouzdanost. RS-485 koristi polu-dupleks strukturu, koja je često praktičnija od punog dupleksa u primjenama na terenu. Ovdje je usvojena pojednostavljena veza koja koristi samo dvije signalne linije. Dijagram strujnog kruga sučelja sustava prikazan je na slici 1. TTL logičke razine koje izlaze iz 8051 mikrokontrolera na glavnom zaštitnom modulu optički su izolirane, a zatim se pretvaraju u RS-495 razine pomoću MAX485 čipa. Naknadno, čip MAX485 na modulu ploče pretvara te natrag u TTL logičke razine za čitanje od strane 8031 ​​mikrokontrolera. Na strani mikrokontrolera 8051, pin P2.7 paralelnog I/O priključka 2 kontrolira MAX ulaz RE za omogućavanje i izlaz DE za omogućavanje pina. Kao što je prikazano na slici 1, kada P2.7 emitira visoku razinu, RE je omogućen, dopuštajući strani mikrokontrolera da prima podatke. Kada P2.7 emitira nisku razinu, DE je omogućen, dopuštajući strani mikrokontrolera prijenos podataka. Ovaj pristup sprječava gubitak podataka zbog preklapanja uzrokovanih slijepim prijenosom, osiguravajući visoku kvalitetu komunikacije i pouzdanu brzinu prijenosa.

采用RS-485串行通信和Modbus通信协议实现电动机综合保护装置的设计

 

3.2 Komunikacijski protokol

 

Kako bi se osigurao točan prijenos podataka između dva modula unutar zaštitnog uređaja, ključan je skup specifikacija koji upravljaju prijenosom informacija-uključujući načine prijenosa, formate podataka i sadržaj-. Ovo predstavlja protokol ili komunikacijski protokol. Bez lako dostupnog, zrelog softvera za otklanjanje pogrešaka, glavni CPU modul u biti funkcionira kao crna kutija, što dovodi do brojnih i-te-prevladanih izazova tijekom testiranja integracije sustava. Stoga je široko prihvaćen komunikacijski protokol Modbus odabran i pojednostavljen kako bi odgovarao specifičnim zahtjevima uređaja, omogućujući uspješnu među-komunikaciju modula s dokazanom učinkovitošću. Modbus koristi komunikacijski model master-slave. Master prvo šalje naredbu zahtjeva za komunikaciju slave-u. Slave tada odgovara masteru s podacima na temelju koda funkcije unutar naredbe zahtjeva. Svaki slave posjeduje jedinstvenu adresu. I okviri zahtjeva koje šalje master i okviri odgovora koje šalje slave počinju s adresom slave. Podređeni uređaji čitaju samo naredbe upućene sebi i ignoriraju poruke koje počinju s drugim podređenim adresama. Ova se funkcionalnost implementira korištenjem 8051 serijskog porta Mode 2 ili Mode 3. Ovaj komunikacijski model pitanja-i-odgovora značajno poboljšava točnost komunikacije. Modbus RTU prijenosa je usvojen u ovom uređaju.


4 Mjere za poboljšanje pouzdanosti komunikacije


Posljednja dva bajta Modbus poruke služe kao bajtovi kontrolne sume. RTU komunikacija koristi CRC-16 cikličku redundantnu provjeru za otkrivanje grešaka. Njegov mehanizam kodiranja/dekodiranja relativno je jednostavan s niskom stopom pogreške, što se može postići računalnim ili programskim metodama. U nastavku je navedeno nekoliko pristupa:


4.1 Osnovni algoritam (ručni izračun)


Koristeći CRC16-CCITT kao primjer: CRC kontrolni zbroj je 16 bita, a generirajući polinom je 17 bita. Pretpostavimo da je tok podataka 4 bajta: BYTE, BYTE, BYTE, BYTE[0];


Pomaknite podatkovni tok ulijevo za 16 bita, učinkovito ga proširujući za faktor od 256×256. Zatim izvedite dijeljenje generatorskim polinomom 0x11021 koristeći dijeljenje bez -posuđivanja (ekvivalentno XOR-u po bitovima). Rezultirajući ostatak je CRC kontrolni zbroj. Preneseni tok podataka sastoji se od 6 bajtova: BYTE, BYTE, BYTE, BYTE[0], CRC, CRC[0].


4.2 Računalni algoritam 1 (Bit-Algoritam tipa)


1) Postavite gornjih 16 bitova (BYTE, BYTE) proširenog toka podataka (6 bajtova) u 16-bitni registar;

2) Ako je najznačajniji bit registra 1, pomaknite registar ulijevo za jedan bit (dobivajući najmanji značajni bit iz sljedećeg bajta), zatim izvedite operaciju XOR s pojednostavljenim oblikom polinoma generatora; u suprotnom, jednostavno pomaknite registar ulijevo za jedan bit (dobivanjem najmanjeg bita iz sljedećeg bajta);

3) Ponovite korak 2 dok se cijeli tok podataka (6 bajtova) ne prebaci u registar;

4) Vrijednost u registru je CRC kontrolni zbroj CRC, CRC[0].

 

4.3 Računalni algoritam 2 (Byte-Type Algorithm) (256^n označava 256 podignuto na potenciju n)

 

Predstavite bajt{0}}tok podataka kao matematički polinom. Neka tok podataka bude BYTE[n] BYTE[n-1] BYTE[n-2] ... BYTE[0] je predstavljen kao matematički izraz

BYTE[n] × 256^n + BYTE[n-1] × 256^(n-1) + ... + BYTE × 256 + BYTE[0], gdje "+" označava operaciju XOR. Neka polinom generatora bude G17 (17-bitni), tada je CRC kod CRC16.

CRC16=(BYTE[n] × 256^n + BYTE[n-1] × 256^(n-1) + ... + BYTE × 256 + BYTE[0]) × 256^2 / G17

To uključuje pomicanje toka podataka ulijevo za 16 bita i potom dijeljenje s generatorskim polinomom G17.

Derivacija pokazuje da je CRC kontrolni kod za BYTE[n-1] jednak XOR rezultatu gornjih 8 bitova prethodnog bajta CRC kontrolnog koda Y[n] (YH8[n]) i trenutnog bajta BYTE[n-1].


Algoritam tipa bajt-je sljedeći:


1) Inicijalizirajte grupu CRC registara na sve "0" (0x0000).

2) Pomaknite grupu CRC registara 8 bita ulijevo i pohranite je u grupu CRC registara.

3) Izvedite operaciju XOR između visokih 8 bitova izvorne CRC grupe registara (pomaknutih 8 bitova udesno) i podatkovnog bajta da dobijete indeks koji pokazuje na tablicu vrijednosti.

4) Izvedite operaciju XOR između vrijednosti tablice na koju ukazuje indeks i CRC grupe registara.

5) Povećajte pokazivač podataka. Ako obrada podataka nije dovršena, ponovite korak 2).

6) Nabavite CRC.

 

5 Mjere za poboljšanje učinkovitosti komunikacije

 

5.1 Odvojeni zadaci primanja i slanja komunikacije


8051 mikrokontroler može odašiljati i primati podatke preko serijskog porta koristeći prekide. Kontroler serijskog porta SCON podržava inicijalizaciju i adresiranje bitova. Kada se dogodi zahtjev za prekidom serijskog porta, niža dva bita SCON-a zabravljuju prekide slanja i primanja. Kada CPU zapiše podatke ili znak u međuspremnik prijenosa SUBF serijskog porta (instrukcija: MOV SUBF, A), odašiljač počinje slati. Nakon dovršetka jednog podatkovnog okvira, hardver postavlja TI oznaku na "1", što pokazuje da serijski port zahtijeva prekid od CPU-a za slanje sljedećeg podatkovnog okvira. Slično, ako je prijamnik serijskog porta omogućen za prijem, nakon primanja okvira podataka, RI zastavica je postavljena na 1, što pokazuje da serijski port zahtijeva prekid od CPU-a za čitanje podataka iz međuspremnika podataka za primanje.


5.2 Smanjenje trajanja prekida


Budući da se višestruki prekidi koriste u dizajnu softverske arhitekture, kako bi se osigurao pouzdan rad programa i smanjila vjerojatnost sukoba između različitih zadataka, implementacija softvera trebala bi težiti pojednostavljenju zadataka različitih prekida i skratiti njihovo vrijeme izvršenja. Unutar potprograma za komunikacijski prekid, izvršite bitne zadatke nakon ulaska u prekid, kao što su: brisanje odgovarajućih statusnih bitova u kontrolnom registru serijskog porta, čitanje primljenih znakova ili pisanje znakova koji se trebaju prenijeti iz/u međuspremnik, povećavanje broja primljenih ili odaslanih znakova, itd. Zatim odmah izađite iz prekida. Ostali zadaci, kao što je provjera valjanosti okvira, odgovaranje na primljene okvirne naredbe (telemetrija/telekomanda) i priprema prijenosnih okvira, trebaju se obavljati unutar glavnog programa.


5.3 Učinkovito otkrivanje završetka okvira za sprječavanje stagnacije komunikacije


Korištenje namjenskog softverskog mjerača vremena za otkrivanje kraja primljenog okvira sprječava da komunikacijski zadaci odugovlače ako je okvir primljen nepotpuno, čime se osigurava pravovremeni prijem sljedećih okvira. Budući da je vremenski interval između bajtova unutar okvira puno kraći od intervala od -do-okvira, softverski mjerač vremena pokreće se svaki put kada se primi novi bajt. Mjerač vremena postavljen je na minimalni interval od-od-od okvira. Ovaj interval varira s različitim brzinama prijenosa podataka. Ako se sljedeći bajt primi prije isteka unaprijed postavljenog vremena, to znači da okvir nije dovršen i mjerač vremena se ponovno pokreće. Ako mjerač vremena uspješno odbrojava do unaprijed postavljenog vremena, aktivira odgovarajući broj prekida. Unutar potprograma prekida timera, postavlja se bajt zastavice kraja okvira, označavajući da je prijem okvira završen. Nakon što glavni program detektira završetak prijema okvira, potvrđuje integritet okvira provjerom slave adrese i bajta cikličke provjere redundantnosti (CRC). Ako se potvrdi kao važeći okvir namijenjen masteru, on obrađuje naredbu okvira na temelju svojeg koda funkcije i priprema se za slanje okvira. Kada podređeni uređaj primi netočnu poruku, šalje natrag okvir pogreške. Ako primljena poruka ima netočan CRC, podređeni uređaj može odlučiti ne odgovoriti. Ako master ne primi odgovor od slave-a u navedenom vremenu, ponovno će poslati poruku zahtjeva. Ako više ponovnih prijenosa ne primi odgovor od podređenog uređaja, prijavljuje se komunikacijski kvar.


5.4 Određivanje brzine komunikacije


Budući da se svi uređaji nalaze unutar istog kućišta, udaljenost između modula je minimalna. Modbus radi na RS485 za-komunikaciju na velike udaljenosti, eliminirajući potrebu za razmatranjem utjecaja udaljenosti na brzinu prijenosa podataka. Nadalje, glavni-podređeni način komunikacije sprječava zagušenje linije. Stoga, iz perspektive učinkovitosti komunikacije, sve dok postavljena brzina prijenosa podataka ne prelazi ograničenje maksimalne brzine prijenosa podataka čipa koji se koristi u modulu, veća brzina prijenosa podataka rezultira bržom razmjenom informacija i većom učinkovitosti komunikacije. Postavljanje brzine prijenosa podataka da bude točno ista za obje strane u komunikaciji osigurava da prijemni kraj uzorkuje svaki bit podataka na sredini ciklusa bita, čime se postiže pouzdana komunikacija.


5.5 Razumne metode otklanjanja pogrešaka


Tijekom otklanjanja pogrešaka prvo testirajte komunikaciju između svakog CPU modula i mikroračunala preko RS485/RS232 modula za pretvorbu podataka. Nakon uspješnog pojedinačnog testiranja, prijeđite na među-ispravljanje pogrešaka modula, značajno poboljšavajući ukupnu učinkovitost uklanjanja pogrešaka. Tijekom otklanjanja pogrešaka u komunikaciji između modula--računala, računalo koristi Modbus softver za otklanjanje pogrešaka za simulaciju komunikacijskog procesa nadređenog, aktivno tražeći informacije od podređenog. Time cijeli proces prijema i prijenosa postaje transparentan i jasan, što omogućuje pravovremeno rješavanje problema s modulima. Tijekom zajedničkog otklanjanja pogrešaka, softver za praćenje sabirnice promatra podatke s obje strane kako bi odmah identificirao i riješio probleme.

 

6 inovacijskih točaka ovog dokumenta


Prvo, ovaj dokument usvaja Modbus, univerzalni industrijski standard, u zaštitnim uređajima. Potreban softver alata može se izravno nabaviti s relevantnih web stranica bez snošenja troškova intelektualnog vlasništva. Drugo, zaštitni uređaj implementira multitasking i koristi Modbus protokol za stvaranje razumnog zajedničkog mehanizma za otklanjanje pogrešaka između CPU modula, uvelike poboljšavajući učinkovitost kolaborativnog razvoja sustava.

Pošaljite upit

whatsapp

Telefon

E-pošte

Upit