MODEM_RNB_U3G
Configura o módulo de modem celular (3G ou NB-IoT) dos equipamentos/controladores HI e abre uma conexão TCP com um endereço destino através da rede celular; requer um canal serial associado ao modem. É 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_RNB_U3G
+--------------------+
BOOL ----|START READY|---- BOOL
| |
BOOL ----|AUTH STATUS|---- USINT
| |
USINT ----|COMM_SRC LAST_FAIL|---- INT
| |
BOOL ----|SIM_STK SIG_QLT|---- SINT
| |
STRING ----|PIN --------------- |----
| |
STRING ----|APN --------------- |----
| |
STRING ----|USER -------------- |----
| |
STRING ----|PASSW ------------- |----
| |
STRING ----|IP ---------------- |----
| |
STRING ----|PORT -------------- |----
+--------------------+
Depois de habilitado, o bloco aguarda uma transição de subida em START; quando
esta ocorre, configura o modem e em seguida abre a conexão TCP com o destino. A entrada
START deve permanecer em nível alto durante toda a execução do bloco.
Antes de configurar o modem, o bloco altera o canal de comunicação corrente para ASCII; ao final da configuração e conexão com o destino, o canal é reconfigurado com os parâmetros (protocolo) de comunicação da base de setup em flash.
Nota
Se algum dos parâmetros PIN, APN, USER ou PASSW for modificado,
uma nova transição de subida deve ser gerada em START para reconfigurar o modem.
Importante
Quando AUTH está ativa, ao concluir a conexão com o IP destino o bloco monta e
envia um pacote de autenticação para o portal de telemetria da HI Tecnologia (padrão
V1). Esse pacote só é enviado se a porta destino for 16800 (MODBUS-TCP) ou 16810
(MODBUS-RTU).
A saída READY indica que o modem foi configurado e a conexão TCP com o destino foi
estabelecida. Ela retorna a 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, mantendo-se
START habilitado, o bloco tenta reabrir a conexão com o destino.
Parâmetros
Nome |
Direção |
Tipo |
Dimensão |
Padrão |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|---|---|
START |
IN |
BOOL |
— |
FALSE |
— |
Habilita a operação; transição de subida inicia a configuração e conexão. Deve permanecer alto durante a execução. |
AUTH |
IN |
BOOL |
— |
FALSE |
— |
Autentica no portal de telemetria (V1) da HI Tecnologia ao concluir a conexão (só nas portas 16800/16810). |
COMM_SRC |
IN |
USINT |
— |
0 |
identificador de canal serial |
Identificador do canal serial associado ao módulo do modem (deve ser sempre serial). |
SIM_STK |
IN |
BOOL |
— |
FALSE |
— |
Chip multioperadora: habilita o SIM ToolKit. |
PIN |
IN_OUT |
STRING |
:4 |
— |
— |
Código PIN do chip SIM CARD. |
APN |
IN_OUT |
STRING |
:31 |
— |
— |
APN da operadora do chip SIM CARD. |
USER |
IN_OUT |
STRING |
:15 |
— |
— |
Nome de usuário da operadora (pode ser vazio em alguns casos). |
PASSW |
IN_OUT |
STRING |
:10 |
— |
— |
Senha da operadora (pode ser vazia em alguns casos). |
IP |
IN_OUT |
STRING |
:40 |
— |
— |
IP destino ou host name destino. Ex.: |
PORT |
IN_OUT |
STRING |
:6 |
— |
— |
Porta do destino de conexão. Ex.: |
READY |
OUT |
BOOL |
— |
FALSE |
— |
Modem conectado e em modo transparente (conexão TCP estabelecida). |
STATUS |
OUT |
USINT |
— |
0 |
0 .. 3 |
Status de operação do gateway (ver Observações). |
LAST_FAIL |
OUT |
INT |
— |
0 |
RET_CODE |
Valor do último erro registrado na configuração/conexão (ver Códigos de retorno). |
SIG_QLT |
OUT |
SINT |
— |
0 |
-1 .. 100 % |
Qualidade do sinal adquirido durante a configuração/conexão. |
Códigos de retorno
A saída LAST_FAIL registra o código do último erro ocorrido na configuração e
conexão do modem. Use os identificadores com o namespace HILS (ex.:
HILS.CN_NO_NET). Códigos mais comuns deste bloco:
Código |
Identificador |
Significado |
|---|---|---|
0 |
SUCCESS |
Processo executado com sucesso. |
10 |
GL_CMD_TMO |
Timeout na execução do comando. |
63 |
CO_CONEX_FAIL |
Falha no processo de conexão. |
67 |
CO_SOCK_ERR |
Erro de socket. |
80 |
CO_EQP_TMO |
Timeout na resposta de equipamento externo (modem). |
180 |
CN_PIN_ERR |
PIN inválido ou PIN bloqueado. |
181 |
CN_SIM_CARD_ERR |
SIM CARD inválido ou não encontrado. |
182 |
CN_NO_NET |
Não detectou rede celular. |
183 |
CN_REGISTER_DENIED |
Registro na rede celular negado. |
184 |
CN_INV_AUTH_DATA |
Dados de autenticação da rede celular inválidos (APN, USER ou PASSW). |
185 |
CN_AUTH_DENIED |
Autenticação na rede celular negada. |
Lista completa dos códigos de retorno: RET_CODE - Códigos de retorno do firmware G5.
Pré-condições
O equipamento deve possuir módulo de modem celular (3G ou NB-IoT).
COMM_SRCdeve indicar um canal serial válido associado ao módulo do modem.STARTdeve permanecer em nível alto durante toda a execução do bloco.
Observações
A saída
STATUSindica o estado de operação do gateway:Valor
Descrição
0
Inativo.
1
Procurando rede.
2
Aguardando conexão.
3
Conexão aberta.
COMM_SRCusa os identificadores de canal do namespaceHILS(para este bloco, apenas os canais seriais são válidos):Identificadores
Valores
Grupo
COM1_PORT_ID..COM8_PORT_ID0 .. 7
Seriais
SOCK0_PORT_ID..SOCK7_PORT_ID8 .. 15
Ethernet 1
ETH2_SOCK0_PORT_ID..ETH2_SOCK7_PORT_ID16 .. 23
Ethernet 2
SIG_QLTretorna a qualidade do sinal em porcentagem;-1indica sinal indisponível.SIM_STKcorresponde ao parâmetro de entrada homônimo do bloco U3G_CFG.
Ver também
Exemplo
Clique aqui para baixar a tabela de variáveis
Código ST
VAR
IP : STRING := '54.227.237.88'; (* Endereço IP do broker a ser acessado *)
PORT : STRING := '30329'; (* Porta de escuta do broker *)
MODEM_PIN : STRING := '1010'; (* PIN do SIM CARD *)
MODEM_APN : STRING := 'tim.com.br'; (* APN da operadora do chip de rede celular *)
MODEM_USR : STRING := 'timtim'; (* Usuário da operadora de rede celular *)
MODEM_PSW : STRING := 'timtim'; (* Senha da operadora de rede celular *)
GWT_COMM_SRC : USINT := HILS.COM1_PORT_ID; (* Canal serial associado ao modem *)
START_MODEM : BOOL := TRUE; (* Start do bloco do MODEM que conecta na rede celular *)
MODEM : HILS.MODEM_RNB_U3G; (* Instância do bloco de configuração do modem celular *)
END_VAR
MODEM(
START := START_MODEM, (* [BOOL] Habilita operacao *)
COMM_SRC := GWT_COMM_SRC, (* [USINT] Identificador do canal serial associado ao modem *)
PIN := MODEM_PIN, (* [STRING] PIN do SIM CARD *)
APN := MODEM_APN, (* [STRING] APN *)
USER := MODEM_USR, (* [STRING] Usuario *)
PASSW := MODEM_PSW, (* [STRING] Senha *)
IP := IP, (* [STRING] IP destino *)
PORT := PORT (* [STRING] Porta destino *)
);
IF (MODEM.READY) THEN
(* ... *)
END_IF;