TCP_DISCONNECT

Fecha uma conexão TCP em um socket especificado, encerrando o canal de comunicação Ethernet associado. É um bloco de função (mantém estado entre scans; requer instância).

Biblioteca: HI_STD · Namespace: HILS · Tipo: bloco de função

Bloco de função

           TCP_DISCONNECT
          +--------------+
 BOOL ----|START      EVT|---- BOOL
          |              |
USINT ----|SOCK    RESULT|---- UINT
          +--------------+

A desconexão é iniciada pela transição de START para TRUE. Ao concluir o processo, a saída EVT emite um pulso e RESULT indica o estado da operação (HILS.SUCCESS = 0 quando a conexão foi fechada com sucesso). A entrada SOCK seleciona qual socket TCP terá a conexão encerrada.

Nota

O socket é indicado por um identificador do tipo COMM_CHAN_ID (por exemplo, HILS.SOCK1_PORT_ID .. HILS.SOCK7_PORT_ID). Cada equipamento disponibiliza um subconjunto dos sockets TCP/IP; consulte o manual do equipamento para saber quais canais estão efetivamente disponíveis.

Parâmetros

Nome

Direção

Tipo

Padrão

Faixa / Unidade

Descrição

START

IN

BOOL

FALSE

—

Avaliado por transição: inicia o fechamento da conexão TCP no socket indicado.

SOCK

IN

USINT

9

COMM_CHAN_ID

Socket cuja conexão TCP será encerrada (ex.: HILS.SOCK1_PORT_ID).

EVT

OUT

BOOL

FALSE

—

Pulso indicando que o processo de desconexão foi concluído.

RESULT

OUT

UINT

0

RET_CODE

Código de retorno da operação (ver Códigos de retorno).

Códigos de retorno

RESULT é do tipo RET_CODE. Use os identificadores com o namespace HILS (ex.: HILS.CO_SOCK_ERR). Códigos mais comuns deste bloco:

Código

Identificador

Significado

0

SUCCESS

Conexão TCP encerrada com sucesso.

63

CO_CONEX_FAIL

Falha no processo de conexão/desconexão.

67

CO_SOCK_ERR

Erro de socket (não foi possível acessar/usar o socket).

72

CO_CHA_CLO

Canal de comunicação já fechado (inativo).

74

CO_INV_CHA

Canal de comunicação inválido.

10

GL_CMD_TMO

Timeout na execução do comando.

Lista completa dos códigos de retorno: RET_CODE - Códigos de retorno do firmware G5.

Pré-condições

  • O socket indicado em SOCK deve estar disponível no equipamento e configurado para operação TCP/IP.

Observações

  • EVT fica ativo por um único scan, no instante em que o processo termina; avalie RESULT nesse mesmo scan.

  • Fechar um socket que já esteja inativo retorna HILS.CO_CHA_CLO.

Ver também

TCP_CONNECT, IS_SOCKET_CONNECTED

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    TCP_DISCONN   : HILS.TCP_DISCONNECT;
    DISCONN_START : BOOL := FALSE;
    DISC_RET      : UINT := 0;
END_VAR

(* Fecha a conexao no socket 7 *)
TCP_DISCONN(
  START := DISCONN_START,
  SOCK  := HILS.SOCK7_PORT_ID
  );

(* Aguarda o evento de conclusao *)
IF (TCP_DISCONN.EVT) THEN
  DISC_RET := TCP_DISCONN.RESULT;
  IF (TCP_DISCONN.RESULT = HILS.SUCCESS) THEN
    (* desconexao realizada com sucesso *)
  END_IF;
END_IF;