O acesso a bases de dados é fundamental em diversos sistemas corporativos e industriais. Os bancos de dados são utilizados para armazenar valores de grandezas, dados de usuários, dados de produtos, pedidos, planos de produção e diversos outros tipos de dados.
No mercado de automação, os bancos de dados são utilizados para inúmeras finalidades, em diversos níveis da pirâmide de automação, e não somente em sistemas de gestão com PIMS, MES, BI, ERP, etc.
Neste contexto, o acesso a banco bases de dados é uma funcionalidade fundamental em softwares SCADA para automação de plantas industriais. Estes softwares trabalham naturalmente com bases de dados para armazenar as informações relacionadas à supervisão, alarmes, eventos, etc. Contudo existem ferramentas que permitem manipular quaisquer bases de dados através das aplicações criadas nos softwares SCADA. Sendo assim, é possível que estes sistemas interajam diretamente com outros sistemas da companhia acessando seus bancos de dados ou fornecendo dados do processo industrial para os níveis gerenciais.
O BluePlant é um software SCADA que possui todos estes recursos de acesso a banco de dados. Estas funcionalidades permitem armazenar, consultar dados nativos do processo de supervisão e controle, mas também acesso a banco de dados para propósitos em geral. Este documento trata de acesso a banco de dados, utilizando como exemplo a ferramenta de gerenciamento de banco de dados MySQL.
Descrição
Este documento tem como objetivo esclarecer a utilização do recurso de base de dados em um projeto com o software SCADA BluePlant. O exemplo de aplicação utilizado visa estabelecer a comunicação entre o BluePlant com o banco de dados MySQL, permitindo ler e escrever dados.
O MySQL é um sistema de gerenciamento de banco de dados muito popular. Ele foi criado na Suécia e atualmente ele foi adquirido pela Sun Microsystems. É software livre com base na licença GPL e possui como principias características:
- Portabilidade
- Compatibilidade com diversos drivers e linguagens
- Ótimo desempenho e estabilidade
- Facilidade de manuseio
- Baixa exigência de requisitos de hardware
O projeto irá manipular uma base de dados criada no gerenciador do banco para demonstrar a possibilidade de manipulação de bases de propósito geral.
1. Definição da Arquitetura de Referência
Este documento tem como objetivo apresentar um exemplo de como estabelecer a comunicação entre o BluePlant com o banco de dados MySQL, de modo a ler e escrever dados.
Material Utilizado no Exemplo
Para a execução deste exemplo foram utilizados os seguintes softwares:
- XAMPP Version 7.0.4
- Drivers ODBC 5.3
- BluePlant
2. Criando o Banco de Dados
O banco de dados pode ser criado através de vários métodos, neste exemplo será utilizado o PhpMyAdmin, que é uma ferramenta web, disponível com a instalação de um servidor de aplicações, que neste caso foi utilizado o XAMPP.
3. Instalando o XAMPP
O servidor utilizado neste exemplo foi o XAMPP, que está disponível para download no seguinte link: https://www.apachefriends.org/pt_br/download.html
Após executado o download e instalação do arquivo, este deve ser inicializado para que seja possível iniciar os módulos Apache e MySQL do mesmo, clicando nos botões "Start" referentes a estes módulos, apresentados na Figura 1.
Figura 1. Interface do XAMPP
Nota:
Caso o Apache não seja inicializado por concorrência de porta, clique no botão "Config" e altere o número da porta Listen, exemplo: 8080.
Após os módulos Apache e MySQL estarem em execução, como apresentado na figura abaixo, clicar no botão "Admin" referente ao MySQL, que abrirá o PHPMyAdmin.
Nota:
Caso tenha trocado a porta Listen, conforme nota anterior para porta 8080, ao clicar no botão "Admin", a página que irá abrir deverá ter seu endereço alterado manualmente para http://localhost:8080/phpmyadmin/.
Figura 2. Apache e MySQL em Execução
Figura 3. Apache e MySQL em Execução
4. Uso do PHPMyAdmin
Neste capítulo, será abordada a criação e configuração de um banco de dados utilizando a ferramenta PHPMyAdmin.
Após aberto o PHPMyAdmin, clicar na aba "Base de Dados", como apresentado na Figura 4.
No campo "Criar base de dados" preencher com o nome da base de dados que se deseja criar, no caso foi usado Tutorial_BluePlant, então clique no botão "Criar", para que a base seja efetivamente criada.
Figura 4. Nova Base de Dados
Depois de criada a base de dados, é aberto o ambiente onde o usuário deverá criar as tabelas necessárias em sua base de dados, para isso deve preencher o campo "Nome" com o nome da Tabela e selecionar a quantidade de colunas no campo "Número de colunas", conforme apresentado na Figura 5.
Neste exemplo o nome da tabela é Tags e a quantidade de colunas usada é 2. Após clicar em "Executar" para que a tabela seja criada.
Figura 5. Adição de Tabelas na Base de Dados
O próximo passo é a edição das colunas desta tabela, que foram criadas junto com a tabela, no passo anterior. Para isso, o usuário deve preencher os campos apresentados na Figura 6.
Neste exemplo foram criadas duas colunas, a ID, do tipo inteiro (INT) e a Valor do tipo VARCHAR. Se for necessário adicionar mais colunas, deve ser preenchido o número de colunas que se deseja adicionar no campo "Add" e depois clicar em "Executar".
Figura 6. Adição de Colunas
Depois de concluída a edição das colunas, clique em "Guarda", então será exibida a tela na Figura 7.
Figura 7. Edição da Base de Dados
5. Configurando o Driver ODBC
A conexão com a base de dados é mediada por um driver ODBC ( Open Database Connectivity). Esse driver possibilita a conexão entre diferentes SGBDs (Sistemas Gerenciador de Banco de Dados). Na sequência veremos como instalar e configurar a conexão ODBC do MySQL no Blueplant. Os drivers podem ser baixados em: http://dev.mysql.com/downloads/connector/odbc/
Após executado o download e instalação do arquivo, deve ser realizada a configuração da conexão ODBC no sistema operacional. Então, acesse o painel de controle e exiba todos os itens. Selecione as ferramentas administrativas e abra as Fontes de Dados ODBC.
Figura 8. Administrador de Fonte de Dados ODBC
Abra a aba "Fonte de dados de sistema" e clique em "Adicionar...", que abrirá a janela apresentada na Figura 9. Onde o Driver "MySQL ODBC ANSI" deve ser selecionado, após clicar em "Concluir".
Figura 9. Criando nova Fonte de Dados
A janela apresentada na Figura 10 é aberta neste momento para configurar a conexão do banco de dados criado nos passos anteriores. O nome da fonte de dados, no campo "Data Source Name" será usado novamente no BluePlant. Nos campos "TCP/IP Server" e "Port" vão respectivamente o endereço IP do servidor e a porta utilizada. Em "User" e "Password" vão os dados de usuário e senha do servidor MySQL e no campo "Database" deve ser selecionada a base de dados criada nos passos anteriores.
Após o preenchimento dos dados pode ser realizado o teste do funcionamento da conexão, clicando em "Test". Para concluir a configuração pressione "OK", para abortar "Cancel".
Figura 10. Configuração da Conexão MySQL do BluePlant
6. Criando um Projeto com o BluePlant
Ao executar o software BluePlant é aberto um ambiente de gerenciamento dos projetos. Neste é possível editar projetos existentes, atualizar licenças ou criar novos projetos. Para a criação de um projeto novo deve-se selecionar a opção "New Project...", que abrirá opções de configuração do projeto a ser criado, como apresentado na Figura 11.
Figura 11. Gerenciador de Projetos BluePlant – New Project
O campo "Name" deve ser preenchido com o nome que se deseja dar ao projeto, no caso foi escolhido Databases-MySQL, então o usurário deve clicar em "Create New Project" para que o projeto seja criado e aberto para edição, ou "<
7. Edição do Projeto no BluePlant
Após aberto o ambiente de edição de projetos do BluePlant, o usuário deverá criar as Tags necessárias para este projeto. Então deve clicar na opção "Edit", no item "Tags" e então na aba "Objects", como apresentado na Figura 12.
Figura 12. Adicionando Tags ao Projeto
Então deve ser preenchida a coluna "Name" com o nome da variável e a coluna "Type" com o tipo de dado que a variável terá, após para a adição da Tag é necessário dar um comando de "Enter" com o teclado. No exemplo foram criadas as Tags TAG1, TAG2 e TAG3 do tipo AnalogInt.
8. Configuração do Banco de Dados do BluePlant
O próximo passo é a configuração do banco de dados, na opção "Edit", no item "Datasets" e então na aba "DBs", como apresentado na Figura 13.
Figura 13. Configuração da Base de Dados
Na caixa de seleção "Avaliable Providers" desse-se selecionar a opção "Odbc Data Provider" e clicar em "Create New..." que abrirá a seguinte janela.
Figura 14. Janela Create new Database Connection
No campo "Database" desta janela deve ser selecionada a opção "ODBC using DSN", após deve ser clicado em "OK" para continuar a adição do banco de dados ou "Cancel" para interromper o processo.
Após, a base de dados esta será adicionada como uma linha na tabela de edição da base de dados, clicar na coluna "ConnectionString" e na opção "DSN" colocar o nome dado ao Data Source em uma das etapas anteriores, Blueplant_MySQL. O botão "Test" serve para verificar se a conexão com a base de dados está funcionando.
Figura 15. ConnectionString
Com a conexão com o MySQL funcionando, o próximo passo é criar mais um componente para manipular os dados do banco através do ambiente de código nas telas e nos scripts. Para isso vamos criar uma consulta, através da aba "Queries", conforme apresentado na Figura 16.
Figura 16. Edição de Query
O campo "Name" se refere ao nome que será dado a consulta dentro do software BluePlant, para o exemplo foi usado mysql. No campo "DB" deve ser selecionada a base de dados adicionada nos passos anteriores.
Uma vez estabelecida a conexão, podemos realizar operações no banco através de expressões SQL no ambiente de script. Dessa forma podemos ler dados do banco para exibir na interface do supervisório, ou utilizar esses dados para disparar alguma ação.
Também podemos gerar logs do sistema que serão gravados diretamente na base externa. Na sequência vamos passar o valor de tags do BluePlant para a base de dados do MySQL.
9. Edição de Tela
Agora o usuário terá de editar a tela em que será acessada a base de dados quando o projeto estiver em execução, para isso basta clicar no menu "Draw".
Figura 17. Edição da Tela da Base de Dados
A seguir, serão apresentados e configurados cada um dos itens utilizados e numerados na Figura 17, após a inserção do item na tela, deve ser dado um duplo clique com o botão esquerdo do mouse para que seja aberta a janela de configuração do mesmo.
O item de número 1 é do tipo Textbox () e suas configurações devem estar conforme a figura abaixo para relacionar o valor a ser escrito nesta caixa com uma das Tags do projeto. Os outros objetos TextBox da tela devem ser configurados de forma semelhante, só alterando a Tag utilizada.
Figura 18. Janela Dynamics Configuration TextBox
Os objetos 2 e 3 são da Symbol Library, para adicioná-los é necessário clicar no ícone () que abrirá a janela apresentada na Figura 19. Neste exemplo foram usados os itens Sliders e Gauges marcados, sendo necessário clicar sobre as imagens destes e arrastá-los para a inserção na tela.
Figura 19. Janela Symbol Library
A configuração do objeto de número 2, do tipo Gauge, deve ser executada conforme a Figura 20. Os outros objetos Gauge da tela devem ser configurados de forma semelhante, só alterando a Tag utilizada.
Figura 20. Janela Symbol Configuration Gauge
A configuração do objeto de número 3, do tipo Slider, deve ser executada conforme a figura abaixo. Os outros objetos Slider da tela devem ser configurados de forma semelhante, só alterando a Tag utilizada.
Figura 21. Janela Symbol Configuration Slider
10. Edição de Scripts
Para criar um Script usuário deverá clicar na opção "Edit", no item "Scripts" e então na aba "Tasks". Como pode ser verificado na Figura 22, foi criado um script com o nome AtualizarMySQL, com linguagem "CSharp" e um período de 5 segundos. Esse script vai ficar em um loop atualizando os dados no banco de dados.
Figura 22. Criando Script
Agora, voltando ao PHPMyAdmin, devem ser inseridos três registros na tabela Tags. Para isso, basta clicar no item tags da treeview e depois na aba "Insere", como mostra a Figura 23
Figura 23. Inserindo Registros no PHPMyAdmin
No campo de inserção do novo registro, a caixa "and then" deve estar com a opção "Inserir novo registro" selecionada, após é só clicar no botão "Executar", abaixo desta caixa para que o registro seja adicionado. Esta operação deve ser repetida mais duas vezes para que sejam criados três registros no total, com os IDs, 1, 2 e 3.
Ao clicar novamente no item "tags" na treeview é apresentada a tabela criada com os seus registros.
Figura 24. Resumo da Tabela no PHPMyAdmin
Voltando ao BluePlant para dar sequência a criação do script, dê um duplo clique na linha do script criando anteriormente, que pode ser vista na Figura 22, para abrir a tela de edição do script.
Figura 25. Tela de Edição de Script
Figura 26. Script
O código adicionado possui expressões em SQL que objetivam a atualização da tabela do MySQL. O script considera o ID do banco de dados e passa o valor da tag para a tabela no MySQL utilizando a conexão criada anteriormente.
Segue o código usado:
// TAG1
@Dataset.Query.mysql.SqlStatement = "UPDATE tags SET Valor = " + @Tag.TAG1.Value + " WHERE ID = `1`";
@Dataset.Query.mysql.ExecuteCommand();
// TAG2
@Dataset.Query.mysql.SqlStatement = "UPDATE tags SET Valor = " + @Tag.TAG2.Value + " WHERE ID = `2`";
@Dataset.Query.mysql.ExecuteCommand();
// TAG3
@Dataset.Query.mysql.SqlStatement = "UPDATE tags SET Valor = " + @Tag.TAG3.Value + " WHERE ID = `3`";
@Dataset.Query.mysql.ExecuteCommand();
11. Executando a Aplicação
Depois de finalizada a edição do script, para executar o projeto, selecionar, no menu "Run" a opção "Startup" e pressionar o botão "Run Startup" que irá iniciar o Runtime onde a aplicação pode ser testada.
Figura 27. Seleção da Execução do Projeto
Executando o projeto podemos alterar o valor das tags utilizando os sliders ou as caixas de texto. Os gauges se alteram conforme o valor definido nas tags.
Figura 28. Projeto em Execução
Atualizando a página do phpMyAdmin podemos verificar os valores atualizados pelo nosso script no BluePlant.
Figura 29. Atualização da tabela no PHPMyAdm
Comentários
0 comentário
Por favor, entre para comentar.