SOCKET_WRITE

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
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).
UDPAddr
Ingresso
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.
Status
Uscita
SOCK_STATUS
Stato definito utilizzando il Tipo di dati SOCK_STATUS che contiene le informazioni ErrorID, SubErrorID e StatusBits.
L'output viene aggiornato in modo sincrono alla scansione del programma.
TxLength
Uscita
UNIT
Il numero di byte dei dati scritti.

Esempi di SOCKET_WRITE

Esempio di diagramma a blocchi funzionali SOCKET_WRITE
Esempio di Diagramma a blocchi funzione SOCKET_WRITE
Esempio di diagramma ladder SOCKET_WRITE
Esempio di Diagramma Ladder SOCKET_WRITE
Esempio di testo strutturato SOCKET_WRITE
Esempio di Testo strutturato SOCKET_WRITE
Risultati - TCP
Risultati - TCP
Risultati: UDP senza apertura
Risultati: UDP senza apertura
Risultati: UDP con apertura
Risultati: UDP con apertura
Fornire un feedback
Hai domande o feedback su questa documentazione? invia il tuo feedback qui.
Normal