Přenos RS485 přes Ethernet

Konkrétní způsoby prodloužení RS485 přes Ethernet a úskalí různých variant řešení...

Pro přenos dat mezi průmyslovými nebo zabezpečovacími zařízeními je běžně využívána linka RS485. Protože dnes je téměř všude k dispozici síť Ethernet, je stále častější požadavek na vytvoření ekvivalentu rozsáhlé sítě RS485 pomocí sítě Ethernet a samozřejmě i Internet. K takovému účelu se používají převodníky Ethernet-RS485, ovšem volba způsobu komunikace není zdaleka jednoduchou záležitostí.

et_sys.png

Příklad integrace sběrnice RS485 do Ethernetu.

Uveďme několik možností řešení modelové situace na obrázku 1. Nejprve je třeba zvážit, zda jeden z účastníků sítě se dá označit jako master (obvyklé bývá, že master sbírá data z připojených zařízení), nebo zda všichni účastníci sítě RS485 musí komunikovat vzájemně.

Nejjednodušším řešením pro vytvoření „virtuální“ RS485, je použít protokol UDP a všechny zprávy posílat jako broadcast. Pak nemusíme o vytvářené síti RS485 prakticky nic vědět. Každý účastník dostane všechny zprávy a všem ostatním účastníkům vysílá. Pokud se vše odehrává v lokální síti, nebudou s takovou komunikací žádné problémy. Ty naopak mohou nastat, pokud se účastníci nenecházejí v jediném segmentu sítě. Celá síť musí být zkonfigurována tak, aby zprávy typu „broadcast“ prošly ke všem účastníkům. Pro rozlehlé sítě je pak takový systém velmi choulostivý a pro přenos přes Internet použitelný jen velmi omezeně.

Lepším řešením je směrovaná komunikace, ať již protokolem TCP nebo UDP. K tomu je ovšem třeba, aby účastníci vzájemně znali své IP adresy. Většinou je komunikace po RS485 postavena tak, že nadřízený systém se dotazuje ostatních účastníků. Výhodná situace nastává, kdy řídící program je například na počítači typu PC a umožňuje komunikovat po Ethernetu (pak odpadá převodník u počítače). Do řídícího programu jsou vloženy IP adresy jednotlivých účastníků.

Pokud není možné vložit IP adresy přímo do řídícího programu, je třeba volit převodníky, do nichž je možné tabulku IP adres nahrát. Při přenosu protokolem UDP jsou pak pakety směrovány na všechny zadané IP adresy a jsou z nich také přijímány. Vhodná konfigurace je taková, kdy převodník u masteru posílá pakety na všechny zadané IP adresy a ostatní účastnící odpovídají na adresu dotazu. Pak totiž při změně např. počtu účastníků stačí změnit tabulku IP adres v převodníku u řídícího počítače, ostatní převodníky žádnou tabulku ani neobsahují.

Při volbě TCP protokolu je vhodné z hlediska rychlosti, pokud každý převodník umí otevřít tolik TCP spojení (socketů) jako je účastníků, s nimiž má komunikovat. Pokud komunikace probíhá způsobem otevření – přenos dat – uzavření, vznikají velké časové prodlevy. Každý převodník musí samozřejmě obsahovat tabulku IP adres všech svých partnerů, což je nevýhodné při změnách. Takový systém komunikace je rozumné použít u složité sítě s málo účastníky.

Poznamenejme, že doručování UDP paketů není v síti Ethernet potvrzováno, a tak musí být aplikační protokol lépe zabezpečen proti ztrátě dat než v případě použití TCP paketů.

Dalším problémem „prodloužení“ linky RS485 (nebo RS232) po Ethernetu mohou být časové prodlevy. Software pro zařízení, která komunikují linkou RS485, nemusela počítat s žádnými vloženými prodlevami, s rozkouskováním zpráv a podobně. Problém, kdy vadí, že zpráva z Ethernetu přijde v různých paketech s neurčitými prodlevami se dá odstranit správným nastavením převodníků Ethernet-RS485. Převodník ovšem musí umožňovat způsob práce, kdy je zpráva z Ethernetu zachycena v jeho vyrovnávací paměti a odeslána na linku RS485 poté, co je kompletní (v závislosti na koncovém znaku, nebo počtu přijatých byte či prodlevě). Zpoždění dat řešitel často ani ovlivnit nemůže, protože komunikace probíhá přes různé Internetové servery. Pokud komunikace selhává z důvodu, že připojované zařízení je na dobu odezvy citlivé, nezbývá než část komunikace pro jeho obsluhu vložit přímo do převodníku Ethernet-RS485.

Ethernetový převodník si můžete vybrat v e-shopu. Rádi Vám poradíme, který je ideální pro Vaši situaci.

Vytvořeno12. 8. 2003
Přenos RS485 přes Ethernet