MODEM_QC1
Este bloco tem a funcionalidade de configurar o módulo de modem 4G-EG915UG dos equipamentos/controladores HI e abrir uma conexão TCP com o endereço destino através da rede celular.
Atenção
Este bloco é funcional apenas quando utilizado com o módulo de modem 4G-EG915U na interface ITF-B do equipamento associado.
Após o bloco ser habilitado pela entrada EN, ficará aguardando uma transição de subida em START; quando esta ocorrer, o bloco irá configurar o modem e posteriormente abrir conexão. A entrada START deve permanecer em nível alto durante a execução do bloco. Os itens a seguir detalham o funcionamento do bloco.
Bloco
MODEM_QC1
+----------------------+
BOOL ----|START READY|---- BOOL
| |
UINT ----|CONN_TMO STATUS|---- USINT
| |
BOOL ----|AUTH LAST_FAIL|---- INT
| |
BOOL ----|SYNC_RTC SIG_QLT|---- SINT
| |
USINT ----|COMM_SRC |
| |
STRING ----|ID_ON_CONN |
| |
STRING ----|PIN ----------------- |----
| |
STRING ----|APN ----------------- |----
| |
STRING ----|USER ---------------- |----
| |
STRING ----|PASSW --------------- |----
| |
STRING ----|IP ------------------ |----
| |
STRING ----|PORT ---------------- |----
+----------------------+
Parâmetros
Nome |
Classe |
Tipo |
Dim. |
V. Ini. |
Descrição |
START |
Entrada |
BOOL |
FALSE |
Inicia operacao |
|
CONN_TMO |
Entrada |
UINT |
180 |
Tempo em segundos para timeout de desconexão com rede por falta dados trocados |
|
AUTH |
Entrada |
BOOL |
FALSE |
Flag se autentica (V1) no portal de telemetria da HI Tecnologia ao se conectar |
|
SYNC_RTC |
Entrada |
BOOL |
FALSE |
Flag para sincronizar o relógio calendário do controlador (pela rede celular) |
|
COMM_SRC |
Entrada |
USINT |
0 |
Identificador do canal serial associado ao módulo do modem |
|
ID_ON_CONN |
Entrada |
STRING |
:20 |
‘’ |
String de “Envia ID na conexão”, vazia se opção não habilitada [tamanho_max = 20] |
PIN |
Entrada/Saída |
STRING |
:* |
PIN do SIM CARD |
|
APN |
Entrada/Saída |
STRING |
:* |
APN |
|
USER |
Entrada/Saída |
STRING |
:* |
Usuario |
|
PASSW |
Entrada/Saída |
STRING |
:* |
Senha |
|
IP |
Entrada/Saída |
STRING |
:* |
IP destino |
|
PORT |
Entrada/Saída |
STRING |
:* |
Porta destino |
|
READY |
Saída |
BOOL |
FALSE |
Modem conectado e em modo transparente |
|
STATUS |
Saída |
USINT |
0 |
Status de operação do gateway (0: inativo 1: procurando rede 2: aguardando conexão 3: conexão aberta) |
|
LAST_FAIL |
Saída |
INT |
0 |
Valor do último erro registado |
|
SIG_QLT |
Saída |
SINT |
0 |
Qualidade do sinal (-1 .. 100%) |
COMM_SRC
Canal de comunicação que o modem está referenciando, deve ser sempre serial. Este canal é especificado por um identificador (valor númerico) conforme indicado na tabela a seguir:
Nome |
Ident. |
Descrição |
HILS.COM1_PORT_ID |
0 |
Canal serial COM1 |
HILS.COM2_PORT_ID |
1 |
Canal serial COM2 |
HILS.COM3_PORT_ID |
2 |
Canal serial COM3 |
HILS.COM4_PORT_ID |
3 |
Canal serial COM4 |
HILS.COM5_PORT_ID |
4 |
Canal serial COM5 |
HILS.COM6_PORT_ID |
5 |
Canal serial COM6 |
HILS.COM7_PORT_ID |
6 |
Canal serial COM7 |
HILS.COM8_PORT_ID |
7 |
Canal serial COM8 |
HILS.SOCK0_PORT_ID |
8 |
Controlador Ethernet 1: Socket 0 |
HILS.SOCK1_PORT_ID |
9 |
Controlador Ethernet 1: Socket 1 |
HILS.SOCK2_PORT_ID |
10 |
Controlador Ethernet 1: Socket 2 |
HILS.SOCK3_PORT_ID |
11 |
Controlador Ethernet 1: Socket 3 |
HILS.SOCK4_PORT_ID |
12 |
Controlador Ethernet 1: Socket 4 |
HILS.SOCK5_PORT_ID |
13 |
Controlador Ethernet 1: Socket 5 |
HILS.SOCK6_PORT_ID |
14 |
Controlador Ethernet 1: Socket 6 |
HILS.SOCK7_PORT_ID |
15 |
Controlador Ethernet 1: Socket 7 |
HILS.ETH2_SOCK0_PORT_ID |
16 |
Controlador Ethernet 2: Socket 0 |
HILS.ETH2_SOCK1_PORT_ID |
17 |
Controlador Ethernet 2: Socket 1 |
HILS.ETH2_SOCK2_PORT_ID |
18 |
Controlador Ethernet 2: Socket 2 |
HILS.ETH2_SOCK3_PORT_ID |
19 |
Controlador Ethernet 2: Socket 3 |
HILS.ETH2_SOCK4_PORT_ID |
20 |
Controlador Ethernet 2: Socket 4 |
HILS.ETH2_SOCK5_PORT_ID |
21 |
Controlador Ethernet 2: Socket 5 |
HILS.ETH2_SOCK6_PORT_ID |
22 |
Controlador Ethernet 2: Socket 6 |
HILS.ETH2_SOCK7_PORT_ID |
23 |
Controlador Ethernet 2: Socket 7 |
Este texto pode ser utilizado como parâmetro pois esta definido no tipo COMM_CHAN_ID disponível na biblioteca HI_STD. |
|
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. |
AUTH
Quando ativada esta entrada, ao final do processo de conexão com o IP destino com sucesso, o bloco monta um pacote de autenciação e envia para o portal de telemetria da HI Tecnologia um pacote de autenticação. Este pacote efetua a autenticação do equipamento no portal no padrão V1 e portanto só é enviado se a porta destino for 16800 (MODBUS-TCP) ou 16810(MODBUS-RTU).
SYNC_RTC
Flag de sincronização do relógico calendário do equipamento pela rede celular. Antes de abrir conexão com IP e Porta especificados sincroniza o relógio calendário com a data e hora da rede celular, levando em consideração o Time-Zone em que se encontra o equipamento.
PIN
String com o código PIN do chip SIM CARD. Se este parâmetro for modificado, um novo pulso em START deve ser gerado.
APN
String com o código APN da operadora do chip SIM CARD. Se este parâmetro for modificado, um novo pulso em START deve ser gerado.
USER
String com o código NOME DE USUÁRIO da operadora do chip SIM CARD. Em alguns casos esse parametro pode ser vazio. Se este parâmetro for modificado, um novo pulso em START deve ser gerado.
PASSW
String com o código SENHA da operadora do chip SIM CARD. Em alguns casos esse parametro pode ser vazio. Se este parâmetro for modificado, um novo pulso em START deve ser gerado.
IP
String com o número do IP destino, ou host name destino. Ex: ‘54.227.237.88’.
PORT
String com a PORTA do destino de conexão. Ex: ‘30329’.
ID_ON_CONN
Permite ao usuário configurar um texto de até 20 caracteres que será enviado automaticamente após a abertura da conexão com o servidor. Se não necessário utilizar esse recurso, basta não declarar o parâmetro ou declarar uma string vazia.
READY
A saída READY indica que o modem foi configurado e a conexão TCP foi estabelecida com endereço destino. Essa saída irá para zero se houver transição de descida na entrada START ou se o acesso a rede ficar indisponível ou se a conexão TCP com destino for fechada. Neste ultimo caso, se a conexão TCP for fechada e o sinal de START se mantiver habilitado o bloco tentará abrir conexão novamente com o endereço destino.
LAST_FAIL
Os erros gerados no processo de configuração e conexão do modem celular é acessado através da variável LAST_FAIL.
RESULT |
||
Código |
Valor |
Descrição |
SUCCESS |
0 |
Processo executado com sucesso |
GL_INV_ENV |
2 |
Modelo de modem inválido para o bloco |
GL_CMD_TMO |
10 |
Erro em algum comando interno |
GL_HDW_FAIL |
15 |
Erro de hardware (modem não responde)][ |
RE_WRITE_ERR |
32 |
Erro ao “Enviar ID de conexão” |
CO_SOCK_ERR |
67 |
Erro na abertura do socket (erro na aquisição de um socket disponivel no modem) |
CO_CONEX_FAIL |
63 |
Erro na conexão com IP e porta especificados |
CN_PIN_ERR |
180 |
Pin Bloqueado ou Numero do PIN errado ou Pin Security sts não desbloqueado |
CN_SIM_CARD_ERR |
181 |
Sem SIM Card inserido ou erro de leitura do SIM Card. |
CN_NO_NET |
182 |
Não detectou rede ( não se autoconectou em nenhuma rede) |
CN_REGISTER_DENIED |
183 |
Registro negado |
CN_INV_AUTH_DATA |
184 |
APN e/ou usuário e/ou senha inválidos |
CN_AUTH_DENIED |
185 |
Não foi possivel ativar perfil e não obteve um IP válido na rede |
STATUS
A variável STATUS retorna o código de operação, listados a seguir.
STATUS |
|
Valor |
Descrição |
0 |
Inativo |
1 |
Procurando rede |
2 |
Aguardando conexão |
3 |
Conexão aberta |
SIG_QLT
A saída SIG_QLT retorna o valor da qualidade do sinal em porcentagem (0 .. 100%) adquirido durante o processo de configuração e conexão do modem.
Exemplo
Declaração de variáveis
Nome |
Classe |
Tipo |
Valor Inicial |
Descrição |
|---|---|---|---|---|
IP |
Local |
STRING |
‘54.227.237.88’ |
Endereço IP do broker a ser acessado |
PORT |
Local |
STRING |
‘30329’ |
Porta de escuta do broker |
MODEM_PIN |
Local |
STRING |
‘1010’ |
PIN do SIM CARD |
MODEM_APN |
Local |
STRING |
‘tim.com.br’ |
APN da operadora do chip de rede celular |
MODEM_USR |
Local |
STRING |
‘timtim’ |
Usuário da operadora de rede celular |
MODEM_PSW |
Local |
STRING |
‘timtim’ |
Senha da operadora de rede celular |
STRING_ID |
Local |
STRING |
‘HI_ITS_ME’ |
String de conexão para o servidor |
START_MODEM |
Local |
BOOL |
1 |
Start do bloco do MODEM que conectar na rede Celular |
MODEM |
Local |
HILS.MODEM_QC1 |
Instancia do bloco de configuraçao do modem celular |
Código ST
MODEM( // MODEM_QC1
START := START_MODEM, // [BOOL] Habilita operacao
AUTH := FALSE, // [BOOL] Flag se autentica (V1) no portal de telemetria da HI Tecnologia ao se conectar
SYNC_RTC := TRUE, // [BOOL] Flag para sincronizar o relógio calendário do controlador (pela rede celular)
COMM_SRC := HILS.COM3_PORT_ID, // [USINT] Identificador do canal serial associado ao módulo do modem
ID_ON_CONN := ID_ON_CONN, // [STRING] String de "Envia ID na conexão", vazia se opção não habilitada
PIN := MODEM_PIN, // [STRING] PIN do SIM CARD
APN := MODEM_APN, // [STRING] APN
USER := MODEM_USR, // [STRING] Usuario
PASSW := MODEM_PSW, // [STRING] Senha
IP := MODEM_IP, // [STRING] IP destino
PORT := MODEM_PORT // [STRING] Porta destino
);
IF (MODEM.READY) THEN
// ...
END_IF;