Úvod do rozhraní RS485
RS485 je standard sériového komunikačního rozhraní známý svou vysokou rychlostí, přenosem na velkou vzdálenost-, odolností proti rušení a možnostmi sdílení více-zařízení. Rozsáhlé uplatnění nachází v průmyslové automatizaci, inteligentních domácnostech, bezpečnostních systémech a dalších oborech. Tento článek poskytuje podrobný přehled principů rozhraní RS485, návrhu obvodů, komunikačních protokolů a řešení běžných problémů.
Princip RS485
Rozhraní RS485 využívá diferenciální přenos využívající dvě signálové linky (A a B) pro přenos signálů napěťové úrovně. Velikost signálu závisí na rozdílu napětí mezi těmito dvěma vedeními. V rozhraní RS485 mohou signálové linky A i B fungovat jako vysílače nebo přijímače. Tato metoda diferenciálního přenosu umožňuje rozhraní RS485 účinně odolávat vnějšímu šumu a rušení, čímž je zajištěna kvalita přenosu.
Aplikační pole RS485
Rozhraní RS485 je široce používáno ve scénářích, které vyžadují dálkový, vysokorychlostní{2}}a stabilní přenos dat, jako je průmyslová automatizace, chytré domácnosti a bezpečnostní systémy. Pokud jde o přenosovou vzdálenost, RS485 podporuje až 1200 metrů a pokud jde o přenosovou rychlost, podporuje až 10 Mbps. Díky tomu je rozhraní RS485 široce použitelné ve scénářích zahrnujících sběr dat, regulaci, monitorování a řízení.

Návrh obvodu RS485
Návrh obvodu pro rozhraní RS485 vyžaduje zvážení více faktorů, jako je přenosová vzdálenost, komunikační rychlost, ochrana před bleskem a izolace. Níže si představíme návrh obvodu pro rozhraní RS485 z každého z těchto aspektů.
Přenosová vzdálenost
Rozhraní RS485 díky svému diferenciálnímu přenosu podporuje delší přenosové vzdálenosti. V praktických aplikacích však faktory, jako je impedance přenosového vedení, přeslechy a kvalita signálu, omezují dosah přenosu. Pro minimalizaci ztrát a zkreslení signálu obecně doporučujeme při navrhování obvodů rozhraní RS485 omezit přenosovou vzdálenost na 1,2 km.
Rychlost komunikace
Rozhraní RS485 může dosáhnout komunikační rychlosti až 10 Mbps. V praktických aplikacích obecně volíme vhodnou rychlost komunikace na základě konkrétních podmínek. Vyšší komunikační rychlosti zvyšují efektivitu přenosu, ale také zvyšují složitost a technické požadavky na obvody rozhraní.
Ochrana před bleskem
Vzhledem ke složitému průmyslovému prostředí se rozhraní RS485 často setkávají s různými poruchami, jako jsou údery blesku, statická elektřina a přepětí. Pro ochranu obvodů rozhraní RS485 jsou nezbytná opatření na ochranu před bleskem. K dosažení ochrany před úderem blesku lze použít komponenty, jako jsou nastavitelné přepěťové ochrany a varistory z oxidu kovu (MOV).
Izolace
V určitých scénářích je vyžadována izolace mezi rozhraním RS485 a ostatními obvody. Toho lze dosáhnout pomocí komponentů, jako jsou optočleny nebo magnetické vazební členy k izolaci signálů. To účinně zabraňuje potenciálním zemním smyčkám a šumovému rušení, čímž se zvyšuje spolehlivost a stabilita obvodů rozhraní.
Komunikační protokoly RS485
V praktických aplikacích vyžadují rozhraní RS485 také specifikace protokolu a formátování dat. Mezi běžné komunikační protokoly RS485 patří Modbus, Profibus a CANopen. Každý protokol má odlišné charakteristiky a použitelné scénáře, což umožňuje výběr na základě specifických požadavků. Níže uvádíme především protokol Modbus RTU, který je v našich projektech nejpoužívanějším přenosovým protokolem založeným na rozhraní RS485.
Úvod do Modbus RTU
Modbus RTU je široce používaný průmyslový komunikační protokol, jeden ze sériových komunikačních protokolů založených na rámci Modbus. Tento protokol, který se používá především pro sériovou komunikaci mezi zařízeními, jako jsou řídicí jednotky PLC, senzory a akční členy, usnadňuje výměnu dat. Tento článek podrobně popisuje konkrétní významy každého registru v rámci protokolu Modbus RTU, poskytuje příklady přenosu a příjmu dat pro každý funkční kód a zdůrazňuje zásadní kontrolní součet CRC.
Datový formát protokolu Modbus RTU
Protokol Modbus RTU využívá pro přenos dat sériovou komunikaci.
Konkrétně:
Pole Adresa identifikuje adresu podřízeného zařízení v komunikaci, která může mít libovolnou hodnotu mezi 0 a 247.
Funkční kód určuje typ dat a směr čtení/zápisu, typicky celé číslo mezi 1 a 127.
Datové pole obsahuje aktuální datový obsah.
Kontrolní součet (CRC) ověřuje integritu datového paketu.
Funkční kódy protokolu Modbus RTU
V protokolu Modbus RTU představují různé funkční kódy odlišné datové typy a směry čtení/zápisu. Níže jsou běžně používané kódy funkcí a jejich význam:
01: Čtení registru cívek
02: Čtení diskrétního vstupního registru
03: Číst zadržovací registr
04: Čtení vstupního registru
05: Zápis do registru jediné cívky
06: Zápis do registru jednoho podržení
15: Zápis více registrů cívek
16: Zapište více registrů
Registry adres protokolu Modbus RTU
Adresy zařízení a adresy registrů jsou kritickými parametry pro komunikaci v protokolu Modbus RTU. Adresové registry lze rozdělit do následujících čtyř typů:
Registr cívek (registr cívek)
Registry cívek ukládají booleovské hodnoty (0 nebo 1). Funkční kódy 01, 05 a 15 jsou povoleny pro provoz na cívkových registrech. Stav každé cívky může být reprezentován jedním binárním bitem.
Pokud je například cívka na bitu 0x0001 nastavena na 0, její binární hodnota je 00000000 00000001. Pokud je cívka nastavena na 1, její binární hodnota se změní na 00000000 00000010.
Diskrétní vstupní registr
Diskrétní vstupní registr ukládá hodnoty binárních vstupních spínačů a je pouze pro čtení-, přičemž odpovídající funkční kód je 02. Rozdíl mezi diskrétním vstupním registrem a registrem cívky je v tom, že udává, zda je spínač ve stavu ON, nikoli jeho aktuální stav.
Držitelský registr
Holding Register uchovává 32bitové celočíselné proměnné. Funkční kódy 03, 04, 06 a 16 umožňují operace čtení/zápisu do registru vlastníků. Hodnoty v Registru mohou usnadnit přenos dat mezi zařízeními nebo je mohou uživatelé přizpůsobit jako relevantní řídicí parametry.
Vstupní registr
Vstupní registry ukládají 32-bitové celočíselné proměnné a podporují operace pouze pro čtení s kódem funkce 04. Podobně jako u přídržných registrů lze hodnoty ve vstupních registrech přenášet mezi zařízeními, ale uživatelé je nemohou upravovat.
Protokol Modbus RTU Kontrola CRC
Pro zajištění spolehlivosti komunikace protokolu Modbus RTU tento protokol využívá metodu Cyclic Redundancy Check (CRC) k ověření integrity datových paketů. Kontrolní kód CRC se vypočítá na základě vysílaných a přijatých datových paketů a je ověřován současně na odesílací i přijímací straně.
Vezmeme-li jako příklad registr pozastavení čtení (kód funkce: 03), hexadecimální hodnoty kontrolního součtu CRC pro jeho vysílané a přijaté datové pakety jsou 0x39 a 0x3E, v tomto pořadí. Konkrétní vysílané a přijímané datové pakety jsou následující:
Datový paket odeslaný vysílačem-: 01 03 00 00 00 01 C4 0B
V tomto paketu představuje prvních 6 bitů (01 03 00 00 00 01) formát protokolu Modbus RTU, zatímco poslední dva bity (C4 a 0B) tvoří kontrolní součet CRC.
Přijatý paket u příjemce: 01 03 02 00 01 39 3E
V tomto datovém paketu představuje prvních 6 bitů 01 03 02 00 01 39 přijatou hodnotu uchovávacího registru (dva bajty), zatímco poslední dva bity 3E a 39 jsou vypočteným kontrolním součtem CRC.
Příklad přenosu protokolu Modbus RTU
Následuje jednoduchý příklad přenosu protokolu Modbus RTU pro čtení dat z registru zařízení:
Vysílač odešle: 01 03 00 00 00 02 C5 9A
Přijímač přijímá: 01 03 04 00 00 00 66 CB
Tento příklad čte registr blokování zařízení 01 pomocí funkčního kódu 03 a přistupuje ke dvěma bytům na adrese registru 0x0000. Přijatý datový paket tedy obsahuje hodnoty 0x0000 a 0x0000, tj. 0x0000 0000, reprezentované hexadecimálně jako 0x66CB.
Závěr
Tento článek se zabývá především principy, aplikacemi, návrhem obvodů, komunikačními protokoly a řešením problémů pro rozhraní RS485. Rozhraní RS485 nacházejí široké využití v průmyslové automatizaci, inteligentních domácnostech, bezpečnostních systémech a dalších oblastech. Pro zajištění spolehlivosti a stability obvodů rozhraní je však třeba vzít v úvahu faktory, jako je přenosová vzdálenost, komunikační rychlost, ochrana před bleskem a izolace. Jsou představeny základní znalosti protokolu Modbus RTU, včetně jeho datového formátu, funkčních kódů, adresních registrů a kontrolního součtu CRC. V praktických aplikacích je protokol Modbus RTU široce používán pro komunikaci mezi zařízeními v rámci průmyslových automatizačních řídicích systémů. Při čtení dat je třeba věnovat zvláštní pozornost výběru adresy zařízení, adresy registru a kódu funkce.




