Thiago de Freitas Sa..
Transcrição
Thiago de Freitas Sa..
UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO Blue Ocean – Desenvolvimento de um Sistema SCADA para Pipelines Monografia submetida à Universidade Federal de Santa Catarina como requisito para a aprovação da disciplina: DAS 5511 Projeto de Fim de Curso Thiago de Freitas Santos Florianópolis, Março de 2007 Blue Ocean – Desenvolvimento de um Sistema SCADA para Pipelines Thiago de Freitas Santos Esta monografia foi julgada no contexto da disciplina DAS 5511: Projeto de Fim de Curso e aprovada na sua forma final pelo Curso de Engenharia de Controle e Automação Banca Examinadora: Fábio Dias Fagundez Paulo Armando Rêgo Orientadores da Empresa Prof. Agustinho Plucênio Orientador do Curso Prof. Augusto Humberto Bruciapaglia Responsável pela disciplina Prof. Nestor Roqueiro, Avaliador Guilherme Castro Royer, Debatedor Marcelo de Saulnier Fuchs, Debatedor Agradecimentos Foram cinco anos excelentes, sobre todos os aspectos. Tenho muito a agradecer a todos que me ensinaram, sobre vida e Engenharia, e me apoiaram para chegar até aqui. Primeiramente, agradeço à Deus, Senhor desse mundo, pela vida, saúde e paz. Agradeço à minha família, minha inspiração, meu exemplo, pelo amor e apoio incondicional. Sem minha mãe, meu pai e meu irmão, certamente não chegaria tão longe. Não foi fácil suportar a distância, mas ela nos uniu e nos fortaleceu. Agradeço à Marianna, meu amor, leitora e revisora oficial, pela motivação, ajuda e carinho. Nossos planos tornam mais saborosas todas as conquistas, ainda teremos muitas. Ao Fábio, meu grande incentivador no projeto, pelo entusiasmo, orientação e amizade. Ao Paulinho e toda a equipe de desenvolvedores da Chemtech: Ricardo, André, Ramon, Loriato, Alexandre, Schirmer e Britto, pelo companheirismo, pela dedicação, pelos ensinamentos. Agradeço ao Agustinho, pela paciência, pelo comprometimento, pela ajuda. Aos professores do DAS, que ensinaram, cobraram e formaram uma base sólida. Aos amigos de faculdade, pela amizade verdadeira, pelos bons momentos, pela parceria. Vocês serão sempre especiais para mim. Agradeço ainda o apoio financeiro da Agência Nacional do Petróleo, Gás Natural e Biocombustiveis-ANP e da Financiadora de Estudos e Projetos (FINEP) por meio do Programa de Recursos Humanos da ANP para o Setor do Petróleo e Gás PRH-34 ANP/MCT. A Todos, muito obrigado! Resumo Sistemas SCADA (Supervisory Control And Data Acquisition) são de fundamental importância para indústria nos mais diversos setores. Esses sistemas concentram informações da planta, fornecendo status em tempo real de milhares de equipamentos e instrumentos. Áreas de operação e manutenção lidam diariamente com sistemas SCADA. SCADA’s modernos têm expandido sua fronteira de atuação. Além de exibirem o panorama atual de operação eles têm armazenado dados históricos e distribuído informações através de interfaces padrão, como OPC. Eles têm também permitido o acoplamento de sistemas externos voltados para o ramo de atuação da indústria. Pipelines são componentes essenciais na distribuição de óleo e gás em todo o mundo. Sistemas SCADA são fundamentais no controle e manutenção dos dutos, estações de bombeamento e compressão e nas unidades de medição. Os SCADA’s aplicados à pipelines possuem peculiaridades, principalmente devido à separação espacial dos equipamentos e a existência de sistemas externos, como os sistemas de controle de materiais transportados, detecção de vazamento e medição de órgãos de fiscalização. Esse trabalho propõe-se a mostrar as fases iniciais de desenvolvimento de um sistema SCADA moderno para pipelines, em um projeto chamado Blue Ocean, desenvolvido pela empresa Chemtech. O projeto Blue Ocean foi contratado pela Siemens, que visava, inicialmente, empregar o SCADA desenvolvido em pipelines de um cliente da África do Sul. O SCADA desenvolvido será empregado em pipelines novos e também substituirá sistemas já implantados. Será apresentada a arquitetura, a plataforma de desenvolvimento e as primeiras etapas de construção desse novo sistema, com ênfase na atuação do autor. ii Abstract SCADA (Supervisory Control And Data Acquisition) Systems are of great importance for industry in all areas. These systems concentrate information of the plant, providing real time status of thousand of equipments and instruments. Operation and maintenance staff deal daily with SCADA systems. Modern SCADAs have expanded its applicability. Beyond showing the current state of operation process, these systems have stored historical data and distributed information through standard interfaces, such as OPC. They have also allowed the coupling of external systems. Pipelines are the main way to transport oil and gas in the world. SCADA Systems are essential for controlling and maintenance of ducts, pumping and compressing stations, and in the units of measurement. SCADAs employed in pipelines has peculiarities, mainly due to space distribution of the equipment and the presence of external systems, such as batch tracking systems, leak detection and regulatory measurements. This document intents to show the initial phases of development of a modern SCADA system for pipelines, in a project called Blue Ocean, which were developed by Chemtech company. Blue Ocean project was contracted by Siemens, who aimed to use the SCADA in pipelines of a customer in South Africa. The built SCADA will be employed in brand new pipelines and also in operational ones. This document will present the architecture, platform and the first stages of development of this new system. It will be emphasized the tasks performed by the author. iii Sumário Agradecimentos................................................................................................. i Resumo ............................................................................................................ ii Abstract ........................................................................................................... iii Sumário ........................................................................................................... iv Simbologia...................................................................................................... vii Capítulo 1: Introdução ......................................................................................1 1.1: A Empresa .............................................................................................1 1.2: SCADA...................................................................................................3 1.3: Pipelines ................................................................................................4 1.3.1: Histórico ..........................................................................................5 1.3.2: Organizacional.................................................................................6 1.3.3: SCADA para pipelines.....................................................................7 1.4: Projeto Blue Ocean................................................................................9 1.4.1: SiSchedX.......................................................................................11 1.4.2: Contexto de Engenharia de Controle e Automação .....................11 1.5: Estrutura do Documento ......................................................................13 Capítulo 2: Estrutura do Sistema SCADA ......................................................14 2.1: Arquitetura ...........................................................................................14 2.1.1: Requisitos do sistema ...................................................................14 2.1.2: Atores do sistema SCADA ............................................................15 2.1.3: Modelos de arquitetura e subsistemas..........................................18 2.2: Plataforma de Desenvolvimento ..........................................................21 2.2.1: Linguagem de programação - JAVA .............................................21 iv 2.2.2: Plataforma Eclipse RCP ................................................................21 2.2.3: J-Integra para COM.......................................................................24 2.2.4: JGo................................................................................................25 2.2.5: Gerenciador de Scripts BeanShell ................................................25 2.2.6: Open Splice DDS middleware .......................................................26 2.2.7: MySQL ..........................................................................................26 2.3: Cronograma .........................................................................................27 2.3.1: Fase Zero ......................................................................................27 2.3.2: Fase de Elaboração ......................................................................28 Capítulo 3: Atividades Desenvolvidas ............................................................30 3.1: Preparação – Treinamentos ................................................................30 3.1.1: Curso de PCS7 .............................................................................30 3.1.2: Curso de P&ID ..............................................................................30 3.1.3: Curso de Java ...............................................................................31 3.1.4: Seminários em Eclipse RCP .........................................................32 3.2: Conhecer o sistema SCADA atualmente implantado ..........................32 3.2.1: LSX................................................................................................32 3.2.2: CS7 ...............................................................................................35 3.3: Análise de mercado .............................................................................36 3.4: Bancada de testes para a Prova de Conceito......................................37 3.4.1: Experimento do desafio de controle ..............................................37 3.4.2: Configuração de um servidor OPC................................................39 3.4.3: Estrutura completa da bancada de testes.....................................39 3.5: Elaboração do Plano de testes ............................................................41 3.5.1: Testes de comunicação ................................................................41 3.5.2: MySQL ..........................................................................................45 v 3.5.3: Interface Gráfica............................................................................47 3.5.4: Modularidade.................................................................................49 3.5.5: Portabilidade .................................................................................49 3.6: Testes ..................................................................................................50 3.7: Apresentação.......................................................................................51 3.8: Ferramenta de Configuração de Engenharia.......................................52 3.8.1: Importância....................................................................................52 3.8.2: Estrutura do Aplicativo...................................................................53 3.8.3: Detalhamento do Aplicativo...........................................................54 3.9: Testes para Finalização da versão ......................................................57 3.10: Revisão da arquitetura .......................................................................57 3.11: Definição da bancada final de testes .................................................58 3.11.1: CLP S7-400.................................................................................58 3.11.2: Módulo TIM .................................................................................58 3.11.3: Arranjo dos equipamentos ..........................................................59 3.12: Detalhamento da bancada.................................................................61 3.13: Reformulação do Plano de testes......................................................61 3.14: Teste versão para apresentação .......................................................63 Capítulo 4: Conclusões e Perspectivas ..........................................................64 Bibliografia:.....................................................................................................65 vi Simbologia AOPL - Association of Oil Pipe Line CLP – Controlador Lógico Programável COM – Component Object Model DCOM – Distributed Component Object Model DCS - Distributed Control System ISA - Instrument Society of America ODBC – Open Database Connectivity OLE – Object Linking and Embedding OPC – OLE for Process Control OPC AE - Alarm and Event OPC DA - Data Access OPC DX - Data Exchange OPC HDA - OPC Historical Data Access P&ID - Piping and Instrumentation Diagram QoS – Quality of Service RTRDB – Real-time Relational Database RTU – Remote Telemetry (or Terminal) Unit SCADA - Supervisory Control And Data Acquisition vii Capítulo 1: Introdução 1.1: A Empresa A Chemtech foi criada em 1989 por três engenheiros químicos recémformados do Instituto Militar de Engenharia (IME) do Rio de Janeiro. Inicialmente, os projetos eram voltados para sistemas na área de processos, sendo o maior cliente, na época, o centro de Pesquisas da Petrobras (CENPES). Os primeiros projetos, como o simulador de processos Petrox - ainda hoje utilizado na Petrobras, tiveram grande sucesso e abriram caminho para outros trabalhos. A qualidade dos produtos gerados e a gestão dos projetos permitiram que a Chemtech conquistasse gradativamente seu mercado, crescendo e expandindo sua carteira de clientes. O reconhecimento dos clientes, o padrão mundial de qualidade e a linha de soluções da Chemtech foram fatores decisivos de sua escolha pela Siemens, em 2001, para ser a responsável pela área de Tecnologia de Informação para plantas de processo nos países do Mercosul e México. Desde então, a Chemtech, aliada a uma das mais respeitadas corporações mundiais de engenharia, cresceu consideravelmente. O mercado de Óleo e Gás é, e sempre foi, o maior cliente da Chemtech, dividido entre empresas representativas como Petrobras, Exxon Mobil, Chevron e Shell. Os trabalhos nessa área permitiram a atuação em projetos em diversos países do mundo: Alemanha, Estados Unidos, Rússia, Japão, Cingapura, Tailândia, Arábia Saudita, França, África do Sul, Canadá e Espanha. Gradualmente, a Chemtech abriu as portas para as mais diversas áreas de atuação, como representado na Figura 1. Seus clientes se distribuem nos seguintes mercados: Software, Água e Energia Elétrica, Metais e Mineração, Papel e Celulose, Petróleo e Gás, Petroquímica e Química. 1 Figura 1 - Áreas de atuação Chemtech Dezoito anos depois de sua criação, a Chemtech tornou-se uma empresa líder de mercado, ocupando um nicho específico e aliando diversas áreas de engenharia, sempre combinando conhecimento de processo ao domínio das mais modernas soluções em Tecnologia da Informação. Como parte da Siemens, a Chemtech oferece basicamente três grandes grupos de soluções: Conceituar e projetar No projeto conceitual e na engenharia básica é feito um uso intensivo da simulação de processos e da fluidodinâmica computacional. O objetivo é chegar aos melhores arranjos e dimensões de equipamentos e às melhores condições operacionais para os processos de transformação e agregação de valor que ocorrem nas indústrias. Negócios e processos Fluxo de informação entre o chão de fábrica e o nível corporativo do cliente. Inclui desde os serviço de automação industrial até a integração com os sistemas ERP, envolvendo a implantação dos sistemas de informação e de sistemas LIMS e MES. O objetivo é desenvolver a integração entre as diversas áreas da empresa a fim de maximizar seu desempenho como um todo. 2 Operação e produção Otimização do processo e da produção. Inclui a sintonia de malhas de controle, o controle avançado do processo, a otimização e o planejamento e a programação avançada de produção. O objetivo é elaborar e executar estratégias para o melhor aproveitamento das oportunidades da empresa em relação aos recursos e às restrições existentes. 1.2: SCADA Um sistema SCADA (Supervisory Control And Data Acquisition) é formado por terminais remotos que coletam dados de campo e transmitem esses dados a uma estação principal através de um sistema de comunicação. A estação principal exibe os dados adquiridos e também permite que o operador execute tarefas de controle remoto [ 1 ]. De forma simplificada, SCADA é um sistema que troca sinais codificados através de canais de comunicação com o intuito de prover controle sobre os equipamentos das Unidades Terminais Remotas (RTU) [ 6 ]. Sistemas SCADA surgiram da necessidade de um frontend (interface) para sistemas de controle com CLP’s (Controladores Lógicos Programáveis). Os CLP’s, embora executem tarefas de medição e controle, não disponibilizam uma interface para monitoramento e atuação dos operadores. Os sistemas SCADA podem adquirir dados dos CLP’s através de diversos métodos e protocolos de comunicação. Eles, então, agrupam e formatam a informação de maneira adequada para a interpretação do usuário. A partir da década de 90, o papel dos sistemas incorporou maiores funcionalidades automáticas, como a conexão a bancos de dados para o fornecimento de gráficos em tempo-real, as informações de diagnóstico e logística, os procedimentos agendados de manutenção, os esquemas detalhados para máquinas e equipamentos, entre outros. Em questão de poucos anos, a maioria dos fabricantes de CLP’s já ofereciam sistemas SCADA integrados, muitos desses já com protocolos de comunicação abertos e não-proprietários. 3 Os três componentes principais de um sistema SCADA são: Unidades Terminais Remotas (RTU’s): Majoritariamente, são os CLP’s distribuídos no nível de campo. Conectam-se aos equipamentos, lêem informações de status como o sinal aberto/fechado de uma válvula e realizam medições como pressão, fluxo, tensão e corrente. Tais equipamentos também podem ser controlados através do envio de sinais com comandos, tais como abrir/fechar ou definir o set point de uma bomba hidráulica; Estação Servidora e MMI’s: As Estações Servidoras são responsáveis pela comunicação com os equipamentos de campo (RTU’s, CLP’s). MMI’s (Man Machine Interface) são os elementos de visualização (clientes) das informações geradas pela Estação Servidora. As MMI’s também permitem aos usuários o envio de comandos a Estação Servidora, as quais os repassam aos equipamentos de controle em campo. Infra-estrutura de Comunicação: Sistemas SCADA utilizam, tradicionalmente, combinações de rádio e conexões diretas seriais ou por modem, para realizarem a troca de dados. No entanto, a partir do ano 2000, ampliou-se o uso de Ethernet (IEEE 802.3) e IP sobre SONET (GR-253-CORE), especialmente em grandes plantas com grande número de pontos, como geradoras de energia. Padrões como IEC 60870-5-101 ou 104, Profibus e DNP3 - atualmente com extensões para TCP/IP, são reconhecidos pela maioria dos fabricantes de sistemas SCADA. 1.3: Pipelines1 Pipelines (dutos) são usados predominante no transporte de petróleo e gás entre as unidades produtoras, de tratamento e distribuidoras em todo o mundo. A 1 O conjunto de dutos e demais componentes que viabilizam o transporte de óleo e gás recebe a denominação pipeline na língua inglesa. No português é feita a diferenciação entre gasoduto e oleoduto conforme o transporte seja de gás ou óleo. Para maior simplicidade utiliza-se neste documento o termo pipeline para referir-se a um duto que transporte óleo ou gás. 4 sua aplicação é a forma mais rápida, confiável e de baixo custo para o transporte de óleo e gás. Mais do que isso, os pipelines representam a única forma viável de atender a enorme demanda global. Por exemplo, para substituir um oleoduto de pequena dimensão que transporta 150 mil barris de petróleo por dia, é necessário carregar e descarregar 750 caminhões. Em escala mundial, são consumidos diariamente cerca de 80 milhões de barris de petróleo. Figura 2 - Etapas de produção do petróleo Além de eficiente, o transporte por pipelines também é seguro. Em 1998, uma pesquisa comparou a tecnologia com outras formas de transporte e apontou que apenas 0,027 x10 −3 % dos acidentes fatais nos Estados Unidos foram causados pelo sistema . 1.3.1: Histórico Os primeiros pipelines construídos no mundo eram feitos de madeira ou ferro e atendiam predominantemente o transporte de gás natural na Europa e nos Estados Unidos. Após a Segunda Guerra Mundial, o desenvolvimento da metalurgia, das tecnologias de soldagem e de enrolamento de dutos provocou um grande crescimento da utilização deste sistema de transporte. Em 1998, havia mais de 857 mil quilômetros de pipelines voltados unicamente para o transporte de gás natural em todo o mundo. No Brasil, o bombeamento de petróleo por pipelines começou em 1940. Nos anos 60, foi construído o primeiro oleoduto de longa distância brasileiro, ligando 5 Terminal da Guanabara (TORGUÁ) e a Refinaria Duque de Caxias (REDUC), no Rio de Janeiro. Atualmente, a Transpetro (Petrobras Transportes S.A.), maior transportadora brasileira, é responsável por 10 mil quilômetros de rede dutoviária, transportando petróleo e derivados, gás natural e álcool. Em 2005, a carga transportada pela Transpetro registrou 640 milhões de metros cúbicos. 1.3.2: Organizacional Os sistemas de pipelines são formados por três unidades básicas: os próprios dutos, as estações de bombeamento ou compressão e as estações de medição. Essas unidades se encaixam em uma estrutura organizacional que pode ser subdividida em Suporte Corporativo, Manutenção, Operação e Suporte ao Consumidor, [ 2 ]. Detalhes dessa divisão são mostrados na Figura 3. O sistema de automação implantado nos pipelines integra e agiliza a execução da maioria das funções da estrutura organizacional. Manutenção e Operação são diretamente impactadas e as outras esferas sofrem influência indireta, mas também significativa. O grau de automação dos pipelines é item determinante em sua performance e competitividade no mercado. 6 Figura 3 - Distribuição organizacional de um pipeline 1.3.3: SCADA para pipelines O centro de operações de qualquer pipeline, chamado Centro de Controle, monitora e controla os dutos, bombas, estações de compressão e unidades de medição. O sistema que usualmente realiza essa operação de controle e monitoramento é um sistema SCADA. 7 A tecnologia usada nos sistemas computacionais e de telecomunicações determinam a funcionalidade, escopo e capacidade dos sistemas SCADA utilizados em pipelines. Figura 4- Exemplo de tela de um sistema SCADA para pipelines Além das funções de monitoramento e controle, os sistemas SCADA concentram dados de outros sistemas de informação nas aplicações para pipelines. Alguns softwares usualmente associados aos sistemas SCADAS, têm as seguintes funções [ 2 ]: • Simulação de pipelines; • Gerenciamento de tanques; • Detecção de vazamentos; • Monitoramento de carregamentos (batch tracking); • Totalização de vazão; • Cobrança e rateio de taxas (billing); • Geração de relatórios para clientes. 8 Atualmente, é possível apontar diversas melhorias e retrofits para os pipelines instalados em todo o mundo. Muitos sistemas são complexos para operar sem automação. Outros sistemas exigem mais recursos de automação com a ampliação da linha. Em alguns casos, a transição de sistema de operação manual para outro automático exige atualização completa desde a unidade de controle até o SCADA. As modificações nas unidades locais de produção e nos sistemas SCADA, com o intuito de torná-los mais automatizados, normalmente têm três objetivos principais: custo, confiabilidade e eficiência. 1.4: Projeto Blue Ocean O projeto Blue Ocean visa desenvolver um sistema SCADA voltado para o mercado de pipelines. O projeto foi contratado pela Siemens AG (Alemanha) para atender, inicialmente, a maior transportadora de Petróleo da África do Sul, que tem seus pipelines controlados por CLP' s e SCADA da empresa alemã. No entanto, o sistema supervisório instalado pela Siemens, chamado LSX, se encontra ultrapassado, não atendendo a todas as necessidades da empresa. A falta de flexibilidade e custo de configuração do sistema atual exigiram que a operadora de pipelines pedisse ao seu fornecedor (Siemens) uma solução mais moderna e adequada aos padrões internacionais de monitoramento e controle. A Siemens dispunha no mercado de outros produtos que poderiam atender o cliente. Em particular, uma suíte de aplicações para SCADA e DCS (Distributed Control System) para plantas de processo. Entretanto, uma análise mais detalhada mostrou que a simples substituição do sistema SCADA, como ocorria em outras indústrias, era uma solução mais cara e menos eficiente que a construção de um sistema totalmente novo e voltado para essa área especificamente. Geralmente tal solução não é empregada na indústria, a qual prefere utilizar softwares convencionais configurados para suas aplicações. Contudo, os pipelines apresentam uma série de peculiaridades que fazem com que a adaptação de produtos convencionais seja bastante difícil e por vezes não atenda completamente as necessidades do sistema. 9 As principais características limitantes do pipeline até então instalado são: • O SCADA (LSX) opera em um sistema operacional UNIX (Solaris) e o cliente não gostaria de migrar para outro sistema operacional, tal como Windows; • As telas do sistema supervisório atual e sua estrutura de banco de dados dificilmente seriam adaptadas a um SCADA comercial; • O hardware atualmente usado no pipeline limita consideravelmente a troca de dados a longa distância. Um protocolo especificamente desenvolvido para a aplicação sul-africana contorna essa limitação. Entretanto, esse protocolo não é suportado por nenhum outro SCADA; • O procedimento de configuração do sistema SCADA demanda muito tempo e é feito apenas por engenheiros da Siemens na Alemanha. Nesse contexto, a Chemtech pertencente ao grupo Siemens e já atuante em outros projetos de sucesso - se mostrou como a empresa ideal para esse novo desenvolvimento. Apesar de inicialmente estruturado como solução para o pipeline do cliente sul-africano, o SCADA desenvolvido no projeto Blue Ocean tem um objetivo maior. O SCADA deve ser uma solução ampla voltada para o mercado, não apenas para o cliente inicial. Mais do que atender às necessidades do sistema da África do Sul, ele deve se basear em padrões modernos e largamente aceitos, atendendo os requisitos críticos dos sistemas de pipelines. Durante a fase de planejamento e análise, os pontos de enfoque do novo sistema foram enumerados: • Integridade dos dados; • Redundância e disponibilidade do sistema; • Redução dos custos de configuração e engenharia; • Facilidade de operação; • Escalabilidade; • Uso de modernas técnicas de software; • Redução dos custos de operação dos pipelines; 10 • Prover mecanismo de integração com aplicações externas e típicas do mercado de pipelines; • Prover integração com sistemas e dispositivos legados; • Modularidade; • Segurança; • Portabilidade; 1.4.1: SiSchedX Mesmo fazendo parte do grupo Siemens, a conquista do projeto Blue Ocean é fruto da qualidade de trabalhos anteriores realizados pela Chemtech. O reconhecimento da capacidade da empresa deu-se, principalmente, pela confiança adquirida em um outro projeto, liderado pela mesma equipe que assumiu o desenvolvimento do Blue Ocean. Esse outro projeto gerou o produto SiSchedX da Siemens. SischedX (Siemens Scheduling eXpert) é um produto para planejamento e programação de produção em refinarias de petróleo. Ele permite que a programação diária da produção em uma refinaria seja feita com auxílio de simulação e análise de cenários. Assim, ele oferece um desenho de toda a planta e acessa sistemas ERP, LIMS, PIMS ou quaisquer outros com informações relevantes. Utilizando dados reais, simula diferentes seqüências de produção. Atualmente, o SischedX é utilizado com sucesso numa das maiores refinarias brasileiras, a REPLAN. O conhecimento adquirido com esse projeto relaciona-se diretamente com os principais objetivos do Blue Ocean. 1.4.2: Contexto de Engenharia de Controle e Automação O projeto de um sistema SCADA é um projeto de automação. O SCADA desempenha papel fundamental na automação industrial, ele reúne as informações de chão de fábrica e permite o controle sobre toda a planta. Um grande conjunto de disciplinas vistas durante o curso são abordadas no desenvolvimento de um sistema SCADA, dentre elas: Informática Industrial, Redes de Computadores para Automação, Sistemas de Banco de Dados, Sistemas 11 Distribuídos, Instrumentação, Integração de Sistemas Corporativos e Metodologia para Desenvolvimento de sistemas. Primeiramente, é necessário conhecimento de redes industriais, uma vez que serão desenvolvidos protocolos para comunicação com os CLP’s. Fazem parte do escopo do projeto, a adequação tanto a protocolos padrões da indústria, como IEC 60870-5-101, DNP3 e ModBus, quanto a um protocolo específico para o sistema de pipelines da África do Sul, o Siemens EDC (Event Driven Communication). Dentro do âmbito da disciplina de Integração de Sistemas Corporativos, o SCADA deverá prover servidor e cliente OPC, aderindo, novamente, aos padrões industriais de automação. A programação do sistema SCADA será feita em linguagem orientada a objetos, Java, utilizando-se técnicas de modelagem. O banco de dados relacional tem enorme importância em um sistema SCADA e no projeto Blue Ocean, especificamente. O banco de dados existente no pipeline deverá ser incorporado, o acesso a ele será feito utilizando-se interface JDBC/ODBC. A instrumentação de campo e estações SCADA são distribuídas pelos vários quilômetros de um pipeline. É fundamental conhecer a forma de comunicação e atuação dos instrumentos de campo e a integração entre as instâncias do SCADA nesse projeto, da mesma forma que a estrutura de armazenamento de dados do CLP e a sua forma de comunicação são importantes para o desenvolvimento de um SCADA eficiente. Desta forma, os conhecimentos adquiridos em informática industrial são imprescindíveis. Por fim, a integração entre várias tecnologias e disciplinas é um ambiente onde o Engenheiro de Controle e Automação sente-se confortável e pode desempenhar sua função da melhor forma. 12 1.5: Estrutura do Documento Este documento visa mostrar as etapas de desenvolvimento do projeto Blue Ocean, enfatizando as minhas atividades em seu contexto. A organização dos capítulos foi feita de seguinte forma: • Capítulo 2 - Será dada uma visão geral do projeto, apresentando a arquitetura proposta, a metodologia de desenvolvimento e o cronograma de atividades. • Capítulo 3 - Serão detalhadas as etapas do projeto em que tive uma participação efetiva. Os resultados de cada etapa são mostrados paralelamente. • Capítulo 4 – As conclusões e resultados são o foco desse capítulo. 13 Capítulo 2: Estrutura do Sistema SCADA 2.1: Arquitetura 2.1.1: Requisitos do sistema O sistema tem como objetivo se adequar a pipelines em diferentes etapas de desenvolvimento. Dessa forma, três distintos tipos de projetos de pipelines foram considerados: • Green field – Um novo pipeline está sendo instalado e tanto os instrumentos de campo quanto o software são projetados para trabalhar em conjunto; • Retrofit Total – Infra-estrutura, instrumentos de campo e o sistema SCADA é modernizado em um pipeline já em funcionamento; • Retrofit do SCADA – Apenas o sistema SCADA em funcionamento é modernizado. O sistema SCADA deve, assim, ter uma base sólida que o torne um produto aplicável nas três situações listadas, além de ser um produto competitivo comercialmente, reunindo todas as características que um moderno SCADA deve possuir. Os elementos centrais buscados para a arquitetura do projeto Blue Ocean são: • Adequação a protocolos padrões (OPC e ODBC, por exemplo); • Confiabilidade; • Independência de sistema operacional; • Troca de componentes durante a execução sem desempenho; • Integração com sistemas de banco de dados em tempo real; • Escalabilidade da interface do usuário; • Configuração de perfis de usuário; • Permissões específicas para cada perfil de usuário; • Cerne do sistema acessível através de múltiplas interfaces; 14 perda de • Ferramentas de configuração (também denominadas “ferramentas de engenharia”) rápidas e fáceis de manusear; • Mecanismo flexível para integração dos sistemas e dispositivos legados. 2.1.2: Atores do sistema SCADA O ponto de partida para a construção do software foi o levantamento dos atores que deverão interagir com o sistema SCADA. Atores são usuários e/ou outros meios externos que desenvolvem algum papel em relação ao sistema. Os meios externos são hardwares e/ou softwares que, assim como os usuários, geram informações para o sistema ou necessitam de informações geradas a partir do sistema. Os possíveis atores para o Blue Ocean são: • Operadores dos pipelines; • Engenheiros de configuração; • Gerentes de produção; • Softwares externos (geram e consome informações do SCADA). A seguir, é feito um detalhamento do comportamento de cada ator perante o sistema. Operadores de pipelines Os operadores de pipelines são os responsáveis por verificar o funcionamento da planta. Eles geralmente atuam monitorando as variáveis de processo ou guiando as máquinas em caso de quebra ou erro na lógica que as comanda. Os operadores estão interessados em valores de variáveis restritos a um curto espaço de tempo, geralmente o próprio turno em que ele está operando, uma vez que sua função é garantir o funcionamento correto da planta, com máxima produtividade e risco mínimo. 15 Assim, o SCADA deve prover informações em tempo real (dados de processo e alarmes), além de uma forma de disponibilizar histórico recente, procurar itens e alterar valores de variáveis. Os interesses dos operadores podem ser resumidos em: • Visualizar dados em tempo real e obter com facilidade (de preferência com um único clique) o histórico recente daquele dado se possível na forma de um gráfico; • Controlar o sistema de múltiplas estações, e possivelmente de estações remotas; • Modificar, comparar e procurar por itens e valores de forma rápida e fácil; • Exportar dados em diferentes formatos, para confecção de relatórios de operação. Engenheiros Os engenheiros configuram a aplicação com o intuito de adequá-la ao processo e eles também desenvolvem conectores que permitem ao sistema SCADA comunicar com outras aplicações como sistemas legados e aplicações de pipelines. Engenheiros normalmente estão interessados em: • Facilidade de extensão e customização; • Criação de uma aplicação adequada ao processo; • Facilidade de integração com outros sistemas e dispositivos; • Escrita de aplicação baseada em plataforma moderna e difundida; • Suporte remoto ao sistema através de redes públicas; • Minimização do esforço de configuração através do reuso de aplicação e componentes de software; Gerentes 16 Em geral, os gerentes de produção são usuários de aplicações adjacentes ao SCADA, mas não do cerne do sistema. Os gerentes devem ter acesso a relatórios e gráficos informando estado e operação do pipeline. Os relatórios devem destacar os eventos mais relevantes como acionamento de alarmes de prioridade alta, paradas na produção, índices de produtividade. Possivelmente, os gerentes desejarão ter acesso ao sistema a partir de diferentes localidades através da rede mundial de computadores (World Wide Web). Outros Sistemas Tradicionalmente, sistemas SCADA estão completamente isolados de informações gerenciais e sistemas de decisão. Entretanto, ao passo que novas tecnologias de integração surgem, alguns dados adquiridos dos sistemas SCADA precisam ser disponibilizados para sistemas em um patamar superior. Essas informações permitem a tomada de decisões estratégicas em relação à operação e utilização dos pipelines. O mercado de pipelines tem sofrido alterações dramáticas e nos dias atuais os operadores devem ser capazes de planejar e reagir em curtos horizontes de tempo. Esse fator, em adição com o crescente nível de complexidade das operações, tem transformado informações anteriormente operacionais (leitura dos medidores, resultados do SCADA) em informações chave para os negócios. A Tabela 1 apresenta os sistemas comumente integrados ao sistema SCADA para pipelines e sua classificação por prioridade desde 1 (menor prioridade) a 5 (maior prioridade). Observe que as aplicações classificadas como 5 são extremamente recomendadas para serem incluídas na base de um sistema SCADA, de forma que esse se torne um produto comercialmente viável. Também é importante ressaltar que essas prioridades variam de segmento a segmento; para pipelines maiores e mais complexos as prioridades podem ser diferentes. A Tabela 1 apenas indica as prioridades de forma geral. 17 Tabela 1 - Sistemas externos ao SCADA Otimização do pipeline 1 Requisições para entrega de carregamento 2 (para gases seria alterada para 4) Previsões e modelagem (Estudo hidráulicos off-line, 3 provisão de carregamento, modelos preditivos) Simuladores para treinamento de operadores 2 Detecção de vazamentos 4 Sistemas de informação geográfica 3 Gerenciamento de ativos e contabilidade 3 Relatórios: consumidores, internos e de regulação 5 Monitoramento de Pig / Batelada 5 2.1.3: Modelos de arquitetura e subsistemas O SCADA proposto está dividido em 5 módulos principais: • Módulo de configuração e engenharia (EC) • Modulo de gerenciamento de dados e eventos (DEM) • Módulo de comunicação de campo (FC) • Interface homem-máquina (MMI) • API para aplicações externas (API) Os módulos acima listados foram projetados para possuir baixo nível de dependência, o que permite a criação de dois diferentes versões de servidores SCADA: uma versão com todas as ferramentas, denominada de SCADA Server e uma versão compacta denominada SCADA de campo. • Servidor SCADA 18 Esta constitui a versão global do servidor SCADA, executando todas as funções de supervisão e gerenciamento providas pelos módulos EC, DEM, FC e MMI. Ela provê ainda uma API bem definida para conexão de aplicações relacionadas ao pipeline. Versão que suporta os clientes empregados por engenheiros e operadores e que serve a todos os atores do sistema SCADA. • SCADA de Campo Esta versão compacta do SCADA contém apenas os módulos DEM e FC e, consequentemente, suportam apenas as funcionalidades relacionadas a esses. Ele pode ser usado somente por arquivos de configuração e para permitir a disponibilidade de informações em toda a rede de pipeline. Como conseqüência de tal aproximação modular, algumas vantagens podem ser listadas: • Estações servidoras e de campo podem ser facilmente trocadas, sempre observando a adição e redução de funcionalidades em cada unidade; • Estações servidoras e de campo podem compor ou deixar a topologia sem quebrar a redundância de dados através da rede; • Consumidores podem escolher quantas licenças de cada tipo de servidor eles desejam e adquiri-los de forma a compor sua topologia SCADA. Uma configuração típica teria um Servidor SCADA na estação principal, Servidor SCADA de backup nas estações de backup e algumas instâncias do SCADA de campo na rede de pipeline, no caso dessa rede ser muito grande ou complexa. A Figura 5 apresenta um esquemático dos referidos servidores e os módulos que os compõem. 19 Figura 5 - Visão geral da arquitetura 20 2.2: Plataforma de Desenvolvimento Com a finalidade de preencher todos os requisitos expostos anteriormente, tais como: alta confiabilidade, acesso a dados em tempo real, facilidade de integração como aplicações externas, modularidade, compatibilidade com diferentes sistemas operacionais, aparência e usabilidade semelhantes às do Windows, foi escolhida uma plataforma de desenvolvimento e alguns componentes de terceiros. O detalhamento desses componentes é feito a seguir. 2.2.1: Linguagem de programação - JAVA A escolha de Java deve-se a uma série de motivos. Primeiramente, pretendia-se usar uma linguagem completamente orientada a objetos, com uma grande variedade de ferramentas e componentes. Além disso, a máquina virtual de Java permite que as aplicações construídas nessa linguagem sejam executadas na maioria dos sistemas operacionais. Existe ainda diversas bibliotecas livres, amplamente difundidas e confiáveis disponíveis nessa linguagem. Outro motivo, não menos importante, é que a equipe da Chemtech estava habituada com desenvolvimento em Java. 2.2.2: Plataforma Eclipse RCP Eclipse é uma comunidade de código aberto cujos projetos focam-se na construção de uma plataforma aberta de desenvolvimento. Essa plataforma permite a construção, implementação e gerenciamento de software durante seu ciclo de vida [ 4 ]. A mais conhecida e utilizada funcionalidade do Eclipse é o kit de desenvolvimento de software (SDK) que reúne tanto o ambiente integrado de desenvolvimento (IDE) para Java, quanto uma ferramenta para implementação de produtos baseados na Plataforma Eclipse. 21 O kit de desenvolvimento de software do Eclipse (SDK) combina várias frentes de desenvolvimento do projeto Eclipse: Plataforma, Ferramenta de desenvolvimento Java (JDT) e o ambiente de Desenvolvimento de Plug-ins (PDE). A plataforma Eclipse contém todas as funcionalidades necessárias para a construção de uma IDE. No entanto, a plataforma Eclipse nada mais é do que um conjunto de componentes. Assim, é possível usar um subconjunto dos componentes Eclipse para construir aplicações. Eclipse Rich Client Platform (RCP) é um subconjunto dos componentes da biblioteca Eclipse que podem ser facilmente aproveitadas para a implementação de outras aplicações. A Figura 6 representa alguns componentes que formam a plataforma Eclipse e ressalta os principais componentes que formam o Eclipse RCP. Figura 6 - Componentes Eclipse RCP O uso de Eclipse RCP tem se consagrado por construir aplicações diversas, especialmente aquelas que operam em conjunto com aplicações servidoras, banco de dados e outras fontes de dados. Aplicações para bancos, indústria de 22 automóveis, medicina já foram desenvolvidas utilizando-se as ferramentas dessa plataforma. Um grande diferencial do RCP é que ele está de acordo com padrão OSGi (Open Services Gateway initiative), permitindo o desenvolvimento de sistemas altamente modulares e desacoplados. Os programas construídos sobre essa plataforma aumentam a usabilidade do código, facilitam a manutenção, atualização e adição de novos componentes e plugins. Um exemplo de interface de usuário da Plataforma Eclipse pode ser visto na Figura 7. Figura 7 - Interface de usuário da Plataforma Eclipse Todas essas características são a razão da escolha de Eclipse RCP como a plataforma de desenvolvimento do SCADA no Projeto Blue Ocean. 23 2.2.3: J-Integra para COM OPC (OLE for Process Control) é uma base tecnológica para integração entre os componentes de automação , hardwares de controle e dispositivos de campo [ 3 ]. OPC permite ainda a integração de produtos do MS Office e sistemas de informação da indústria, como ERP (Enterprise Resource Planning) e MES (Manufacturing Execution Systems). O padrão OPC surgiu de uma iniciativa dos próprios fabricantes de componentes para automação, com o suporte da Microsoft, detentora do protocolo OLE-DB. No ano de 1995, grandes companhias de automação, Fisher-Rosemount, Intellution, Intuitive Technology, Opto22, Rockwell e Siemens AG, formaram uma força tarefa em busca de uma forma padronizada para acessar dados em tempo real no sistema operacional Windows. Assim, no ano seguinte, nasceu a especificação do OPC versão 1.0 e, no mesmo ano, a OPC Foundation foi estabelecida. Desde então, a lista de especificações para diferentes aplicações usando OPC tem crescido. Atualmente, as especificações OPC (já estabelecidas ou em construção) estão organizadas como representado na Figura 8. Cada especificação destina-se a uma área específica de aplicação. A tecnologia OPC é baseada na distribuição de dados utilizando a interface DCOM (Distributed Component Object Model) do Windows NT. Contudo, uma interface acoplada ao sistema operacional é limitante para o desenvolvimento de um sistema SCADA portável para várias arquiteturas. J-Integra é um pacote de software que faz a ponte entre Java puro e COM. Isso permite que as funcionalidades de OPC sejam disponibilizadas para qualquer sistema operacional. Utilizando-se o J-Integra o sistema SCADA poderá facilmente atuar como um cliente OPC. Além disso, é possível construir servidor OPC para aplicações externas. 24 Figura 8 - Especificações disponíveis para OPC 2.2.4: JGo JGo é um componente Java utilizado para construir gráficos. Os gráficos construídos são formados por nós e conexões interligando esses nós. Essa ferramenta suporta vários formatos de imagem e é bastante flexível. Sua utilização é de grande importância para a elaboração de telas no sistema de SCADA. 2.2.5: Gerenciador de Scripts Bean Shell Bean Shell é uma ferramenta que permite ao usuário escrever e executar scripts Java em tempo de execução. A utilização desse tipo de script permite a construção de sinóticos em um sistema SCADA. O comportamento dinâmico dos objetos pode ser configurado através dessa ferramenta de forma fácil e flexível. 25 2.2.6: Open Splice DDS middleware DDS (Data Distribution Service) é um middleware que permite o particionamento de uma rede com diferente níveis de qualidade do serviço (QoS) e transmissão confiável sobre o protocolo UDP. A aplicação que implementa o middleware é desenvolvida pela Open Splice e compilada para cada sistema operacional. O módulo DDS é responsável pelas seguintes funcionalidades ao sistema SCADA: • Mecanismo de sincronização em tempo-real; • Mecanismo de redundância local; • Mecanismo de redundância remoto; • Classificação do status dos dados coletados: válidos, inválidos e antigos; • Camada de produção de dados; • Camada de Consumo de dados. 2.2.7: MySQL MySQL foi escolhido como sistema de Banco de Dados Relacional a ser empregado no SCADA do projeto Blue Ocean. MySQL é um sistema de código aberto amplamente difundido no mercado. Para a aceitação desse sistema de banco de dados foram feitos os seguintes testes: • Conectividade JDBC (Java Database Connectivity); • Redundância / Hot standby; • Triggers; • Gerenciamento de tabelas;. • Replicação de dados auto-adaptativa usando configuração mestre-escravo. 26 Todos os testes realizados foram aprovados. A principal funcionalidade que levou à utilização desse software foi a capacidade de replicar dados automaticamente entre instâncias do banco de dados. Para isso, os servidores são configurados como mestres e escravos entre si. No caso de parada de um dos servidores, o sistema se adapta automaticamente e mantém a replicação de dados entre as instâncias ativas. 2.3: Cronograma As atividades do projeto Blue Ocean foram divididas em fases. Cada uma dessas fases contendo uma ou mais iterações. A Tabela 2 mostra as fases e iterações desde a fase de Concepção até a fase de Transição do sistema SCADA nos pipelines na África do Sul. Tabela 2 - Fases e iterações projeto Blue Ocean 0 Fase Concepção 1 Elaboração 2 3 Construção Transição Iteração 1 2 3 4 5 6 7 8 9 10 … As fases são finalizadas com uma apresentação do que foi desenvolvido e uma avaliação do cliente. 2.3.1: Fase Zero A fase de Concepção foi finalizada em junho de 2006 e seu produto principal foi o documento de arquitetura do novo SCADA, cujas características já foram apresentadas anteriormente. 27 Nessa fase inicial também foram escolhidos componentes da plataforma de desenvolvimento como DDS, Eclipse RCP, J-Integra e JGo. A arquitetura proposta teve grande aceitação por parte do cliente e permitiu o início imediato da fase de Elaboração, a qual será o foco principal desse documento. 2.3.2: Fase de Elaboração A fase de Elaboração possui dois objetivos principais: Levantar informações detalhadas do sistema de pipelines implantado na África do Sul; Preparar uma Prova de Conceito. O levantamento de informações do pipeline sul-africano será de fundamental importância para a adequação do projeto e para o plano de migração a ser desenvolvido. A Prova de Conceito tem como objetivo mostrar que a arquitetura proposta é viável e que o desenvolvimento atende aos critérios exigidos. Para tanto, uma apresentação reunindo todas as frentes de desenvolvimento será cuidadosamente preparada e um ambiente de testes construído. A Prova de Conceito dará segurança aos clientes para financiar a continuidade do projeto. As atividades desenvolvidas durante o Projeto de Fim de Curso tomaram parte nas duas iterações da fase de elaboração. Essas atividades estão organizadas na Figura 9. 28 Figura 9 - Cronograma da Fase de Elaboração A equipe com participação na fase de Elaboração está representada na Tabela 3. Tabela 3 - Equipe do projeto Blue Ocean durante a Fase de Elaboração Gerente de Projeto Chemtech 1 Líder de Projeto Engenheiro de Software Engenheiro eletrônico Designer de Interface Engenheiro de Automação Engenheiro Químico Infra-estrutura – TI Consultores Software Consultor de Automação Consultor em projetos Consultor pipeline Consultor SCADA Chemtech Chemtech Chemtech Chemtech Chemtech Chemtech Chemtech Chemtech Chemtech Siemens Corporate Research BCT Consulting (CAN) Black Bird Consulting (CAN) 1 3 2 1 2 1 2 3 1 3 1 1 29 Capítulo 3: Atividades Desenvolvidas 3.1: Preparação – Treinamentos Durante o Projeto Blue Ocean, vários cursos de qualificação foram oferecidos. Essas atividades foram ministradas tanto por empregados da Chemtech quanto por empresas especializadas. 3.1.1: Curso de PCS7 PCS7 é uma suíte de aplicações para a automação da indústria de processos. Esse sistema amplamente utilizado em todo o mundo foi cotado pela Siemens como uma solução para os projetos da África do Sul. O curso realizado na Chemtech teve o objetivo de mostrar as formas de programação de CLP, semelhante à empregada em nosso cliente, e ambientar a equipe com um SCADA comercial de sucesso. 3.1.2: Curso de P&ID P&ID (Piping and Instrumentation Diagram) é uma forma padrão de documentação na indústria de processos. Nesses diagramas são representadas as diversas etapas do processo de produção, assim como a instrumentação e estratégias de controle, exemplo na Figura 10. A documentação detalhada dos pipelines da África do Sul, em sua maioria, foi feita utilizando-se P&ID’s. No curso, foram apresentadas as regras normalizadas de representar os sinais de campo, estratégias de controle, dados a serem apresentados no supervisório, tags dos instrumentos e equipamentos de campo e tipos de diagramas existentes. O material do curso foi compilado e foi preparado um seminário interno para os integrantes do projeto Blue Ocean. A equipe de desenvolvedores decidiu, após o seminário, usar a norma ISA (Instrument Society of America) para a nomenclatura das variáveis internas do sistema SCADA. 30 Figura 10 - Exemplo de P&ID 3.1.3: Curso de Java O curso de Java foi ministrado para um grupo de desenvolvedores da Chemtech, especialmente àqueles provenientes da engenharia sem uma base sólida em programação utilizando essa linguagem de alto nível. Nesse curso, foram apresentados conceitos básicos como orientação a objetos em Java, mas também tópicos mais avançados, tais como: acesso a banco de dados via ODBC e JDBC, e ferramentas de desenvolvimento web, como Struts e JSP. 31 3.1.4: Seminários em Eclipse RCP Eclipse RCP é uma plataforma de recente desenvolvimento e rápida evolução. Todo o grupo do projeto Blue Ocean participou de seminários web sobre essa plataforma, onde foram apresentadas e discutidas suas principais funcionalidades, formas adequadas de desenvolvimento e exemplos de utilização. A participação nesses seminários tinha a finalidade de aprimorar a utilização da plataforma, extraindo o máximo de seu potencial. Dessa maneira, o desenvolvimento do SCADA seria mais rápido e geraria um produto mais modular e robusto. 3.2: Conhecer o sistema SCADA atualmente implantado 3.2.1: LSX O SCADA implantado nos pipelines da África do Sul é o LSX da Siemens. LSX é um sistema SCADA de propósito geral, que roda sobre Solaris, sistema operacional UNIX da Sun Microsystems. Esse sistema SCADA apresenta uma série de funcionalidades para garantir aos operadores o monitoramento e controle dos processos: - Visualização da planta: os estados do processo podem ser mostrados através de telas totalmente gráficas. - Visualização de curvas: podem ser mostradas curvas em tempo real ou carregadas de arquivos. - Relatórios on-line: Para pegar informações acerca de um objeto desejado e para monitorar esse objeto. - Canais de mensagem: mensagens de objetos do processo são mostradas em uma tela específica de mensagem. O sistema de canais pode ser conectado diretamente a uma impressora. - Analisadores de mensagem: são usados para procura de mensagens arquivadas. LSX é caracterizado por suas três unidades principais: computador principal, computador de banco de dados e computador de operação. Essas unidades se 32 comunicam e trocam dados com os sistemas subordinados, tipicamente CLP’s Siemens da linha S5 e S7, como mostrado na Figura 11. Dependendo do tamanho ou da estrutura do sistema, o computador principal pode ser instalado uma ou muitas vezes. Ele constitui o kernel do sistema com as funcionalidades conhecidas de um sistema SCADA para controle de processos. Entre o computador principal e os CLP’s são trocados dados de valores medidos, contadores, sinais, comandos e set points. Figura 11 - Distribuição de componentes LSX A estrutura de dados do LSX tem sua parametrização definida nos computadores de operação. Todas as variáveis de campo com seu endereçamento, variáveis de engenharia, protocolos de comunicação são definidas nessa unidade. O computador de banco de dados com banco de dados da Oracle, armazena a estrutura parametrizada no computador de operação. Além disso, essa unidade realiza o arquivamento de longo prazo dos dados coletados. Os dados parametrizados aparecem, geralmente, na forma de típicos. Típicos são formados por um conjunto de objetos com a finalidade de representar um objeto complexo como um todo. A estrutura de típico permite que válvulas, motores, bombas, dentre outros equipamentos, sejam caracterizados de uma forma mais intuitiva. 33 Durante a criação do típico, são definidas os relacionamentos entre as variáveis lidas do CLP até sua representação no sistema supervisório, isso é melhor ilustrado pela Figura 12. Figura 12 - Elementos de um típico Apenas por uma simples referência a um objeto típico é possível mapear todas as variáveis associadas a ele. Isso reduz consideravelmente o tempo de configuração do sistema SCADA e organiza de forma mais intuitiva os dados. 34 A configuração do LSX para as aplicações da África do Sul foi realizada por engenheiros da Siemens que estudaram pontualmente o problema. Uma solução totalmente customizada foi desenvolvida desde o CLP até o sistema supervisório. A customização envolveu alguns pontos principais: • Criação de blocos típicos para os modelos de equipamentos existentes no pipelines e configuração destes tanto nos CLP’s quanto nas telas do supervisório; • Construção de sinóticos atendendo as prioridades dos clientes; • Criação de um protocolo específico, baseado em eventos, para contornar o problema de pouca banda. O sistema construído se mostrou robusto e confiável em seus anos de utilização. Contudo, a configuração de novos pontos e a manutenção do sistema era bastante onerosa, tanto por questões financeiras, já que os engenheiros da Siemens deveriam ser novamente contratados, quanto por questões de tempo. 3.2.2: CS7 Para melhor estudar e entender as funcionalidades do LSX decidiu-se instalar o software e testá-lo. Como não havia uma estação Solaris a disposição optou-se por instalar o CS7, a versão do LSX para Windows. A instalação do CS7 envolve a configuração de um servidor que torna o LSX portável para Windows. O servidor adotado pela Siemens foi o Exceed da Hummingbird. A instalação do CS7 envolve vários passos e sua instalação foi feita com auxílio de uma equipe da Siemens Alemanha. Além da utilização do Exceed, um banco de dados da Oracle e outros softwares externos foram instalados. Ao final da instalação e configuração do CS7, foi possível recuperar as tabelas e relacionamentos do banco de dados configurado no Oracle. A identificação da estrutura de armazenamento será de fundamental importância para o plano de migração da estrutura existente. 35 3.3: Análise de mercado Avaliar os sistemas SCADA disponíveis no mercado é quesito fundamental no desenvolvimento de uma nova solução. Assim, foi preparada uma planilha para avaliação de sistemas SCADA modernos. O objetivo de tal planilha é auxiliar no levantamento de funcionalidades mais comuns e documentar tendências dos sistemas SCADA. Os principais pontos a serem observados são mostrados na Tabela 4. Tabela 4 - Planilha para avaliação dos sistemas SCADA Dispositivos de comunicação Banco de dados relacional Edição de projetos Configuração de gráficos Configuração de Alarmes Protocolos disponíveis Definição do protocolo para cada CLP Identificação da definição de tags para cada CLP Forma de renomear as tags definidas para uso interno no sistema SCADA Redundância Editor SQL para buscar dados históricos de processo Armazenamento de queries e triggers Importar e Exportar dados Desfazer/Refazer Recortar/Copiar/Colar Importar telas de supervisório e modelos CAD Biblioteca de objetos gráficos Associação de objetos a tags Nível de configuração dos objetos gráficos Conexão entre os objetos Associar alarmes e eventos aos objetos Alteração de propriedades dos objetos Importar imagens Adicionar objetos a biblioteca gráfica Agrupar e desagrupar objetos Derivação de propriedades dos objetos aos objetos filhos Zoom Grid Rotação e inversão da posição Habilitar/Desabilitar/Definir muitas layers Executar projeto Associar tags aos gráficos Propriedades editáveis dos gráficos Definir limites Adicionar marcação de tempo aos gráficos Exportar gráficos gerados Opção para PID Tipos de alarmes Forma de definir limites para variáveis Adição de eventos 36 Associação de dinâmica aos objetos do sinótico Compilador para scripts gerados Associação de valores de tags/médias e indicações de tempo Relatórios Configurar Impressão Salvar periodicamente de forma automática Inspecionar/Alterar valores de tags Mostrar gráficos em tempo de execução Sinóticos em tempo de execução Mostrar e reconhecer alarmes Propriedades editáveis Links automáticos para outras telas Customização 3.4: Bancada de testes para a Prova de Conceito A Prova de Conceito, como apresentado na Seção 2.3.2:,tem por objetivo mostrar que a arquitetura definida no Projeto Blue Ocean consegue atender os principais requisitos a que ela se propôs. A principal parte da validação da arquitetura proposta consistia da apresentação de casos de teste cobrindo as principais áreas de desenvolvimento. A construção de uma bancada de testes adequada era fundamental para a execução satisfatória dos testes na Prova de Conceito. A bancada deveria prover mecanismos para testar os protocolos desenvolvidos, as interfaces de comunicação, o mecanismo de edição de telas, a estrutura de banco de dados, o middleware de comunicação, a portabilidade e modularidade do sistema. 3.4.1: Experimento do desafio de controle A Chemtech promoveu no ano de 2006 um evento para as universidades de Controle e Automação do estado do Rio de Janeiro, o Desafio de Controle. Nesse episódio, os representantes de cada universidade deveriam sintonizar seis malhas de controle PID utilizando um software específico. O esquemático do experimento do Desafio de Controle é mostrado na Figura 13. O experimento é formado por um aquário de acrílico com duas entradas de ar quente, setas na parte inferior, e uma saída de ar frio, seta na parte superior. Existem dois ventiladores na parte inferior que circulam o calor gerado por resistências elétricas. Na parte superior, uma abertura permite a saída do ar. Foram 37 colocados seis termopares dentro do aquário e outro registrando a temperatura ambiente. O objetivo do Desafio de Controle era controlar individualmente as temperaturas TT001 a TT006 (TT007 é a temperatura ambiente) através da alteração das potência fornecida em TY002 e TY001. As malhas de controle de TT001, TT003 e TT006 tinham como variável manipulada TY001. Já as malhas de controle de TT002, TT004 e TT005 tinham como variável manipulada TY002. Figura 13 - Esquemático do experimento do Desafio de Controle O controle do experimento realizado é feito por um CLP S7-300 da Siemens. Nele existem dois cartões analógicos, um de entrada e outro de saída, um cartão de comunicação Ethernet (CP-343-1), uma CPU e uma fonte de alimentação. 38 3.4.2: Configuração de um servidor OPC Aproveitando a estrutura existente para o Desafio de Controle, planejou-se conectar um servidor OPC ao CLP de forma que o experimento pudesse ser monitorado e controlado remotamente durante a Prova de Conceito do Projeto Blue Ocean. Foi feito o mapeamento das variáveis de interesse no CLP. Os set points das seis malhas de controle de temperatura, a leitura dos seis termopares, a potência de saída da resistência e uma variável que permitia habilitar e desabilitar o controle sobre as duas resistências foram selecionadas. Não havia interesse em alterar os parâmetros do controlador, apenas observar a resposta do sistema para diferentes set points de temperatura. Escolheu-se o OPC Server da Softing, que possui suporte para comunicação com CLP da Siemens. Assim, uma versão do OPC Server foi instalado em um computador e esse foi conectado diretamente ao CLP através de seu cartão Ethernet (CP-343-1) utilizando um cabo cross-over. Em seguida, foi escrito um arquivo de configuração determinando quais variáveis correspondiam a cada posição de memória de interesse no CLP. Dessa forma, o software Softing conseguiu localizar cada um dos pontos de interesse e disponibilizá-la em um servidor OPC. De forma a certificar a correta publicação do servidor utilizou-se o cliente OPC da Matrikon para ler e escrever (quando possível) valores no CLP. O resultado foi positivo, foi possível alterar os set points e observar a variação das variáveis de processo. A primeira parte da bancada de testes estava terminada. Era possível conectar-se a um cliente OPC e alterar a dinâmica do processo controlado por um CLP. 3.4.3: Estrutura completa da bancada de testes Partindo do experimento do Desafio de Controle, foi montada a bancada de testes completa para a Prova de Conceitos, representada na Figura 14. A montagem da bancada teve como base o levantamento das necessidades das 39 várias frentes de desenvolvimento: Comunicação (OPC, Drivers e DDS), Banco de Dados, Interface gráfica e Distribuição de Dados via DDS. Figura 14 - Configuração da bancada de testes para a Prova de Conceito Foram usados quatro computadores na bancada de testes. A função de cada um desses na Prova de Conceito é mostrada a seguir: SCADA Local – Comunica-se com o CLP e distribui os dados para duas outras redes, tanto via DDS quanto via OPC. SCADA #1 – Recebe dados via DDS e OPC. Armazena os dados lidos em uma instância do banco de dados MySQL. Possui também um servidor de dados que simula o protocolo IEC 60870-5-101. SCADA #2 – Recebe dados via DDS e OPC. Armazena os dados lidos em uma instância do banco de dados MySQL. Possui um driver de comunicação IEC 60870-5-101, que lê os dados gerados pelo simulador configurado no SCADA #1. SCADA #3 – Sistema operacional Linux. Recebe dados via OPC. Armazena os dados lidos em uma instância do banco de dados MySQL. Possui um driver de 40 comunicação IEC 60870-5-101, que lê os dados gerados pelo simulador configurado no SCADA #1. As instâncias Local, #1 e #2 do SCADA estão conectadas a duas redes através de duas interfaces de rede. Essa duplicidade permitirá o teste de chaveamento entre conexões durante a distribuição de dados. Apenas um dos Servidores OPC (Softing) do Local SCADA e o Servidor IEC do SCADA #1 não foram desenvolvidos pela Chemtech durante a Prova de Conceito. 3.5: Elaboração do Plano de testes Conjuntamente com a definição da bancada foram arquitetados os testes a serem realizados na Prova de Conceito. O plano de testes foi concebido com base no status de desenvolvimento de cada uma das frentes. Esse status foi cruzado com a prioridade de desenvolvimento para a Prova de Conceito, gerando, ao final, um esboço do teste a ser realizado. Os esboços dos testes, juntamente com o objetivo de cada um deles serão mostrados a seguir. 3.5.1: Testes de comunicação 3.5.1.1: Cliente OPC As funcionalidades do cliente OPC-DA serão disponibilizados através da interface do usuário. O cliente OPC permitirá que o usuário visualize todas as tags disponíveis no CLP. Será possível organizar essas tags em grupos arbitrariamente. O cliente OPC-DA será usado para ler e escrever dados de e para o CLP seguindo uma freqüência arbitrária. O cliente OPC-DA é um plug-in do software Blue Ocean e irá comunicar com o servidor OPC-DA do SCADA Local. Os clientes OPC serão executados no SCADA #1 e no SCADA #3 (Linux). Objetivos do teste: adequação ao padrão OPC, portabilidade e modularidade do software. 41 3.5.1.2: Servidor OPC O servidor OPC transmitirá dados do CLP para clientes OPC em todas as instância do SCADA na rede local. No SCADA Local está instalado o Servidor OPC da Softing. O Cliente OPC desenvolvido no projeto Blue Ocean lerá os dados provenientes do Servidor OPC da Softing e a interface de usuário proverá uma maneira de organizar esses dados em um servidor OPC confeccionado para o Blue Ocean. Embora ainda não haja um servidor OPC desenvolvido para Linux, um teste simples com um servidor COM nesse sistema operacional será mostrado. Uma aplicação Windows lerá os dados disponibilizados via COM no Linux. Esse é o ponto de partida para a construção de um servidor OPC. Objetivos do teste: adequação ao padrão OPC e portabilidade. 3.5.1.3: Conectividade Excel - OPC De forma a exemplificar a utilização de uma aplicação externa, o Excel será usado para acessar dados do servidor OPC do Blue Ocean. O programa desenvolvido em Excel permitirá a leitura de valores de tags, os dados coletados serão mostrados em células e atualizados automaticamente. Objetivos do teste: usabilidade e conectividade com aplicativos externos. 3.5.1.4: Driver IEC 60870-5-104 O servidor IEC gerará tags e dados que serão transmitidos através do protocolo IEC 60870-5-104 para os clientes da rede local. A aplicação cliente será adicionada como plug-in e fará parte da interface de usuário. As instâncias #3 e #4 do SCADA lerão dados gerados na instância #1. Um log dos comandos trocados pelo protocolo de comunicação será mostrado durante a aquisição dos dados. Objetivos do teste: adequação ao protocolo IEC 60870-5-104, portabilidade e modularidade. 42 3.5.1.5: Middleware DDS Os dados adquiridos do CLP pelo SCADA Local serão transmitidos às demais instâncias dos SCADA tanto via Servidor OPC quanto via o middleware DDS. A licença disponível para o software DDS permite apenas a comunicação usando computadores com sistema operacional Windows. Assim, apenas o SCADA Local e as instâncias #1 e #2 serão capazes de trocar dados. Uma série de testes específicos foram preparados para mostrar a capacidade do DDS. Todos esses testes serão facilmente executados uma vez que foram criados plug-ins específicos para isso 3.5.1.5.1: Largura de banda utilizada Os pipelines da África do Sul possuem grande limitação quanto a banda disponível para a troca de dados. O middleware de comunicação deverá, portanto, garantir a entrega dos pacotes em tempo satisfatório, sem ultrapassar os limites físicos da instalação dos pipelines. Para mostrar que a ocupação da rede está dentro da faixa esperada, levantou-se o número de pontos em uma estação de grande tráfego. Assim, durante o teste, será simulada a transmissão do volume de dados calculado pelos canais DDS. A largura de banda utilizada será, então, medida utilizando um indicador de desempenho do próprio, Perfmon. O resultado será comparado com os valores esperados para o pipeline. Objetivo do teste: Desempenho da rede. 3.5.1.5.2: Uso do CPU Paralelamente à medição da largura de banda, será executada também medição do uso do CPU pelos componentes do DDS. Os componentes do DDS não podem ultrapassar 80% da utilização total. Objetivo do teste: Desempenho de processamento. 43 3.5.1.5.3: Distribuição de dados Um plug-in RCP foi criado para mostrar a distribuição de dados sobre o middleware DDS. Esse plug-in permite tanto a configuração de um publicador quanto de um consumidor de dados. Os dados adquiridos do CLP no SCADA Local serão transmitidos em broadcast para todas as estações remotas partindo-se do SCADA Local. Os clientes no SCADA #1 e #2 serão atualizados automaticamente com os dados coletados do CLP. Objetivo do teste: distribuição de dados sobre DDS. 3.5.1.5.4: Heartbeat Uma aplicação também será criada para exibir todos os nós ativos em uma rede local. Tal funcionalidade é alcançada pelo mecanismo de heartbeat implementado no middleware DDS. Todos os nós mandam em tempos definidos uma mensagem informando que estão ativos (heartbeat), o que permite que todos sejam mapeados na rede. Objetivo do teste: facilidade para a configuração de redes. 3.5.1.5.5: Disponibilidade O middleware DDS tem a capacidade de rotear dados em tempo real através de um canal redundante em caso de falha do meio de comunicação principal. Usando a bancada de testes para a Prova de Conceito foi proposto um cenário em que a instância SCADA #2 recebe dados simultaneamente do SCADA Local e do SCADA #1, conforme representado na Figura 15. A troca de dados será feita, inicialmente, através da Rede 1. A seguir, o hub correspondente à Rede 1 será desconectado, e os dados devem automaticamente roteados através da Rede 2. Objetivo do teste: redundância, estabilidade, disponibilidade. 44 ser Figura 15 - DDS e comunicação redundante 3.5.2: MySQL 3.5.2.1: Replicação de dados As funcionalidades do servidor MySQL também serão disponibilizadas através de interface com o usuário. Será possível armazenar no banco valores de tags com suas respectivas marcações de tempo. Esses dados armazenados poderão ser recuperados em qualquer momento e visualizados em gráficos. Os servidores MySQL serão distribuídos em uma rede redundante. Os dados serão replicados entre as múltiplas instâncias dos servidores MySQL, como mostrado na Figura 16. Para tanto, será necessário que se configure individualmente cada estação, indicando o mestre e o escravo correspondente. Será possível ler e escrever em qualquer um dos servidores. 45 Figura 16 - Replicação de dados nos nós do SCADA Em caso de falha de uma estação específica, os servidores MySQL devem alterar seu mestre automaticamente, de forma a não interromper leitura e escrita, segundo quadro da Figura 16. Essa alteração de mestre deve ser transparente ao usuário, mas ele deve ter ciência de qual unidade apresentou defeito. Quando uma estação servidora MySQL que estava em falha voltar a operar, o sistema deverá restabelecer a condição de funcionamento original, isso, também, de forma transparente ao usuário. Os dados serão transmitidos ao banco de dados apenas quando o valor da tag for alterado. A configuração dos Servidores e tags serão apresentadas em uma árvore. Haverá a opção de inserir grupos de leitura do banco de dados, segundo uma freqüência arbitrária. Objetivos do teste: historiar dados, redundância ativa. 3.5.2.2: Conexão entre Excel e banco de dados Novamente, o Excel será usado como uma aplicação externa. Nesse caso, o software será usado para acessar dados diretamente do banco de dados relacional construído para o projeto Blue Ocean. Os valores de tag serão coletados do banco de dados e mostrados em células do Excel. Objetivos do teste: Conectividade com Excel e usabilidade. 46 3.5.3: Interface Gráfica 3.5.3.1: Disposição de janelas As janelas do SCADA no projeto Blue Ocean são orientadas à perspectiva, seguindo a forma padrão adotada em Eclipse RCP. Cada uma das perspectivas é composta por um número de vistas disponíveis. Assim, o usuário pode dividir as perspectivas de acordo com suas funções, por exemplo: Desenho de telas, Recursos, Alarmes. As vistas poderão ser movidas arbitrariamente dentro da perspectiva, formando arranjos propícios aos usuários. As janelas podem ser desacopladas da perspectiva e realocadas livremente, permitindo o uso de muitas telas para a configuração. Todas as vezes que o programa é encerrado, a disposição das janelas e salva. Assim, da próxima vez que o programa for reaberto, a tela configurada será restaurada. Objetivo do teste: usabilidade. 3.5.3.2: Editor de telas O Editor de telas contém os mecanismos necessários para a criação de sinóticos. Existe uma palheta com padrões gráficos que serão adicionados às telas e podem ser mapeados para os dispositivos de campo. 47 Figura 17 - Editor de telas Blue Ocean Os objetos imagem padrão são carregados de bibliotecas disponibilizadas pelos plug-ins, esses plug-ins são acessados por todas as instâncias do SCADA. O usuário pode arrastar e alocar objetos gráficos para uma tela em edição e conectá-los entre si. As telas construídas podem ser publicadas na rede, todas as instâncias do SCADA executando o Editor receberão a tela publicada imediatamente. Dentre outras funcionalidades para facilitar a construção de telas estão: caixa de diálogo para alterar propriedades dos objetos, zoom in/ou, visualização dos componentes em estrutura de árvore, e janela de visulização global para navegação. Objetivo do teste: Facilidade de configuração e geração de padrão 48 3.5.3.3: Objetos Animados Objetos animados são aqueles que possuem comportamento dinâmico de acordo com o estado da variável a que estão associados. Exemplos típicos são medidores de nível e indicadores de estado. O comportamento desses objetos no Blue Ocean será definido por um script BeanShell, configurado pelo usuário. Essa forma de configuração é apenas um embrião para o desenvolvimento de um mecanismo flexível. Objetivo do teste: comportamento dinâmico e performance em tempo real. 3.5.3.4: Gráficos de processo Através da interface o usuário poderá buscar tanto variáveis em tempo real quanto do banco de dados e exibir os resultados da procura através de gráficos. Os gráficos têm parâmetros totalmente editáveis: escala, cor, títulos dos eixos, zoom. Objetivo do teste: geração de gráficos, aquisição do banco de dados, performance em tempo real e usabilidade. 3.5.4: Modularidade A modularidade do SCADA do projeto Blue Ocean está diretamente relacionada com a plataforma de desenvolvimento orientada a plug-ins. Os componentes centrais, por exemplo DDS, são adicionados como plug-ins. Afim de mostrar a estrutura modular do software desenvolvido, será mostrado a adição e atualização de um plug-in em tempo de execução. O plug-in então será usado sem que a aplicação seja reiniciada. Objetivo do teste: modularidade. 3.5.5: Portabilidade A plataforma escolhida permite que o SCADA seja executado em diferentes sistemas operacionais sem perda de funcionalidade. Como mostrado na bancada de testes, haverá uma estação Linux comunicando-se e executando as mesmas tarefas 49 das demais estações. Exceção feita à comunicação DDS, uma vez que a licença para Linux ainda não foi adquirida. Objetivo do teste: Portabilidade. 3.6: Testes Paralelamente à definição dos itens a serem mostrados e dos objetivos dos testes, foi iniciado o detalhamento do formato da apresentação. Foram montados casos de teste organizados passo a passo de forma que os clientes pudessem acompanhar e avaliar de forma mais precisa. O detalhamento passo a passo foi preenchido durante a execução dos testes preliminares e tem a estrutura mostrada na Tabela 5. Tabela 5 - Detalhamento passo a passo dos testes Teste 001 – Cliente OPC Adicionar tags, ler e escrever dados de e para o CLP ! $ " # % & % % ' ( % ) ! " # * + $ + & + 50 " , ' ' . % + ( Aprovado ! Aprovado com comentários ) Não aprovado Ao final, foram gerados 26 casos de teste para o sistema SCADA. Desses, sete testes cobriam a parte de comunicação, cinco a troca de dados via DDS, nove a construção de telas e interface de usuário, quatro a estrutura de banco de dados, e um o teste de modularidade. Os testes de portabilidade ficaram distribuídos dentre os vários testes propostos, uma vez que a estação Linux é usada na bancada. Após a definição de todos os casos de teste, o guia passo a passo foi exaustivamente testado na bancada de testes configurada. Todos os testes foram, ao final, aprovados. 3.7: Apresentação A apresentação da Prova de Conceito foi realizada no Rio de Janeiro. Dentre os participantes estavam três especialistas em desenvolvimento e projetos de Automação da Siemens AG, o gerente do projeto Blue Ocean na Siemens e toda a equipe da Chemtech. Primeiramente, os objetivos do desenvolvimento durante essa fase do projeto foram apresentados de forma global, assim como revisada a arquitetura proposta. Em um segundo momento, a equipe de desenvolvimento apresentou os 26 casos de teste aos clientes. Todos os testes foram aprovados com sucesso. Os 51 clientes mostraram clara satisfação com a arquitetura e a linha de implementação adotada. 3.8: Ferramenta de Configuração de Engenharia 3.8.1: Importância Durante a apresentação da Prova de Conceito, foi levantada a necessidade do desenvolvimento de uma ferramenta flexível para a configuração e customização de objetos do sistema SCADA, chamada Ferramenta de Configuração de Engenharia. Os clientes propuseram a implementação de um protótipo desse sistema para complementar os tópicos mostrados na Prova de Conceito, dada sua importância para a aceitação de um sistema SCADA. Através da Ferramenta de Configuração de Engenharia é possível construir sinóticos padrão associados a um determinado objeto, de forma a monitorar e controlar seu funcionamento. Assim, através do sinótico associado a uma válvula, por exemplo, seria possível mostrar seu estado atual (percentagem de abertura, em manutenção, em operação local ou remota), seu histórico de funcionamento recente (gráfico indicando sua abertura no tempo), os alarmes ativados, além de permitir que o operador altere seu set point. Durante a etapa de configuração e customização, o usuário deve inserir uma série de parâmetros mapeando as variáveis de interesse de um determinado equipamento e a forma como essas variáveis serão apresentadas. O objetivo principal da Ferramenta de Configuração de Engenharia é reduzir o esforço de configuração de centenas ou milhares de equipamentos. A Ferramenta de Engenharia deve possuir atributos como previsibilidade, consistência e ser de fácil utilização. Esse aplicativo deve também permitir a definição de templates, macros e bibliotecas. 52 3.8.2: Estrutura do Aplicativo Tendo em vista as características desejáveis para a Ferramenta de Configuração de Engenharia, foi iniciado o desenvolvimento de um plug-in para o software do projeto Blue Ocean. A estrutura de configuração construída é mostrada na Figura 18. Um aplicativo gráfico acoplado ao SCADA do projeto Blue Ocean (Plug-in de Configuração) permitirá que o usuário defina um layout e conteúdo de um sinótico específico. Figura 18 - Ferramenta de Configuração de Engenharia A seguir, a estrutura criada é armazenada na forma de um arquivo XML (Extensible Markup Language). XML é um padrão W3C (World Wide Web Consortium) largamente utilizando para padronização de estrutura de dados. Existem no mercado muitas ferramentas para visualizar, validar e construir arquivos nesse formato. O arquivo XML garante a flexibilidade e facilidade de replicação dos sinóticos criados. Pode-se facilmente construir uma rotina para gerar arquivos construídos nesse padrão através da leitura de dados de um banco de dados. Os arquivos XML podem também ser distribuídos para as várias instâncias do SCADA através do middleware DDS. Os arquivos XML configurados e replicados podem então ser carregados pelo Software Blue Ocean através de um componente que realiza a conversão do arquivo 53 XML em objetos Swing. Swing é o kit gráfico para Java mais utilizado no mundo. Os objetos Swing são, então, mostrados como sinóticos na tela do supervisório. 3.8.3: Detalhamento do Aplicativo O plug-in de configuração dos sinóticos foi desenvolvido utilizando-se componentes gráficos da plataforma Eclipse RCP. O componente utilizado foi o Eclipse Form. A seguir, será mostrado como é criado um novo sinótico (faceplate) utilizando essa interface. Não existe uma seqüência definida para a criação do sinótico, o usuário pode navegar livremente pelas telas de configuração. Inicialmente, pode-se criar adicionar todas os tags de interesse, como mostrado na Figura 19. Figura 19 - Adição de tags Além de tags, podem ser adicionados gráficos ao sinótico, como representado na Figura 20. Cada gráfico possui propriedades editáveis, como título, 54 subtítulo, cores de fundo e cor do grid. Além disso, podem ser inseridas curvas relativas a dados históricos (banco de dados) ou de tempo real. Figura 20 - Adição de Gráficos As curvas inseridas (trends) também podem ser editadas pelo usuário. Cor do eixo, posição da escala, título e limites são as variáveis disponíveis. Assim que concluir a edição do sinótico o usuário pode gerar o arquivo de configuração XML, Figura 21. O arquivo XML convertido em objeto Swing é mostrado na Figura 22. Esse objeto pode, então, ser associado a um equipamento representado em uma tela do sistema SCADA. 55 Figura 21 - Geração do Arquivo XML Figura 22 - Sinótico gerado 56 3.9: Testes para Finalização da versão A Ferramenta de Configuração de Engenharia encerrou a última etapa do desenvolvimento de software na fase de Elaboração. Como nas próximas etapas seriam realizadas alterações profundas na estrutura do produto devido a continuidade do desenvolvimento, achou-se conveniente finalizar uma versão com tudo que havia sido construído até o momento. Foram, assim, feitos testes completos com todos os módulos produzidos. Esses testes geraram uma lista de bugs que foram resolvidos ou arquivados para resolução posterior. Ao final dos testes e correção dos bugs, foi gerada uma versão do SCADA para a fase de Elaboração. Essa versão, além de representar o produto final da fase de projeto, também seria utilizada em futuras apresentações, tanto para os clientes diretos (Siemens), quanto para os indiretos na África do Sul. 3.10: Revisão da arquitetura Durante as primeiras etapas de desenvolvimento, o contato com a plataforma Eclipse RCP e demais componentes de software e a troca de informações com os clientes e os cursos realizados geraram muito conhecimento em todas as frentes de trabalho. Esse conhecimento deveria então ser distribuído e discutido pelo grupo a fim de tornar mais dinâmica e qualificada a construção do SCADA nas próximas etapas do projeto. Assim, foi organizada uma reunião de três dias com todos os desenvolvedores do projeto. Essa reunião com tema livre gerou importantes definições quanto a estruturação de código, controle de versões, testes de acompanhamento e ambiente de testes. 57 3.11: Definição da bancada final de testes A reunião de Revisão da Arquitetura gerou uma série de atividades para a equipe. Uma das importantes atividades era definir uma bancada de testes completa de forma a simular as condições de troca de dados existentes na África do Sul. Durante as fases anteriores do projeto, foram levantadas junto a Siemens e a operadora de pipelines sul-africana informações sobre as instalações em funcionamento e a serem implantadas nos pipelines em que o SCADA do projeto Blue Ocean seria utilizado. Essas informações apontaram dois itens essenciais para a composição da bancada de testes definitiva do projeto: CLP S7-400 e módulos TIM. 3.11.1: CLP S7-400 A linha de CLP’s Siemens S7-400 é utilizada em todos os pipelines em que o SCADA do projeto Blue Ocean será instalado. Esses CLP’s permitem variadas formas de codificação e comunicação. Um CLP S7-400 pode ser codificado usando as linguagens padrão definidas pela IEC 61131-3: Diagrama de Blocos Funcionais (FBD), Lista de instruções (IL), Texto Estruturado (ST) e Ladder (LD). Cartões para comunicação Profibus, Industrial Ethernet, dentre outros são disponibilizados para essa linha de CLP’s. 3.11.2: Módulo TIM Os módulos TIM são componentes Siemens que realizam a comunicação em redes industriais de longa distância. Esses módulos estão sendo gradativamente adotados nos pipelines sul-africanos. Os módulos TIM se interpõem entre os CLP’s e os computadores da rede trocando dados de forma confiável em uma rede de longa distância (WAN – Wide Area Network), como mostrado na Figura 23. A comunicação entre TIM e CLP e entre TIM e sistema supervisório é feita segundo uma interface padrão da Siemens, chamada MPI. 58 Figura 23 - Utilização Módulo TIM Dependendo do modelo, os módulos TIM utilizam formas distintas para trocar dados na rede WAN. Os modelos TIM 42 utilizam uma rede dedicada, os TIM 43 uma rede discada analógica, e os TIM 44 uma rede ISDN (Integrated Services Digital Network). Eles possuem grande importância para a bancada de testes, uma vez que o SCADA deverá se comunicar diretamente com ele, usando um protocolo proprietário Siemens, o ST-7. 3.11.3: Arranjo dos equipamentos Tendo em vista esses dois equipamentos principais, foi elaborada uma bancada com dispositivos de hardware e software que permitissem os testes durante as próximas fases do projeto Blue Ocean. O foco principal da bancada é 59 garantir que dados sejam trocados entre CLP e sistema SCADA utilizando todos os meios disponíveis nas plantas da África do Sul. Dessa forma, foi elaborada a estrutura mostrada na Figura 24. Figura 24 - Bancada de testes definitiva Os módulos TIM escolhidos (TIM 42 V) implementam comunicação através de uma rede dedicada a dois fios. Existe ainda uma conexão para testes usando o protocolo RS-232. A placa CP 5611 acoplada ao SCADA #1 realiza a troca de dados sobre a interface proprietária MPI da Siemens. A instalação e configuração dessa placa é necessária para testes do driver ST-7 a ser construído. A comunicação Ethernet entre o SCADA Local e o CLP S7-400 servirá para transferência de programas e realização de testes simples com servidor OPC, como na Prova de Conceito. Os softwares ST7cc e WinCC são softwares da Siemens. O ST7cc converte os dados adquiridos via ST-7 e disponibiliza-os para o sistema SCADA WinCC. 60 Esses dois softwares serão úteis durante a configuração da bancada e posteriormente no estudo para implementação do driver ST-7. O arranjo proposto foi apresentado para engenheiros da Siemens Alemanha e para um consultor de automação da Chemtech, todos aprovaram. 3.12: Detalhamento da bancada Após a definição da disposição geral da bancada, partiu-se para o detalhamento da montagem da bancada. Foram estudados os esquemas de ligação dos componentes e proposta a estrutura mostrada na Figura 25. Figura 25 - Bancada de testes definitiva 3.13: Reformulação do Plano de testes Foi agendada uma visita à África do Sul para a apresentação do SCADA em desenvolvimento. Nessa visita, seriam mostrados o plano de migração do sistema 61 SCADA atualmente utilizado e alguns cenários de teste, semelhantes aos da Prova de Conceito. Assim, usando a versão do software finalizada após a Prova de Conceito, já com a Ferramenta de Configuração de Engenharia e algumas outras funcionalidades, foram revisados os casos de teste. Aspectos como relevância do teste, equipamentos utilizados e tempo para execução foram considerados na reformulação do Plano de Testes. Ao final, foram identificados 20 cenários a serem apresentados, distribuídos conforme Tabela 6. Tabela 6 - Testes a serem realizados na África do Sul Tipo de teste Comunicação (OPC, IEC) Middleware DDS Funcionalidades de interface MySQL Ferramenta de Configuração de Engenharia Alarmes Quantidade 4 3 6 3 2 2 Um problema crítico da apresentação na África do Sul era a indisponibilidade de um CLP para teste. Foi pesquisada uma alternativa e chegou-se ao OPC Data Calculator. OPC Data Calculator é um produto da Matrikon, desenvolvedor mundial de produtos para OPC. Esse software permite que variáveis OPC sejam manipuladas em um diagrama de blocos semelhante ao Simulink do MatLab. O Data Calculator foi usado, então, para simular o comportamento de um sistema de segunda ordem. O sistema de segunda ordem foi concebido com variáveis discretas com a seguinte estrutura: y (n + 1) = α ((1 − β ) * y (n) + β * y (n − 1)) + (1 − α ) * u (n) Os parâmetros livres eram α e β , variando de zero a um. Quanto mais próximos de zero mais rápido o sistema. Não foi desenvolvido um controlador, os resultados serão vistos apenas em um sistema de malha aberta. 62 De forma a relacionar o novo teste com o realizado na Prova de Conceito, a variável de atuação (u) foi chamada de set point do aquecedor e a variável de saída (y) de temperatura, como pode ser visto na Figura 26. Figura 26 - Diagrama de Blocos do Data Calculator Através do acesso OPC os usuários do Blue Ocean podem alterar o set point do aquecedor e verificar a dinâmica de temperatura. Também pode-se alterar os parâmetros α e β , mudando o tipo de resposta do sistema. Assim, mesmo sem o acesso a um CLP é possível simular um processo e tornar mais agradável a apresentação. 3.14: Teste versão para apresentação Uma vez definido o plano de testes, foram instalados e testados todos os componentes de software necessários para a apresentação do Projeto Blue Ocean na África do Sul. Três laptops foram integrados em rede e os testes descritos anteriormente exaustivamente testados. 63 Capítulo 4: Conclusões e Perspectivas Os resultados obtidos no Projeto Blue Ocean atenderam completamente às expectativas da equipe de desenvolvimento e dos clientes. O conhecimento e empenho de todos, aliado ao suporte da empresa, permitiram que um trabalho de qualidade fosse realizado. A Prova de Conceito foi o principal marco do projeto. A completa aprovação de uma equipe de avaliadores multi-qualificados representou o reconhecimento da qualidade e aplicabilidade da solução desenvolvida. Do ponto de vista pessoal, o trabalho permitiu que os conhecimentos adquiridos no curso de Engenharia de Controle e Automação fossem explorados e aprofundados intensamente. Áreas como instrumentação, desenvolvimento de software, redes e CLP’s fizeram parte do cotidiano de trabalho. O contato com uma empresa e grupo de trabalho que valorizam e incentivam a pesquisa e a inovação foi enriquecedor. Infelizmente, antes da viagem de apresentação do projeto aos clientes da África do Sul, a Siemens AG (Alemanha) optou por suspender o projeto Blue Ocean. A suspensão não estava ligada ao desenvolvimento realizado, ela atendia anseios gerenciais e estratégicos da empresa alemã. Entretanto, o protótipo e arquitetura desenvolvidos e, principalmente, o conhecimento adquirido continuam como propriedade da Chemtech. Pesquisas de mercado estão sendo feitas com a intenção de vender o projeto para uma outra operadora de pipeline. Essa alternativa pode-se tornar realidade em breve. 64 Bibliografia: [1] BAILEY D., WRIGHT E., “Practical SCADA for Industry”, Elsevier, 2005. [2] MOHITPOUR M., SZABO J. e HARDEVELD T.V. “Pipeline Operation & Maintenance – A Practical Approach”, ASME Press New York, 2005. [3] IWANITZ F., LANGE J., “OPC – Fundamentals, Implementation and Application”, Hüthig Verlag Heidelberg, 3rd rev. Ed., Alemanha, 2006. [4] BURNETTE E., “Rich Client Tutorial”, http://www.eclipse.org/articles/ArticleRCP-1/tutorial1.html, 2006. [5] KRUTZ R., “Securing SCADA Systems”, Wiley Publishing, 2006. [6] IEEE STANDARD C37.1-1994, “Definition, Specification, and Analysis of Systems Used for Supervisory Control, Data Acquisition, and Automatic Control”, Institute of Electrical and Electronics Engineers, 1994. 65