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) usandoSOCKET_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 usamSOCKET_OPEN, o endereço de destino deve ser especificado toda vez queSOCKET_WRITEfor usado para enviar dados.
- Ao usarSOCKET_READ, além de receber dados, o endereço do remetente é retornado. O endereço do remetente pode ser usado para enviar uma resposta usandoSOCKET_WRITE.
- Uma operaçãoSOCKET_OPENpode 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_OPENretorna 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

Parâmetro | Tipo do parâmetro | Tipo de dados | Descrição |
|---|---|---|---|
Execute | Entrada | BOOL | Habilitação do bloco de instruções.
|
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:
Exemplo de endereço IP de 192.168.2.100 e Porta 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.
EnUDPRxFilter Desabilitado:
|
Done | Saída | BOOL | Indica quando a operação é concluída.
A saída é atualizada de maneira síncrona a partir da varredura do programa. |
Busy | Saída | BOOL |
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.
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 ladder SOCKET_OPEN

Exemplo de texto estruturado SOCKET_OPEN

Resultados - TCP

Resultados - UDP

Dê sua opinião