MODBUS TCP nebo UDP protokol?
Napsal      02/01/2019 17:37:11     Railduino 2.0

OBECNĚ

Pokud chtějí dvě zařízení komunikovat, musí nejdříve navázat spojení. Teprve po jeho navázání mohou posílat data.

TCP a UDP jsou protokoly používané pro odesílání dat - známých jako pakety mezi dvěma síťovými zařízeními. Oba protokoly jsou postaveny na vrcholu protokolu IP - bez ohledu na to, zda odesíláte paket přes TCP nebo UDP, je tento paket odeslán na adresu IP.

Protokol TCP poskytuje způsob, jak doručovat (a přijímat) po síti uspořádaný a kontrolovaný proud informačních paketů. Protokol TCP zaručuje, že data vyslaná jednou aplikací dojdou druhé aplikaci v tom samém pořadí, v jakém byla odeslána, a zároveň spolehlivě (žádná se neztratí). Důsledkem složitější komunikace je jistá latence (zpoždění) odesílané informace.

Protokol UDP nezaručuje spolehlivost ani pořadí přicházejících dat. V podstatě se do sítě vyšlou nezávislé datagramy. Nenavazuje se spojení mezi dvěma aplikacemi. Protokol UDP se používá k poskytování rychlejšího toku informací tím, že odstraňuje kontrolu chyb. UDP je vhodné využít tam, kde požadavek na rychlost je větší než požadavek na spolehlivost.

Ve spojovaných službách (TCP) se navazuje spojení tak, že se vytvoří socket a spojí se s jedním konkrétním číslem portu. To proto, aby se mohlo toto číslo zaregistrovat a už žádná jiná aplikace ho nemohla používat. V nespojovaných službách (UDP) je číslo portu přímo uloženo v datagramu. Žádné spojení se nenavazuje.


VÝHODY/NEVÝHODY

Railduino modul využívá obě dvě varianty komunikace - UDP i TCP

Pro okamžitou informaci o změnách na dig. vstupech modulu Railduino je vhodné používat komunikaci UDP (požadavek rychlé informace o změně). Pro ovládání výstupů modulu Railduino je vhodné použít komunikaci TCP (požadavek spolehlivosti doručení informace)


MODBUS TCP

Komunikace Modbus TCP je komunikace typu master-slave, kde nadřazený master systém (v případě Modbus TCP Klient) aktivně zapisuje/čte informace do ovládaného slave zařízení (Railduino modul jako Server). Server čeká na příchozí spojení od Klienta. Jakmilé je komunikace navázána, Server odpovídá požadavkům Klienta dokud klient neukončí spojení. Požadavky Klienta podléhají standardům Modbus specifikace - funkce FC1 - FC16 - viz. více např. ZDE

Pole pro výměnu dat mezi zařízeními je nazýváno Modbus mapa a je popsáno v kapitole základní zapojení modulu Railduino.


ZÁVĚR

Pro rychlé odezvy na změny na vstupech modulu Railduino využijte UDP protokol

Pro spolehlivě vykonané příkazy na výstupech modulu Railduino využijte MODBUS TCP protokol.