SOCKET_CREATE

Crea un'istanza del socket e restituisce un numero di istanza che viene usato come ingresso nelle operazioni socket successive.
Dettagli operazione:
  • Istruzioni socket supportano la comunicazione Full-Duplex con i dispositivi remoti.
  • Le connessioni User Datagram Protocol (UDP) supportano un massimo di otto pacchetti di datagrammi UDP in coda. La coda contiene i pacchetti più recenti.
  • I controllori Micro820 revisione 9 o successiva supportano fino a otto istanze Socket. Le istanze Socket supportano i socket UDP e TCP:
    • Usare tutte le otto istanze per la connessione del client Transmission Control Protocol (TCP).
    • Usare tutte le otto istanze per ascoltare le connessioni TCP in entrata, quindi accettare le otto connessioni da altri dispositivi.
    • Eseguire le operazioni client e server TCP.
    • Eseguire le operazioni TCP e UDP.
  • Per accettare le connessioni TCP in entrata sulla stessa porta, creare una nuova istanza Socket.
  • Connessione TCP persa:
    • Il programma applicativo dell'utente deve rilevare la perdita di connessioni TCP e gestire l'evento. A seconda dell'applicazione utente, prendere in considerazione l'opzione di un guasto al controllore.
      • Guasto al controllore.
      • Provare a ristabilire la connessione.
  • Per ristabilire le comunicazioni con un altro dispositivo:
    • Eliminare l'istanza Socket per la connessione persa.
    • Se la connessione è un client TCP, creare una nuova istanza Socket usando SOCKET_CREATE ed eseguire SOCKET_OPEN sul dispositivo di destinazione.
    • Se la connessione è un server TCP, creare una nuova istanza Socket usando SOCKET_CREATE ed eseguire SOCKET_ACCEPT per attendere un'altra connessione dal dispositivo remoto.
  • Messaggi applicativi per le connessioni TCP:
    • Una connessione TCP è un flusso di byte tra due applicazioni. Il protocollo applicativo determina i formati del messaggio.
    • I messaggi possono avere dimensioni fisse o variabili.
Lingue supportate: Diagramma a blocchi funzione, Diagramma Ladder, Testo strutturato.
Questa istruzione vale per i controllori L20E, L50E e L70E.
SOCKET_CREATE
SOCKET_CREATE
Parametri SOCKET_CREATE
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.
Type
Ingresso
USINT
Specificare il tipo di Socket:
  • Transmission Control Protocol (TCP)
  • User Datagram Protocol (UDP)
SockAddr
Ingresso
SOCKADDR_CFG
Specificare la configurazione dell'indirizzo del socket.
Il modulo EtherNet/IP per selezionare il numero di porta locale, impostare SockAddr su 0.
Specificare un numero di porta locale in cui un'applicazione è in ascolto e riceve i dati, oppure:
  • Gli elementi array devono essere tutti zero.
  • Per le operazioni client TCP, specificare 0 a meno che non si desideri utilizzare un numero di porta locale specifico.
  • Per la comunicazione del server TCP, specificare il numero di porta che dovrà accettare le richieste di connessione in entrata.
  • Per UDP, specificare un numero di porta locale che dovrà ricevere i datagrammi.
Intervallo porte locali: Da 1 a 65535.
Se il numero di porta locale specificato è già utilizzato dal controllore L20E o L50E, si verifica un errore.
Il controllore usa i seguenti numeri di porta:
Porte TCP:
  • EtherNet/IP: 44818
  • ModbusTCP: 502
  • Server DHCP: 67
  • Client DHCP: 68
Porte UDP:
  • EtherNet/IP: 2222
  • Server DHCP: 67
  • Client DHCP: 68
Timeout
Ingresso
UDINT
Specificare il Timeout per inattività Socket.
Se un'istanza Socket non riceve alcuna richiesta entro il timeout di inattività specificato, l'istanza Socket verrà eliminata.
Se viene inviata una richiesta dopo l'eliminazione dell'istanza socket, viene restituito l'errore "istanza Socket non supportata".
Il blocco istruzione restituisce un errore quando il valore di timeout è inferiore al valore minimo.
Impostare il timeout in modo che sia maggiore dell'intervallo più lungo tra le operazioni del socket. Se il timeout per inattività è troppo breve, le istanze Socket potrebbero scadere. Intervallo timeout: 1000-86.400.000 millisecondi.
Impostare Timeout su 0 per usare il valore predefinito 300.000 (5 minuti).
Done
Uscita
BOOL
Indica se l'operazione è stata completata.
  • TRUE: Operazione completata correttamente.
  • FALSE: l'operazione è in corso oppure è stato generato un errore.
Busy
Uscita
BOOL
  • TRUE: l'operazione non è completata.
  • FALSE: l'operazione è completata.
Error
Uscita
BOOL
Indica che si è verificato un errore.
  • TRUE: È stato rilevato un errore.
  • FALSE: Nessun errore.
Status
Uscita
SOCK_STATUS
Stato definito utilizzando il tipo di dati SOCK_STATUS che contiene informazioni su ErrorID, SubErrorID e StatusBits.
Instance
Uscita
UDINT
Contiene Socket Handler.
Usare il parametro Instance per le istruzioni Socket successive.

Esempi di SOCKET_CREATE

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