MDB_QC1
Este bloco tem a funcionalidade de conectar um canal MODBUS a um cliente/servidor externo através da rede celular 4G.
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 com o endereço IP/porta especificados (utilizando o bloco MODEM_QC1 ). Quando esta conexão é estabelecida o equipamento mantêm o canal associado como um servidor MODBUS-TCP aceitando pacotes externos no protocolo.
Após a configuração do modem celular o valor da qualidade do sinal de rede é salva na variável de sistema 930 e pode ser acessada externamente pelo programa ou por dispositivos externos MODBUS.
O bloco chama também uma rotina que controla o led vermelho do equipamento na qual sinaliza os seguintes estados:
Led Vermelho ACESO: Equipamento configurando 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.
A entrada START deve permanecer em nível alto durante a execução do bloco. Os itens a seguir detalham o funcionamento do bloco.
OBS1: Na inicialização o bloco verifica o canal de comunicação do Modem (se equipamento modelo Ethernet, modem se encontra na COM1, se o modelo for serial, modem se encontra na COM3), após identificação do canal serial de interface com modem, configura a base de setup deste para operar com protocolo MODBUS-TCP.
Atenção
Este bloco é funcional apenas quando utilizado com o módulo de modem 4G-EG915U na interface ITF-B do equipamento associado.
Este bloco não implementa o MDB_GATEWAY na interface 4G do equipamento, este apenas abre uma conexão MODBUS-TCP com um Servidor pela interface 4G.
Bloco
MDB_QC1
+--------------------+
BOOL ----|START RESULT|---- INT
| |
BOOL ----|AUTH DATA_EV|---- BOOL
| |
BOOL ----|SYNC_RTC STATUS|---- USINT
| |
UINT ----|CONN_TMO |
| |
STRING ----|ID_ON_CONN |
| |
STRING ----|MODEM_APN --------- |----
| |
STRING ----|MODEM_USR --------- |----
| |
STRING ----|MODEM_PSW --------- |----
| |
STRING ----|MODEM_PIN --------- |----
| |
STRING ----|MODEM_IP ---------- |----
| |
STRING ----|MODEM_PORT -------- |----
+--------------------+
Parâmetros
Nome |
Classe |
Tipo |
Dim. |
V. Ini. |
Descrição |
START |
Entrada |
BOOL |
FALSE |
Habilita operação do bloco |
|
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) |
|
CONN_TMO |
Entrada |
UINT |
300 |
Tempo em segundos para fechar a conexão com rede celular por falta de troca de dados |
|
ID_ON_CONN |
Entrada |
STRING |
:20 |
‘’ |
String de “Envia ID na conexão”, vazia se opção não habilitada [tamanho_max = 20] |
MODEM_APN |
Entrada/Saída |
STRING |
:* |
APN da operadora do chip de rede celular |
|
MODEM_USR |
Entrada/Saída |
STRING |
:* |
Usuário da operadora de rede celular |
|
MODEM_PSW |
Entrada/Saída |
STRING |
:* |
Senha da operadora de rede celular |
|
MODEM_PIN |
Entrada/Saída |
STRING |
:* |
PIN do SIM CARD |
|
MODEM_IP |
Entrada/Saída |
STRING |
:* |
Endereço IP do broker a ser acessado |
|
MODEM_PORT |
Entrada/Saída |
STRING |
:* |
Porta de escuta do broker |
|
RESULT |
Saída |
INT |
0 |
Resultado da operação do bloco |
|
DATA_EV |
Saída |
BOOL |
FALSE |
Pulso que sinaliza que ocorreu troca de dados |
|
STATUS |
Saída |
USINT |
0 |
Status de processo do bloco |
AUTH
Parâmetro de entrada associado ao bloco de função MODEM_QC1:AUTH.
SYNC_RTC
Parâmetro de entrada associado ao bloco de função MODEM_QC1:SYNC_RTC.
CONN_TMO
Tempo em segundos para timeout de desconexão com rede celular. Tempo para fechar a conexão com rede celular na por falta de troca de dados. Quando este tempo estourar o bloco executa o processo de reconexão automaticamente. Default = 5 minutos (300 segundos).
ID_ON_CONN
Parâmetro de entrada associado ao bloco de função MODEM_QC1:ID_ON_CONN.
PIN
Parâmetro de entrada associado ao bloco de função MODEM_QC1:PIN.
APN
Parâmetro de entrada associado ao bloco de função MODEM_QC1:APN.
USER
Parâmetro de entrada associado ao bloco de função MODEM_QC1:USER.
PASSW
Parâmetro de entrada associado ao bloco de função MODEM_QC1:PASSW.
STATUS
A variável STATUS retorna o código de operação, listados a seguir.
STATUS |
|
Valor |
Descrição |
0 |
Inativo |
1, 2, 3 |
Aguardando configuração e conexão do modem celular |
5 |
Conexão com Destino estabelecida, equipamento trocando dados |
RESULT
Os erros gerados no processo de configuração e conexão do modem celular é acessado através da variável RESULT, a descrição dos códigos estão listados no bloco MODEM_QC1:LAST_FAIL.
Exemplo
Declaração de variáveis
Nome |
Classe |
Tipo |
Dimensão |
Valor Inicial |
Descrição |
|---|---|---|---|---|---|
START |
Local |
BOOL |
TRUE |
Habilita operação do bloco |
|
MODEM_TMO |
Local |
INT |
120 |
Tempo em seg para timeout de desconexão com end destino (tempo para fechar a conexão com rede celular na por falta de troca de |
|
STR_ID_OPEN |
Local |
STRING |
:20 |
‘’ |
Não habilita o recurso de “Envia ID na conexão” |
MODEM_PIN |
Local |
STRING |
:4 |
‘’ |
PIN do SIM CARD |
MODEM_APN |
Local |
STRING |
:31 |
‘’ |
APN da operadora do chip de rede celular |
MODEM_USER |
Local |
STRING |
:15 |
‘’ |
Usuário da operadora de rede celular |
MODEM_PASSW |
Local |
STRING |
:10 |
‘’ |
Senha da operadora de rede celular |
MODEM_IP_DEST |
Local |
STRING |
:40 |
‘54.227.237.88’ |
Endereço IP remoto a ser acessado |
MODEM_PORT |
Local |
STRING |
:6 |
‘16795’ |
Porta de escuta remota |
MODEM_MDB |
Local |
HILS.MDB_QC1 |
Instancia do bloco |
||
MODEM_RESULT |
Local |
INT |
Resultado do bloco |
||
MODEM_SIG_QLT Lo |
cal INT |
Qualidade |
do Sinal do Modem |
Código ST
MODEM_MDB( // MDB_QC1
START := START, // [BOOL] Habilita operação do bloco
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)
CONN_TMO := MODEM_TMO, // [UINT] Tempo em segundos para timeout de desconexão com rede (tempo para fechar a conexão com rede celular na por falta de troca de da
ID_ON_CONN := STR_ID_OPEN, // [STRING] String de "Envia ID na conexão", vazia se opção não habilitada [tamanho_max = 20]
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_PIN := MODEM_PIN, // [STRING] PIN do SIM CARD
MODEM_IP := MODEM_IP_DEST, // [STRING] Endereço IP do broker a ser acessado
MODEM_PORT := MODEM_PORT // [STRING] Porta de escuta do broker
);
MODEM_RESULT := MODEM_MDB.RESULT;
MODEM_SIG_QLT := HILS.GET_SYSVAR(930);