L'istruzione SOCKET_WRITE invia dati su un socket.
Dettagli operazione:
SOCKET_WRITE prova a inviare il numero richiesto di byte di dati specificato nel parametro Length. Quando l'operazione di invio viene completata, SOCKET_WRITE restituisce il numero di byte di dati scritti al parametro TxLength.
L'output viene aggiornato in modo asincrono rispetto alla scansione del programma.
Lingue supportate: Diagramma a blocchi funzione, Diagramma Ladder, Testo strutturato.
Questa istruzione vale per i controllori L20E, L50E e L70E.
SOCKET_WRITE
Parametri SOCKET_WRITE
Parametro
Tipo di parametro
Tipo di dati
Descrizione
Execute
Ingresso
BOOL
Abilitazione del blocco istruzione.
TRUE: quando viene rilevato un fronte di salita, avvia il blocco istruzione ammesso che l'ultima operazione sia stata completata.
FALSE: nessun fronte di salita rilevato.
Instance
Ingresso
UDINT
Copiare il Socket Handler restituito da un'istruzione SOCKET_CREATE o SOCKET_ACCEPT.
Per i tipi di socket client TCP e UDP, copiare il Socket Handler restituito da un'istruzione SOCKET_CREATE.
Per il tipo di socket server TCP, copiare dal Socket Handler restituito da un'istruzione SOCKET_ACCEPT.
Timeout
Ingresso
UDINT
Timeout per istanze SOCKET_WRITE. L'istruzione restituisce un errore se il valore di timeout è inferiore al valore minimo.
Intervallo timeout: 1000-1.800.000 millisecondi. Impostare Timeout su 0 per utilizzare il valore predefinito 10.000 (10 secondi).
L'indirizzo di destinazione UDP su cui vengono scritti i dati se non sono state eseguite istruzioni SOCKET_OPEN dopo la creazione del socket. Per TCP, o quando l'istruzione SOCKET_OPEN è stata eseguita per UDP, questa struttura non viene usata e deve contenere tutti zero. La connessione TCP e l'istruzione SOCKET_OPEN per UDP comunica tutte le informazioni sugli indirizzi remoti.
Esempio per un UDPAddr di 192.168.2.100 e Porta 12000:
UDPAddr.IPAddress[0] = 192
UDPAddr.IPAddress[1] = 168
UDPAddr.IPAddress[2] = 2
UDPAddr.IPAddress[3] = 100
UDPAddr.Port = 12000
Usare il tipo di dati SOCKADDR_CFG per definire UDPAddr.
Data
Ingresso
USINT[1..1]
Un vettore usato per memorizzare i dati scritti nella relativa istanza socket usando l'istruzione SOCKET_WRITE.
La dimensione dell'array di dati deve essere >= (Offset + Length).
Il vettore di dati può essere maggiore della Length di SOCKET_WRITE.
Length
Ingresso
UINT
Il numero di byte di dati da scrivere.
Il valore massimo è 256 byte.
Offset
Ingresso
UNIT
Offset in un array di Dati. I dati scritti da SOCKET_WRITE iniziano da questa posizione.
Done
Uscita
BOOL
Indica se l'operazione è stata completata.
TRUE: Operazione completata correttamente.
FALSE: l'operazione è in corso oppure è stato generato un errore.
L'output viene aggiornato in modo sincrono alla scansione del programma.
Busy
Uscita
BOOL
TRUE: l'operazione non è terminata.
FALSE: l'operazione è terminata.
L'output viene aggiornato in modo sincrono alla scansione del programma.
Error
Uscita
BOOL
Indica che si è verificato un errore.
TRUE: È stato rilevato un errore.
FALSE: Nessun errore.
L'output viene aggiornato in modo sincrono alla scansione del programma.