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.