MODEM_CONN
Envia a sequência de comandos AT de um modem 3G ou NBIOT para abrir uma conexão com um IP/(Host name) e porta especificados pela rede celular; requer que o modem já esteja com acesso à rede celular disponível e previamente configurado. É 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
MODEM_CONN
+-------------------+
BOOL ----|START DONE_EVT|---- BOOL
| |
BOOL ----|AUTH RESULT|---- INT
| |
USINT ----|COMM_SRC READY|---- BOOL
| |
| CLOSED|---- BOOL
| |
| NET_QLT|---- SINT
| |
STRING ----|IP_HN ------------ |----
| |
STRING ----|PORT ------------- |----
+-------------------+
Após o bloco ser habilitado pela entrada EN, ele aguarda uma transição de subida
em START; quando essa ocorre, o bloco configura o modem e, se o procedimento for
executado com sucesso, ativa a saída READY. A entrada START deve permanecer
ativa durante toda a execução do bloco.
Nota
Para utilização deste bloco, o modem deverá estar com o acesso à rede 3G ou NBIOT
disponível. Devem ser utilizados os blocos RNB_CFG (modem NBIOT) ou
U3G_CFG (modem 3G) para a configuração inicial do modem. O MODEM_CONN
deve ser ativado apenas após o bloco de configuração indicar que esse processo
terminou corretamente.
AUTH — quando ativada, ao final de uma conexão bem-sucedida com o IP destino o bloco monta e envia um pacote de autenticação para o destino da conexão. Nesse caso o servidor que recebe a conexão deve ser o portal de telemetria da HI Tecnologia. O pacote autentica o equipamento no portal no padrão V1 e só é enviado se a porta destino for 16800 (MODBUS-TCP) ou 16810 (MODBUS-RTU).
IP_HN e PORT — strings preenchidas pelo usuário para a execução do bloco. Se
esses parâmetros forem modificados, um novo pulso em START deve ser gerado.
READY — indica que o modem foi configurado e a conexão TCP foi estabelecida com
o endereço destino. Vai para zero se houver transição de descida em START, se o
acesso à rede ficar indisponível ou se a conexão TCP for fechada. Neste último caso,
se START se mantiver habilitado, o bloco tenta abrir a conexão novamente.
DONE_EVT — pulso que indica que algum evento do bloco foi gerado, podendo ser um
erro durante o processo ou a finalização do bloco. Sempre que DONE_EVT estiver
ativa, RESULT indica se o processo foi realizado com sucesso (RESULT = 0) ou não.
CLOSED — indica que o processo de fechamento da conexão TCP com o IP e porta
destino na rede celular foi finalizado. O usuário só deve habilitar START para
tentar uma nova conexão se essa variável estiver em TRUE.
Parâmetros
Nome |
Direção |
Tipo |
Dimensão |
Padrão |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|---|---|
START |
IN |
BOOL |
— |
FALSE |
— |
Habilita o início da configuração; deve permanecer ativa durante a execução. |
AUTH |
IN |
BOOL |
— |
FALSE |
— |
Se TRUE, autentica (padrão V1) no portal de telemetria da HI Tecnologia ao conectar. |
COMM_SRC |
IN |
USINT |
— |
0 |
Canal de comunicação |
Canal de comunicação a ser utilizado (ver Canais de comunicação). |
IP_HN |
IN_OUT |
STRING |
:40 |
— |
— |
IP destino ou nome do host. |
PORT |
IN_OUT |
STRING |
:6 |
— |
— |
Porta destino. |
DONE_EVT |
OUT |
BOOL |
— |
FALSE |
— |
Pulso que sinaliza a ocorrência de um evento que mudou o estado do bloco; |
RESULT |
OUT |
INT |
— |
0 |
Ver códigos |
Resultado da operação (válido quando |
READY |
OUT |
BOOL |
— |
FALSE |
— |
Indica que o modem foi configurado e a conexão TCP foi estabelecida. |
CLOSED |
OUT |
BOOL |
— |
TRUE |
— |
Sinaliza que a conexão foi fechada no lado do modem. |
NET_QLT |
OUT |
SINT |
— |
0 |
0 .. 100 % |
Qualidade do sinal da rede celular. |
Canais de comunicação
O canal (COMM_SRC) é identificado por um valor numérico, com namespace HILS:
Identificador |
Valor |
Meio físico |
|---|---|---|
|
0 .. 7 |
Portas seriais |
|
8 .. 15 |
Sockets Ethernet 1 |
|
16 .. 23 |
Sockets Ethernet 2 |
Códigos de retorno
A saída RESULT é válida quando DONE_EVT está ativo e assume os seguintes valores:
Código |
Significado |
|---|---|
0 |
Processo executado com sucesso. |
-10 |
Erro na abertura do socket (não foi possível adquirir um socket disponível no modem). |
-20 |
Erro na conexão com o IP e porta especificados. |
-99 |
Erro de timeout (preso em algum estado aguardando um evento; provavelmente o modem não respondeu a um comando). |
Pré-condições
O modem deve estar com acesso à rede 3G ou NBIOT disponível.
O modem deve ter sido previamente configurado por RNB_CFG (NBIOT) ou U3G_CFG (3G), com o processo de configuração concluído com sucesso.
IP_HNePORTdevem estar preenchidos antes do pulso de subida emSTART.Para tentar uma nova conexão,
CLOSEDdeve estar emTRUE.
Observações
A autenticação por
AUTHsó é enviada quando a porta destino é 16800 (MODBUS-TCP) ou 16810 (MODBUS-RTU).Alterar
IP_HNouPORTexige um novo pulso emSTART.