SA – Soluçþes em Automação, S.A. 5FM t 'BY JOGP!TB POMJOF QU t XXX TB POMJOF QU
INFORMAĂ‡ĂƒO TÉCNICO-COMERCIAL
OS BENEFĂ?CIOS DE DESENVOLVIMENTO DE APLICAÇÕES ORIENTADAS A OBJECTOS PARA SISTEMAS DE SUPERVISĂƒO E SCADA (1.ÂŞ PARTE) 1. VISĂƒO GERAL Existem vĂĄrias diferenças fundamentais nos sistemas SCADA e supervisĂŁo HMI (Human Machine Interface), entre os que sĂŁo baseados em desenvolvimento orientado a objectos e o tradicional desenvolvimento baseado em Tags. Neste artigo, iremos diferenciar as duas metodologias.
2. INTRODUĂ‡ĂƒO As arquitecturas baseadas em Tag existem hĂĄ muitos anos no mundo da computação. O desenvolvimento orientado a objectos tambĂŠm tem vindo a ser usado jĂĄ hĂĄ algum tempo. Ambos sĂł agora estĂŁo a começar a evoluir, no processo de sistemas SCADA e supervisĂŁo HMI.
3. DEFINIÇÕES As seguintes definiçþes irĂŁo aparecer ao longo do artigo. - Programação Orientada a Objectos: Programação Orientada a Objectos (OOP) ĂŠ um modelo de linguagem de programação organizada em torno de “objectosâ€? em vez de “acçþesâ€?, e em dados em vez de lĂłgica. Historicamente, os programas eram vistos como um procedimento lĂłgico que recebem dados das entradas, processam e produzem dados de saĂda. O desafio da programação era visto como a forma de escrever a lĂłgica, e nĂŁo como definir os dados. Em contrapartida, a programação orientada a objectos preocupa-se com os objectos que queremos manipular, em vez da lĂłgica necessĂĄria para manipulĂĄ-los. - Componente: Na programação orientada a objectos e tecnologia de objectos distribuĂdos, um componente ĂŠ um bloco de construção do programa, que pode ser combinado com outros componentes, de um mesmo computador ou de outros, que estejam ligados numa rede distribuĂda, de modo a formarem uma aplicação. Os componentes podem ser distribuĂdos por servidores diferentes, dentro de uma rede, e podem comunicar uns com os outros para executar serviços. Exemplos: - Um botĂŁo, num interface grĂĄfico do utilizador; - Uma calculadora de juros; - Um interface para uma base de dados -
-
Recipiente: Os componentes funcionam dentro do contexto de um recipiente. Exemplos: - Servidores Web; - Servidores de aplicaçþes; - Base de dados; Componente baseado em objecto: Este termo refere-se a um sistema que usa um desenvolvimento orientado a objectos, para produzir uma aplicação modular, que pode ser distribuĂda atravĂŠs de qualquer quantidade de recursos computacionais. Como a ligação entre o componente, o ambiente de desenvolvimento e o ambiente Runtime ĂŠ mantida, as mudanças incrementais podem ser feitas sem ter de interromper o sistema inteiro.
-
Replicação: Este termo refere-se à criação de componentes, a partir do modelo de objecto; Propagação das Alteraçþes: Na programação orientada a objectos, este termo refere-se ao processo de alteração de um objecto modelo e a sua distribuição selectiva para uma aplicação, para vårias aplicaçþes ou para todo o sistema.
4. SISTEMA BASEADO EM TAG VERSUS SISTEMA DE COMPONENTES ORIENTADO A OBJECTOS 4.1. Sistema baseado em Tag Desde a criação dos sistemas HMI baseados em PC, e dos sistemas de supervisĂŁo SCADA, o desenvolvimento do acesso a dados, scripts, alarmes e anĂĄlise dos dados foi baseado no conceito das Tags. Embora esta abordagem possa ser simples e portĂĄtil de um projecto para outro, um ambiente baseado em Tag utiliza um “namespaceâ€? plano, o que ĂŠ uma lacuna, porque os elementos individuais nĂŁo podem ser ligados ou organizados em estruturas mais inteligentes, com relacionamentos e interdependĂŞncias internas. As alteraçþes das listagens das Tags sĂŁo geralmente executadas externamente ao ambiente de desenvolvimento, e estas modificaçþes podem ser feitas atravĂŠs de um arquivo de texto ou em ferramentas como o Microsoft Excel, sendo seguidamente reimportadas para a aplicação. A reutilização de um sistema baseado em Tag, ĂŠ geralmente aplicada atravĂŠs de referĂŞncias dinâmicas ou referĂŞncias cliente-servidor. O sistema quando se encontra em Runtime, possui grĂĄficos comuns contendo scripts que alteram as Tags. Como a estrutura da aplicação ĂŠ simples, o utilizador ao fazer alteraçþes numa Tag necessita de analisar todo o sistema, de modo a poder verificar quais as alteraçþes provocadas. 4.2 Sistema de componentes orientado a objectos O conceito de componente ou desenvolvimento orientado a objectos ĂŠ oriundo do mundo da Tecnologia da Informação (TI). O objectivo era fornecer ferramentas que libertariam o tempo de desenvolvimento, uma programação de tarefas repetitivas, e ao mesmo tempo maximizar a reutilização, atravĂŠs do desenvolvimento de componentes comuns. Como era de esperar, estas ferramentas nĂŁo se encaixaram totalmente no ambiente industrial, e os integradores de sistemas e engenheiros de produção nĂŁo sĂŁo os programadores tĂpicos de computadores. Para alĂŠm disso, existem tambĂŠm algumas diferenças fundamentais entre a arquitectura de TI e aplicaçþes de automação da produção. Por exemplo, as aplicaçþes TI envolvem tipicamente acesso a bases de dados gerais, baseadas em interfaces com formulĂĄrios, que realizam operaçþes como: banco online, relatĂłrios de negĂłcios, gestĂŁo de RH, contabilidade financeira ou simplesmente a verificação de informação estatĂstica. robĂłtica [47]
>C;DGB6vÀD Iw8C>8D"8DB:G8>6A
aplicação SCADA é realmente de componentes baseados em objectos, esta usa a filosofia de relação pai-filho. Os objectos modelo (pai) são desenvolvidos primeiro. Em seguida, os componentes são replicados ou instanciados, a partir dos objectos “pai”. Os “filhos” são ligados ao “pai”, para que, assim que o “pai” seja modificado, essas alterações sejam replicadas para todos os “filhos”. Esta é uma capacidade de desenvolvimento extremamente poderosa na medida em que: - A criação da aplicação é optimizada pelo uso do objecto modelo para gerar automaticamente os componentes (replicação); - As alterações no projecto são facilmente acomodadas, ou seja, os componentes herdam as alterações dos “pais” através da propagação de alterações; - As mudanças no sistema e expansões são mais fáceis e mais eficazes devido à replicação automática e propagação de alterações.
6. DESENVOLVER UMA VEZ, REUTILIZAR MUITAS VEZES
O Industrial Application Server é um software orientado a objectos, tendo uma abordagem de desenvolvimento mais simples do que outros que envolvem uma programação pesada. O software ArchestrA Integrated Development Environment (IDE) permite o uso simples das técnicas arrastar/soltar, clicar para seleccionar e preencher caixas de texto. Na maioria dos casos, este método é mais fácil do que os scripts linha-a-linha. Além disso, o número de erros de sintaxe e de Runtime são minimizados, porque o IDE reforça as regras e especificações do sistema. Os utilizadores podem desenvolver objectos uma única vez e reutilizá-los várias vezes, na aplicação actual, assim como em projectos futuros.
7. GRÁFICOS ORIENTADOS A OBJECTOS NO AMBIENTE SCADA O termo “Gráficos orientados a objectos” tem sido usado no ambiente SCADA desde o início de 1990. Hoje, este termo geralmente refere-se à capacidade de construir gráficos e desenhos baseados em classes ou numa hierarquia, permitindo aos utilizadores construir um símbolo e replicá-lo através de uma tela ou aplicação HMI. Os utilizadores podem então editar o símbolo e distribuir facilmente as alterações para todos os símbolos semelhantes, ao mesmo tempo. Embora esta funcionalidade seja útil, as aplicações SCADA não são meramente gráficas. A grande parte do trabalho de desenvolvimento na criação de aplicações de supervisão é gasto na criação de itens ou funcionalidades como: - Monitorização de alarmes; - Scripts de animação; - Scripts de segurança; - Scripts de Supervisão; - Histórico de informação; - Integração com outras aplicações e base de dados SQL; - Detecção de eventos; " ;ajmd Z X{aXjadh Ydh bdk^bZcidh0 - Integração de dispositivos. A fim de nos apercebermos plenamente dos benefícios de uma arquitectura de componentes baseada em objectos, o sistema SCADA necessita de descrever todos estes pontos, assim como os gráficos e objectos. Na próxima edição vamos fazer referência aos processos desencadeados por cada um dos métodos e ilustrar como o desenvolvimento de aplicações SCADA e supervisão orientado a objectos, pode resultar numa redução até 80% sobre o desenvolvimento tradicional baseado em Tag. (Continua na próxima edição) PUB
robótica [49]