Monografia - SIAPE - R07

57
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS Curso de Engenharia da Computação Vinícius Silva Arruda SIAPE - Sistema Integrado de Automação em Pequena Escala Belo Horizonte, 2013

Transcript of Monografia - SIAPE - R07

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS Curso de Engenharia da Computação

Vinícius Silva Arruda

SIAPE - Sistema Integrado de Automação em Pequena Escala

Belo Horizonte, 2013

Vinícius Silva Arruda

SIAPE – Sistema Integrado de Automação em Pequena Escala

Monografia apresentada ao Curso de Engenharia da Computação da Pontifícia Universidade Católica de Minas Gerais, como requisito parcial para obtenção do título de Engenheiro da Computação.

Orientador: Luis Enrique Zárate.

Belo Horizonte, 2013

Vinícius Silva Arruda

SIAPE – Sistema Integrado de Automação em Pequena Escala

Monografia apresentada ao Curso de Engenharia da Computação da Pontifícia Universidade Católica de Minas Gerais, como requisito parcial para obtenção do título de Engenheiro da Computação.

_________________________________________ Prof. Dr. Luis Enrique Zárate (Orientador) – PUC Minas

_________________________________________ Prof. Dr. – PUC Minas

_________________________________________ Prof. Dr. – PUC Minas

Belo Horizonte, 2013

Aos meus pais,

pelo apoio, carinho

e incondicional incentivo.

RESUMO

Uma demanda significativa para automação está além da área industrial onde empresas de diversos setores procuram automatizar processos simples gerando economia de recursos e maiores facilidades no trabalho humano. Dentro deste cenário existe como grande empecilho para estes novos perfis de clientes o custo relativamente elevado dos produtos prontos de automação, que muitas vezes oferecem recursos excessivos que não são totalmente aproveitados em pequenas aplicações dedicadas. O objetivo deste trabalho é implementar um Sistema Integrado de Automação em Pequena Escala (SIAPE) que utilize um framework baseado em tecnologias recentes open-source (Android, Arduino etc), diminuindo o esforço de implementação em hardware e aumentando a agilidade de entrega do produto, com um maior custo-benefício. Para modelar esta nova concepção e torná-la possível em diversas aplicações foi estudado e proposto um modelo em UML para a automação, que ajudou a definir desde a lógica de hardware até a usabilidade do sistema para o usuário final. Foram avaliadas dentre as estruturas de representação UML quais eram as possíveis notações de maior utilidade para o tema. A partir destas notações levantadas foi determinado um conjunto de artefatos UML direcionados aos sistemas de pequena escala, e uma proposta de metodologia. Foi realizado um levantamento de alguns casos de estudo da automação em pequena escala onde são aplicados sensores, atuadores, controladores, interfaces homem-máquina etc. A partir deste levantamento foi especificada uma planta de automação que simulava uma aplicação real e o SIAPE deveria ser modelado de forma a atender satisfatoriamente os requisitos do usuário. Seguindo a metodologia e modelo UML proposto o SIAPE foi implementado, e foram feitos experimentos de validação do produto para análise dos resultados e eficiência do sistema implementado, comprovando sua viabilidade como produto comercial.

Palavras-Chave: Automação; Open-Source; Android, Arduino; UML; Modelagem.

ABSTRACT

Many of demands for automation are beyond the industrial area where companies from various sectors try to automate simple processes, generating resource savings and facilities in human labor. In this scene exists as major impediment to these new customer profiles the high cost of the automation products, which often provide excessive resources that are not fully utilized in small and dedicated applications. The objective in this work is to implement a Sistema Integrado de Automação em Pequena Escala (SIAPE) [Small Scaled Integrated Automation System] using a framework based on recent and open-source technologies. That reduces implementation effort in hardware and increases the delivery speed of the product, with a bigger cost-benefit. To model this new design and make it possible for various applications an UML model has been studied and proposed for automation, which helped to define the logic from the hardware and system`s usability for the end user. Among several representation structures in UML were evaluated the most useful possible notations for the theme. From these notations was chosen a set of UML artifacts targeted to small-scale systems, and was proposed a methodology. A survey was made with some case studies on small-scale automation where are applied sensors, actuators, controllers, human-machine interfaces etc. From this survey was specified a plant automation that simulated a real application and a SIAPE should be modeled in order to satisfactory the requirements of the user. Following the proposed methodology and the UML model a SIAPE was implemented, and experiments were performed to validate the product analyzing the results and efficiency of the implemented system, proving its viability as a commercial product.

Keywords: Automation; Open-Source; Android; Arduino; UML; Modeling.

LISTA DE FIGURAS

Figura 1 - Estrutura de um SIAPE com IHM Android, Controlador Arduino e Supervisório Desktop .......................................................................................................................... 14

Figura 2 - Exemplo de uma planta em Blocos de Funções ............................................ 18

Figura 3 - Exemplo de uma planta em Diagrama Ladder ............................................... 19

Figura 4: Exemplo de Rede de Petri .............................................................................. 19

Figura 5 - Exemplo do modelo utilizando UML/Statecharts ............................................ 21

Figura 6 - Modelo UML a partir de um projeto de produção ........................................... 22

Figura 7 – Projeto genérico UML na ferramenta Astah .................................................. 25

Figura 8 – Diagrama de concepção ............................................................................... 26

Figura 9 – Casos de uso ................................................................................................ 27

Figura 10 – Requisitos funcionais .................................................................................. 28

Figura 11 – Diagrama de classes ................................................................................... 29

Figura 12 – Diagrama de sequências ............................................................................. 29

Figura 13 – Requisitos não-funcionais ........................................................................... 30

Figura 14 – Monitoramento climático reduz em 42% o uso de agrotóxicos em lavouras de tomate no Rio ............................................................................................................ 32

Figura 15 – Diagrama de concepção do SIAPE ............................................................. 34

Figura 16 – Casos de uso do SIAPE .............................................................................. 35

Figura 17 – Requisitos funcionais do CME..................................................................... 36

Figura 18 – Requisitos funcionais do SCADA ................................................................ 37

Figura 19 – Requisitos funcionais da IHM ...................................................................... 38

Figura 20 – Tabela de requisitos do SIAPE .................................................................... 38

Figura 21 – Diagrama de classes da CME ..................................................................... 40

Figura 22 – Diagrama de classes do SCADA ................................................................. 41

Figura 23 – Diagrama de classes da IHM ...................................................................... 42

Figura 24 – Diagrama de sequências do SIAPE ............................................................ 43

Figura 25 – Casos de teste CME ................................................................................... 44

Figura 26 – Requisitos não-funcionais do SIAPE ........................................................... 45

Figura 27 – Implementação do CME .............................................................................. 46

Figura 28 – Implementação do SCADA ......................................................................... 48

Figura 29 – Implementação da IHM ............................................................................... 49

LISTA DE TABELAS

Tabela 1 - Crescimento percentual no faturamento do ramo Eletroeletrônico................ 13

Tabela 2 - Testes do CME .............................................................................................. 49

Tabela 3 - Testes do SCADA ......................................................................................... 51

Tabela 4 – Testes da IHM .............................................................................................. 53

Tabela 5 - Comparativo de gastos no projeto ................................................................. 55

Tabela 6 – Periféricos da placa de sensores.................................................................. 47

LISTA DE SIGLAS

ABNT Associação Brasileira de Normas Técnicas

CLP/PLC Controlador Lógico Programável/Programmable Logic Controller

CME Central de Medição Eletrônica

FBD Function Blocks Diagram

GPS Global Positioning System

IEC International Electro-Technical Comission

IHM Interface Homem-Máquina

LD Ladder Diagram

NEMA National Electrical Manufacturers Association RF Requisito Funcional

RNF Requisito Não-Funcional

SCADA Supervisory Control and Data Acquisition

SEBRAE Serviço Brasileiro de Apoio às Micro e Pequenas Empresas

SIAPE Sistema Integrado de Automação em Pequena Escala

UML Unified Modeling Language

SUMÁRIO

1. INTRODUÇÃO......................................................................................................... 13

1.1 Justificativa .............................................................................................................. 14

1.2 Objetivos .................................................................................................................. 15

1.2.1 Objetivo Geral ................................................................................................... 15

1.2.2 Objetivos Específicos ........................................................................................ 15

2. REVISÃO DE LITERATURA ................................................................................... 16

2.1 Arquitetura de um Sistema de Automação .............................................................. 16

2.2 Automação em Pequena Escala ............................................................................. 17

2.3 Modelos para Sistemas Industriais .......................................................................... 17

2.3.1 Blocos de Funções ............................................................................................ 18

2.3.2 Diagramas Ladder ............................................................................................. 18

2.3.3 Redes de Petri .................................................................................................. 19

2.4 Modelagem UML ..................................................................................................... 20

2.5 Modelos UML para Automação e Sistemas Embarcados ........................................ 20

3. METODOLOGIA ...................................................................................................... 23

3.1 Etapas de Desenvolvimento .................................................................................... 24

3.1.1 Etapa A: Análise ................................................................................................ 24

3.1.2 Etapa B: Design ................................................................................................ 24

3.1.3 Etapa C: Testes e Otimização ........................................................................... 24

3.2 Modelo UML Proposto ............................................................................................. 25

3.2.1 Diagrama de Concepção ................................................................................... 25

3.2.2 Casos de Uso .................................................................................................... 26

3.2.3 Requisitos Funcionais ....................................................................................... 27

3.2.4 Diagrama de Classes ........................................................................................ 28

3.2.5 Diagrama de Sequências .................................................................................. 29

3.2.6 Requisitos Não-Funcionais ............................................................................... 30

4. DESENVOLVIMENTO DO PROTÓTIPO ................................................................ 31

4.1 Caso de Estudo – Monitoramento Climático ............................................................ 31

4.2 Aplicação ................................................................................................................. 32

4.3 Metodologia UML Aplicada ...................................................................................... 33

4.3.1 Etapa A: Análise do SIAPE ............................................................................... 33

4.3.2 Etapa B: Design do SIAPE ................................................................................ 39

4.3.3 Etapa C: Testes e Otimização do SIAPE .......................................................... 43

4.4 Produto Final ........................................................................................................... 46

5. EXPERIMENTOS E ANÁLISE DOS RESULTADOS ............................................... 49

6. CONCLUSÃO .......................................................................................................... 55

REFERÊNCIAS BIBLIOGRÁFICAS ............................................................................... 56

13

1. INTRODUÇÃO

No mercado atual vem se constatando um crescimento cada vez maior das empresas que atuam na área de automação, é apresentado na Tabela 1 um crescimento significativo no faturamento brasileiro sobretudo das empresas de Equipamentos Industriais e Automação Industrial segundo ABINEE (2012). É possível observar que atualmente surgem demandas para automação que estão além da área industrial, áreas tais como a doméstica, hospitalar ou comercial, onde se procura automatizar processos simples gerando economia de recursos e maiores facilidades no trabalho humano. Dentro deste cenário existe como grande empecilho para estes novos perfis de clientes o custo relativamente elevado dos produtos prontos de automação, que muitas vezes oferecem recursos excessivos que não são totalmente aproveitados em pequenas aplicações (CLPs expansivos, supervisórios avançados, IHMs complexas etc). Outro aspecto relevante nesta nova demanda é o tempo de desenvolvimento: muitas vezes algo que a princípio seria um processo simples se torna um desenvolvimento complexo e longo, pois o sistema implementado não foi devidamente modelado nem dimensionado para atender os reais requisitos do cliente.

Tabela 1 - Crescimento percentual no faturamento do ramo Eletroeletrônico

Fonte: ABINEE (2012)

A abertura comercial no mundo vem permitindo o acesso a diversos gadgets1 e equipamentos eletrônicos que muitas vezes têm um custo mais vantajoso do que uma confecção própria, ou permite uma redução crucial no tempo de desenvolvimento. Outro aspecto do mundo globalizado que começa a afetar o mercado da engenharia

1 O Dicionário Houaiss da Língua Portuguesa (2001) consigna a palavra, pode ser utilizada para descrever equipamentos eletrônicos populares.

14

está na facilidade do acesso à informação, onde iniciativas Open-Source e ferramentas de busca disseminam facilmente conhecimentos que por muito tempo foram restritos a especialistas. Exemplo disto está em iniciativas como Android2 e Arduino3, onde as pessoas conseguem trocar informações e disponibilizar códigos prontos criando uma grande fonte de desenvolvimento na Internet.

Neste trabalho será implementado o SIAPE – Sistema Integrado de Automação em Pequena Escala, um framework para automação que usufrui destas novas tecnologias disponíveis no mercado como placas Arduino, tablets e smart-phones (ver Figura 1), visando um custo mais acessível e uma interface mais próxima do que o usuário está acostumado em seu cotidiano. Para projetar e customizar este framework será também proposta uma modelagem em UML direcionada à automação e sistemas embarcados, que permitirá descrever uma planta nos aspectos de hardware, software e processos.

Figura 1 - Estrutura de um SIAPE com IHM Android, Controlador Arduino e Supervisório Desktop

Fonte: Elaborada pelo autor

1.1 Justificativa

Este trabalho apresenta um novo produto que poderá atender vários nichos industriais, comerciais ou até mesmo domésticos. O modelo UML proposto descreve um processo de automação de uma forma complementar aos usuais diagramas elétricos (blocos de funções, ladder, petri etc.), incorporando análises funcionais ao sistema que estão além das suas características eletrônicas. Os diagramas UML do sistema permitem projetar um conjunto de hardware que atende à aplicação e ainda adotar algumas análises da engenharia de software no design das interfaces e usabilidade do sistema como um todo, de acordo com THRAMBOULIDIS (2004). Através desta modelagem o SIAPE se torna um produto customizável, robusto e com desenvolvimento ágil, atendendo os principais diferenciais no mercado competitivo da automação.

2 Sistema Operacional de desenvolvimento livre para dispositivos móveis, baseado em Java. 3 Plataforma Open-Source para criação de protótipos com documentação e códigos abertos.

15 O modelo apresentado nesta proposta se aplica aos setores onde a automação

não é o primordial, mas existe uma demanda que pode ser lucrativa desde que a solução proposta seja bem modelada para atender especificamente as necessidades do cliente, sobretudo no que diz respeito à proporção de recursos e usabilidade. Ao lidar com automação em setores diversos é preciso considerar outros aspectos que transcendem esquemas elétricos, como uma interface específica para determinado perfil de usuários, mobilidade e portabilidade dos equipamentos ou até mesmo regras de negócios para aplicações comerciais.

1.2 Objetivos

Esta seção descreve os objetivos gerais e específicos da proposta de trabalho.

1.2.1 Objetivo Geral

O objetivo deste trabalho é implementar a arquitetura de um SIAPE - Sistema Integrado de Automação em Pequena Escala, um framework simplificado e genérico que poderá ser aplicado a diversos processos de automação, exigindo menos tempo com a implementação e cedendo mais tempo para questões como a usabilidade, customização e ergonomia do sistema, que geralmente são pouco relevadas em um projeto usual.

Para modelar esta nova concepção e torná-la possível em diversas aplicações será estudado e proposto um modelo em UML para a automação, que ajudará a definir desde a lógica de hardware até a usabilidade do sistema.

1.2.2 Objetivos Específicos

Os objetivos específicos deste trabalho são:

• Desenvolver um modelo que descreva as ferramentas UML necessárias para analisar e estruturar o SIAPE. • Projetar a arquitetura de hardware e software do SIAPE a partir do modelo UML proposto. • Implementar um SIAPE considerando uma planta protótipo que simulará uma aplicação real.

16

2. REVISÃO DE LITERATURA

Esta sessão aborda os principais conceitos e trabalhos relacionados de modo a fundamentar a implementação do SIAPE desde sua modelagem. Na seção 2.1 são abordados os conceitos da arquitetura de um sistema de automação, descrevendo a função de um CLP, IHM e SCADA. Já a seção 2.2 é apresenta o conceito de automação em pequena escala exemplificando algumas aplicações relacionadas. A seção 2.3 aborda os principais modelos utilizados na modelagem de sistemas de automação descrevendo Diagramas Ladder, Blocos de Funções e Redes de Petri. A seção 2.4 apresenta o conceito da modelagem UML como um todo, citando as fases de desenvolvimento utilizadas na engenharia de software. Por fim, na seção 2.5 serão apresentados os principais trabalhos relacionados ao uso de UML na área de automação.

2.1 Arquitetura de um Sistema de Automação

Para estudar a arquitetura de sistemas de automação de forma sistemática é utilizado o recurso de dividir a mesma em níveis, conforme RIBEIRO (2003):

• Nível 0: É o nível de aquisição e atuação diretamente no processo. Neste nível estão os elementos sensores e atuadores como sensores de nível, pressão, temperatura, fins de curso, relés, válvulas, inversores de frequência, multi-medidores de grandezas elétricas etc.

• Nível 1: Neste nível estão os Controladores Programáveis recebendo informações do nível 0.

• Nível 2: Considera-se como nível 2 as estações de controle que permitem configurar o sistema, através das Interfaces Homem-Máquina (IHM).

• Nível 3: Por fim o nível 3 consiste nas estações de supervisão e gestão que são computadores executando softwares de supervisão que se comunicam com os controladores através de redes de comunicação industriais.

O Controlador Lógico Programável, segundo a ABNT 4 , é um equipamento eletrônico digital com hardware e software compatíveis com aplicações industriais. Ainda segundo a NEMA (National Electrical Manufacturers Association), é um aparelho eletrônico digital que utiliza uma memória programável para armazenar internamente instruções e para implementar funções específicas, tais como lógica, sequenciamento,

4 Associação Brasileira de Normas Técnicas.

17

temporização, contagem e aritmética, controlando, por meio de módulos de entradas e saídas, vários tipos de máquinas ou processos.

A IHM é um hardware industrial composto normalmente por uma tela de cristal líquido e um conjunto de teclas para navegação ou inserção de dados que se utiliza de um software proprietário para a sua programação, segundo RIBEIRO e SILVESTRE (2010).

O autor ainda definem os sistemas supervisórios, ou SCADA, como monitores que rastreiam informações de um processo produtivo ou instalação física. Tais informações são coletadas através de equipamentos de aquisição de dados e, em seguida, manipuladas, analisadas, armazenadas e posteriormente, apresentadas ao usuário.

2.2 Automação em Pequena Escala

O termo Automação segundo o dicionário Houaiss significa:

"Sistema em que os processos operacionais em fábricas, estabelecimentos comerciais, hospitais, residências etc. são controlados e executados por meio de dispositivos mecânicos ou eletrônicos, substituindo o trabalho humano; automatização."

Desta forma a automação em pequena escala envolve sistemas normalmente utilizados na automação doméstica, comercial (vendas, controle de estoques, cadastro de clientes, consultas em bases de dados etc.) ou até mesmo na indústria em processos mais simples ou dedicados. Segundo o SEBRAE (2009) com o uso de processos mecânicos e computadorizados nestes nichos é possível atingir taxas de eficiência mais altas - o que resulta em registros de maior qualidade - com menores taxas de erro - além de diminuir o tempo dessas tarefas.

Com os avanços obtidos com a automação comercial é que foi possível conceber ideias como grandes redes de lojas, supermercados, fast-foods, locadoras e muitos outros comércios largamente espalhados pelo planeta.

2.3 Modelos para Sistemas Industriais

Devido à necessidade de um padrão para CLPs por parte da comunidade industrial internacional, em 1979, foi designado um grupo de trabalho com o IEC (International Electro-technical Comission) voltado para o propósito de regulamentar a IEC1131-3 (1993), que originaram entre diversas linguagens o Diagrama Ladder (LD) e o Diagrama de Blocos de Funções (FBD).

18 Com a diversidade de fabricantes de equipamentos industriais surgiu também

diversas formas de modelar sistemas, normalmente focados na estrutura lógica de programação de um CLP. Nesta pesquisa serão consideradas as três formas de representação mais significativas ao tema proposto: Diagramas de Blocos de Funções, Diagramas Ladder e Redes de Petri. As Redes de Petri foram criadas a partir tese de doutorado de Carl Adam Petri, intitulada Kommunication mit Automaten (Comunicação com Autômatos), apresentada à Universidade de Bonn em 1962.

2.3.1 Blocos de Funções

Segundo RIBEIRO (2003), Blocos de Funções são equivalentes a circuitos integrados representando uma função de controle especializada. Como um CI ou uma caixa preta, eles possuem uma interface bem definida, permitindo separar bem os níveis de programação e manutenção conforme exemplificado na Figura 2.

Figura 2 - Exemplo de uma planta em Blocos de Funções

Fonte: RIBEIRO (2003)

2.3.2 Diagramas Ladder

A linguagem Ladder, ou diagrama de escada, é um auxílio gráfico para programação de Controladores Lógicos Programáveis (CLPs) no qual as funções lógicas são representadas através de contatos e bobinas, de modo análogo a um esquema elétrico com os contatos dos transdutores e atuadores. Segundo ZANCAN (2011), existem 3 tipos de elementos na linguagem Ladder:

• Entradas (ou contatos), que podem ler o valor de uma variável booleana; • Saídas (ou bobinas) que podem escrever o valor de uma variável booleana; • Blocos funcionais que permitem realizar funções avançadas.

19

Figura 3 - Exemplo de uma planta em Diagrama Ladder

Fonte: ZANCAN (2011)

2.3.3 Redes de Petri

Uma rede de Petri ou rede de transição é uma das várias representações matemáticas para sistemas distribuídos discretos. MARRANGHELLO (2005) a define como uma linguagem de modelagem, ela define graficamente a estrutura de um sistema distribuído como um grafo direcionado com comentários. Possui nós de posição, nós de transição, e arcos direcionados conectando posições com transições. A qualquer momento durante a execução de uma rede de Petri cada posição pode armazenar um ou mais tokens. Diferente de sistemas mais tradicionais de processamento de dados, que podem processar somente um único fluxo de tokens entrantes, as transições de redes de Petri podem consumir e mostrar tokens de múltiplos lugares. Uma transição só pode agir nos tokens se o número requisitado de tokens aparecer em cada posição de entrada.

Transições agem em tokens de entrada por um processo denominado disparo. Quando uma transição é disparada, ela consome os tokens de suas posições de entrada, realiza alguma tarefa de processamento, e realoca um número específico de tokens nas suas posições de saída. Isso é feito atomicamente. Como disparos são não determinísticos, redes de Petri são muito utilizadas para modelar comportamento concorrente em sistemas distribuídos.

Figura 4: Exemplo de Rede de Petri

Fonte: MARRANGHELLO (2005)

20

2.4 Modelagem UML

A Unified Modeling Language (UML) é uma linguagem de modelagem não proprietária de terceira geração, segundo FOWLER (2004). A UML não é uma metodologia de desenvolvimento, o que significa que ela não diz para você o que fazer primeiro e em seguida ou como projetar seu sistema, mas ela lhe auxilia a visualizar seu desenho e a comunicação entre objetos. Basicamente, a UML permite que desenvolvedores visualizem os produtos de seus trabalhos em diagramas padronizados. Junto com uma notação gráfica, a UML também especifica significados, isto é, semântica.

De acordo com STADZISZ (2002) existem cinco fases no desenvolvimento de sistemas de software: análise de requisitos, análise, design (projeto), implementação e testes. Estas cinco fases não são executadas na ordem descrita acima, mas concomitantemente de forma que problemas detectados numa certa fase modifiquem e melhorem as fases desenvolvidas anteriormente de forma que o resultado global gere um produto de alta qualidade e desempenho. Para que esta mesma modelagem seja utilizada em um sistema de automação alguns conceitos precisam ser adaptados ou ignorados, direcionando a modelagem para o escopo do hardware.

2.5 Modelos UML para Automação e Sistemas Embarcados

Normalmente os sistemas de automação são representados como blocos de funções que descrevem as etapas e processos de uma planta. Esta notação proposta pelo IEC1131-3 (1993) para a engenharia permite descrever as características de um sistema modular reutilizável, e segundo VOGEL-HEUSER, BRAUN, et al. (2011) pode ser assemelhado ao paradigma da Orientação a Objetos na engenharia de software onde:

• Cada etapa do processo representada por um bloco poderia ser modelada como um objeto de uma classe composta de atributos e métodos.

• Os atributos de cada bloco são as características físicas ou lógicas do hardware, que descrevem os equipamentos utilizados no sistema.

• Os métodos são definidos pelas funções e operações que cada equipamento desempenha no processo.

• O fluxo de execução do processo e as linhas de conexão entre os equipamentos representam a dinâmica existente entre os objetos, quais são suas relações e comportamento no sistema.

21 Se uma planta de automação pode ser analisada como um modelo orientado a

objetos que possui visões estáticas e dinâmicas, seus processos podem ser modelados com UML ainda de acordo com PATARICZA, ROMÁN, et al. (2001).

Grande parte das aplicações industriais exige um software para PLC que seja de alta confiança, e alguns desenvolvedores como YOUNIS e FREY (2006) adotaram o UML para ajudar a modelar e testar esses softwares. MOURA, COUTO e GUEDES (2009) desenvolveram um trabalho que apresenta uma técnica para modelagem e validação do software de controle para aplicações industriais que envolvem operações sequenciais e paralelas, um exemplo típico da área de manufatura é discutido como estudo de caso para ilustrar a ideia. A proposta utiliza o formalismo Statechart5 (ver Figura 5) para representar, analisar e validar os modelos quanto à reiniciabilidade, vivacidade e deadlocks. Um procedimento para traduzir o modelo do controlador para código Ladder também foi discutido com o objetivo de realizar testes e analisar os resultados em aplicações reais.

Figura 5 - Exemplo do modelo utilizando UML/Statecharts

Fonte: MOURA, COUTO e GUEDES (2009)

Outra aplicação encontrada para o UML é no projeto de sistemas embarcados, o trabalho de FERNANDES, MACHADO e SANTOS (2001) mostra a aplicação em uma modelagem baseada nas redes de Petri. O caso de estudo foi baseado na empresa Blaupunkt Auto-Rádios Portugal (Bosch Group), uma companhia europeia que produz rádios para a indústria automobilística. Os responsáveis desta empresa desenvolveram um projeto com o intuito de aprimorar seus processos de produção, baseado nas seguintes metas:

• Fase 1: Modelar o sistema de controle a partir do fluxo de materiais nas linhas de produção.

• Fase 2: Modelar a implementação deste controle.

5 Diagrama baseado em máquina de estados para descrever comportamento de sistemas.

22

• Fase 3: Diagnosticar disparidades entre o sistema requisitado e o de fato implementado, adicionando otimizações no processo.

• Fase 4: Criar o protótipo do sistema otimizado utilizando dispositivos re-configuráveis e softwares customizados.

O autor emprega o UML nas duas primeiras fases (especificação e implementação) que antes eram feitas com redes de Petri, e a partir do projeto de produção da empresa criou o modelo da Figura 6 que permite validar todo o processo.

Figura 6 - Modelo UML a partir de um projeto de produção

Fonte: FERNANDES, MACHADO e SANTOS (2001)

23

3. METODOLOGIA

A primeira etapa do trabalho consistiu na criação de um modelo UML voltado à automação por meio de:

• Pesquisa bibliográfica: Foi realizado um levantamento bibliográfico sobre o tema UML abordado na automação através de consultas em periódicos, livros e artigos em congressos, tanto em fontes nacionais quanto internacionais. Também foram relacionados os principais aspectos de outras representações empregadas na automação para agregar no modelo UML proposto.

• Pesquisa exploratória: Foram avaliadas dentre as estruturas de representação UML quais eram as possíveis notações de maior utilidade para o tema. A partir destas notações levantadas foi determinado um conjunto de artefatos UML direcionados aos sistemas de automação, e uma proposta de metodologia.

A segunda etapa consistiu na implementação do SIAPE utilizando a modelagem proposta aplicada a um caso de estudo por meio de:

• Pesquisa descritiva: Foi realizado um levantamento de alguns casos de estudo da automação em pequena escala onde são aplicados sensores, atuadores, controladores, supervisórios, interfaces homem-máquina etc. A partir deste levantamento foi especificada uma planta de automação que simula uma aplicação real onde deveria ser modelado um SIAPE – Sistema Integrado de Automação em Pequena Escala.

• Desenvolvimento do protótipo: Teve como objetivo sistematizar e estruturar o SIAPE utilizando as técnicas de modelagem UML desenvolvidas. Considerando a planta de automação especificada na pesquisa descritiva, o sistema pode ser implementado e simulado para análise dos resultados e eficiência do produto obtido.

24

3.1 Etapas de Desenvolvimento

A metodologia UML proposta foi baseada em 3 fases que são abordadas de forma iterativa e incremental, exemplificando um processo espiral de desenvolvimento segundo NUNES e O'NEILL (2003). Desta forma cada etapa deve ser aplicada de acordo com os progressos do projeto, com o objetivo de enriquecer e detalhar cada vez mais os modelos UML e documentações do sistema a partir de retornos do cliente.

3.1.1 Etapa A: Análise

Nesta etapa foram levantadas todas as informações relevantes ao processo como os principais casos de uso, os agentes (atores), os requisitos funcionais e o diagrama de concepção do projeto. Além de um texto descritivo de cada entidade do sistema foram feitos diagramas para os casos de uso que mostram o que os atores externos, ou seja, os usuários do futuro sistema, deverão esperar da aplicação, conhecendo toda sua funcionalidade sem importar como será implementada. Os artefatos UML utilizados foram: Diagrama de Concepção, Diagrama de Casos de Uso, Diagrama de Requisitos e Tabela de Requisitos.

3.1.2 Etapa B: Design

A fase de Design definiu as abstrações que estarão presentes no domínio do problema. As classes foram modeladas e ligadas através de relacionamentos com outras classes, e foram descritas nos Diagramas de Classe. As colaborações entre classes também foram criadas em um diagrama dinâmico em UML para representar o fluxo de mensagens entre seus componentes. As classes fornecem todas as especificações funcionais de cada etapa do sistema, e junto com os diagramas de requisitos permitiram definir um conjunto de hardware que atendesse a aplicação. O Design resultou no detalhamento das especificações para a fase de implementação do sistema, e os artefatos UML acrescentados foram: Diagrama de Classes e Diagrama de Mensagens.

3.1.3 Etapa C: Testes e Otimização

Nesta fase foram elaborados os testes da aplicação para validar a etapa desenvolvida, sendo levantadas as melhorias e otimizações para as etapas seguintes.

25

Descrevendo requisitos não-funcionais foram propostas melhorias no sistema focando o desempenho, a usabilidade e a simplificação das interfaces para o usuário final.

3.2 Modelo UML Proposto

Para familiarizar com as ferramentas gráficas do UML 2.0 foi elaborado um modelo para os artefatos utilizados em cada fase de desenvolvimento utilizando a plataforma Astah Professional6. Um projeto genérico foi exemplificado de forma sucinta conforme a estrutura da Figura 7.

Figura 7 – Projeto genérico UML na ferramenta Astah

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

3.2.1 Diagrama de Concepção

A etapa da Análise teve como início o Diagrama de Concepção, que é uma representação visual do projeto como um todo e formaliza as intenções do cliente de forma objetiva conforme a Figura 8.

6 Astah é uma ferramenta de modelagem UML criada pela empresa japonesa CHANGE VISION (2013).

26

Figura 8 – Diagrama de concepção

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

O objetivo deste artefato foi destacar as principais funções do sistema dividindo-o em módulos e hierarquias, formalizando o brainstorm inicial do projeto através de um diagrama.

3.2.2 Casos de Uso

Os casos de uso foram utilizados para representar os comportamentos que cada sub-sistema deveriam atender de acordo as ações efetuadas pelos usuários, sendo utilizada para descobrir e registrar os requisitos funcionais do sistema como um todo. Desta forma cada caso de uso representa uma unidade discreta de interação entre determinado ator (usuário ou máquina) e o sistema a ser implementado, exemplificado pela Figura 9.

27

Figura 9 – Casos de uso

Fonte: Elaborada pelo autor utilizando a ferramento Astah Professional

3.2.3 Requisitos Funcionais

Os Requisitos Funcionais definiram funções específicas de cada sub-sistema ou seus componentes. Foram representados em um diagrama que resulta em uma Tabela de Requisitos (Figura 10) contendo comportamentos, detalhes técnicos, manipulações de dados e respostas que permitem especificar a arquitetura que atende às necessidades da aplicação.

28

Figura 10 – Requisitos funcionais

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

Baseado nas regras de negócio e funcionalidades levantadas foi possível dimensionar e mensurar a arquitetura no ponto de vista do hardware, gerando a Lista de Componentes e materiais que foram utilizados nos diagramas elétricos do projeto (Anexo A).

3.2.4 Diagrama de Classes

O Diagrama de Classes é a representação da estrutura e relações entre os módulos do sistema, que são instanciados como objetos. Componentes do hardware foram modelados a partir de seus atributos (propriedades) e operações, conforme exemplifica a Figura 11.

29

Figura 11 – Diagrama de classes

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

Este modelo é flexível à programação de cada módulo do sistema, podendo representar classes que se adequam ao tipo de controle envolvido e sua linguagem que pode ser um software, firmware, batch, Ladder, script etc.

3.2.5 Diagrama de Sequências

Para representar a troca de mensagens e iteração entre os módulos do sistema foi utilizado o Diagrama de Sequências, exemplificado pela Figura 12.

Figura 12 – Diagrama de sequências

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

30 O objetivo deste diagrama foi representar comportamentos dinâmicos do sistema,

que envolve sequências de requisições e respostas por exemplo.

3.2.6 Requisitos Não-Funcionais

Os Requisitos Não-Funcionais foram utilizados para representar as necessidades da aplicação em termos de desempenho, usabilidade, confiabilidade, segurança, disponibilidade, manutenção e tecnologias envolvidas. Além de avaliar o desempenho e otimização do sistema, outro objetivo desta etapa foi considerar a ergonomia para o usuário final que pode ser leigo à automação, e pode rejeitar um produto devido a sua complexidade que demandaria treinamentos (por exemplo). A Figura 13 exemplifica o diagrama e sua respectiva Tabela de Requisitos Não Funcionais.

Figura 13 – Requisitos não-funcionais

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

31

4. DESENVOLVIMENTO DO PROTÓTIPO

Para validar e analisar a modelagem UML proposta foi desenvolvido um produto SIAPE que atendia uma aplicação básica de automação, e exige um sistema com os 3 principais módulos: Controle, Interface Homem-Máquina e Supervisório. Analisando possíveis demandas de mercado nacional foi escolhido um Caso de Estudo que será descrito a seguir, e a partir de sua aplicação foi empregada a metodologia proposta na execução do projeto que resultou no produto final.

4.1 Caso de Estudo – Monitoramento Climático

Técnicas recentes de monitoramento climático têm se mostrado de grande utilidade não apenas em laboratórios e ambientes controlados, mas também em campos abertos como plantações, pastos e reservas naturais. Na agricultura muitos gastos podem ser evitados conciliando-se as técnicas de rega com informações do clima, e a cultivação em rodízio pode ser otimizada analisando as médias climáticas da região no decorrer do ano. Outra grande vantagem está na redução do uso de agrotóxicos, principalmente no Brasil que é o maior utilizador destas substâncias e ocorre inúmeros casos de intoxicações em operários devido ao uso abusivo segundo a EMPRESA BRASIL DE COMUNICAÇÃO (2013). Analisando fatores como temperaturas máximas, mínimas, umidade e pressão do ar é possível estabelecer os períodos corretos e suficientes para aplicação de agrotóxicos, evitando por exemplo o uso excessivo em épocas chuvosas onde a maior parte das substâncias vai para o solo poluindo lençóis freáticos e reduzindo a proteção dos vegetais, conforme Figura 14.

32 Figura 14 – Monitoramento climático reduz em 42% o uso de agrotóxicos em

lavouras de tomate no Rio

Fonte: EMPRESA BRASIL DE COMUNICAÇÃO (2013)

4.2 Aplicação A aplicação implementada se trata de uma estação que registra diversos

sensores em um ambiente de clima monitorado. Esta estação deveria conter diversos dispositivos como sensores de temperatura, pressão, umidade, GPS, além de uma interface para monitoramento e exportação das informações. Estas informações deviam ser armazenadas permitindo análises futuras de médias e gráficos, possuindo uma interface de tempo real que exibe as informações atuais dos sensores.

A Central de Medição Eletrônica deveria ser micro-controlada e exerceria as seguintes funções:

• Com um dispositivo GPS registrar os dados em função da localidade e data\hora obtida.

• Armazenar os dados em um cartão de memória SD. • Enviar as medições acumuladas e em tempo real para um software supervisório comunicando via TCP-IP.

• Exibir as informações de tempo real em uma Interface Homem-Máquina.

33

• Monitorar os seguintes sensores através de entradas analógicas\digitais: temperatura, umidade e pressão atmosférica.

O software supervisório SCADA deveria exercer as seguintes funções:

• Receber os dados coletados via TCP-IP ou pen-drive.

• Exibir para cada sensor uma tabela e gráfico dos registros coletados informando a data e a hora.

• Oferecer um plug-in do Google Maps para informar ao usuário a localização do dispositivo de coleta via GPS.

• Permitir exportar os dados em outros formatos como texto ou Excel.

Por fim a Interface Homem-Màquina teria as seguintes funcionalidades:

• Receber os últimos dados coletados em tempo real via TCP-IP.

• Exibir em medidores gráficos as grandezas medidas (temperatura, pressão, umidade).

• Exibir a Data, Hora e Local da última medição fornecidos pelo GPS.

4.3 Metodologia UML Aplicada

Nesta sessão é apresentada as etapas da metodologia proposta que foram aplicadas no desenvolvimento do projeto assim como os artefatos UML gerados.

4.3.1 Etapa A: Análise do SIAPE

Considerando as especificações descritas na sessão 4.2 foi gerado o Diagrama de Concepção da Figura 15.

34

Figura 15 – Diagrama de concepção do SIAPE

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

Este diagrama representa o sistema de forma global e sucinta, expondo de forma visual as intenções finais do cliente com o sistema proposto. A partir dele foi possível levantar os principais casos de uso que o sistema deveria atender, gerando o Diagrama de Casos de Uso da Figura 16.

35

Figura 16 – Casos de uso do SIAPE

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

Com os Casos de Uso definidos foi possível levantar os Requisitos Funcionais de cada sub-sistema, que serviram como base para especificar o hardware necessário para atender a aplicação. Na Figura 17 foram modelados os requisitos da Central de Medição Eletrônica, especificando o tipo de controle, interfaces, entradas e saídas necessárias para integração no sistema.

36

Figura 17 – Requisitos funcionais do CME

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

De forma análoga foi modelado o supervisório SCADA na Figura 18, que possui

requisitos mais lógicos (software) do que físicos (hardware).

37

Figura 18 – Requisitos funcionais do SCADA

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

O último módulo do sistema consistia na Interface Homem-Máquina (IHM) exibida na Figura 19.

38

Figura 19 – Requisitos funcionais da IHM

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

Por fim a ferramenta permitiu que fosse gerada uma Tabela de Requisitos a partir de todos os diagramas elaborados, e que pôde ser utilizado como roteiro de desenvolvimento e testes conforme Figura 20.

Figura 20 – Tabela de requisitos do SIAPE

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

39 A partir dos Requisitos levantados foi definida a seguinte configuração de

componentes para o sistema:

• Central de Medição Eletrônica (CME): Foi utilizada uma placa Arduino-Uno devido ao baixo custo de mercado e agilidade de desenvolvimento, pois na Internet é disponibilizado bibliotecas e exemplos de código para utilização dos principais periféricos do sistema.

• Supervisório SCADA: Foi desenvolvido um aplicativo desktop para a plataforma Windows devido à sua popularidade e simplicidade de desenvolvimento, com interface comercial semelhante à aplicativos de escritório utilizando o framework C#.NET.

• Interface Homem-Máquina (IHM): Foi desenvolvido um aplicativo móvel para a plataforma Android que é uma iniciativa gratuita com grande suporte de desenvolvimento na web. Esta plataforma permite que a IHM seja executada em tablets e smart-phones de menor custo, com uma interface semelhante ao que os usuários estão habituados em seu cotidiano.

4.3.2 Etapa B: Design do SIAPE

A fase de desenvolvimento teve início com a confecção dos diagramas eletrônicos do hardware envolvido, e após confeccionar a montagem foi possível modelar a lógica de funcionamento de cada módulo do sistema. Nesta etapa foram utilizados os Diagramas de Classe para modelar a estrutura do firmware programado no micro-controlador Arduino conforme Figura 21.

40

Figura 21 – Diagrama de classes da CME

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

Para o Supervisório SCADA o diagrama representou as classes modeladas para o framework Windows Forms C#.NET, conforme a Figura 22.

41

Figura 22 – Diagrama de classes do SCADA

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

As classes da IHM foram baseadas no modelo Java Android e são exibidas na Figura 23. Apesar da simplicidade do aplicativo desenvolvido, sua documentação ficou relativamente grande por ter considerado muitos objetos gráficos de baixo nível utilizados para gerar uma interface customizada.

42

Figura 23 – Diagrama de classes da IHM

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

43

Outro artefato desenvolvido nesta etapa foi o Diagrama de Mensagens, que representa a comunicação TCP-IP entre os módulos do sistema e são descritos na Figura 24.

Figura 24 – Diagrama de sequências do SIAPE

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

4.3.3 Etapa C: Testes e Otimização do SIAPE

As etapas finais visam garantir a qualidade da solução proposta assim como a satisfação do cliente, e utilizam como artefatos UML os Casos de Teste e Requisitos Não-Funcionais. Os Casos de Teste foram gerados a partir dos requisitos funcionais que permitiram validar o funcionamento correto do sistema conforme a Figura 25.

44

Figura 25 – Casos de teste CME

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

Com a conclusão dos testes e validação do sistema implementado foi efetuada a análise de otimização através de um Diagrama de Requisitos Não-Funcionais, que gera uma nova Tabela de Requisitos conforme a Figura 26.

45

Figura 26 – Requisitos não-funcionais do SIAPE

Fonte: Elaborada pelo autor utilizando a ferramenta Astah Professional

46

4.4 Produto Final

Nesta seção será demonstrada apenas o produto implementado com suas principais características, sendo disponibilizados no Anexo I as documentações técnicas e especificações elaboradas.

• Central de Medição Eletrônica (CME):

Conforme a Figura 27, foi utilizada uma placa Arduino Uno que é baseada no processador ATmega328, possui 14 pinos de i\o, 6 entradas analógicas, conector USB e fonte externa de 12V. Para comunicação foi utilizado o Ethernet Shield Arduino baseado no controlador W5100 que possui velocidade de 10/100Mb, e foi confeccionada em placa padrão um shield de sensores que possui os periféricos listados na Tabela 6.

Figura 27 – Implementação do CME

Fonte: Elaborada pelo autor

47

Tabela 2 – Periféricos da placa de sensores Imagem Componente Função Características

DHT11

Sensor de Temperatura e Umidade

Mede uma faixa de 0 a 50C de temperatura e detecta de 20 a 90% de umidade relativa do ambiente, pode ser alimentado entre 3 e 5.5V.

MPX5010

Sensor de Pressão

Pode ser utilizado para medir pressões atmosféricas, hidráulicas, níveis de líquidos entre várias aplicações, funciona com 5V e possui saídas analógicas ou diferenciais.

ME1000-RW

Módulo GPS

Módulo GPS completo com bateria, antena e interface de comunicação serial pronto para comunicar com o Arduino, além de informações de latitude e longitude também informa: data, hora, variações de campo magnético, inclinações, velocidades e acelerações.

Fonte: Elaborada pelo autor

48

• Supervisório SCADA:

Foi utilizado um pacote de interfaces gráficas RadControls 7 para criar um aplicativo desktop moderno, leve e de fácil implementação conforme a Figura 28.

Figura 28 – Implementação do SCADA

Fonte: Elaborada pelo autor

• Interface Homem-Máquina (IHM):

Foi utilizado um tablet de 10” com sistema operacional Android conforme a Figura 29.

7 Framework de User Interface para C#.Net disponibilizado pela empresa Telerik.

49

Figura 29 – Implementação da IHM

Fonte: Elaborada pelo autor

5. EXPERIMENTOS E ANÁLISE DOS RESULTADOS

Os experimentos realizados basicamente consistiram em validar o funcionamento do sistema de acordo com os Casos de Testes elaborados anteriormente. Os resultados foram satisfatórios e atenderam todos os requisitos (funcionais e não-funcionais) do sistema, testados pontualmente após a implementação. Os roteiros de teste foram executados para cada módulo do sistema, e as respostas verificadas são mostradas nas Tabelas 2, 3 e 4.

Tabela 3 - Testes do CME

Caso de Teste Requisito Descrição Resultado mcu01.a RF: MCU Energização A energização é

sinalizada pelo acionamento dos leds no Arduino.

mcu01.b RF: MCU Dados do sensor de pressão

Os dados coletados foram consistentes com os fornecidos pelo portal ClimaTempo.

mcu01.c RF: MCU Dados do sensor de umidade

Os dados coletados foram consistentes com

50

os fornecidos pelo portal ClimaTempo.

mcu01.d RF: MCU Dados do sensor de temperatura

Os dados coletados foram consistentes com os fornecidos pelo portal ClimaTempo.

mcu01.e RF: MCU Re-Inicialização O Arduino registra no SD-Card quando é re-inicializado

mcu01.f RF: MCU Dados do GPS Os dados de data e hora do GPS foram precisos, porém a localização apresenta um desvio médio de 1km de raio.

mcu01.g RF: MCU Gravação do SD-Card

Os dados são persistidos e recuperados do SD-Card

mcu01.1.a RF: TCP-IP Cabos de rede desconectados

Esta falha não gerou exceções críticas no funcionamento do Arduino

mcu01.1.b RF: TCP-IP Falha durante transmissão

Esta falha não gerou exceções críticas no funcionamento do Arduino

mcu01.1.c RF: TCP-IP Falha durante recebimento

Esta falha não gerou exceções críticas no funcionamento do Arduino

mcu01.1.d RF: TCP-IP Shutdown recebido pelo SCADA

O Arduino entra em rotina de re-conexão até o servidor voltar a ficar diponível

mcu01.1.e RF: TCP-IP Conexão por IP e Porta inválidos

Esta falha não gerou exceções críticas no

51

funcionamento do Arduino

mcu01.2.a \ mcu01.3.a \ mcu01.4.4 \ mcu01.5.a

RF: INPUTs TEMPERATURA \ UMIDADE \ PRESSAO \ GPS

Fios desconectados Esta falha não gerou exceções críticas no funcionamento do Arduino

mcu01.5.b RF: INPUT GPS Falha de sinal GPS Esta falha não gerou exceções críticas no funcionamento do Arduino

mcu01.6.a RF: INPUT SD-CARD

Reconhecimento do cartão

Esta falha não gerou exceções críticas no funcionamento do Arduino

cme01.1.a RNF: Intervalo de Medições

Medir de 5 em 5 segundos

O Arduino foi capaz de coletar, armazenar e enviar os dados neste intervalo crítico

cme01.2.a RNF: Comunicação serial GPS

Testar GPS em baudrate 9600 e 115200

Devido às restrições do componente utilizado, foi possível validar apenas o baudrate de 9600

Fonte: Dados do experimento

Tabela 4 - Testes do SCADA

Caso de Teste Requisito Descrição Resultado scada01.1.a RF: TCP-IP

CME Recebimento de dados da CME

Os dados são transmitidos através de uma string única a cada intervalo de medição

scada01.1.b RF: TCP-IP CME

Falha de conexão com CME

Esta falha não gerou nenhuma exceção crítica no funcionamento do SCADA

scada01.2.a RF: TCP-IP IHM Recebimento de dados da IHM

Os dados são transmitidos

52

através de uma string única toda vez que a IHM conecta ou solicita atualização

scada01.2.b RF: TCP-IP IHM Falha de conexão com IHM

Esta falha não gerou nenhuma exceção crítica no funcionamento do SCADA

scada01.3.a RF: Internet Falha de conexão com Internet

Esta falha não gerou nenhuma exceção crítica no funcionamento do SCADA

scada01.4.1.a \ scada01.5.1.a \ scada01.6.1.a

RF: Gráficos Temperatura \ Umidade \ Pressão

Atualização do gráfico em tempo real

Os dados que chegaram em tempo real foram anexados e exibidos nos gráficos

scada01.4.2.a \ scada01.5.2.a \ scada01.6.2.a

RF: Tabela Temperatura Temperatura \ Umidade \ Pressão

Atualização da tabela em tempo real

Os dados que chegaram em tempo real foram anexados e exibidos nas tabelas

scada01.7.a RF: Mapa Exibição dos dados do GPS no Google Maps

A string de coordenadas do GPS foi convertida para o padrão utilizado pela Google e exibida corretamente

scada01.8.a RF: Excel Exportação de dados em formato Excel

Os dados de todas as tabelas de medição foram serializadas em um arquivo *.xls

scada01.a RNF: Área de Trabalho

Customização do ambiente de trabalho

A interface de docks permite re-arranjo de todas as janelas de visualização a gosto do usuário

Scada01.b RNF: Status View

Visualização de status dos servidores

Na janela inferior de log ficaram registradas todas

53

CME\IHM as operações dos servidores: inicialização, conexão com cliente, desconexão com cliente e falhas de conexão na rede.

Fonte: Dados do experimento

Tabela 5 – Testes da IHM

Caso de Teste

Requisito Descrição Resultado

ihm01.1.a RF: Temperatura Dados de temperatura em tempo real

Os dados foram exibidos corretamente de acordo com a última medição registrada no SCADA

ihm01.2.a RF: Umidade Dados de umidade em tempo real

Os dados foram exibidos corretamente de acordo com a última medição registrada no SCADA

ihm01.3.a RF: Pressão Dados de pressão em tempo real

Os dados foram exibidos corretamente de acordo com a última medição registrada no SCADA

ihm01.4.a RF: Data-Hora Dados de data e hora da última medição

Os dados foram exibidos corretamente de acordo com a última medição registrada no SCADA

ihm01.5.a RF: Manual Exibição do manual do usuário

Foi criado um manual como exemplo e disponibilizado no aplicativo para visualização

ihm01.6.a RF: Configurações Configuração do dispositivo

Foram configurados o IP e a Porta de conexão do aplicativo

ihm01.7.a RF: Coordenadas GPS

Dados das coordenadas GPS em tempo real

Os dados foram exibidos corretamente de acordo com a última medição registrada no SCADA

54 ihm01.1.b RNF: Interface

Touch Funcionamento de botões e teclado

Os controles da interface gráfica funcionaram corretamente

ihm01.2.b RNF: Resposta de Comandos

Tempo de resposta dos comandos

Os tempos foram medidos com o aplicativo em debug e foram abaixo de 1 segundo

ihm01.3.b RNF: Customização do Aplicativo

Ajuste de brilho e volume

O aplicativo conseguiu acessar as configurações de tela e som do dispositivo

ihm01.4.b RNF: Árvore de Comandos

Comandos no menu principal

Todos os comandos foram implementados no menu principal

Fonte: Dados do experimento

Dentro do escopo definido na seção 4.2 podemos perceber que o produto final atende as necessidades do cliente, e seus recursos foram corretamente dimensionados com os artefatos UML. Os experimentos comprovam ainda que é possível utilizar tecnologias open-source em aplicações de tempo real, economizando esforços no desenvolvimento de hardware e consequentemente agilizando a entrega do produto. Uma vez que o hardware foi aproveitado de dispositivos prontos no mercado (computadores, tablets, Arduino), os esforços maiores de desenvolvimento ficaram centrados no design e na qualidade do produto oferecido, proporcionando interfaces naturais e agradáveis ao usuário final.

Outro aspecto relevante está no custo envolvido no projeto que chegou a ser 80% menor que outras soluções prontas no mercado de automação convencional. Conforme a Tabela 5, foi realizado um comparativo com a média de preços de produtos disponíveis na região sudeste do Brasil e os gastos envolvidos em cada módulo do SIAPE.

55

Tabela 6 - Comparativo de gastos no projeto

Módulo Solução Convencional

Custo Médio

Solução do SIAPE Custo Médio

CME - Placa Processadora

Controlador Lógico

Programável (CLP) 8in/4out

R$450,00 Arduino Uno R$55,00

CME - Interface Ethernet

Módulo Ethernet para CLPs

R$300,00 Shield Ethernet para Arduino

R$60,00

IHM IHM com touch-screen e

comunicação via cabo Ethernet

R$3.000,00 Tablet de 10” com sistema operacional

Android e comunicação via

WiFi

R$600

Fonte: Pesquisa realizada no portal Mercado Livre

6. CONCLUSÃO

O presente trabalho buscava desenvolver uma metodologia que conciliasse a utilização de um modelo UML com a engenharia de automação, englobando o desenvolvimento de hardware e software. A partir deste modelo UML foi proposta uma arquitetura para automação que utilizou as tecnologias Android, Arduino e Windows Forms para constituir um Sistema Integrado de Automação em Pequena Escala (SIAPE). O modelo UML proposto permitiu que o framework do SIAPE pudesse ser modelado para uma aplicação específica de monitoramento climático que exemplifica os 3 módulos básicos da automação: uma Central de Medição Eletrônica (CME), um supervisório SCADA e uma Interface Homem-Máquina (IHM). Os diagramas produzidos são flexíveis e independem da linguagem ou plataforma que o sistema será implementado, abordando as funcionalidades da aplicação de um ponto de vista menos técnico que foca as necessidades reais do usuário.

O SIAPE apresentou resultados satisfatórios que atendiam aos requisitos da aplicação especificada com um custo de projeto bastante reduzido, viabilizando a utilização de seu framework na criação de produtos competitivos no mercado nos quesitos de qualidade e tempo de desenvolvimento. Como trabalhos futuros sugere-se o desenvolvimento do modelo UML proposto para atender aplicações mais complexas de automação industrial, que envolvam uma quantidade maior de processos e possam agregar mais artefatos UML para enriquecimento do modelo.

56 REFERÊNCIAS BIBLIOGRÁFICAS

ABINEE. Desempenho Setorial - DECON - ABINEE. Abinee - Associação Brasileira da Indústria Elétrica e Eletrônica, 2012. Disponivel em: <http://www.abinee.org.br/abinee/decon/decon15.htm>. Acesso em: 16 fev. 2013.

CHANGE VISION. Astah Professional. Astah Community, UML, Professional, Share and Ipad, 2013. Disponivel em: <http://astah.net/editions/professional>. Acesso em: 18 jun. 2013.

EMPRESA BRASIL DE COMUNICAÇÃO. Monitoramento Climático. Agência Brasil - Empresa Brasil de Comunicação, 2013. Disponivel em: <http://agenciabrasil.ebc.com.br/noticia/2013-02-25/monitoramento-climatico-reduz-em-42-uso-de-agrotoxicos-em-lavouras-de-tomate-no-rio>. Acesso em: 26 fev. 2013.

FERNANDES, J. M.; MACHADO, R. J.; SANTOS, H. D. Modeling Industrial Embedded Systems with UML. Universidade do Minho Guimarães, Portugal, 2001. p. 1-5.

FOWLER, M. UML distilled. 3ª ed. Chicago: Bookman, 2004. 160 p.

IEC1131-3. Standardized format for programming programmable controllers. International standard IEC1131-3, 1993.

MARRANGHELLO, N. Redes de Petri: Conceitos e Aplicações. UNESP, 2005. Disponivel em: <http://www.dcce.ibilce.unesp.br/~norian/cursos/mds/ApostilaRdP-CA.pdf>. Acesso em: 24 set. 2012.

MOURA, R. S.; COUTO, F. C. A.; GUEDES, L. A. Modelagem e Avaliação de Controladores Industriais Usando UML/Statecharts. UFRN Natal, Rio Grande do Norte, Brasil, 2009. p. 1-8.

NUNES, M.; O'NEILL, H. Fundamental de UML. 3ª ed. Lisboa: FCA, 2003. 246 p.

PATARICZA, A. et al. UML Based Control of Industrial Processes. Budapeste University of Technology and Economics, Hungary, 2001. p. 1-3.

RIBEIRO, A. F.; SILVESTRE, R. Interfaces Homem Máquina (IHM). Centro universitário Uniradial Estácio, São Paulo, SP, 2010. p. 1-3.

RIBEIRO, M. A. Fundamentos da Automação. 1ª ed. Salvador: TEK, 2003. 221 p.

SEBRAE. Automação Comercial - SEBRAE. Serviço Brasileiro de Apoio às Micro e Pequenas Empresas, 2009. Disponivel em: <http://www.sebrae.com.br/setor/comercio-varejista/o-setor/inovacao-etecnologia->. Acesso em: 24 set. 2012.

STADZISZ, P. C. Projeto de Software Usando a UML. Departamento Acadêmico de Informática - CEFET-PR, 2002. Disponivel em:

57 <http://www.etelg.com.br/paginaete/downloads/informatica/apostila2uml.pdf>. Acesso em: 24 set. 2012.

THRAMBOULIDIS, K. C. Using UML in Control and Automation: A Model Driven Approach. University of Patras, Patras, Greece, 2004. p. 1-8.

VOGEL-HEUSER, B. et al. Implementation and evaluation of UML as modeling notation in object oriented software engineering for machine and plant automation. Proc. of the 18th IFAC World Congress, Mailand, Italien, 2011. p. 1-7.

YOUNIS, M. B.; FREY, G. UML-Based Approach for the Re-Engineering of PLC Programs. 32nd Annual Conference of the IEEE Industrial Electronics Society (IECON'06), Paris, France, 2006. p. 1-6.

ZANCAN, M. D. Controladores Lógico Programáveis. Colégio Técnico Industrial de Santa Maria, Rio Grande do Sul, 2011. p. 1-62.