Avsnitt 5 – Komme i gang med CGM-systemet ditt
19.4 Stille inn CGM-volum
Tal como já referido, o objectivo desta ferramenta é a sua integração no Automation Studio como um compilador automático de ficheiros XAML para SVG. Para garantir o sucesso desta integração, foram efectuados diversos testes de tradução utilizando ficheiros XAML de projectos reais, ficheiros XAML criados para efeitos de teste e ficheiros SVG já existentes (o Automation Studio tem uma ferramenta que traduz os ficheiros SVG, gerados por uma ferramenta de edição da EFACEC, para XAML), neste caso, o ficheiro SVG traduzido teria de ser igual ao SVG inicial.
Em primeiro lugar, foram traduzidos ficheiros XAML criados no Automation Studio apenas para testar a eficácia da tabela de equivalências dos elementos e animações. Após este processo e constatado o sucesso do mapa de equivalências, foram utilizados ficheiros criados aquando do desenvolvimento da plataforma HMI 500, pela equipa de desenvolvimento da EFACEC. Numa fase seguinte, foram utilizados ficheiros de projectos reais que, em conjunto com a equipa de testes da
Capítulo 4 – Ferramenta Desenvolvida
37 EFACEC, eram traduzidos para SVG, sendo o seu funcionamento testado nos equipamentos da EFACEC. Em simultâneo com estes procedimentos, foi utilizada uma ferramenta do Automation Studio que traduz os ficheiros de SVG, de outra plataforma da edição gráfica da EFACEC, para XAML e comparados os respectivos resultados.
Quando a ferramenta desenvolvida comprovou, em vários níveis de teste, a sua eficácia foi integrada no Automation Studio. Ou seja, durante a fase de testes, o plugin funcionou como uma outra funcionalidade do Automation Studio numa versão Beta (de testes). Numa versão final, foi assumido como uma funcionalidade real do Automation Studio e comercialmente disponível na versão Automation Studio 2.0, mantendo-se como uma das funcionalidades disponíveis nas versões seguintes.
4.5. Conclusão
Neste capítulo, ficou descrito o processo de desenvolvimento do plugin que permite a tradução de XAML para SVG. Esta ferramenta, funciona como uma parte integrante do Automation Studio, aplicação da EFACEC que configura e gere vários dos seus equipamentos, resolvendo a questão da interoperabilidade entre as tecnologias que utilizam diferentes linguagens (XAML e SVG).
No próximo capítulo, serão apresentados dois exemplos de utilização real da ferramenta, bem como as vantagens da utilização do ficheiro traduzido.
Capítulo 4 – Ferramenta Desenvolvida
Capítulo 5 – Exemplos
39 Capítulo 5 – Exemplos
Neste capítulo, iremos apresentar exemplos da utilização da ferramenta criada. Serão apresentados dois casos de utilização real. Um, que está a ser utilizado na subestação de Ermesinde e outro, na Electricity and Water Authority Utility do Bahrain. As páginas SCADA criadas no Automation Studio (em linguagem XAML) são utilizadas pelas plataformas das duas subestações em análise, através do processo de tradução da ferramenta desenvolvida (de XAML para SVG).
5.1. Subestação de Ermesinde
A subestação de Ermesinde, pertencente às Redes Energéticas Nacionais (REN), fica localizada na freguesia de Ermesinde, concelho de Valongo, distrito de Porto. É uma instalação que contém equipamentos de distribuição, protecção e controle de energia eléctrica de alta potência.
Recentemente a REN procedeu a uma actualização da subestação, para a qual a EFACEC contribuiu com a implementação de sistemas de controlo e protecção, para além da implementação da plataforma de automação, o CLP 500SAS (EFACEC, 2012).
Capítulo 5 – Exemplos
40 Além da plataforma CLP 500SAS, a subestação (ver Figura 25) inclui para controlo e protecção, 18 baías, incluindo linhas, transformadores e barras de cobre para níveis de voltagem e bancos de baías de condensadores utilizados para a correcção do factor de potência (EFACEC, 2011).
A implementação, configuração e teste da plataforma CLP 500SAS foi feita pela equipa da EFACEC automação, recorrendo à utilização do Automation Studio, que permitiu configurar, não só, cada um dos dispositivos, mas também toda a interface HMI e interacção com utilizador através dos sinópticos.
Devido ao elevado número de dispositivos instalados (ver Figura 25) os sinópticos criados para os monitorizar são muito complexos, não só no número de elementos que compõem cada página, como também no número de animações e entidades utilizadas para essas mesmas animações.
Figura 26 - Página “Estado do sistema” no Automation Studio
O projecto criado para a subestação utiliza múltiplas bibliotecas de objectos, que depois são utilizadas nas diferentes páginas. É composto por cerca de 30 páginas, com diferentes complexidades, que vão desde 26 a mais de 7000 elementos XAML numa única página. Os elementos XAML dessas páginas são dos mais variados, sendo que a página mais complexa contêm 2161 rectângulos, 2280 elipses, entre outros objectos, para a compor.
Capítulo 5 – Exemplos
41 Figura 27 - Página “Sistema 60” no Automation Studio
Para além dos elementos geométricos que compõem as páginas, as páginas são interactivas e, como tal, muitos desses elementos são animados. O número de animações por página vão desde 4 a mais de 1500, com centenas de entidades diferentes (o projecto utiliza mais de 6700 entidades, sendo que nem todas são utilizadas para as animações nas páginas) utilizadas para animar os elementos XAML e interagir com os dispositivos.
Figura 28 - Ermesinde no Automation Studio
Das 30 páginas que compõem o projecto, iremos analisar três delas (ver Figura 26, Figura 27 e Figura 28), e assim ter uma ideia, não só, da complexidade de cada página, como também, do número e tipo de elementos necessários para criar a mesma página em SVG. Cada uma destas
Capítulo 5 – Exemplos
42 páginas permite ter uma visão global do estado dos equipamentos da subestação em tempo real, permitindo assim obtenção mais específica sobre o estado de determinados equipamentos que monitorizam.
Tabela 7 - Número de elementos e animações necessário para traduzir as páginas em XAML
Elemento\Página Figura 26 Figura 27 Figura 28
XAML SVG XAML SVG XAML SVG
Rectângulos 7 312 2161 4176 38 2769 Elipses 74 238 2280 2590 87 562 Paths 74 419 72 2160 0 1145 Linhas 27 35 479 487 912 914 Polígonos 0 3 24 27 4 4 Polilinha 2 2 673 673 18 22
Gradientes do tipo linear 1 4 1 4 1 4
Matrizes 159 172 270 271 118 248 Grupos 150 744 263 1415 289 4725 Texto 30 34 1382 1386 512 612 Arcos 0 0 192 0 0 0 Total de elementos 524 1963 7797 13189 1979 110005 Animação de Navegação 3 7 21 Animação de Estilo 0 90 398 Animação MultiState 82 155 141 Animação Standard 0 18 677 Animação de Execução 0 0 42 Animação Numérica 0 0 96 Animação de Visibilidade 0 0 168 Total de animações 85 267 1543 Número de entidades 82 173 525
A Tabela 7 apresenta alguns dados sobre qual o número de elementos SVG e animações que são necessárias para traduzir cada uma das três páginas para SVG. A página “Sistema 60” (ver Figura 27) contém 7797 elementos XAML, para os quais o compilador precisou de gerar 13189 elementos SVG, além de 267 animações, que são geridas por 173 entidades diferentes (não é necessário existir o mesmo número de entidades para o mesmo número de animações) para a interactividade da página. A página “Ermesinde” apresenta uma complexidade superior, já que para “apenas” 1979 elementos XAML, foram precisos 110005 elementos SVG, e foi preciso animar 1543 animações geridas por 525
Capítulo 5 – Exemplos
43 entidades. Mesmo a página com menos elementos, “Estado do Sistema” (ver Figura 26) precisou de 1963 elementos SVG para 524 elementos XAML, com cerca de 85 animações.
Como foi referido anteriormente, este projecto da subestação é composto por mais de 30 páginas SCADA desenvolvidas pelo Automation Studio, e cada página composta por milhares de elementos, cada um com o seu grau de complexidade. Apesar dessa complexidade, o compilador foi capaz de gerar todas as páginas para SVG em apenas 56 segundos, o que dá uma média de menos de 2 segundos por página. Uma tradução manual das páginas, demoraria incomparavelmente mais tempo. Com este cenário, podemos comprovar a necessidade e a importância de uma ferramenta como a que foi desenvolvida, capaz de traduzir linguagem XAML em SVG. A eficácia que o plugin demonstrou ao fazer a tradução dos ficheiros XAML para SVG com a equipa de testes e desenvolvimento da EFACEC, permitiu que a configuração do equipamento fosse realizada de forma bastante rápida.
O compilador, para além de gerar as páginas, funciona como um corrector de “erros” de configuração dessas páginas, já que, se os dados não respeitarem os valores definidos, lança alertas para que o utilizador possa corrigir os campos assinalados. Existe um aumento do número de objectos do ficheiro XAML para o ficheiro traduzido SVG (conforme explicado no ponto 3.2 da tabela de equivalência de elementos) que é difícil de quantificar porque depende directamente do tipo de elementos que são utilizados na criação das páginas SCADA no Automation Studio. Este aumento, que se pode observar nos resultados apresentados na Tabela 7, tem como consequência directa, o aumento do tempo de carregamento da página pela plataforma (neste caso pelo HMI 500). No entanto, não restam dúvidas que este “senão” é completamente aceitável, tendo em conta as suas funções e mais-valias.
5.2. Subestação do Bahrain
A EFACEC fornece tecnologia para a expansão da rede eléctrica do Bahrain. Um conjunto de 50 subestações, todas elas equipadas com sistemas integrados de automação, protecção e controlo da EFACEC.
Os sistemas são baseados na plataforma CLP 500 e, exactamente como na subestação de Ermesinde, a configuração dos dispositivos foi feita através da utilização do Automation Studio, assim como a configuração da interface e interacção HMI com o utilizador, através dos sinópticos.
Capítulo 5 – Exemplos
44 Trata-se dum projecto de grande envergadura, com um número elevado de subestações e com um número elevado de dispositivos para monitorizar. O projecto para a subestação contém cerca de 60 páginas e foi traduzido pela ferramenta desenvolvida para o Automation Studio, em cerca de 58 segundos. Como no exemplo anterior, os sinópticos são muito complexos, com páginas que contêm desde 31 a mais de 3000 elementos XAML. As páginas geradas contêm um elevado número de elementos SVG que vão desde 100 a mais de 8000, e animações, com páginas que contém mais de 1200 animações para a interacção com o utilizador, utilizando centenas de entidades. Este projecto em particular, tem mais de 3000 entidades, para as animações e configurações dos dispositivos.
Deste projecto massivo de 60 páginas, iremos fazer uma análise de três delas (ver Figura 29, Figura 30 e Figura 31). Analisaremos a complexidade de cada uma das páginas, e qual o número de elementos XAML e SVG que as compõem. As páginas criadas permitem monitorizar e ter uma visão global sobre o estado da subestação e, em particular, os dispositivos que a controlam.
Capítulo 5 – Exemplos
45 Figura 30 - Sinóptico da arquitectura da subestação
Figura 31 - Sinóptico das protecções para a subestação
A página “Sinóptico para a visão global da subestação” (ver Figura 29), dá-nos uma visão global de uma parte da subestação, e o utilizador, através deste sinóptico, tem acesso à informação indispensável sobre todo o funcionamento da subestação.
Capítulo 5 – Exemplos
46 Tabela 8 - Número de elementos SVG e animações necessário para traduzir as páginas em XAML
Elemento\Página Figura 29 Figura 30 Figura 31
XAML SVG XAML SVG XAML SVG
Rectângulos 95 2215 92 639 103 334 Elipses 12 12 60 64 36 60 Paths 1 634 0 241 0 182 Linhas 1017 1511 320 336 56 58 Polígonos 32 161 0 0 0 0 Polilinha 0 43 0 13 6 8 Imagens 1 1 9 55 29 31
Gradientes do tipo linear 0 3 0 3 0 3
Matrizes 390 630 27 92 44 49 Grupos 1432 3262 477 799 124 298 Texto 93 97 76 84 63 67 Arcos 2 0 0 0 0 0 Total de elementos 3075 8569 1061 2326 461 1090 Animação de navegação 12 20 1 Animação MultiState 178 27 2 Animação Standard 137 99 36 Animação de execução 0 0 0 Animação de visibilidade 274 0 18 Animação numérica 0 2 0 Animação de estilo 0 97 16 Número de animações 601 245 73 Número de entidades 315 76 26
Analisando a Tabela 8, para a Figura 29, podemos ver que se trata de um sinóptico, contendo 3075 elementos XAML, os quais foram traduzidos para 8569 elementos SVG. Foram ainda criadas 601 animações, geridas por 315 entidades, para interacção com o utilizador.
Para a traduzir a página “Sinóptico da arquitectura da subestação” (ver Figura 30), para os 1061 elementos XAML (ver Tabela 8) que compõem o sinóptico, foram precisos 2326 elementos SVG, bem como 245 animações geridas por 76 entidades. Esta página mostra-nos informação com um carácter mais visual, já que no sinóptico foi desenhado um esboço da plataforma CLP 500, e o utilizador tem assim, uma visão mais aproximada acerca do dispositivo ou dispositivos que está a monitorizar pois além da identificação através do código do equipamento tem informação visual. Além
Capítulo 5 – Exemplos
47 dessa informação visual, os sinópticos ainda contêm acções de navegação para a respectiva plataforma, o que dá uma visão mais geral do dispositivo e permite uma navegação simples até equipamentos ligados entre si. Existe ainda uma animação numérica que dá informação acerca da temperatura da sala onde estão inseridos os dispositivos. Apesar desta informação da temperatura da sala não ser das principais no que diz respeito ao controlo e configuração dos equipamentos e dispositivos, foi acrescentada de forma a ajudar a gerir a subestação.
O sinóptico da Figura 31, “Sinóptico das protecções para a subestação”, contém cerca de 461 elementos XAML (ver Tabela 8), sendo necessários 1090 elementos para recriar a página em SVG, auxiliado por 73 animações, geridas por 26 entidades. Esta página mostra a utilização de botões clássicos, um elemento XAML, que não existe em SVG e como tal foi necessário não só recriá-lo, utilizando outros elementos SVG (ver Tabela 3), como também foi necessário animá-lo, para que o seu comportamento fosse semelhante ao dos botões que são utilizados pelo Windows 95.
Com este exemplo, podemos comprovar que não existem limites para o desenvolvimento das páginas SCADA e a sua tradução para SVG. A ferramenta permite a correta e quase imediata tradução (cerca de 58 segundos para os 60 sinópticos corresponde a menos de 1 segundo por página) dos elementos XAML para SVG deste projecto, com a única desvantagem a ser a quantidade de elementos SVG que são necessários para representar todos os elementos XAML.
5.3. Conclusão
Neste capítulo, foram descritas duas situações reais onde a ferramenta desenvolvida, aplicada como plugin do Automation Studio, é utilizada pela EFACEC como uma solução de sucesso para a tradução da linguagem XAML em SVG. Ficaram demonstradas as vantagens da integração deste componente no Automation Studio e as múltiplas aplicações possíveis na gestão de equipamentos que utilizem as linguagens XAML e SVG sem prejuízo da sua eficácia, complexidade e dimensão. Isto foi conseguido, com custos irrisórios e a possibilidade de alargar a incorporação de equipamentos de outras empresas que utilizem linguagens semelhantes, em sistemas geridos pela EFACEC.
Capítulo 5 – Exemplos
Capítulo 6 – Conclusões
49 Capítulo 6 – Conclusões
O trabalho desenvolvido nesta dissertação enquadra-se no âmbito do projecto InPACT, um projecto de inovação e desenvolvimento, promovido pela EFACEC em parceria com a EDP Distribuição e a Universidade do Minho. O objectivo do projecto foi o desenvolvimento dum conjunto de ferramentas de engenharia avançadas (um ambiente de desenvolvimento integrado – IDE – o Automation Studio) para aplicação a sistemas de protecção, automação e controlo de sistemas eléctricos de energia, tendo em vista uma gestão completa dos sistemas da EFACEC. Uma das ferramentas do IDE é um editor de sinópticos, desenvolvido em C# e XAML, que é utilizado para programar os sistemas SCADA da EFACEC. Como os sistemas SCADA utilizam SVG para visualizar os sinópticos, e essa linguagem é incompatível com o XAML, foi necessário criar uma ponte entre o editor do Automation Studio e os sistemas SCADA. O trabalho desenvolvido passou então (ver Capítulos 3 e 4) pelo desenvolvimento de uma ferramenta que fizesse a conversão de ficheiros XAML em SVG, de forma a permitir a interoperabilidade entre o Automation Studio e os equipamentos SCADA da EFACEC.
Nesse sentido, a ferramenta desenvolvida teve de ser concebida e implementada como um plugin para o IDE Automation Studio, de forma a poder ser integrada nas ferramentas de desenvolvimento da empresa. Após a integração definitiva do plugin no Automation Studio, este foi utilizado com sucesso em diversos projectos reais desenvolvidos pela empresa, com destaque para as subestações de Ermesinde e do Bahrain, conforme descrito no Capítulo 5 – Exemplos.
Apesar de existirem diferenças entre as linguagens XAML e SVG, a solução desenvolvida conseguiu colmatar essas diferenças, e fazer com que não existisse diferenças visíveis entre a página criada e a página traduzida. Conseguiu ainda, dotar a página criada, com elementos interactivos, que são característicos dos sistemas SCADA. Os sinópticos criados pelo compilador são ligeiramente mais pesados, em termos de tamanho, que os ficheiros XAML criados pelo Automation Studio. Os sinópticos criados podem ser melhorados, quer em termos de tamanho, quer em termos de qualidade dos desenhos criados. Note-se no entanto que estas melhorias são, em grande medida, incompatíveis entre si. Se se aumentar a qualidade dos desenhos, aproximando-se da forma real do equipamento que estão a descrever, o ficheiro criado irá aumentar em tamanho. Se se pretender diminuir o tamanho dos ficheiros, isso poderá ser conseguido através de desenhos mais simples, o que irá implicar uma diminuição da qualidade dos sinópticos.
Capítulo 6 – Conclusões
50 Numa versão futura do compilador terá de ser decidida qual o principal objectivo da aplicação. Privilegiar a componente técnica do desempenho do HMI 500, com preocupações ao nível do peso do ficheiro SVG para beneficiar e aumentar o desempenho do equipamento, ou privilegiar a interacção com o utilizador, ao desenvolver sinópticos mais completos com desenhos próximos do real do equipamento. Qualquer uma destas opções é viável, mas altera, a abordagem e o desenvolvimento das versões seguintes do compilador.
51 Bibliografia
Allen, K. S., 2006. Programming Windows Workflow Foundation: Practical WPF Techniques and Examples using XAML and C#. s.l.:PACKT.
Anon., 2013. W3C. [Online]
Available at: http://www.w3.org/AudioVideo/
Baigent, D., Adamiak, M. & Mackiewic, R., 2004. IEC 61850: Communication networks and systems in substations: An Overview for Users. s.l.:SIPSEP.
Boyer, S. A., 2010. SCADA: Supervisory Control and Data Acquisition 4th Edition. s.l.:Iliad Development Inc..
EFACEC, 2011. Transmission Substation - Automation : Ermesind 220/60 Kv Substation [Brochura]. s.l.:Automation Business Unit.
EFACEC, 2012. CLP 500SAS. [Online] Available at:
http://www.efacec.pt/PresentationLayer/ResourcesUser/Cat%C3%A1logos%202013/Automa%C3%A 7%C3%A3o/CS74P1302A1_CLP_500SAS_PT.pdf
[Accessed 25 10 2013].
EFACEC, 2012. HMI 500 - Multi-touch. [Online]
Available at: http://www.youtube.com/watch?v=J7Q_7LFhd5w Eisenberg, J. D., 2002. SVG Essentials. s.l.:O' Reilly.
Geneva & Schweiz, 2003. IEC 61131-3 Programmable controllers – Part 3 - Programming Languages. s.l.:International Electrotechnical Commission.
Geneva & Schweiz, 2003. IEC 61499: Function blocks for industrial-process measurement and control systems. s.l.:International Electrotechnical Commission.
Geneva & Schweiz, 2013. IEC 60870-5: Telecontrol equipment and systems – Part 5: Transmission protocols. s.l.:International Electrotechnical Commission.
Jacobs, S., 2006. Beginning XML with DOM and Ajax, From novice to Professional. s.l.:Apress. MacDonald, M., 2010. Pro WPF in C# 2010. s.l.:Apress.
Marketing, E., 2013. HMI 500 - Multi-touch. [Online] Available at:
http://www.youtube.com/watch?v=J7Q_7LFhd5w&feature=share&list=PL5F3E984115DF32BC Nathan, A., 2007. Windows Presentation Foundation Unleashed. s.l.:SAMS.
Paulo, R. et al., 2009. Advanced Engineering Tools for Next Generation Substation Automation Systems: The Added Value of IEC 61850 and the InPACT Project. In 20th International Conference and Exhibition on Electricity Distribution (CIRED 2009), volume PEP0550Z of IET Conference. [Online] Available at: http://www3.di.uminho.pt/~jfc/publications/PauloCLBC09.pdf
52 Ullman, C. & Dykes, L., 2007. Beginning Ajax. s.l.:Wrox, Wiley Publishing, Inc.
W3C, 2003. Scalable Vector Graphics (SVG) 1.1 Specification. s.l.:W3C.
W3C, 2008. Synchronized Multimedia Integration Language (SMIL 3.0). [Online] Available at: http://www.w3.org/TR/smil/