SOCKET_OPEN
L'istruzione SOCKET_OPEN apre la connessione per l'indirizzo di destinazione specificato per le connessioni Transmission Control Protocol (TCP). Per le connessioni User Datagram Protocol (UDP), associa un indirizzo IP di destinazione e il numero di porta al socket specificato.
Dettagli operazioni:
- Per le connessioni User Datagram Protocol (UDP) che usanoSOCKET_OPEN, l'indirizzo IP e il numero di porta non sono obbligatori ogni volta che i dati vengono inviati.
- Per le connessioni UDP che non usanoSOCKET_OPEN, è necessario specificare l'indirizzo di destinazione ogni volta cheSOCKET_WRITEviene usato per inviare i dati.
- Se si utilizzaSOCKET_READ, oltre a ricevere i dati, viene restituito l'indirizzo del mittente. L'indirizzo dei mittenti può essere usato per inviare una risposta usandoSOCKET_WRITE.
- Potrebbe essere restituita un'operazioneSOCKET_OPENprima del timeout senza creare una connessione Transmission Control Protocol (TCP). Se si verifica questa condizione, significa che il dispositivo di destinazione è in esecuzione ma non è in ascolto delle connessioni sul numero di porta specificato.SOCKET_OPENrestituisce un errore prima del timeout.
- Le uscite vengono aggiornate in modo asincrono dalla scansione del programma.
Lingue supportate: Diagramma a blocchi funzione, Diagramma Ladder, Testo strutturato.
Questa istruzione vale per i controllori L20E, L50E e L70E.
SOCKET_OPEN

Parametro | Tipo di parametro | Tipo di dati | Descrizione |
|---|---|---|---|
Execute | Ingresso | BOOL | Abilitazione del blocco istruzione.
|
Instance | Ingresso | UDINT | Copiare dal Socket Handler restituito da un blocco funzione SOCKET_CREATE. |
Timeout | Ingresso | UDINT | Timeout per il blocco funzione SOCKET_OPEN. Il blocco funzione 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). |
DestAddr | Ingresso | L'indirizzo della connessione di destinazione. È necessario indicare una connessione tra l'indirizzo IP e il numero di porta dell'host remoto. I seguenti indirizzi IP non sono supportati per DestAddr:
Esempio per indirizzo IP 192.168.2.100 e Porta 12000:
| |
EnUDPRxFilter | Ingresso | BOOL | Per il socket UDP, se vengono usati SOCKET_OPEN e Abilita EnUDPRxFilter, non è necessario ogni volta un filtro del pacchetto per l'indirizzo IP specifico e il numero di porta per leggere i dati.
EnUDPRxFilter disattivato:
|
Done | Uscita | BOOL | Indica se l'operazione è stata completata.
L'output viene aggiornato in modo sincrono alla scansione del programma. |
Busy | Uscita | BOOL |
L'output viene aggiornato in modo sincrono alla scansione del programma. |
Error | Uscita | BOOL | Indica che si è verificato un 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. |
Esempi di SOCKET_OPEN
Esempio di diagramma a blocchi funzionali SOCKET_OPEN

Esempio di diagramma ladder SOCKET_OPEN

Esempio di testo strutturato SOCKET_OPEN

Risultati - TCP

Risultati - UDP

Fornire un feedback