Die SOCKET_WRITE-Anweisung sendet Daten an einen Socket.
Details zum Betrieb:
SOCKET_WRITE versucht, die angeforderte Anzahl von im Length-Parameter angegebenen Datenbyte zu senden. Wenn der Sendevorgang abgeschlossen ist, gibt SOCKET_WRITE die Anzahl von in den TxLength-Parameter geschriebenen Datenbyte zurück.
Die Ausgabe wird asynchron 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_WRITE
SOCKET_WRITE-Parameter
Parameter
Parametertyp
Datentyp
Beschreibung
Execute
Eingang
BOOL
Anweisungsblock aktivieren.
TRUE: Anstiegsflanke erkannt. Startet den Anweisungsblock unter der Voraussetzung, dass der letzte Vorgang abgeschlossen ist.
FALSE: Keine Anstiegsflanke erkannt.
Instance
Eingang
UDINT
Kopieren vom zurückgegebenen Socket-Handler aus einer SOCKET_CREATE- oder SOCKET_ACCEPT-Anweisung.
Kopieren Sie für die Socket-Typen von UDP- und TCP-Client Socket den zurückgegebenen Socket-Handler aus einer SOCKET_CREATE-Anweisung.
Kopieren Sie für den Socket-Typ des TCP-Servers vom zurückgegebenen Socket-Handler aus einer SOCKET_ACCEPT-Anweisung.
Timeout
Eingang
UDINT
Zeitüberschreitung für SOCKET_WRITE-Instanzen. Die Anweisung 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).
Die UDP-Zieladresse, in die die Daten geschrieben werden, wenn eine SOCKET_OPEN-Anweisung seit der Erstellung des Socket nicht ausgeführt wurde. Für TCP oder wenn eine SOCKET_OPEN-Anweisung für UDP ausgeführt wurde, wird diese Struktur nicht verwendet und sollte Nullen enthalten. Die TCP-Verbindung und die SOCKET_OPEN-Anweisung für UDP übermitteln alle Remote-Adresseninformationen.
Beispiel für UDPAddr von 192.168.2.100 und Port 12000:
UDPAddr.IPAddress[0] = 192
UDPAddr.IPAddress[1] = 168
UDPAddr.IPAddress[2] = 2
UDPAddr.IPAddress[3] = 100
UDPAddr.Port = 12000
Verwenden Sie den SOCKADDR_CFG-Datentyp, um UDPAddr zu definieren.
Data
Eingang
USINT[1..1]
Ein Array zum Speichern des Datenschreibenvorgangs zur jeweiligen Socket-Instanz mithilfe der SOCKET_WRITE-Anweisung.
Die Datenarray-Größe muss >= (Offset + Length) sein.
Das Datenarray kann größer als die SOCKET_WRITE-Length sein.
Length
Eingang
UINT
Die Anzahl der zu schreibenden Datenbytes.
Maximal 256 Bytes.
Offset
Eingang
UNIT
Offset im Datenarray. Der Datenschreibvorgang aus SOCKET_WRITE beginnt an dieser Position.
Done
Ausgang
BOOL
Gibt an, wenn der Vorgang abgeschlossen ist.
TRUE: Vorgang erfolgreich abgeschlossen
FALSE: Vorgang wird ausgeführt oder eine Fehlerbedingung ist aufgetreten.
Die Ausgabe wird synchron vom Programm-Scan aktualisiert.
Busy
Ausgang
BOOL
TRUE: Der Vorgang ist nicht abgeschlossen.
FALSE: Vorgang ist abgeschlossen.
Die Ausgabe wird synchron vom Programm-Scan aktualisiert.
Error
Ausgang
BOOL
Gibt an, dass ein Fehler aufgetreten ist.
TRUE: Es wurde ein Fehler erkannt.
FALSE: Kein Fehler.
Die Ausgabe wird synchron vom Programm-Scan aktualisiert.