SOCKET_CREATE
Erstellt eine Instanz des Sockets und gibt eine Instanznummer zurück, die als Eingabe für nachfolgende Socket-Vorgänge verwendet wird.
Details zum Betrieb:
- Socket-Anweisungen unterstützen Vollduplex-Kommunikation mit Remotegeräten.
- UDP-Verbindungen (User Datagram Protocol) unterstützen maximal acht UDP-Datagram-Pakete in der Warteschlange. Die Warteschlange enthält die aktuellsten Pakete.
- Micro820L20E-Controller mit Version 9 oder höher unterstützen bis zu acht Socket-Instanzen. Die Socket-Instanzen unterstützen UDP- und TCP-Sockets:
- Verwenden Sie alle acht Instanzen für Client-seitige Transmission Control Protocol (TCP)-Verbindungen.
- Verwenden Sie alle acht Instanzen, um eine Überwachung auf eingehende TCP-Verbindungen vorzunehmen, und akzeptieren Sie anschließend acht Verbindungen von anderen Geräten.
- Führen Sie TCP-Client- und Server-Vorgänge durch.
- Führen Sie TCP- und UDP-Vorgänge durch.
- Um eingehende TCP-Verbindungen zu demselben Port zu akzeptieren, müssen Sie eine neue Socket-Instanz erstellen.
- TCP-Verbindungsunterbrechung:
- Das Benutzer-Anwendungsprogramm sollte die Unterbrechung der TCP-Verbindungen erkennen und das Ereignis verarbeiten. Je nach Benutzeranwendung kann die Option einen Controller-Fehler bewirken.
- Fehler des Controllers
- Versuchen Sie, die Verbindung erneut herzustellen.
- So stellen Sie die Kommunikation mit einem anderen Gerät wieder her:
- Löschen Sie die Socket-Instanz für die unterbrochene Verbindung.
- Wenn es sich bei der Verbindung um einen TCP-Client handelt, erstellen Sie mithilfe von SOCKET_CREATE eine neue Socket-Instanz und führen Sie SOCKET_OPEN auf dem Zielgerät aus.
- Wenn es sich bei der Verbindung um einen TCP-Server handelt, erstellen Sie mithilfe von SOCKET_CREATE eine Socket-Instanz und führen Sie SOCKET_ACCEPT aus, um auf eine weitere Verbindung vom Remote-Gerät zu warten.
- Anwendungsmeldungen für TCP-Verbindungen:
- Eine TCP-Verbindung ist ein Byte-Datenstrom zwischen zwei Anwendungen. Das Anwendungsprotokoll ermittelt die Meldungsformate.
- Meldungen können eine feste oder variable Größe aufweisen.
Unterstützte Sprachen: Funktionsblockdiagramm, Kontaktplan und Strukturierter Text.
Micro820
L20E-, Micro850
L50E- und Micro870
L70E-Controller.SOCKET_CREATE

Parameter | Parametertyp | Datentyp | Beschreibung |
|---|---|---|---|
Execute | Eingang | BOOL | Anweisungsblock aktivieren.
|
Type | Eingang | USINT | Angeben des Socket-Typs:
|
SockAddr | Eingang | SOCKADDR_CFG | Legt die Adresskonfiguration des Socket fest. Das EtherNet/IP-Modul, um die lokale Port-Nummer auswählen, „SockAddr“ wird auf 0 gesetzt. Geben Sie die lokale Port-Nummer an, bei der eine Anwendung überwacht und empfängt, oder:.
Lokaler Portbereich: Von 1 bis 65535. Ein Fehler tritt auf, wenn die angegebene lokale Portnummer bereits vom Micro820 L20E- oder Micro850 L50E-Controller verwendet wird.Die Steuerung nutzt die folgenden Portnummern: TCP-Ports:
UDP-Ports:
Weitere Informationen finden Sie unter Datentyp SOCKADDR_CFG. |
Timeout | Eingang | UDINT | Geben Sie das Timeout für die Socket-Inaktivität an. Wenn eine Socket-Instanz innerhalb einer bestimmten Inaktivitätszeitüberschreitung keine Anforderungen erhält, wird die Socket-Instanz gelöscht. Wenn nach dem Löschen der Socket-Instanz eine Anforderung gesendet wird, wird der Fehler „Socket-Instanz nicht unterstützt“ zurückgegeben. Der Anweisungsblock gibt einen Fehler zurück, wenn der Zeitüberschreitungswert geringer als der Mindestwert ist. Setzen Sie die Zeitüberschreitung so fest, dass sie länger als das längste Intervall zwischen den Socket-Vorgängen ist. Wenn das Inaktivitäts-Zeitlimit zu kurz ist, tritt ggf. eine Zeitüberschreitung der Socket-Instanzen auf. Zeitüberschreitungsbereich: 1000–86.400.000 Millisekunden. Setzen Sie die Zeitüberschreitung auf 0 zur Verwendung des Standardwerts 300.000 (5 Minuten). |
Done | Ausgang | BOOL | Gibt an, wenn der Vorgang abgeschlossen ist.
|
Busy | Ausgang | BOOL |
|
Error | Ausgang | BOOL | Gibt an, dass ein Fehler aufgetreten ist.
|
Status | Ausgang | SOCK_STATUS | Status wird mit dem Datentyp „SOCK_STATUS“ definiert, der ErrorID-, SubErrorID- und StatusBits-Informationen enthält. |
Instance | Ausgang | UDINT | Enthält den Socket-Handler. Den Instanzparameter für nachfolgende Socket-Anweisungen verwenden. |
SOCKET_CREATE-Beispiele
Beispiel für ein SOCKET_CREATE-Funktionsblockdiagramm

Beispiel für einen SOCKET_CREATE-Kontaktplan

Beispiel für strukturierten SOCKET_CREATE-Text

Ergebnisse – TCP-Client

Ergebnisse – TCP-Server

Ergebnisse – UDP

Rückmeldung geben