MDB_MDB_QC1_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 4G 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 MDB_QC1). Quando esta conexão é estabelecida o equipamento se mantem conectado com o IP operando com protolo MODBUS-TCP ou MODBUS-RTU.

Adicionalmente habilita o bloco de MDB_GATEWAY para leitura e escrita dos dados refenciados 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.

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.

A entrada START deve permanecer em nível alto durante a execução do bloco. Os itens a seguir detalham o funcionamento do bloco.

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_MDB_CEL_BRIDGE

Bloco

                   MDB_MDB_QC1_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
           |                                |
  BOOL ----|MODEM_AUTH                 WR_EV|---- BOOL
           |                                |
  BOOL ----|MODEM_SYNC_RTC             WR_ID|---- INT
           |                                |
  UINT ----|MODEM_TMO                 WR_CID|---- INT
           |                                |
STRING ----|MODEM_ID_ON_CONN         WR_CODE|---- INT
           |                                |
           |                    MODEM_RESULT|---- INT
           |                                |
           |                   MODEM_DATA_EV|---- BOOL
           |                                |
STRING ----|MODEM_PIN --------------------- |----
           |                                |
STRING ----|MODEM_APN --------------------- |----
           |                                |
STRING ----|MODEM_USER -------------------- |----
           |                                |
STRING ----|MODEM_PASSW ------------------- |----
           |                                |
STRING ----|MODEM_IP ---------------------- |----
           |                                |
STRING ----|MODEM_PORT -------------------- |----
           |                                |
   INT ----|CACHE ------------------------- |----
           +--------------------------------+

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

MODEM_AUTH

Entrada

BOOL

FALSE

Flag se autentica (V1) no portal de telemetria da HI Tecnologia ao se conectar

MODEM_SYNC_RTC

Entrada

BOOL

FALSE

Flag para sincronizar o relógio calendário do controlador (pela rede celular)

MODEM_TMO

Entrada

UINT

180

Tempo em segundos para remover a conexão da rede celular caso nao ocorra troca de dados

MODEM_ID_ON_CONN

Entrada

STRING

:20

String de “Envia ID na conexão”, vazia se opção não habilitada [tamanho_max = 20]

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

CACHE

Entrada/Saída

INT

[*]

0

Cache de items a serem enviados ao equipamento remoto (deve ser fornecido um vetor de tipos INT)

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

MODEM_DATA_EV

Saída

BOOL

FALSE

Evento de troca de dados pela 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 da rede celular se não houver troca de dados.

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.

ID_ON_CONN

Parâmetro de entrada associado ao bloco de função MODEM_QC1:ID_ON_CONN.

MODEM_PIN

Parâmetro de entrada associado ao bloco de função MODEM_QC1:PIN.

MODEM_APN

Parâmetro de entrada associado ao bloco de função MODEM_QC1:APN.

MODEM_USER

Parâmetro de entrada associado ao bloco de função MODEM_QC1:USER.

MODEM_PASSW

Parâmetro de entrada associado ao bloco de função MODEM_QC1:PASSW.

MODEM_IP

Parâmetro de entrada associado ao bloco de função MODEM_QC1:IP.

MODEM_PORT

Parâmetro de entrada associado ao bloco de função MODEM_QC1: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

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.

DATA_EV

Pulso que sinaliza que ocorreu troca de dados pelo canal do modem.

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

STR_ID_OPEN

Local

STRING

:20

‘’

String de “Envia ID na conexão”,

BRIDGE_CEL_MDB

Local

HILS.MDB_MDB_QC1_BRIDGE

Instancia do bloco MDB_MDB_QC1_BRIDGE

Clique aqui para baixar a tabela de variáveis

Código ST

BRIDGE_CEL_MDB(  // MDB_MDB_QC1_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
  MODEM_AUTH   := TRUE,              // [BOOL] Flag se autentica (V1) no portal de telemetria da HI Tecnologia ao se conectar
  MODEM_TMO    := 60,                // [INT] Tempo em seg para timeout de desconexão com end destino (tempo para fechar a conexão com rede celular por inatividade)
  MODEM_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_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
  CACHE        := DEVS_CACHE,        // [INT] Cache de items a serem enviados ao equipamento remoto (deve ser fornecido um vetor de tipos INT)
  );