Como Criar Modelos e Instâncias

Introdução

Este tutorial tem como objetivo descrever a criação e configuração de modelos e instâncias. Neste caso modelo corresponde a uma representação ou uma visão de um sistema e/ou processo. Em teoria de modelos um modelo é uma estrutura composta por um conjunto universo e por constantes, relações e funções definidas neste conjunto universo. O conceito de modelo aplicado ao contexto de sistema de supervisão está associado a uma representação de um sistema e/ou processo, permitindo “modelar” sistemas, processos, máquinas, etc. e posteriormente criar instâncias destes modelos para serem supervisionadas e/ou controladas pelo sistema supervisório.

A ideia deste tutorial baseia-se em monitorar e alterar o valor de algumas variáveis(Nome, Nível, Pressão, Temperatura e ligar/desligar uma Bomba) de três Tanques idênticos presentes em uma planta.

Compatibilidade

As funcionalidades descritas neste tutorial estão disponíveis para o ambiente HIscada Pro , versões superiores a 1.3.xx.

Nota

O pacote HIscada Pro, bem como a sua documentação podem ser obtidos gratuitamente em sua página HIscadaPro.

Recursos Necessários

Para criação e execução de projetos é necessário a instalação do ambiente HIscada Pro. Para tal, acesse o Manual de Instalação do HIscada Pro com os passos para a instalação do pacote.

  • IDE: Ambiente de desenvolvimento integrado para criação e teste da aplicação de supervisão e controle.


  • Kernel: Aplicativo servidor do sistema supervisório. Responsável pela conexão com os equipamentos de campo via servidor OPC, o Kernel mantém um banco de dados para a aplicação corrente efetuando toda gerencia de alarmes, eventos, histórico de dados, scripts etc. Pode rodar em uma máquina servidora (como um processo do windows) ou no mesmo computador utilizado pelo usuário do ambiente. O kernel também pode ser instalado com a funcionalidade adicional de servidor OPC.


  • Viewer: Aplicativo responsável por apresentar e gerenciar toda interface (telas) disponível para o usuário final do sistema. Integra recursos para autenticação de usuários, apresentação das telas da aplicação, gerencia de alarmes, trends online, históricos, acesso a bancos de dados externos etc.


Para mais informações sobre os aplicativos consulte o Manual do HIscada Pro.

Neste tutorial onde se pretende criar e executar um projeto, serão utilizados os aplicativos IDE para criação e configuração do projeto, o aplicativo Kernel para a execução do mesmo e por fim o aplicativo Viewer para visualização da tela da aplicação.

Criação e configuração de um modelo

Para configuração de um modelo, inicialmente é necessário abrir um projeto ou criar um novo no ambiente do IDE. Para isso, acesse o Tutorial para criação de Projetos no HIscada Pro, onde contém os passos para se criar um projeto ou acesse o Tutorial para instalação de uma aplicação desenvolvida no HIscada Pro no qual contém uma seção com os passos para se Importar um projeto.

Neste tutorial será partido do princípio que foi criado um novo projeto.

Portanto, a partir do projeto criado e aberto no ambiente do IDE, para configurar um modelo, tem-se os seguintes passos:

Criar um Modelo

  • Selecione o item “Models” na árvore de projeto:

../_images/models_item.jpg

Fig. Seleção do Item Model na árvore de projeto

  • Adicione um modelo. Clique com o botão direito do mouse sobre o Item “Models” e clique na opção “Adiciona Item”, “Model”, conforme a figura abaixo:

../_images/adiciona_model.jpg

Fig. Adiciona um novo modelo ao item Models

  • Altere o nome do modelo adicionado para “Model_Tanque”, conforme figura abaixo:

../_images/model_tanque_prop.jpg

Fig. Alterando nome do modelo

Criar Tags do modelo

Neste item do tutorial vamos criar e configurar os Tags(Nome do Tanque, Nível, Pressão, Temperatura e Bomba) que serão comuns para o modelo genérico Tanque. Poderiam ser criados neste item também Históricos, Scripts, Timers, tags OPC, etc. Para simplificação, vamos criar apenas Tags Locais.

  • Selecione na árvore de projeto o item “Tags” pertencente ao modelo criado “Model_Tanque”. Adicione o grupo de tags “TagLocalGroup_Tanque” e em seguida adicione os Tags para o modelo, conforme a figura abaixo:

../_images/tag_local_nome.jpg

Fig. Criando tag para o nome do tanque

../_images/tag_local_pressao.jpg

Fig. Criando tag para a pressão do tanque

../_images/tag_local_nivel.jpg

Fig. Criando o tag para o nível do tanque

../_images/tag_local_temperatura.jpg

Fig. Criando Tag para a temperatura do tanque

../_images/tag_local_bomba.jpg

Fig. Criando Tag para a bomba do tanque

Criação e configuração de instâncias

Uma vez criado o modelo, podemos criar instâncias do mesmo. Neste tutorial serão criadas três instâncias referenciando o modelo Tanque(Model_Tanque). Note que as instâncias herdam os itens do modelo associado à mesma.

  • Selecione o item “Instances” na árvore de projeto, adicione um grupo de instâncias e em seguida crie e configure três instâncias no mesmo, conforme figura abaixo:

../_images/config_instancias.jpg

Fig. Criação e configuração de instâncias

Visualizar Dados das Instâncias

Para visualização da informações das instâncias será utilizado o objeto de tela do tipo “Grid”. Assim, se tem em uma única tela da aplicação, os dados de todas as instâncias que estejam habilitadas no projeto.

Criação e configuração de Tabela Modelo

Neste item, será criada uma tabela referenciada ao modelo Tanque(Model_Tanque), onde cada linha desta tabela representará uma instância e cada coluna representará uma informação de uma determinada instância. As linhas da tabela são automaticamente cridas em tempo de execução para cada instância do modelo referenciado à tabela. Já as colunas devem ser configuradas manualmente pelo usuário, determinando-se quais informações deseja inserir na tabela.

  • Selecione o item “Tables” na árvore de projeto, adicione o item “TableModel”, conforme figura abaixo:

../_images/item_tables.jpg

Fig. Adicionando item TableModel

  • Selecione o item “TableModel” adicionado, altere o nome para “TableModel_Tanque” e associe o modelo “Model_Tanque” à propriedade “ Modelo de referência”, conforme figura abaixo:

../_images/table_model_prop.jpg

Fig. Alterando as propriedades do item TableModel

  • Adicione as colunas ao item “TableModel_Tanque” e configure conforme figura abaixo. Estas colunas representam as informações das instâncias que se quer apresentar ao usuário.

../_images/col_nome_prop.jpg

Fig. Configurando as propriedades da coluna Nome

../_images/col_nivel_prop.jpg

Fig. Configurando as propriedades da coluna Nível

../_images/col_pressao_prop.jpg

Fig. Configurando as propriedades da coluna Pressão

../_images/col_temp_prop.jpg

Fig. Configurando as propriedades da coluna Temperatura

../_images/col_temp_bomba.jpg

Fig. Configurando as propriedades da coluna Bomba

Criação e configuração de Grid

Neste item, será criado e configurado um componente do tipo grid (Grid_Tanque) na tela inicial (Screen_Inicial). Este grid apresentará todas as instâncias configuradas e que estejam habilitadas, bem como suas respectivas informações(Nome, Nível, Pressão, Temperatura e Bomba).

  • Selecione o item “Screen_001” na árvore de projeto, conforme figura abaixo:

../_images/item_screen.jpg

Fig. Seleção item Screen_001

  • Altere as propriedades do item “Screen_001”, conforme figura abaixo:

../_images/scr_inicial_prop.jpg

Fig. Propriedades da tela inicial

  • Adicione a tela “Screen_Inicial” o componente do tipo Grid, conforme figura abaixo:

../_images/adiciona_grid.jpg

Fig. Adiciona grid à tela inicial

  • Altere as propriedades do grid, conforme figura abaixo:

../_images/grid_prop.jpg

Fig. Configuração propriedades do grid

  • Adicione as quatro colunas referentes as informações dos tanques no grid, conforme figura abaixo:

../_images/adiciona_grid_column.jpg

Fig. Adiciona coluna no grid

  • Configure as propriedades das colunas do grid, conforme figura abaixo:

../_images/grid_col_nome_prop.jpg

Fig. Configuração da coluna Nome no grid

../_images/grid_col_nivel_prop.jpg

Fig. Configuração da coluna Nível no grid

../_images/grid_col_pressao_prop.jpg

Fig. Configuração da coluna Pressão no grid

../_images/grid_col_temp_prop.jpg

Fig. Configuração da coluna Temperatura no grid

../_images/grid_col_temp_bomba.jpg

Fig. Configuração da coluna Bomba no grid

Criação de tela de configuração dos Tags das instâncias

  • Adicione e configure uma nova tela “Screen_Configuracao”, conforme figura abaixo:

../_images/scr_config_prop.jpg

Fig. Propriedades da tela Screen_Configuração

  • Adicione um item “RefModel” à tela “Screen_Configuracao”, conforme figura abaixo:

../_images/adiciona_ref_model.jpg

Fig. Adiciona item RefModel

  • Altere o nome e associe o modelo “Model_Tanque” ao item “RefModel”, conforme figura abaixo:

../_images/ref_model_prop.jpg

Fig. Propriedades do item RefModel

  • Adicione quatro itens do tipo “Edit”, tres do tipo “Button”, um do tipo “StaticText” e um do tipo “TextList” à tela “Screen_Configuracao” e altere as propriedades conforme figura abaixo:

../_images/edit_nome_prop.jpg

Fig. Propriedades do item Edit_Nome

../_images/edit_nivel_prop.jpg

Fig. Propriedades do item Edit_Nivel

../_images/edit_pressao_prop.jpg

Fig. Propriedades do item Edit_Pressão

../_images/edit_temp_prop.jpg

Fig. Propriedades do item Edit_Temperatura

../_images/btn_voltar_prop.jpg

Fig. Propriedades do item Button_Voltar

../_images/txt_status.jpg

Fig. Propriedades do item StaticText_Bomba

../_images/lista_txt_status.jpg

Fig. Propriedades do item TextList_Status

../_images/btn_liga_prop.jpg

Fig. Propriedades do item Button_liga

../_images/obj_liga_prop.jpg

Fig. Propriedades do item ObjAction_liga

../_images/btn_desliga_prop.jpg

Fig. Propriedades do item Button_desliga

../_images/obj_desliga_prop.jpg

Fig. Propriedades do item ObjAction_desliga

Criação um texto global

  • Selecione na árvore de projeto o item “GlbTextLists” em “Globals”.

  • Adicione o grupo de tags “GlbTextListGroup_001”, conforme a figura abaixo:

../_images/grupo_txt.jpg

Fig. Adiciona um grupo de texto global

  • Adicione dois texto na “GlbTextList_001”, conforme a figura abaixo:

../_images/texto_txt.jpg

Fig. Adicionar dois texto

../_images/texto_desligada.jpg

Fig. Adicionar texto desligada

../_images/texto_ligada.jpg

Fig. Adicionar texto ligada

Associação do texto global aos componentes de tela

  • Selecione o componente “TextList_Status” da “Screen_Configuracao” e associe nas Propriedades Específicas

  • “Identificador de lista de texto” a lista de texto global “GlbTextList_Bomba”, conforme figura abaixo:

../_images/associacao_txt_global.jpg

Fig. Associação do texto global

Criação de scripts para navegação entre telas

Script para abrir tela associada a um modelo

  • Adicione um novo script no “Viewers” e altere o nome para “Script_AbreTelaConfiguracao”, conforme figura abaixo:

../_images/script_abre_tela_config.jpg

Fig. Adiciona script para abertura de tela

  • Edite o script “Script_AbreTelaConfiguracao” e insira o código conforme abaixo:

-- Comando Screens.Open informando dinâmicamente qual a instância que deverá ser exibidos os dados
-- RefModel_Tanque = Nome da referencia criada na Tela Screen_Configuracao para o modelo Model_Tanque
-- CellInstance.Group e CellInstance.Name representam o caminho completo para instância selecionada no Grid


local ret = Screens.Open("Screen_Configuracao","Viewers.Screens.ScreenGroup_001.Screen_Configuracao",
RefModel_Tanque = CellInstance.Group .. "." .. CellInstance.Name)

Script para fechar tela

  • Adicione um novo script no “Viewers” e altere o nome para “Script_FechaTelaConfiguracao”, conforme figura abaixo:

../_images/fecha_tela_config.jpg

Fig. Adiciona script para fechar tela

  • Edite o script “Script_FechaTelaConfiguracao” e insira o código conforme abaixo:

-- Obtém a tela que chamou o evento
local scr = Sender.Screen
-- Fecha a tela
local ret = Screens.Close(scr.Name)

Associação de scripts aos componentes de tela

  • Selecione o componente “Grid_Tanque” da “Tela_Inicial” e associe ao seu evento “On Click” o script para abrir a tela de configuração, conforme figura abaixo:

../_images/grid_on_click.jpg

Fig. Associa script ao evento On Click do Grid_Tanque

  • Selecione o componente “Button_Voltar” da “Tela_Configuracao” e associe ao seu evento “On Click” o script para abrir a tela de configuração, conforme figura abaixo:

../_images/button_on_click.jpg

Fig. Associa script ao evento On Click do Button_Voltar

Executando o projeto

  • Execute o projeto conforme figura abaixo:

../_images/executa_projeto.jpg

Fig. Executa o projeto

  • Exibição das informações das instâncias dos três tanques na tela principal:

../_images/tela_inicial.jpg

Fig. Tela inicial com informações das três instâncias de tanque

  • Clique em qualquer linha do grid e a tela de configuração será aberta exibindo os valores da instância de tanque selecionada:

../_images/tela_config.jpg

Fig. Tela de configuração dos dados das instâncias|

Nota

Adicione novas instâncias ao projeto, execute novamente e verifique que os dados dos novos tanques serão exibidos na tela inicial, bem como podem ser alterados seus valores na tela de configuração.

Anexos

O Link abaixo disponibiliza o projeto do HIscada Pro com o resultado final da execução deste tutorial. Para utilizá-lo, basta importar este projeto no ambiente do IDE. Para isso acesse o Tutorial para instalação de uma aplicação desenvolvida no HIscada Pro para obter as instruções de como importar um projeto no ambiente do IDE.

Projeto HIscada Pro: TutorialCriaModeloInstancia