MDB_RNB_U3G
Conecta um canal MODBUS a um cliente/servidor externo através da rede celular 3G/NB-IoT, mantendo o canal associado como servidor MODBUS-TCP; requer um modem 3G/NB-IoT na ITF B do equipamento. É 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
MDB_RNB_U3G
+--------------------+
BOOL ----|START STATUS|---- USINT
| |
UINT ----|CONN_TMO RESULT|---- INT
| |
BOOL ----|SIM_STK DATA_EV|---- BOOL
| |
STRING ----|MODEM_IP ---------- |----
| |
STRING ----|MODEM_PORT -------- |----
| |
STRING ----|MODEM_PIN --------- |----
| |
STRING ----|MODEM_APN --------- |----
| |
STRING ----|MODEM_USR --------- |----
| |
STRING ----|MODEM_PSW --------- |----
+--------------------+
Após o bloco ser habilitado pela entrada EN, ele aguarda uma transição de subida
em START; quando esta ocorre, configura o modem e abre a conexão com o endereço
IP/porta especificados (utilizando o bloco MODEM_RNB_U3G). Estabelecida a
conexão, o equipamento mantém o canal associado como um servidor MODBUS-TCP, aceitando
pacotes externos no protocolo. A entrada START deve permanecer em nível alto durante
toda a execução do bloco.
Após a configuração do modem celular, o valor da qualidade do sinal de rede é salvo na variável de sistema 930, podendo ser acessado pelo programa ou por dispositivos externos MODBUS.
O bloco também aciona uma rotina que controla o led vermelho do equipamento, sinalizando os seguintes estados:
Led vermelho aceso: equipamento configurando a rede celular ou bloco desabilitado.
Led vermelho piscando: equipamento em processo de abertura de conexão TCP.
Led vermelho apagado: equipamento operando, trocando dados com sucesso.
Nota
Na inicialização o bloco verifica o canal de comunicação do modem: no modelo Ethernet o modem está na COM1; no modelo serial, na COM3. Após identificar o canal serial de interface com o modem, configura a base de setup deste para operar com o protocolo MODBUS-TCP.
Importante
Este bloco só é válido quando há um modem 3G/NB-IoT na ITF B do equipamento.
Atenção
Este bloco não implementa o MDB_GATEWAY na interface 3G do equipamento; ele apenas abre uma conexão MODBUS-TCP com um servidor pela interface 3G.
Dica
Assista ao vídeo tutorial utilizando o bloco de função para aplicações envolvendo o protocolo MODBUS e modem celular 3G: Tutorial MDB_RNB_U3G
Parâmetros
Nome |
Direção |
Tipo |
Dimensão |
Padrão |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|---|---|
START |
IN |
BOOL |
— |
FALSE |
— |
Habilita a operação do bloco; deve permanecer em nível alto durante a execução. |
CONN_TMO |
IN |
UINT |
— |
0 |
s |
Tempo de timeout de desconexão com a rede (tempo para fechar a conexão celular por falta de troca de dados). |
SIM_STK |
IN |
BOOL |
— |
FALSE |
— |
Chip multioperadora: habilita o SIM ToolKit. Associado a U3G_CFG:SIM_STK. |
MODEM_IP |
IN_OUT |
STRING |
:40 |
— |
— |
Endereço IP do broker/servidor a ser acessado. |
MODEM_PORT |
IN_OUT |
STRING |
:6 |
— |
— |
Porta de escuta do broker/servidor. |
MODEM_PIN |
IN_OUT |
STRING |
:4 |
— |
— |
PIN do SIM CARD. Associado a MODEM_RNB_U3G:PIN. |
MODEM_APN |
IN_OUT |
STRING |
:31 |
— |
— |
APN da operadora do chip de rede celular. Associado a MODEM_RNB_U3G:APN. |
MODEM_USR |
IN_OUT |
STRING |
:15 |
— |
— |
Usuário da operadora de rede celular. Associado a MODEM_RNB_U3G:USER. |
MODEM_PSW |
IN_OUT |
STRING |
:10 |
— |
— |
Senha da operadora de rede celular. Associado a MODEM_RNB_U3G:USER. |
STATUS |
OUT |
USINT |
— |
0 |
— |
Status do processo do bloco (ver Observações). |
RESULT |
OUT |
INT |
— |
0 |
RET_CODE |
Resultado da operação do bloco (ver Códigos de retorno). |
DATA_EV |
OUT |
BOOL |
— |
FALSE |
— |
Pulso que sinaliza a ocorrência de troca de dados. |
Códigos de retorno
RESULT reporta os erros gerados no processo de configuração e conexão do modem
celular. A descrição completa dos códigos é detalhada nos blocos MODEM_CONN,
U3G_CFG e RNB_CFG. Códigos mais comuns deste bloco:
Código |
Identificador |
Significado |
|---|---|---|
0 |
SUCCESS |
Processo executado com sucesso. |
63 |
CO_CONEX_FAIL |
Falha no processo de conexão. |
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
Modem 3G/NB-IoT presente na ITF B do equipamento.
STARTdeve permanecer em nível alto durante toda a execução do bloco.
Observações
A saída
STATUSindica a etapa corrente do processo:Valor
Descrição
0
Inativo.
1, 2, 3
Aguardando configuração e conexão do modem celular.
5
Conexão com o destino estabelecida; equipamento trocando dados.
A qualidade do sinal de rede é gravada na variável de sistema 930 após a configuração do modem.
Ver também
Exemplo
Clique aqui para baixar a tabela de variáveis
Código ST
VAR
START : BOOL := FALSE; (* Habilita operação do bloco *)
MODEM_TMO : UINT := 120; (* Tempo em seg para timeout de desconexão por falta de troca de dados *)
MODEM_SIMSTK : BOOL := FALSE; (* Chip Multioperadora: habilita SIM ToolKit (default: false) *)
MODEM_PIN : STRING[4] := ''; (* PIN do SIM CARD *)
MODEM_APN : STRING[31] := ''; (* APN da operadora do chip de rede celular *)
MODEM_USER : STRING[15] := ''; (* Usuário da operadora de rede celular *)
MODEM_PASSW : STRING[10] := ''; (* Senha da operadora de rede celular *)
MODEM_IP : STRING[40] := '54.227.237.88'; (* Endereço IP remoto a ser acessado *)
MODEM_PORT : STRING[6] := '16795'; (* Porta de escuta remota *)
MODEM_MDB : HILS.MDB_RNB_U3G; (* Instancia do bloco *)
MODEM_RESULT : INT; (* Resultado do bloco *)
END_VAR
MODEM_MDB( (* MDB_RNB_U3G *)
START := START, (* [BOOL] Habilita operação do bloco *)
CONN_TMO := MODEM_TMO, (* [UINT] Timeout de desconexão por falta de troca de dados *)
SIM_STK := MODEM_SIMSTK, (* [BOOL] Chip Multioperadora: habilita SIM ToolKit *)
MODEM_IP := MODEM_IP, (* [STRING] Endereço IP do broker a ser acessado *)
MODEM_PORT := MODEM_PORT, (* [STRING] Porta de escuta do broker *)
MODEM_PIN := MODEM_PIN, (* [STRING] PIN do SIM CARD *)
MODEM_APN := MODEM_APN, (* [STRING] APN da operadora do chip de rede celular *)
MODEM_USR := MODEM_USER, (* [STRING] Usuário da operadora de rede celular *)
MODEM_PSW := MODEM_PASSW (* [STRING] Senha da operadora de rede celular *)
);
MODEM_RESULT := MODEM_MDB.RESULT;