TCP/UDP

S rozhraním TCP/UDP lze vyměňovat syrová data mezi SPS a vzdáleným serverem. Současně lze spustit i server pro naslouchání dat.

Info: Rozhraní se automaticky synchronizuje s nejpomalejším cyklem přiřazené SPS. Zprávy jsou systémem vyrovnávány, takže žádná zpráva nepropadne.

Monitor

V monitoru se používají následující barvy.

Barva Popis
Bílá Nastala žádná chyba.
Oranžová Dosáhlo se timeoutu.
Zelená Spojení bylo úspěšné.
Červená Spojení nebylo možné navázat nebo došlo k kritickému timeoutu při odesílání. Možná není zjištěna chyba v komunikaci UDP.

Broadcast a Multicast

Je možné posílat a přijímat Broadcast a Multicast pomocí rozhraní TCP/UDP. Při tom se v konfiguraci brány vybere příslušný režim provozu. Poté již nebudou k dispozici některé možnosti, jako například TCP. Navíc je nutné určit výstupní rozhraní.

K odesílání zpráv musí být navíc IP adresa zadána podle předpisu vedle pole. Pokud tomu tak není, pak se posílá pomocí Unicastu.

Režim Popis
Unicast Povoluje přímou komunikaci.
Omezený broadcast Povoluje komunikaci pouze v lokální síti. (Nezávislé na IP)
Směrovaný broadcast Povoluje komunikaci se subnetem broadcastu. Například 10.0.0.255, pokud subnet obsahuje 24 bitů nebo je nastaveno na 255.255.255.0.
Multicast Povoluje komunikaci pomocí multicastu. Při tom se používá IGMP-Snooping.

Zjištění konce balíčku

V konfiguraci Nový řádek lze stanovit podmínku pro ukončení přenosu. Zjištěný konec je při tom také odeslán.

Pokud není konec zjištěn, čeká rozhraní na timeout nebo konec spojení a odesílá výsledek do SPS. Proto se doporučuje ověřovat všechna přijatá paketa. Přijímání UDP telegramů nemá žádný timeout.

Přenos HTTP

Metoda může být definována následujícím novým řádkem:

HTTP

Tato je zvláštní, protože umožňuje reagovat také na Content-Length v hlavičce.

Po určité délce

Aby bylo možné po určité délce ukončit přijímání, lze v konfiguraci Nový řádek použít následující posloupnost znaků:

LEN === ###

Kde ### odpovídá počtu znaků. Zápis musí přesně odpovídat tomuto včetně mezer.

Pozor: Použití LEN === 1 přijímá každý znak jednotlivě a může vést k vyššímu zatížení serveru.

Individuální konec řádku

Lze definovat různé konce řádků. Obvykle se při tom používá \n nebo \r. Každý řádek definuje jiný způsob zjištění konce řádku.

Následující znaky mají v konfiguraci escape:

\\ \r \n \0

Komunikace

Při odchozí komunikaci přes TCP je po každém požadavku spojení opět ukončeno.

Pokud při požadavku sendrecv nepřijde žádná odpověď, pak je odesílací rozhraní blokováno až do dosažení timeoutu. V monitoru se zobrazí chyba.

Proměnná Popis
send Odesílá data na server.
!send Odesílá všechna data na server a při tom přeskočí žádná telegramy.
sendrecv Jako send, ale čeká se na odpověď.
!sendrecv Jako !send, ale čeká se na odpověď.
response Odpověď od sendrecv. Při dosažení timeoutu se vrátí prázdný řetězec.
recv Data, která byla přijata od lokálního serveru.
error Pokud při přenosu nastane chyba, má hodnota pravdivou hodnotu. Tato může u sendrecv nastat až po timeoutu.

Poznámka: Zvažte bezpečnost rozhraní. Data by nikdy neměla být přímo přenášena přes internet. Chybí zde autentizace a šifrování pomocí SSL nebo TLS.