Recurso de mapeamento de dados
O mapeamento de dados é um recurso disponível no HIstudio para permitir ao usuário especificar uma base de dados em um equipamento ou servidor externo a ser obtida e atualizada de forma automática pelos blocos de Gateways de comunicação e Bridges de comunicação disponíveis.
Utilizando este recurso, é possível criar Canais de mapeamento para os protocolos Modbus, MQTT e LoRa e mapear os dados a serem lidos e enviados para cada dispositivo.
Atenção
Lembre-se de configurar o Setup de comunicação do equipamento. Quando usar o canal de comunicação Ethernet deve-se configurar o Modo de Roteamento do socket como CLIENT.
Gateways de comunicação
Na Figura F1 está o esquema de funcionamento de um bloco gateway geral, cuja função é realizar a comunicação entre equipamentos em um determinado protocolo X (Modbus, MQTT ou LoRa). Para realizar essa comunicação são usados os Canais de mapeamento.
Fig. 50 F1 - Esquema de funcionamento do bloco gateway.
Neste esquema temos um controlador HI com um programa de aplicação utilizando o Bloco Gateway e o recurso de canal de mapeamento que permite mapear as variáveis globais exportadas que serão enviadas através do Gateway para um servidor ou equipamento remoto e também mapear as variáveis globais exportadas que serão recebidas de um servidor ou equipamento remoto através do Gateway.
Nota
Estão disponíveis no HIstudio os seguintes gateways de comunicação para acesso a leitura e escrita de dados:
Bridges de comunicação
Na Figura F2 está o esquema de funcionamento de um bloco bridge geral, cuja função é realizar a comunicação entre equipamentos com protocolos de comunicação diferentes, protocolo X e protocolo Y (Modbus, MQTT ou LoRa). Para realizar essa comunicação são usados os Canais de mapeamento.
Fig. 51 F2 - Esquema de funcionamento do bloco bridge.
Neste esquema temos um controlador HI com um programa de aplicação utilizando o Bloco Bridge e o recurso de canal de mapeamento. Diferente do Bloco Gateway, neste caso são necessários 2 canais de mapeamento (A e B), um para cada protocolo utilizado (protocolo X e protocolo Y), o que permite mapear as variáveis globais exportadas que serão enviadas e/ou recebidas por cada servidor ou equipamento remoto.
Nota
Estão disponíveis no HIstudio as seguintes bridges de comunicação para troca de dados entre dispositivos remotos:
Canais de mapeamento
Através dos Canais de mapeamento é possível mapear as variáveis globais exportadas com as variáveis ou tópicos do servidor ou equipamento remoto.
Pode ser criado mais de um canal de mapeamento como visto na figura a seguir:
Fig. 52 F3 - Tela dos Canais de mapeamento.
Cada canal de mapeamento possui sua própria identificação (Id. da estrutura de mapeamento) e pode ser configurado com um dos 3 protocolos disponíveis:
Para utilizar os Canais de mapeamento deve-se primeiro criar as variáveis globais exportadas, conforme a figura a seguir:
Fig. 53 F4 - Tela com destaque as variáveis globais exportadas.
Modbus
Para utilizar o canal de mapeamento com o protocolo Modbus basta configurar o campo Protocolo associado ao mapeamento em MODBUS e o campo Id. da estrutura de mapeamento.
Fig. 54 F5 - Tela de propriedades do canal de mapeamento em Modbus.
Na configuração do canal de mapeamento existem 3 abas para serem configuradas:
Dados recebidos
Fig. 55 F6 - Tela de configuração Modbus dos dados recebidos.
Cada variável especificada irá possuir um ID, que pode ser utilizado em blocos e funções para referenciar um dado recebido específico do canal de mapeamento.
Campo |
Descrição |
Índice |
Quando é usada variável do tipo VETOR esse campo representa o índice da variável que será recebida, quando é usada variável do tipo ESCALAR esse campo deve ser 0 (zero). |
Quant. |
Quando é usada variável do tipo VETOR esse campo representa a quantidade de variáveis a partir do campo Índice que serão recebidas, quando é usada variável do tipo ESCALAR esse campo não é utilizado. |
Com. Id |
ID Modbus de comunicação. |
Endereço Modbus da variável do equipamento remoto que está sendo mapeada. |
|
Acesso TCP/IP |
Quando usando canal de comunicação Ethernet esse campo representa o IP e Porta do equipamento remoto, quando usado canal de comunicação Serial esse campo não é utilizado. |
Descrição |
Texto obtido da descrição das variáveis globais. |
Dados enviados
Cada variável especificada irá possuir um ID, que pode ser utilizado em blocos e funções para referenciar um dado enviado específico do canal de mapeamento.
Fig. 56 F7 - Tela de configuração Modbus dos dados enviados.
Campo |
Descrição |
Índice |
Quando é usada variável do tipo VETOR esse campo representa o índice da variável que será enviada, quando é usada variável do tipo ESCALAR esse campo deve ser 0 (zero). |
Na Inic. |
Opção de enviar a variável mapeada ao inicializar o bloco Gateways de comunicação ou Bridges de comunicação através do parâmetro START dos blocos. |
Na Alteração |
Opção de enviar a variável mapeada quando a variável é alterada. Usado somente no bloco Bridges de comunicação. |
Por tempo |
Opção de enviar a variável mapeada a cada intervalo de tempo configurado pelo campo Tempo. |
Tempo |
Valor de tempo configurado para enviar a variável mapeada. |
Quant. |
Quando é usada variável do tipo VETOR esse campo representa a quantidade de variáveis a partir do campo Índice que serão enviadas, quando é usada variável do tipo ESCALAR esse campo não é utilizado. |
Com. Id |
ID Modbus de comunicação. |
Endereço Modbus da variável do equipamento remoto que está sendo mapeada. |
|
Acesso TCP/IP |
Quando usando canal de comunicação Ethernet esse campo representa o IP e Porta do equipamento remoto, quando usado canal de comunicação Serial esse campo não é utilizado. |
Descrição |
Texto obtido da descrição das variáveis globais. |
Endereço remoto
As variáveis exportadas são especificadas utilizando endereços MODBUS nos seguintes formatos:
%Mnx - Este formato permite a leitura e escrita da memória associada ao endereço.
% |
caractere que denota um endereço |
M |
caractere que indica que este endereço referencia uma memória interna do equipamento |
n |
identificador do tamanho do tipo de dado da variável associada ao endereço |
x |
número que identifica a variável associada |
Por exemplo: %MW25 (Endereçamento de memória interna de tamanho igual a 16 bits e endereço 25).
%Inx - Este formato permite a leitura da entrada associada ao endereço.
% |
caractere que denota um endereço |
I |
caractere que indica que este endereço referencia uma entrada do equipamento |
n |
identificador do tamanho do tipo de dado da variável associada ao endereço |
x |
número que identifica a variável associada |
Por exemplo: %IX25 (Endereçamento de entrada digital de tamanho igual a 1 bit e endereço 25).
Nota
A partir da versão 2.2.12 do HIstudio é possível especificar um Endereço no formato Hexadecimal.
O valor 50 em decimal é equivalente ao valor 32 em hexadecimal. Dessa forma, para representar o endereço %MW50 em hexadecimal devemos especificar da seguinte forma: %MW16#32
Acesso ethernet
Fig. 57 F8 - Tela de configuração Modbus do acesso ethernet.
Campo |
Descrição |
IP remoto |
Quando usando canal de comunicação Ethernet esse campo representa o IP do equipamento remoto, quando usado canal de comunicação Serial esse campo não é utilizado. |
Porta Ethernet |
Quando usando canal de comunicação Ethernet esse campo representa a porta do equipamento remoto, quando usado canal de comunicação Serial esse campo não é utilizado. |
MQTT
Para utilizar o canal de mapeamento com o protocolo MQTT basta configurar o campo Protocolo associado ao mapeamento em MQTT-CLIENT e o campo Id. da estrutura de mapeamento. Além disso é possível configurar o Prefixo global dos tópicos subscritos e Prefixo global dos tópicos publicados (Ex.: Casa/Quarto/Aquario/).
Fig. 58 F9 - Tela de propriedades do canal de mapeamento em MQTT.
Na configuração do canal de mapeamento existem 2 abas para serem configuradas: Tópicos subscritos e Tópicos publicados.
Fig. 59 F10 - Tela de configuração MQTT dos tópicos subscritos.
Campo |
Descrição |
Índice |
Quando é usada variável do tipo VETOR esse campo representa o índice da variável que será subscrita, quando é usada variável do tipo ESCALAR esse campo deve ser 0 (zero). |
Tópico |
Nome do Definição de Tópicos MQTT que será subscrito (Assinatura de tópicos). Limite 80 caracteres. |
QOS: |
Nível de Qualidade de serviço - QoS que define a garantia de entrega de uma mensagem específica. |
Subs. |
Opção de subscrição, quando habilitado subscreve no tópico mapeado. |
Descrição |
Obtida da descrição das variáveis globais. |
Fig. 60 F11 - Exemplo de subscrição utilizando Curingas (Wildcards).
Quando o tópico utiliza Curingas (Wildcards) deve-se subscrever apenas o tópico com o Wildcard, os demais tópicos derivados de interesse devem ser incluídos para serem mapeados com as variáveis globais exportadas, mas não devem ser subscritos novamente.
Fig. 61 F12 - Tela de configuração MQTT dos tópicos publicados.
Campo |
Descrição |
Índice |
Quando é usada variável do tipo VETOR esse campo representa o índice da variável que será publicada, quando é usada variável do tipo ESCALAR esse campo deve ser 0 (zero). |
Na Inic. |
Opção de publicar a variável mapeada ao inicializar o bloco Gateways de comunicação ou Bridges de comunicação através do parâmetro START dos blocos. |
Na Alteração |
Opção de publicar a variável mapeada quando a variável é alterada. Usado somente no bloco Bridges de comunicação. |
Por tempo |
Opção de publicar a variável mapeada a cada intervalo de tempo configurado pelo campo Tempo. |
Tempo |
Valor de tempo configurado para publicar a variável mapeada. |
Tópico |
Nome do Definição de Tópicos MQTT que será publicado (Publicação de Tópicos). Limite 80 caracteres. |
QOS: |
Nível de Qualidade de serviço - QoS que define a garantia de entrega de uma mensagem específica. |
Retain |
Opção de Mensagens Retidas(Retained Messages) que serve para sinalizar ao Broker MQTT salvar a última mensagem publicada por esse tópico. |
Decimais |
Quando usada variável do tipo REAL esse campo representa o número de casas decimais. Limite 6 casas decimais. |
Descrição |
Obtida da descrição das variáveis globais. |
LoRa
Para utilizar o canal de mapeamento com o protocolo LoRa basta configurar o campo Protocolo associado ao mapeamento em LORA e o campo Id. da estrutura de mapeamento.
Fig. 62 F13 - Tela de propriedades do canal de mapeamento em LoRa.
Na configuração do canal de mapeamento existem 2 abas para serem configuradas: Dados recebidos e Dados publicados.
Fig. 63 F14 - Tela de configuração LoRa dos dados recebidos.
Campo |
Descrição |
Índice |
Quando é usada variável do tipo VETOR esse campo representa o índice da variável que será recebida, quando é usada variável do tipo ESCALAR esse campo deve ser 0 (zero). |
Tópico |
Nome do tópico que será recebido. Limite 80 caracteres. |
Porta |
Número da porta do protocolo LoRa. |
Descrição |
Obtida da descrição das variáveis globais. |
Fig. 64 F15 - Tela de configuração LoRa dos dados publicados.
Campo |
Descrição |
Índice |
Quando é usada variável do tipo VETOR esse campo representa o índice da variável que será publicada, quando é usada variável do tipo ESCALAR esse campo deve ser 0 (zero). |
Na Inic. |
Opção de publicar a variável mapeada ao inicializar o bloco Gateways de comunicação ou Bridges de comunicação através do parâmetro START dos blocos. |
Na Alteração |
Opção de publicar a variável mapeada quando a variável é alterada. Usado somente no bloco Bridges de comunicação. |
Por tempo |
Opção de publicar a variável mapeada a cada intervalo de tempo configurado pelo campo Tempo. |
Tempo |
Valor de tempo configurado para publicar a variável mapeada. |
Tópico |
Nome do tópico que será publicado. Limite 80 caracteres. |
Porta |
Número da porta do protocolo LoRa. |
Decimais |
Quando usada variável do tipo REAL esse campo representa o número de casas decimais. Limite 6 casas decimais. |
Descrição |
Obtida da descrição das variáveis globais. |