SOCKET_OPEN
Die SOCKET_OPEN-Anweisung öffnet die Verbindung für die angegebene Zieladresse für Transmission Control Protocol-Verbindungen (TCP). Für User Datagram Protocol-Verbindungen (UDP) wird dem Socket eine Ziel-IP-Adresse und eine Port-Nummer zugeordnet.
Details zum Betrieb:
- Für UDP-Verbindungen (User Datagram Protocol) mittelsSOCKET_OPENsind IP-Adresse und Port-Nummer nicht bei jedem Datensendevorgang erforderlich.
- Für UDP-Verbindungen, bei denenSOCKET_OPENnicht verwendet wird, muss die Zieladresse bei jeder Verwendung vonSOCKET_WRITEzum Senden von Daten angegeben werden.
- Bei Verwendung vonSOCKET_READwird neben dem Empfang von Daten die Adresse des Absenders zurückgegeben. Die Adresse des Absenders kann zum Senden einer Antwort mittelsSOCKET_WRITEverwendet werden.
- EinSOCKET_OPEN-Vorgang wird ggf. vor dem Zeitüberschreitungszeitraum zurückgegeben, ohne dass eine Transmission Control Protocol (TCP)-Verbindung erstellt wird. Dies kann auftreten, wenn das Zielgerät in Betrieb ist, jedoch Verbindungen an der angegebenen Portnummer nicht beachtet.SOCKET_OPENgibt vor dem Zeitüberschreitungszeitraum einen Fehler zurück.
- Die Ausgänge werden synchron vom Programm-Scan aktualisiert.
Unterstützte Sprachen: Funktionsblockdiagramm, Kontaktplan und Strukturierter Text.
Diese Anweisung gilt für
Micro820
L20E-, Micro850
L50E- und Micro870
L70E-Controller.SOCKET_OPEN

Parameter | Parametertyp | Datentyp | Beschreibung |
|---|---|---|---|
Execute | Eingang | BOOL | Anweisungsblock aktivieren.
|
Instance | Eingang | UDINT | Kopieren vom zurückgegebenen Socket-Handler aus einem SOCKET_CREATE-Funktionsblock. |
Timeout | Eingang | UDINT | Zeitüberschreitung für SOCKET_OPEN-Funktionsblock. Der Funktionsblock gibt einen Fehler zurück, wenn der Zeitüberschreitungswert geringer als der Mindestwert ist. Zeitüberschreitungsbereich: 1000 - 1.800.000 Millisekunden Setzen Sie Zeitüberschreitung auf 0 zur Verwendung des Standardwerts 10.000 (10 Sekunden). |
DestAddr | Eingang | Die Adresse der Zielverbindung. Eine Verbindung zwischen der IP-Adresse und der Portnummer des Remote-Host ist erforderlich. Die folgenden IP-Adressen werden nicht für DestAddr unterstützt:
Beispiel für IP-Adresse von 192.168.2.100 und Port 12000:
| |
EnUDPRxFilter | Eingang | BOOL | Wenn für UDP-Socket SOCKET_OPEN und „EnUDPRxFilter aktivieren“ verwendet werden, wird kein Paketfilter für eine spezifische IP-Adresse und Portnummer bei jedem Lesen der Daten benötigt.
EnUDPRxFilter deaktiviert:
|
Done | Ausgang | BOOL | Gibt an, wenn der Vorgang abgeschlossen ist.
Die Ausgabe wird synchron vom Programm-Scan aktualisiert. |
Busy | Ausgang | BOOL |
Die Ausgabe wird synchron vom Programm-Scan aktualisiert. |
Error | Ausgang | BOOL | Gibt an, dass ein Fehler aufgetreten ist.
Die Ausgabe wird synchron vom Programm-Scan aktualisiert. |
Status | Ausgang | SOCK_STATUS | Der Status wird mithilfe der Datentyp SOCK_STATUS definiert, welche ErrorID-, SubErrorID- und StatusBits-Informationen enthält. Die Ausgabe wird synchron vom Programm-Scan aktualisiert. |
SOCKET_OPEN-Beispiele
Beispiel für ein SOCKET_OPEN-Funktionsblockdiagramm

Beispiel für einen SOCKET_OPEN-Kontaktplan

Beispiel für strukturierten SOCKET_OPEN-Text

Ergebnisse – TCP

Ergebnisse – UDP

Rückmeldung geben