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.
Cada equipamento possui um sub-conjunto dos recursos de comunicação indicados na tabela acima. Para identificar quais recursos estão disponíveis em um dado equipamento, consulte o manual do mesmo. |
Exemplo
Declaração de Variáveis
Nome |
Classe |
Tipo |
Valor Inicial |
|---|---|---|---|
TCP_DISCONN |
Local |
TCP_DISCONNECT |
|
DISCONN_START |
Local |
BOOL |
FALSE |
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;