MDB_MDB_CEL_BRIDGE
Este bloco tem a função de executar uma bridge MODBUS-MODBUS entre um canal ou mais canais de comunicação e o módulo 3G ou NBIOT dos equipamentos da HI Tecnologia com a rede de telefonia celular.
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 especificado (utilizando o bloco MODEM_RNB_U3G). Quando esta conexão é estabelecida o equipamento se mantêm conectado com o IP operando com protocolo MODBUS-TCP ou MODBUS-RTU.
Adicionalmente habilita o bloco de MDB_GATEWAY para leitura e escrita dos dados referenciados no Mapeamento de dados MODBUS
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.
Por fim, o bloco chama 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.
OBS: Este bloco é somente válido quando conectado a um Modem 3G/NB-IoT na ITF B do equipamento.
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
MDB_MDB_CEL_BRIDGE
+---------------------------+
BOOL ----|START BRT_EV|---- INT
| |
BOOL ----|EN_SCAN END_CYC|---- INT
| |
BOOL ----|SKIP_RD RD_EV|---- BOOL
| |
USINT ----|COMM_SRC RD_CHG|---- BOOL
| |
USINT ----|DMAP_ID RD_ID|---- INT
| |
TIME ----|POLL_TME RD_CID|---- INT
| |
TIME ----|PACK_TME RD_CODE|---- INT
| |
INT ----|MODEM_TMO WR_EV|---- BOOL
| |
UINT ----|MODEM_AUTH WR_ID|---- INT
| |
BOOL ----|MODEM_SIMSTK WR_CID|---- INT
| |
| WR_CODE|---- INT
| |
| MODEM_RESULT|---- INT
| |
BOOL ----|CACHE -------------------- |----
| |
STRING ----|MODEM_PIN ---------------- |----
| |
STRING ----|MODEM_APN ---------------- |----
| |
STRING ----|MODEM_USER --------------- |----
| |
STRING ----|MODEM_PASSW -------------- |----
| |
STRING ----|MODEM_IP ----------------- |----
| |
STRING ----|MODEM_PORT --------------- |----
+---------------------------+
Para utilização deste bloco, o usuário deverá inicialmente, utilizando o recurso de Mapeamento de dados criar um canal de mapeamento e associá-lo ao protocolo MODBUS. Em seguida, no canal de mapeamento criado, definir os itens a serem obtidos remotamente e os itens a serem enviados. Note que todos os itens criados devem estar associados a variáveis globais exportadas.
Na lista das variáveis a serem lidas, agrupe as variáveis por endereço de comunicação. Desta forma, quando o correr um erro de comunicação na leitura de uma determinada variável, as variáveis subsequentes que possuírem o mesmo endereço de comunicação serão descartadas no ciclo de aquisição corrente, evitando uma demora no processo gerada pelo timeout de falha em cada processo de leitura.
Importante
Para a utilização desse bloco, os canais de comunicação utilizados para acesso aos equipamentos devem possuir as seguintes configurações:
O protocolo de aplicação deve estar configurado como MODBUS-TCP ou MODBUS-RTU em função do equipamento remoto a ser acessado.
Se o canal for ethernet o socket associado deve estar configurado como cliente TCP/IP e com auto conexão desativada.
Se o canal for serial os parâmetros de baudrate, data bits, stop bits e paridade devem ser compatíveis com as configurações dos equipamentos a serem acessados.
Caso possua dúvidas sobre como configurar o socket assista ao tutorial: Configurando recursos de conectividade do equipamento.
Parâmetros
Nome |
Classe |
Tipo |
Dim. |
V. Ini. |
Descrição |
START |
Entrada |
BOOL |
FALSE |
Habilita operação do bloco |
|
EN_SCAN |
Entrada |
BOOL |
TRUE |
Habilita o polling de dados do equipamento remoto |
|
SKIP_RD |
Entrada |
BOOL |
FALSE |
Quando habilitada imediatamente após um evento BRT_EV cancela a transação de leitura corrente |
|
COMM_SRC |
Entrada |
USINT |
0 |
Canal de comunicação utilizado para acesso equipamento Modbus (ex: COM1_PORT_ID) |
|
DMAP_ID |
Entrada |
USINT |
0 |
Id do mapeamento de dados associado aos canais de acesso aos equipaemntos remotos |
|
POLL_TME |
Entrada |
TIME |
T#40ms |
Tempo entre um ciclo de comunicação |
|
PACK_TME |
Entrada |
TIME |
T#20ms |
Tempo entre pacotes de comunicação |
|
CACHE |
Entrada/Saída |
INT |
[*] |
0 |
Cache de items a serem enviados ao equipamento remoto (deve ser fornecido um vetor de tipos INT) |
MODEM_TMO |
Entrada |
UINT |
180 |
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 |
|
MODEM_AUTH |
Entrada |
BOOL |
FALSE |
Flag se autentica (V1) no portal de telemetria da HI Tecnologia ao se conectar |
|
MODEM_SIMSTK |
Entrada |
BOOL |
FALSE |
Chip Multioperadora: habilita SIM ToolKit (default: false) |
|
MODEM_PIN |
Entrada/Saída |
STRING |
:* |
PIN do SIM CARD |
|
MODEM_APN |
Entrada/Saída |
STRING |
:* |
APN da operadora do chip de rede celular |
|
MODEM_USER |
Entrada/Saída |
STRING |
:* |
Usuário da operadora de rede celular |
|
MODEM_PASSW |
Entrada/Saída |
STRING |
:* |
Senha da operadora de rede celular |
|
MODEM_IP |
Entrada/Saída |
STRING |
:* |
Endereço IP remoto a ser acessado |
|
MODEM_PORT |
Entrada/Saída |
STRING |
:* |
Porta de escuta remota |
|
BRT_EV |
Saída |
INT |
0 |
Quando ativo, indica que uma nova transação de leitura do gateway modbus será iniciada. |
|
END_CYC |
Saída |
INT |
0 |
Quando ativo, indica que terminou um ciclo de aquisição de items nos equipamentos remotos |
|
RD_EV |
Saída |
BOOL |
FALSE |
Indica fim do processo de aquisição de um item no equipamento remoto (MODBUS) |
|
RD_CHG |
Saída |
BOOL |
FALSE |
Indica que a variavel adquirida é diferente do valor anterior presente na base global (MODBUS) |
|
RD_ID |
Saída |
INT |
-1 |
Id do item da última aquisição do equipamento remoto (MODBUS) |
|
RD_CID |
Saída |
INT |
-1 |
Id de comunicação da última leitura no equipamento remoto |
|
RD_CODE |
Saída |
INT |
0 |
Código de retorno da ultima recepção remota (MODBUS) |
|
WR_EV |
Saída |
BOOL |
FALSE |
Indica fim do processo de escrita de um item no equipamento remoto (MODBUS) |
|
WR_ID |
Saída |
INT |
-1 |
Id do item da última escrita no equipamento remoto (MODBUS) |
|
WR_CID |
Saída |
INT |
-1 |
Id de comunicação da última escrita no equipamento remoto |
|
WR_CODE |
Saída |
INT |
0 |
Código de retorno da ultima escrita no equipamento remoto (MODBUS) |
|
MODEM_RESULT |
Saída |
INT |
0 |
Resultado da operação do bloco de conexão via rede celular |
Entradas
EN_SCAN
Parâmetro de entrada associado ao bloco de função MDB_GATEWAY:EN_SCAN.
SKIP_RD
Parâmetro de entrada associado ao bloco de função MDB_GATEWAY:SKIP_RD.
DMAP_ID
Parâmetro de entrada associado ao bloco de função MDB_GATEWAYD:MAP_ID.
COMM_SRC
Parâmetro de entrada associado ao bloco de função MDB_GATEWAY:COMM_SRC.
POLL_TME
Parâmetro de entrada associado ao bloco de função MDB_GATEWAY:IPOLL_TME.
PACK_TME
Parâmetro de entrada associado ao bloco de função MDB_GATEWAY:IPACK_TME.
CACHE
Parâmetro de entrada/saída associado ou bloco de função MDB_GATEWAY:W_CACHE.
MODEM_TMO
Tempo em segundos para desconexão com o endereço de destino se não ouver troca de dados.
MODEM_SIMSTK
Parâmetro de entrada associado ao bloco de função MODEM_RNB_U3G:SIM_STK.
MODEM_PIN
Parâmetro de entrada associado ao bloco de função MODEM_RNB_U3G:PIN.
MODEM_APN
Parâmetro de entrada associado ao bloco de função MODEM_RNB_U3G:APN.
MODEM_USER
Parâmetro de entrada associado ao bloco de função MODEM_RNB_U3G:USER.
MODEM_PASSW
Parâmetro de entrada associado ao bloco de função MODEM_RNB_U3G:PASSW.
MODEM_IP
Parâmetro de entrada associado ao bloco de função MODEM_RNB_U3G:IP.
MODEM_PORT
Parâmetro de entrada associado ao bloco de função MODEM_RNB_U3G:PORT.
Saídas
BRT_EV
Parâmetro de saída associado ao bloco de função MDB_GATEWAY:BRT_EV.
END_CYC
Parâmetro de saída associado ao bloco de função MDB_GATEWAY:END_CYC.
RD_EV
Parâmetro de saída associado ao bloco de função MDB_GATEWAY:RD_EV.
RD_CHG
Parâmetro de saída associado ao bloco de função MDB_GATEWAY:RD_CHG.
RD_ID
Parâmetro de saída associado ao bloco de função MDB_GATEWAY:RD_ID.
RD_CID
Parâmetro de saída associado ao bloco de função MDB_GATEWAY:RD_ID.
RD_CODE
Parâmetro de saída associado ao bloco de função MDB_GATEWAY:RD_CODE.
WR_EV
Parâmetro de saída associado ao bloco de função MDB_GATEWAY:WR_EV.
WR_ID
Parâmetro de saída associado ao bloco de função MDB_GATEWAY:WR_ID.
WR_CID
Parâmetro de saída associado ao bloco de função MDB_GATEWAY:WR_ID.
WR_CODE
Parâmetro de saída associado ao bloco de função MDB_GATEWAY:WR_CODE.
MODEM_RESULT
Se diferente de zero, indica o código de erro obtido no processo de configuração ou conexão do modem celular.
Exemplo
Declaração de variáveis
Nome |
Classe |
Tipo |
Dimensão |
Valor Inicial |
Descrição |
|---|---|---|---|---|---|
START |
Local |
BOOL |
FALSE |
Start do bloco BRIDGE_CEL_MDB |
|
EN_SCAN |
Local |
BOOL |
TRUE |
Habilita o polling de dados do equipamento remoto modbus |
|
MODEM_PIN |
Local |
STRING |
:4 |
‘’ |
PIN do SIM Card da rede celular |
MODEM_APN |
Local |
STRING |
:31 |
‘apn.com’ |
APN do SIM Card da rede celular |
MODEM_USER |
Local |
STRING |
:15 |
‘user’ |
Usuário do SIM Card da rede celular |
MODEM_PASSW |
Local |
STRING |
:10 |
‘passw’ |
Senha do SIM Card da rede celular |
MODEM_IP |
Local |
STRING |
:40 |
‘54.227.237.88’ |
Endereço IP Portal de telemetria HI Tecnologia |
MODEM_PORT |
Local |
STRING |
:6 |
‘16795’ |
Porta do portal de telemetria da HI Tecnologia |
DEVS_CACHE |
Local |
INT |
[0..49] |
0 |
Cache de items a serem enviados ao equipamento remoto |
BRIDGE_CEL_MDB |
Local |
HILS.MDB_MDB_CEL_BRIDGE |
Instancia do bloco MDB_MDB_CEL_BRIDGE |
Código ST
BRIDGE_CEL_MDB( // MDB_MDB_CEL_BRIDGE
START := START, // [BOOL] Habilita operação do bloco
EN_SCAN := EN_SCAN, // [BOOL] Habilita o polling de dados do equipamento remoto
SKIP_RD := FALSE, // [BOOL] Quando habilitada imediatamente após um evento BRT_EV cancela a transação de leitura corrente
COMM_SRC := HILS.COM1_PORT_ID, // [USINT] Canal de comunicação utilizado para acesso equipamento Modbus (ex: COM1_PORT_ID)
DMAP_ID := 1, // [USINT] Id do mapeamento de dados associado aos canais de acesso aos equipaemntos remotos
POLL_TME := T#500ms, // [TIME] Tempo entre um ciclo de comunicação
PACK_TME := T#2s, // [TIME] Tempo entre pacotes de comunicação
CACHE := DEVS_CACHE, // [INT] Cache de items a serem enviados ao equipamento remoto (deve ser fornecido um vetor de tipos INT)
MODEM_TMO := 60, // [INT] 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
MODEM_SIMSTK := FALSE, // [BOOL] Chip Multioperadora: habilita SIM ToolKit (default: false)
MODEM_PIN := MODEM_PIN, // [STRING] PIN do SIM CARD
MODEM_APN := MODEM_APN, // [STRING] APN da operadora do chip de rede celular
MODEM_USER := MODEM_USER, // [STRING] Usuário da operadora de rede celular
MODEM_PASSW := MODEM_PASSW, // [STRING] Senha da operadora de rede celular
MODEM_IP := MODEM_IP, // [STRING] Endereço IP remoto a ser acessado
MODEM_PORT := MODEM_PORT // [STRING] Porta de escuta remota
);