IS_SOCKET_CONNECTED

Esta função retorna TRUE se o socket ethernet associado estiver com conexão TCP/IP estabelecida.

Bloco

          IS_SOCKET_CONNECTED
          +------------------+
USINT ----|CHANNEL_ID        |---- BOOL
          +------------------+

Nota

Se o socket associado estiver configurado para operação como UDP a função retornará TRUE sempre, visto que neste contexto no existe um processo de conexão.

Parâmetros

Nome

Classe

Tipo

Dim.

V. Ini.

Descrição

CHANNEL_ID

Entrada

USINT

0

Id do canal ethernet associado (Ex: SOCK1_PORT_ID..)

ID

LABEL [3]

Tipo de canal de comunicação [4]

9

SOCK1_PORT_ID

Identificador do socket 1

10

SOCK2_PORT_ID

Identificador do socket 2

11

SOCK3_PORT_ID

Identificador do socket 3

12

SOCK4_PORT_ID

Identificador do socket 4

13

SOCK5_PORT_ID

Identificador do socket 5

14

SOCK6_PORT_ID

Identificador do socket 6

15

SOCK7_PORT_ID

Identificador do socket 7

Importante

Essa tabela considera até 7 sockets TCP para o canal Ethernet, mas deve-se verificar no equipamento utilizado os canais de comunicação efetivamente disponíveis para conexão TCP/IP.

Exemplo

Declaração de Variáveis

Nome

Classe

Tipo

Valor Inicial

TCP_DISCONN

Local

TCP_DISCONNECT

DISCONN_START

Local

BOOL

FALSE

Clique aqui para baixar a tabela de variáveis

Código ST

IF (IS_SOCKET_CONNECTED(SOCK7_PORT_ID))
  DISCONN_START := TRUE;
END_IF;

// Fecha a conexao
TCP_DISCONN(
    EN     := TRUE,
    START  := DISCONN_START,
    SOCK   := SOCK7_PORT_ID
    );

// Aguarda evento
IF (TCP_DISCONN.EVT) THEN
  IF (TCP_DISCONN.RESULT = SUCCESS) THEN
    // desconexao realizada com sucesso
    DISCONN_START := FALSE;
  END_IF;
END_IF;