Põhjaliku mootorikaitseseadme rakendamine, kasutades RS-485 jadasidet ja Modbus-protokolli

Jan 04, 2026 Jäta sõnum

1 Sissejuhatus

 

Mikrokontrollereid kasutatakse üha enam automatiseeritud juhtimisseadmetes, mikroprotsessori{0}}põhistes elektrivõrkude integreeritud kaitsesüsteemides ja muudes tööstusautomaatika juhtimisvaldkondades, kusjuures nende seadmete keerukus kasvab pidevalt. Arendusobjektide reaalajas-mitmeüle{3}}tegumtöötluse vajaduste rahuldamiseks asendatakse ühe-protsessori ja ühe-arendaja mudel koostööl põhineva lähenemisviisiga, mis hõlmab mitut erinevat tüüpi protsessorit ja mitut arendajat. See uus arendusparadigma esitab kriitilise väljakutse: riist- ja tarkvara standardimine protsessorite vaheliseks teabevahetuseks rakendamise ajal. See standardimine on selle uue mudeli edukaks kasutuselevõtuks otsustava tähtsusega. Arvukate sidemeetodite hulgas on UART{9}}põhine RS-485 jadasideprotokoll laialdaselt kasutusel tänu selle lihtsale juhtmestikule, suurele töökindlusele ja võimele toetada mitut protsessorit. Tarkvarasideprotokollide osas pakub Modbusi protokoll kasutajatele olulisi eeliseid tänu oma universaalsele olemusele ja küpsele silumistarkvarale. Seetõttu võeti uue mootori tervikliku kaitseseadme väljatöötamise käigus kasutusele RS-485 jadasidemeetod ja Modbusi sideprotokoll, et saavutada andmete ja juhtkäskude teabevahetus mitme protsessori vahel. Jadakommunikatsiooni tõhustamiseks ja koordineerimiseks rakendas autor arvukalt meetmeid sidemehhanismi riist- ja tarkvaraarhitektuuris, saavutades suurepäraseid tulemusi. Süsteemi side silumise etapis kasutati meetodit, mille kohaselt iga CPU moodul suhtles kõigepealt standardse Modbusi testtarkvaraga, enne kui läbis vastastikuse ühenduse silumise, parandades oluliselt koostöö arendamise tõhusust. Praktika on tõestanud, et see disainifilosoofia lihtsustab süsteemi struktuuri, suurendades samal ajal oluliselt seadme töötõhusust ja töökindlust.


2 Mootori tervikliku kaitseseadme omadused


Lisaks kõikehõlmavatele kaitsefunktsioonidele integreerib mootorikaitseseade mõõtmise, kaugjuhtimise ja sidevõimalused. Selle suur-ekraan Hiina tähemärkidega LCD-ekraan võimaldab kasutajasõbralikku-liidest. Kasutades CAN-siini sidet jälgiva hostiga, moodustab see alamsüsteemi hierarhilises hajutatud alajaama automatiseerimissüsteemis. Süsteemi funktsionaalsuse optimeerimiseks selle mitme{5}}tegumtöötluse nõuete jaoks võeti kasutusele mitme-protsessori arhitektuur. Üks CPU tegeleb perioodilise impulsi diskreetiga ja edastamisega; põhiprotsessori moodul haldab andmetöötlust, elektriliste parameetrite arvutamist, rikete diagnostikat ja lülitusoperatsioone; samal ajal kui plaadimooduli CPU jälgib inimeste{8}}masinate interaktsiooni ning hõlbustab suhtlemist peamise kaitsemooduli ja jälgimishostiga. Igal CPU moodulil on selgelt määratletud ülesanded, mis hõlbustavad rakendamise ajal mitme inseneride koostööd. Jadaside ühendab peamise protsessori ja paneeli protsessori, võimaldades{11}}inim-masinaga suhtlemist ja hõivates seega kriitilise positsiooni. Ratsionaalse sidemehhanismi loomine on jadakommunikatsiooni sektsiooni tuum, mis määrab side koordineerimise ja silumise tõhususe süsteemi arendamise hilisemates etappides.


3 Sissejuhatus kommunikatsioonimehhanismidesse

 

3.1 Kommunikatsioonimehhanismi riistvaraline disain

Selle süsteemi jaoks pakutud sidemehhanismi eesmärk on kõrge efektiivsus ja usaldusväärsus. RS-485 kasutab pool-dupleksstruktuuri, mis on välirakendustes sageli praktilisem kui täisdupleks. Siin võetakse kasutusele lihtsustatud ühendus, mis kasutab ainult kahte signaaliliini. Süsteemi liidese skeem on näidatud joonisel 1. Põhikaitsemooduli mikrokontrolleri 8051 TTL loogikatasemed on optiliselt isoleeritud, seejärel teisendatakse MAX485 kiibi abil RS-495 tasemeteks. Seejärel teisendab paneelimooduli MAX485 kiip need tagasi TTL-i loogikatasemeteks, et neid 8031 ​​mikrokontrolleri poolt lugeda. Mikrokontrolleri 8051 poolel juhib paralleelse I/O-pordi 2 viik P2.7 MAX sisendi lubamise viiku RE ja väljundi lubamise viiku DE. Nagu on näidatud joonisel 1, kui P2.7 väljastab kõrge taseme, on RE lubatud, võimaldades mikrokontrolleri poolel andmeid vastu võtta. Kui P2.7 väljastab madala taseme, on DE lubatud, võimaldades mikrokontrolleri poolel andmeid edastada. Selline lähenemine hoiab ära andmete kadumise pimeda edastamise põhjustatud kattumise tõttu, tagades kõrge sidekvaliteedi ja usaldusväärse edastuskiiruse.

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

 

3.2 Sideprotokoll

 

Täpse andmeedastuse tagamiseks kaitseseadme kahe mooduli vahel on teabeedastust reguleerivate spetsifikatsioonide kogum, -sh edastusrežiimid, andmevormingud ja sisu{1}}, oluline. See moodustab protokolli või sideprotokolli. Ilma hõlpsasti kättesaadava küpse silumistarkvarata toimib põhiprotsessori moodul sisuliselt musta kastina, mis toob kaasa arvukate ja raskesti--ületavate väljakutsete süsteemiintegratsiooni testimise ajal. Seetõttu valiti laialdaselt kasutusele võetud Modbusi sideprotokoll ja seda lihtsustati, et see vastaks seadme spetsiifilistele nõuetele, võimaldades edukat-moodulitevahelist suhtlust ja tõestatud tõhusust. Modbus kasutab ülem-alluv-kommunikatsioonimudelit. Ülemseade saadab esmalt alamseadmele sidepäringu käsu. Seejärel vastab alam ülemseadmele andmetega, mis põhinevad päringukäsu funktsioonikoodil. Igal orjal on kordumatu aadress. Nii ülemseadme saadetud päringu kaadrid kui ka alamseadme saadetud vastuse kaadrid algavad alamseadme aadressiga. Orjad loevad ainult neile adresseeritud käske ja ignoreerivad sõnumeid, mis algavad teiste alam aadressidega. Seda funktsiooni rakendatakse 8051 jadapordi režiimi 2 või režiimi 3 abil. See küsimuste{19}}ja -vastuste kommunikatsioonimudel suurendab oluliselt side täpsust. Selles seadmes on kasutusele võetud Modbusi RTU edastusrežiim.


4 meetmed side usaldusväärsuse suurendamiseks


Modbusi sõnumi kaks viimast baiti toimivad kontrollsumma baitidena. RTU side kasutab vigade tuvastamiseks CRC-16 tsüklilist liiasuskontrolli. Selle kodeerimis-/dekodeerimismehhanism on suhteliselt lihtne ja madala veamääraga, mis on saavutatav arvutus- või programmeerimismeetodite abil. Allpool kirjeldatakse mitmeid lähenemisviise:


4.1 Põhialgoritm (käsitsi arvutamine)


Kasutades näitena CRC16-CCITT: CRC kontrollsumma on 16 bitti ja genereeriv polünoom on 17 bitti. Oletame, et andmevoog on 4 baiti: BYTE, BYTE, BYTE, BYTE[0];


Nihutage andmevoogu vasakule 16 biti võrra, laiendades seda tõhusalt 256 × 256 korda. Seejärel teostage jagamine generaatori polünoomiga 0x11021, kasutades mitte-laenavat jagamist (võrdne bitipõhise XOR-iga). Saadud jääk on CRC kontrollsumma. Edastatud andmevoog koosneb 6 baidist: BYTE, BYTE, BYTE, BYTE[0], CRC, CRC[0].


4.2 Arvutialgoritm 1 (biti{2}}tüüpi algoritm)


1) Asetage laiendatud andmevoo (6 baiti) ülemised 16 bitti (BYTE, BYTE) 16-bitisesse registrisse;

2) Kui registri kõige olulisem bitt on 1, nihutage registrit ühe biti võrra vasakule (saades järgmisest baidist vähima tähtsusega biti), seejärel sooritage XOR-operatsioon generaatori polünoomi lihtsustatud kujul; muul juhul nihutage registrit lihtsalt ühe biti võrra vasakule (saades järgmisest baidist kõige vähem olulise biti);

3) Korrake sammu 2, kuni kogu andmevoog (6 baiti) on registrisse nihutatud;

4) Väärtus registris on CRC kontrollsumma CRC, CRC[0].

 

4.3 Arvutialgoritm 2 (baidi-tüübi algoritm) (256^n tähistab 256 tõstetud astmeni n)

 

Esitage bait{0}}järjestatud andmevoog matemaatilise polünoomina. Olgu andmevoog BYTE[n] BYTE[n-1] BYTE[n-2] ... BYTE[0] on esitatud matemaatilise avaldisena

BAIT[n] × 256^n + BAIT[n-1] × 256^(n-1) + ... + BAIT × 256 + BAIT[0], kus "+" tähistab XOR-operatsiooni. Olgu generaatori polünoom G17 (17-bitine), siis CRC kood on CRC16.

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

See hõlmab andmevoo nihutamist vasakule 16 biti võrra ja seejärel jagamist generaatori polünoomiga G17.

Tuletus näitab, et BYTE[n-1] CRC kontrollkood võrdub eelmise baidi CRC kontrollkoodi Y[n] (YH8[n]) ülemise 8 biti ja praeguse baidi BYTE[n-1] XOR-tulemusega.


Baiti{0}}tüüpi algoritm on järgmine:


1) Initsialiseerige CRC registrirühm väärtusele "0" (0x0000).

2) Nihutage CRC registrigruppi 8 bitti vasakule ja salvestage see CRC registrirühma.

3) Tehke XOR-operatsioon algse CRC registrirühma kõrge 8 biti (nihutatud 8 bitti paremale) ja andmebaidi vahel, et saada väärtustabelile osutav indeks.

4) Tehke XOR-operatsioon indeksi poolt osutatud tabeliväärtuse ja CRC registrirühma vahel.

5) Suurendage andmekursorit. Kui andmetöötlus pole lõppenud, korrake punkti 2).

6) Hankige CRC.

 

5 meetmed suhtluse tõhususe parandamiseks

 

5.1 Eraldi kommunikatsiooni vastuvõtmise ja edastamise ülesanded


Mikrokontroller 8051 suudab katkestuste abil andmeid edastada ja vastu võtta jadapordi kaudu. Jadapordi kontroller SCON toetab lähtestamist ja biti adresseerimist. Jadapordi katkestuse taotluse korral lukustavad SCON-i kaks alumist bitti edastus- ja vastuvõtukatkestused. Kui protsessor kirjutab andmed või märgi jadapordi edastuspuhvrisse SUBF (juhis: MOV SUBF, A), alustab saatja saatmist. Pärast ühe andmekaadri täitmist seab riistvara TI lipu väärtusele "1", mis näitab, et jadaport nõuab CPU-lt katkestust järgmise andmekaadri saatmiseks. Samamoodi, kui jadapordi vastuvõtja on vastuvõtmiseks lubatud, seatakse andmekaadri vastuvõtmisel RI lipp väärtusele 1, mis näitab, et jadaport taotleb CPU-lt katkestust andmete lugemiseks vastuvõtva andmepuhvrist.


5.2 Katkestuse kestuse vähendamine


Kuna tarkvaraarhitektuuri disainis kasutatakse mitut katkestust, siis programmi töökindluse tagamiseks ja erinevate ülesannete konfliktide tõenäosuse minimeerimiseks peaks tarkvara juurutamisel püüdma erinevate katkestuste ülesandeid sujuvamaks muuta ja nende täitmise aega lühendada. Sidekatkestuse alamprogrammi raames sooritage katkestuse sisenemisel olulisi ülesandeid, nagu: vastavate olekubittide tühjendamine jadapordi juhtimisregistris, vastuvõetud märkide lugemine või puhvrist/puhvrisse edastatavate märkide kirjutamine, vastuvõetud või edastatud märkide arvu suurendamine jne. Seejärel väljuge katkestusest kohe. Muid ülesandeid, nagu kaadrite valideerimine, vastuvõetud kaadrikäsklustele vastamine (telemeetria/telekäsklus) ja edastuskaadrite ettevalmistamine, tuleks käsitleda põhiprogrammis.


5.3 Tõhus kaadri lõpetamise tuvastamine, et vältida side stagnatsiooni


Spetsiaalse tarkvarataimeri kasutamine vastuvõetud kaadri lõpu tuvastamiseks hoiab ära sideülesannete venimise, kui kaader võetakse vastu mittetäielikult, tagades sellega järgmiste kaadrite õigeaegse vastuvõtu. Kuna ajaintervall kaadri baitide vahel on palju lühem kui kaadri -to{2}}intervall, käivitub tarkvara taimer iga kord, kui uus bait vastu võetakse. Taimer on seatud minimaalsele kaadrite-kuni-kaadriintervallile. See intervall varieerub erinevate andmeedastuskiiruste korral. Kui järgmine bait võetakse vastu enne eelseadistatud aja möödumist, näitab see, et kaader on mittetäielik ja taimer käivitub uuesti. Kui taimer loendab edukalt eelseadistatud ajani, käivitab see vastava katkestuse numbri. Taimeri katkestuse alamprogrammis määratakse kaadri lõpu lipubait, mis tähendab, et kaadri vastuvõtt on lõppenud. Pärast seda, kui põhiprogramm tuvastab kaadri vastuvõtu lõpetamise, kontrollib see kaadri terviklikkust, kontrollides alam-aadressi ja tsüklilise liiasuse kontrolli (CRC) baiti. Kui kinnitatakse, et see on ülemseadme jaoks mõeldud kehtiv kaader, töötleb see kaadrikäsku oma funktsioonikoodi alusel ja valmistub kaadri saatmiseks. Kui alamseade saab vale teate, saadab see tagasi veakaadri. Kui vastuvõetud sõnumil on vale CRC, võib alamseade otsustada mitte vastata. Kui ülemseade ei saa alamseadmelt määratud aja jooksul vastust, saadab ta päringusõnumi uuesti. Kui mitu kordusedastust ei saa alamseadmelt vastust, teatatakse sidetõrkest.


5.4 Sidekiiruse määramine


Kuna kõik seadmed asuvad samas šassiis, on moodulite vaheline kaugus minimaalne. Modbus töötab kaugside jaoks RS485 kaudu, välistades vajaduse arvestada vahemaa mõju andmeedastuskiirusele. Lisaks takistab ülem-aluv siderežiim liinide ülekoormust. Seega, kommunikatsiooni tõhususe seisukohalt, nii kaua, kuni seatud edastuskiirus ei ületa moodulis kasutatava kiibi maksimaalset andmeedastuskiiruse piiri, tagab kõrgem andmeedastuskiirus kiirema teabevahetuse ja suurema side efektiivsuse. Boodikiiruse seadmine mõlemale sideosapoolele täpselt samaks tagab, et vastuvõtuots proovib iga andmebiti bititsükli keskpunktis, saavutades seeläbi usaldusväärse side.


5.5 Mõistlikud silumismeetodid


Silumise ajal testige esmalt sidet iga CPU mooduli ja mikroarvuti vahel RS485/RS232 andmekonversioonimooduli kaudu. Pärast edukat individuaalset testimist jätkake moodulitevahelise-silumisega, parandades oluliselt üldist silumise tõhusust. Moodul-to-arvutiühenduse silumise ajal kasutab arvuti Modbusi silumistarkvara, et simuleerida ülema sideprotsessi, küsides aktiivselt alamseadmelt teavet. See muudab kogu vastuvõtu- ja edastamisprotsessi läbipaistvaks ja selgeks, võimaldades mooduliprobleemide õigeaegset lahendamist. Ühise silumise ajal jälgib siini jälgimise tarkvara mõlema poole andmeid, et probleemid kiiresti tuvastada ja lahendada.

 

6 selle raamatu uuenduslikkust


Esiteks võetakse selles dokumendis kaitseseadmes kasutusele universaalne tööstusstandard Modbus. Vajaliku tööriistatarkvara saab otse asjakohastelt veebisaitidelt ilma intellektuaalomandiga seotud kulusid kandmata. Teiseks rakendab kaitseseade multitegumtöötlust ja kasutab Modbusi protokolli, et luua CPU moodulite vahel mõistlik ühine silumismehhanism, mis parandab oluliselt koostöösüsteemi arendamise tõhusust.

Küsi pakkumist

whatsapp

Telefoni

E-posti

Küsitlus