SOCKET_OPEN

A instrução SOCKET_OPEN abre a conexão para o endereço de destino especificado das conexões de Transmission Control Protocol (TCP). Para conexões do User Datagram Protocol (UDP), associa um endereço IP de destino e um número da porta com o soquete especificado.
Detalhes das operações:
  • Para conexões de User Datagram Protocol (UDP) usando
    SOCKET_OPEN
    , o endereço IP e o número da porta não são solicitados a cada vez que são enviados dados.
  • Para conexões UDP que não usam
    SOCKET_OPEN
    , o endereço de destino deve ser especificado toda vez que
    SOCKET_WRITE
    for usado para enviar dados.
  • Ao usar
    SOCKET_READ
    , além de receber dados, o endereço do remetente é retornado. O endereço do remetente pode ser usado para enviar uma resposta usando
    SOCKET_WRITE
    .
  • Uma operação
    SOCKET_OPEN
    pode retornar antes do período de tempo-limite sem criar uma conexão de Transmission Control Protocol (TCP). Isso pode ocorrer se o dispositivo de destino estiver em execução mas não estiver escutando conexões no número de porta especificado.
    SOCKET_OPEN
    retorna com um erro antes do período de tempo limite.
  • As saídas são atualizadas de maneira assíncrona a partir da varredura do programa.
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_OPEN
SOCKET_OPEN
Parâmetros da SOCKET_OPEN
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.
Instance
Entrada
UDINT
Copia do Manipulador de soquete retornado a partir de um bloco de função SOCKET_CREATE.
Timeout
Entrada
UDINT
Tempo-limite do bloco da função SOCKET_OPEN.
O bloco da função retorna um erro se o valor do tempo-limite for menor do que o valor mínimo.
Intervalo do tempo-limite: De 1.000 a 1.800.000 milissegundos
Configure Timeout como 0 para usar o valor padrão 10000 (10 segundos).
DestAddr
Entrada
O endereço da conexão de destino.
É necessária uma conexão entre o endereço IP e o número da porta do host remoto.
Os seguintes endereços IP não são compatíveis com DestAddr:
  • Endereço IP próprio
  • Endereço de circuito de retorno
  • 0.0.0.0
  • Endereço de transmissão (compatível somente com TCP), endereços de exceção:
  • Endereço multicast classe D (224.x.x.x)
  • Endereço do link local (169.254.x.x)
Exemplo de endereço IP de 192.168.2.100 e Porta 12000:
  • DestAddr.IPAddress[0]=192
  • DestAddr.IPAddress[1]=168
  • DestAddr.IPAddress[2]=2
  • DestAddr.IPAddress[3]=100
  • DestAddr.Port = 12000
EnUDPRxFilter
Entrada
BOOL
Para soquete UDP, quando SOCKET_OPEN e Enable EnUDPRxFilter forem usados, não é necessário usar um filtro de pacote de endereço IP e número de porta especificados cada vez que quiser ler dados.
  • Um soquete UDP com abertura é criado. DestAddr como IP 192.168.1.157 / Porta 161. EnUDPRxFilter habilitado, realizar Socket_Read.
  • Quando o controlador recebe dados de DestAddr (192.168.1.157 / 161), Socket_Read conclui a operação com sucesso. Se o controlador receber dados de qualquer outro IP ou Porta, socket_Read ignora o pacote e espera pelo pacote DestAddr.
EnUDPRxFilter Desabilitado:
  • Realizar SOCKET_READ. O controlador recebe dados sobre configurar a porta UDP, SOCKET_READ conclui a operação com sucesso.
  • O aplicativo verifica se o pacote de entrada chega do dispositivo esperado.
  • O aplicativo manipula um filtro com base no parâmetro de saída do SOCKET_READ UDPAddr.
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.
A saída é atualizada de maneira síncrona a partir da varredura do programa.
Busy
Saída
BOOL
  • TRUE: A operação não foi concluída.
  • FALSE: A operação foi concluída.
A saída é atualizada de maneira síncrona a partir da varredura do programa.
Error
Saída
BOOL
Indica a ocorrência de um erro.
  • TRUE: Um erro foi detectado.
  • FALSE: Sem erro.
A saída é atualizada de maneira síncrona a partir da varredura do programa.
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.
A saída é atualizada de maneira síncrona a partir da varredura do programa.

Exemplos de SOCKET_OPEN

Exemplo de diagrama de blocos de função SOCKET_OPEN
Exemplo de diagrama de blocos de função SOCKET_OPEN
Exemplo de diagrama de ladder SOCKET_OPEN
Exemplo de diagrama de ladder SOCKET_OPEN
Exemplo de texto estruturado SOCKET_OPEN
Exemplo de texto estruturado SOCKET_OPEN
Resultados - TCP
Resultados - 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