Mit der TCP/UDP-Schnittstelle können RAW-Daten zwischen der SPS und dem Remote-Server ausgetauscht werden. Gleichzeitig kann auch ein Server zum Horchen von Daten gestartet werden.
Info: Die Schnittstelle synchronisiert automatisch mit dem langsamsten Zyklus der zugeordneten SPS. Die Telegramme werden vom System gepuffert, sodass kein Telegramm verloren geht.
Es werden folgende Farben im Monitor verwendet.
| Farbe | Beschreibung |
|---|---|
| Weiss | Kein Fehler ist aufgetreten. |
| Orange | Timeout wurde erreicht. |
| Grün | Verbindung war erfolgreich. |
| Rot | Verbindung konnte nicht hergestellt werden oder ein kritisches Timeout beim Senden wurde erreicht. Möglicherweise wird ein Fehler in der UDP-Kommunikation nicht erkannt. |
Es ist möglich, Broadcast und Multicast mittels TCP/UDP-Schnittstelle zu senden und zu empfangen. Dabei wird der Betriebsmodus in der Gatewaykonfiguration entsprechen gewählt. Danach werden diverse Optionen, wie z.B. TCP nicht mehr verfügbar sein. Ausserdem wird die Wahl der ausgehenden Schnittstelle zwingend notwendig.
Zum Senden von Telegrammen muss ausserdem die IP entsprechend der Vorgabe neben dem Feld eingetragen werden. Ist dies nicht der Fall, so wird mittels Unicast gesendet.
| Modus | Beschribung |
|---|---|
| Unicast | Ermöglicht eine direkte Kommunikation. |
| Limited Broadcast | Ermöglicht die Kommunikation nur im lokalen Netzwerk. (IP-Unabhängig) |
| Directed Broadcast | Ermöglicht die Kommunikation zum Broadcast-Subnetz. Z.B. 10.0.0.255, falls das Subnetz 24 Bits enthält bzw. auf 255.255.255.0 gesetzt wurde. |
| Multicast | Ermöglicht die Kommunikation per Multicast. Dabei wird IGMP-Snooping verwendet. |
In der Konfiguration Zeilenumbruch kann die Bedingung für die Beendung der Übertragung festgelegt werden. Das erkannte Ende wird dabei mitgesendet.
Wird das Ende nicht erkannt, wartet die Schnittstelle das Timeout oder das Ende der Verbindung ab und sendet das Resultat zur SPS. Es wird daher empfohlen, alle empfangene Pakete zu überprüfen. Das Empfangen von UDP-Telegrammen besitzt kein Timeout.
Die Methode kann mittels folgendem Zeilenumbruch definiert werden:
HTTP
Diese ist speziell, da sie es ermöglicht auch auf den Content-Length im Header entsprechend zu reagieren.
Um nach einer gewissen Länge den Empfang abzuschliessen, kann die folgende Zeichenfolge in der Konfiguration Zeilenumbruch verwendet werden:
LEN === ###
Wobei ### die Anzahl der Zeichen entspricht. Die Schreibweise muss genau dieser inklusive der Leerzeichen entsprechen.
Achtung: Das Verwenden von LEN === 1 empfängt jedes Zeichen einzeln und kann zu erhöhter Auslastung des Servers führen.
Es können verschiedene Zeilenenden definiert werden. Normalerweise wird dabei \n oder \r verwendet. Jede Zeile definiert eine andere Erkennung des Zeilenendes.
Folgende Zeichen erhalten in der Konfiguration ein Escape:
\\ \r \n \0
Bei der ausgehenden Kommunikation via TCP wird nach jeder Anfrage die Verbindung wieder beendet.
Kommt bei der Anfrage von sendrecv keine Antwort, so wird die sendende Schnittstelle blockiert bis das Timeout erreicht wurde. Im Monitor wird ein Fehler ausgegeben.
| Variable | Beschreibung |
|---|---|
| Sendet die Daten zum Server. | |
| Sendet alle Daten zum Server und überspringt dabei keine Telegramme. | |
| Wie send, jedoch wird auf eine Antwort gewartet. | |
| Wie !send, jedoch wird auf eine Antwort gewartet. | |
| Die Antwort von |
|
| Daten, die vom lokalen Server empfangen wurden. | |
| Falls ein Fehler beim Übertragen auftritt, ist der Wert wahr. Dieser kann bei sendrecv erst nach dem Timeout auftreten. |
Hinweis: Beachten Sie die Sicherheit der Schnittstelle. Die Daten sollten nie direkt übers Internet übertragen werden. Hier fehlen die Authentifizierung und die Verschlüsselung via SSL oder TLS.