RS485 sąsajos įvadas
RS485 yra nuosekliojo ryšio sąsajos standartas, garsėjantis dideliu greičiu, dideliu{1}}perdavimu, atsparumu trukdžiams ir kelių{2}}įrenginių bendrinimo galimybėmis. Jis plačiai naudojamas pramonės automatizavimo, išmaniųjų namų, apsaugos sistemų ir kitose srityse. Šiame straipsnyje pateikiama išsami RS485 sąsajos principų, grandinės dizaino, ryšio protokolų ir įprastų problemų sprendimų apžvalga.
RS485 principas
RS485 sąsajoje naudojamas diferencinis perdavimas, naudojant dvi signalo linijas (A ir B) įtampos lygio signalams perduoti. Signalo dydis priklauso nuo įtampos skirtumo tarp šių dviejų linijų. RS485 sąsajoje tiek A, tiek B signalo linijos gali veikti kaip siųstuvai arba imtuvai. Šis diferencinio perdavimo būdas leidžia RS485 sąsajai efektyviai atsispirti išoriniam triukšmui ir trukdžiams, taip užtikrinant perdavimo kokybę.
RS485 taikymo laukai
RS485 sąsaja plačiai naudojama scenarijuose, kuriems reikalingas didelis-atstumas, didelės spartos ir stabilus duomenų perdavimas, pvz., pramoninė automatika, išmanieji namai ir apsaugos sistemos. Kalbant apie perdavimo atstumą, RS485 palaiko iki 1200 metrų, o pagal perdavimo greitį – iki 10Mbps. Dėl to RS485 sąsaja plačiai taikoma scenarijuose, susijusiuose su duomenų gavimu, reguliavimu, stebėjimu ir valdymu.

RS485 grandinės dizainas
Projektuojant RS485 sąsają, reikia atsižvelgti į kelis veiksnius, tokius kaip perdavimo atstumas, ryšio greitis, apsauga nuo žaibo ir izoliacija. Žemiau mes pristatysime RS485 sąsajos grandinės dizainą kiekvienu iš šių aspektų.
Perdavimo atstumas
Dėl diferencialinio perdavimo RS485 sąsaja palaiko didesnius perdavimo atstumus. Tačiau praktikoje tokie veiksniai kaip perdavimo linijos varža, skersinis pokalbis ir signalo kokybė riboja perdavimo diapazoną. Siekiant sumažinti signalo praradimą ir iškraipymus, paprastai rekomenduojame apriboti perdavimo atstumą iki 1,2 km, projektuojant RS485 sąsajos grandines.
Ryšio greitis
RS485 sąsaja gali pasiekti iki 10Mbps ryšio greitį. Praktikoje mes paprastai pasirenkame tinkamą ryšio spartą, atsižvelgdami į konkrečias sąlygas. Didesnis ryšio greitis padidina perdavimo efektyvumą, bet taip pat padidina sąsajos grandinės sudėtingumą ir techninius reikalavimus.
Apsauga nuo žaibo
Atsižvelgiant į sudėtingą pramonės aplinką, RS485 sąsajos dažnai susiduria su įvairiais trikdžiais, tokiais kaip žaibo smūgis, statinė elektra ir viršįtampiai. Norint apsaugoti RS485 sąsajos grandines, būtinos apsaugos nuo žaibo priemonės. Norint užtikrinti apsaugą nuo žaibo smūgio, galima naudoti tokius komponentus kaip reguliuojamos viršįtampio apsaugos priemonės ir metalo oksido varistoriai (MOV).
Isolation
Tam tikrais atvejais būtina izoliuoti RS485 sąsają ir kitas grandines. Tai galima pasiekti naudojant tokius komponentus kaip optronai arba magnetinės jungtys signalams izoliuoti. Tai veiksmingai apsaugo nuo galimų įžeminimo kilpų ir triukšmo trukdžių, padidindama sąsajos grandinės patikimumą ir stabilumą.
RS485 ryšio protokolai
Praktikoje RS485 sąsajoms taip pat reikia protokolo specifikacijų ir duomenų formatavimo. Įprasti RS485 ryšio protokolai apima Modbus, Profibus ir CANopen. Kiekvienas protokolas turi skirtingas charakteristikas ir taikomus scenarijus, leidžiančius pasirinkti pagal konkrečius reikalavimus. Žemiau pirmiausia pristatome Modbus RTU protokolą, kuris yra plačiausiai naudojamas perdavimo protokolas mūsų projektuose, paremtuose RS485 sąsajomis.
Modbus RTU pristatymas
Modbus RTU yra plačiai paplitęs pramoninio ryšio protokolas, vienas iš nuoseklaus ryšio protokolų, paremtų Modbus sistema. Šis protokolas, pirmiausia naudojamas nuosekliajam ryšiui tarp įrenginių, tokių kaip PLC valdikliai, jutikliai ir pavaros, palengvina duomenų mainus. Šiame straipsnyje išsamiai aprašomos konkrečios kiekvieno Modbus RTU protokolo registro reikšmės, pateikiami kiekvieno funkcijos kodo duomenų perdavimo ir priėmimo pavyzdžiai ir pabrėžiama esminė CRC kontrolinė suma.
Modbus RTU protokolo duomenų formatas
Modbus RTU protokolas duomenų perdavimui naudoja nuoseklųjį ryšį.
Tiksliau:
Lauke Adresas nurodomas pagalbinio įrenginio adresas ryšiui, kuris gali būti bet kokia reikšmė nuo 0 iki 247.
Funkcijos kodas nurodo duomenų tipą ir skaitymo / rašymo kryptį, paprastai sveikąjį skaičių nuo 1 iki 127.
Duomenų lauke yra tikrasis duomenų turinys.
Kontrolinė suma (CRC) patikrina duomenų paketo vientisumą.
Modbus RTU protokolo funkcijų kodai
Modbus RTU protokole skirtingi funkcijų kodai nurodo skirtingus duomenų tipus ir skaitymo / rašymo kryptis. Žemiau pateikiami dažniausiai naudojami funkcijų kodai ir jų reikšmės:
01: skaitykite ritės registrą
02: Skaityti diskrečiųjų įvesties registrą
03: Skaityti sulaikymo registrą
04: Skaityti įvesties registrą
05: Parašykite vienos ritės registrą
06: Parašykite vieno sulaikymo registrą
15: parašykite kelis ritės registrus
16: Įrašykite kelis sulaikymo registrus
Modbus RTU protokolų adresų registrai
Įrenginių adresai ir registrų adresai yra svarbūs ryšio parametrai Modbus RTU protokole. Adresų registrus galima suskirstyti į keturis tipus:
Ritės registras (ritės registras)
Ričių registrai saugo Būlio reikšmes (0 arba 1). Funkcijų kodai 01, 05 ir 15 leidžiami naudoti ritės registruose. Kiekvienos ritės būsena gali būti pavaizduota vienu dvejetainiu bitu.
Pavyzdžiui, jei ritė ties bitu 0x0001 nustatyta į 0, jos dvejetainė vertė yra 00000000 00000001. Jei ritė nustatyta į 1, jos dvejetainė reikšmė pasikeičia į 00000000 00000010.
Diskretus įvesties registras
Diskrečiosios įvesties registre saugomos dvejetainių įvesties jungiklių reikšmės ir jis yra tik skaitomas-, o atitinkamas funkcijos kodas yra 02. Diskrečiojo įvesties registro ir ritės registro skirtumas yra tas, kad jis rodo, ar jungiklis yra ĮJUNGTA, o ne dabartinė.
Valdų registras
Holdingo registre saugomi 32 bitų sveikieji kintamieji. Funkcijų kodai 03, 04, 06 ir 16 leidžia skaityti / rašyti valdų registre. Valdų registre esančios reikšmės gali palengvinti duomenų perdavimą tarp įrenginių arba jas naudotojai gali pritaikyti kaip atitinkamus valdymo parametrus.
Įvesties registras
Įvesties registrai saugo 32-bitų sveikųjų skaičių kintamuosius ir palaiko tik skaitymo operacijas su funkcijos kodu 04. Panašiai kaip ir saugojimo registruose, įvesties registrų reikšmes galima perkelti iš vieno įrenginio į kitą, bet naudotojai negali jų keisti.
Modbus RTU protokolo CRC patikrinimas
Siekiant užtikrinti Modbus RTU protokolo ryšio patikimumą, šiame protokole naudojamas ciklinio perteklinio patikrinimo (CRC) metodas duomenų paketų vientisumui patikrinti. CRC patikros kodas apskaičiuojamas pagal perduotus ir gautus duomenų paketus ir yra tikrinamas vienu metu tiek siuntimo, tiek priėmimo galuose.
Kaip pavyzdį paėmus skaitymo sulaikymo registrą (funkcijos kodas: 03), CRC kontrolinės sumos šešioliktainės reikšmės jo perduodamiems ir priimtiems duomenų paketams yra atitinkamai 0x39 ir 0x3E. Konkretūs perduodami ir priimami duomenų paketai yra tokie:
Siųstuvas-išsiuntė duomenų paketą: 01 03 00 00 00 01 C4 0B
Šiame pakete pirmieji 6 bitai (01 03 00 00 00 01) reiškia Modbus RTU protokolo formatą, o paskutiniai du bitai (C4 ir 0B) sudaro CRC kontrolinę sumą.
Gautas paketas gavėje: 01 03 02 00 01 39 3E
Šiame duomenų pakete pirmieji 6 bitai 01 03 02 00 01 39 reiškia gautą saugojimo registro reikšmę (du baitai), o paskutiniai du bitai 3E ir 39 yra apskaičiuota CRC kontrolinė suma.
Modbus RTU protokolo perdavimo pavyzdys
Toliau pateikiamas paprastas Modbus RTU protokolo perdavimo pavyzdys, skirtas nuskaityti duomenis iš įrenginio saugojimo registro:
Siųstuvas siunčia: 01 03 00 00 00 02 C5 9A
Gavėjas gauna: 01 03 04 00 00 00 66 CB
Šiame pavyzdyje nuskaitomas įrenginio 01 sulaikymo registras, naudojant funkcijos kodą 03, pasiekiant du baitus registro adresu 0x0000. Taigi, gautame duomenų pakete yra reikšmės 0x0000 ir 0x0000, ty 0x0000 0000, šešioliktaine forma pavaizduotos kaip 0x66CB.
Išvada
Šiame straipsnyje pirmiausia aprašomi RS485 sąsajų principai, programos, grandinės dizainas, ryšio protokolai ir trikčių šalinimo sprendimai. RS485 sąsajos plačiai naudojamos pramoninėje automatizacijoje, išmaniuosiuose namuose, apsaugos sistemose ir kitose srityse. Tačiau norint užtikrinti sąsajos grandinės patikimumą ir stabilumą, reikia atsižvelgti į tokius veiksnius kaip perdavimo atstumas, ryšio greitis, apsauga nuo žaibo ir izoliacija. Supažindinama su pagrindinėmis žiniomis apie Modbus RTU protokolą, įskaitant jo duomenų formatą, funkcijų kodus, adresų registrus ir CRC kontrolinę sumą. Praktikoje Modbus RTU protokolas plačiai naudojamas ryšiui tarp įrenginių pramonės automatikos valdymo sistemose. Skaitant duomenis ypatingas dėmesys turi būti skiriamas įrenginio adreso, registro adreso ir funkcijos kodo pasirinkimui.




