SOCKET_CREATE

Cria uma instância do soquete e retorna um número de instância que é usado como uma entrada em quaisquer operações de outro soquete.
Detalhes da operação:
  • Instruções de soquetes aceitam comunicação full-duplex com dispositivos remotos.
  • Conexões de User Datagram Protocol (UDP) aceitam, no máximo, oito pacotes de datagramas UDP enfileirados. A fila contém os pacotes mais recentes.
  • Os controladores Micro820 da versão 9 ou posterior aceitam até oito instâncias de soquete. As instâncias de soquete aceitam soquetes de UDP e TCP:
    • Use todas as oito instâncias das conexões de cliente Transmission Control Protocol (TCP).
    • Use todas as oito instâncias para escutar conexões TCP de entrada e, em seguida, aceite oito conexões de outros dispositivos.
    • Realize as operações de servidor e cliente TCP.
    • Realize as operações TCP e UDP.
  • Para aceitar conexões TCP de entrada na mesma porta, crie uma instância de soquete.
  • Perda de conexão TCP:
    • O programa de aplicativo do usuário deve detectar a perda de conexões de TCP e resolver o caso. Dependendo do aplicativo do usuário, considere a opção de falha do controlador.
      • Falha no controlador.
      • Tente restabelecer a conexão.
  • Para restabelecer comunicações com outro dispositivo:
    • Exclua a instância de soquete da conexão perdida.
    • Se a conexão for um cliente TCP, crie uma instância de soquete usando SOCKET_CREATE e execute SOCKET_OPEN para o dispositivo de destino.
    • Se a conexão for um servidor TCP, crie uma instância de soquete usando SOCKET_CREATE e execute SOCKET_ACCEPT para esperar outra conexão do dispositivo remoto.
  • Mensagens do aplicativo de conexões TCP:
    • Uma conexão TCP é uma transmissão de bytes entre dois aplicativos. O protocolo do aplicativo determina os formatos de mensagens.
    • As mensagens podem ter um tamanho fixo ou variável.
Linguagens suportadas: Diagrama de blocos de função, diagrama de ladder, texto estruturado.
Essa instrução aplica-se aos controladores L20E, L50E e L70E.
SOCKET_CREATE
SOCKET_CREATE
Parâmetros da SOCKET_CREATE
Parâmetro
Tipo do parâmetro
Tipo de dados
Descrição
Execute
Entrada
BOOL
Habilitação do bloco de instruções.
  • TRUE: Borda ascendente detectada; inicia o bloco de instruções com a pré-condição de que a última operação tenha sido concluída.
  • FALSE: Nenhuma borda ascendente detectada.
Type
Entrada
USINT
Especificar o tipo de soquete:
  • Transmission Control Protocol (TCP)
  • User Datagram Protocol (UDP)
SockAddr
Entrada
SOCKADDR_CFG
Especifica a configuração de endereço para o soquete.
O módulo de EtherNet/IP para escolher o número de porta local, defina SockAddr como 0.
Especifique o número da porta local na qual um aplicativo está escutando e recebendo, ou:
  • Todos os elementos de matriz devem ser zero.
  • Para operações de cliente TCP, especifique 0 a menos que você deseje um número de porta local específico.
  • Para comunicação do servidor TCP, especifique o número da porta para aceitar solicitações de conexão de entrada.
  • Para UDP, especifique um número de porta local para receber datagramas em uma porta específica.
Intervalo da porta local: De 1 a 65535.
Ocorrerá um erro se o número da porta local especificado já estiver em uso pelo controlador L20E ou L50E.
O controlador usa os seguintes números de porta:
Portas TCP:
  • EtherNet/IP: 44818
  • ModbusTCP: 502
  • Servidor DHCP: 67
  • Cliente DHCP: 68
Portas UDP:
  • EtherNet/IP: 2222
  • Servidor DHCP: 67
  • Cliente DHCP: 68
Timeout
Entrada
UDINT
Especifique o tempo limite para inatividade do soquete.
Se uma instância de soquete não receber qualquer solicitação dentro do tempo-limite para inatividade especificado, a instância de soquete será excluída.
Se uma solicitação for enviada após a exclusão da instância de soquete, um erro, Instância de soquete não aceita, será retornado.
O bloco de instruções retorna um erro quando o valor de tempo-limite para inatividade for inferior ao valor mínimo.
Defina Timeout para que seja maior do que o maior intervalo entre as operações de soquete. Se o Timeout de inatividade for muito curto, as instâncias de soquete poderão atingir o tempo limite. Intervalo do tempo-limite: De 1.000 a 86.400.000 milissegundos.
Defina Timeout como 0 para usar o valor padrão 300.000 (5 minutos).
Done
Saída
BOOL
Indica quando a operação é concluída.
  • TRUE: Operação concluída com êxito.
  • FALSE: A operação está em progresso ou foi encontrada uma condição de erro.
Busy
Saída
BOOL
  • TRUE: A operação está incompleta.
  • FALSE: A operação foi concluída.
Error
Saída
BOOL
Indica a ocorrência de um erro.
  • TRUE: Um erro foi detectado.
  • FALSE: Sem erro.
Status
Saída
SOCK_STATUS
O status é definido usando o tipo de dados SOCK_STATUS, que contém informações de ErrorID, SubErrorID e StatusBits.
Instance
Saída
UDINT
Contém Manipulador de soquete.
Use o parâmetro Instance para as instruções subsequentes de soquete.

Exemplos de SOCKET_CREATE

Exemplo de diagrama de blocos de função SOCKET_CREATE
Exemplo de diagrama de blocos de função SOCKET_CREATE
Exemplo de diagrama de ladder SOCKET_CREATE
Exemplo de diagrama de ladder SOCKET_CREATE
Exemplo de texto estruturado SOCKET_CREATE
Exemplo de texto estruturado SOCKET_CREATE
Resultados - Cliente TCP
Resultados - Cliente TCP
Resultados - Servidor TCP
Resultados - Servidor TCP
Resultados - UDP
Resultados - UDP
Dê sua opinião
Tem dúvidas ou comentários sobre esta documentação? Por favor, envie seu comentário aqui.
Normal