Escolar Documentos
Profissional Documentos
Cultura Documentos
I
13 Introdução aos Scripts ............................................................................................................................. 77
13.1 Definindo Scripts ................................................................................................................................. 77
13.2 Eventos ................................................................................................................................................. 81
13.3 Métodos .............................................................................................................................................. 82
13.4 Propriedades ...................................................................................................................................... 82
13.5 Exercícios ............................................................................................................................................. 83
14 Elipse Gateway ......................................................................................................................................... 85
14.1 Exercícios ............................................................................................................................................. 85
15 Segurança e Usuários .............................................................................................................................. 93
15.1 Usuários ............................................................................................................................................... 93
15.2 Grupos ................................................................................................................................................. 93
15.3 Permissões .......................................................................................................................................... 94
15.4 Proteção .............................................................................................................................................. 95
15.5 Exercícios ............................................................................................................................................. 96
16 Proteções .................................................................................................................................................. 99
16.1 Exercícios ............................................................................................................................................ 100
17 Bibliotecas ElipseX .................................................................................................................................. 103
17.1 Criação de Bibliotecas do Usuário ................................................................................................... 103
17.2 Quando Criar um ElipseX ................................................................................................................. 106
17.3 Exercícios ........................................................................................................................................... 106
18 Armazenamento de Dados ..................................................................................................................... 116
18.1 Histórico .............................................................................................................................................. 116
18.2 Storage ............................................................................................................................................... 116
18.3 Exercícios ............................................................................................................................................ 117
19 Consultas ................................................................................................................................................. 124
19.1 Criando uma Consulta ...................................................................................................................... 124
19.2 Consultas Internas ............................................................................................................................. 125
19.3 E3Browser .......................................................................................................................................... 126
19.4 Exercícios ........................................................................................................................................... 127
20 Relatórios ................................................................................................................................................ 130
20.1 Objetos do Relatório ......................................................................................................................... 131
20.2 Exercícios ........................................................................................................................................... 133
21 Solução dos Desafios .............................................................................................................................. 135
21.1 Desafio I .............................................................................................................................................. 135
21.2 Desafio II ............................................................................................................................................ 135
21.3 Desafio III ........................................................................................................................................... 138
21.4 Desafio IV .......................................................................................................................................... 139
21.5 Desafio V ........................................................................................................................................... 140
21.6 Desafio VI ........................................................................................................................................... 141
21.7 Desafio VII ......................................................................................................................................... 142
21.8 Desafio VIII ........................................................................................................................................ 144
II
21.9 Desafio IX ........................................................................................................................................... 145
21.10 Desafio X .......................................................................................................................................... 146
21.11 Desafio XI .......................................................................................................................................... 147
21.12 Desafio XII ........................................................................................................................................ 148
21.13 Desafio XIII ....................................................................................................................................... 150
21.14 Desafio XIV ....................................................................................................................................... 150
III
CAPÍTULO
Apresentação
1
Desde sua fundação em 1986, a Elipse Software vem desenvolvendo poderosas ferramentas computacionais voltadas
à criação de sistemas industriais e de gerenciamento de energia.
Sediada em Porto Alegre e com filiais em São Paulo, Curitiba, Belo Horizonte, Rio de Janeiro e Taiwan, a Elipse
Software é uma empresa brasileira com participação expressiva no mercado externo, atuando em países como
Alemanha, Índia, Rússia, Suécia, Argentina e Chile, entre outros.
Durante estes anos de experiência, desenvolvemos um grande número de soluções para as áreas de geração,
transmissão e distribuição de energia elétrica, fornecendo produtos para criação de sistemas como centros de
controle, telemedição, automação de subestações, supervisão de proteção, automação de transformadores,
conversores de protocolos e descarte de cargas.
O Elipse Power é uma plataforma completa de criação e desenvolvimento de aplicações com funções de supervisão,
controle, análise e gerenciamento de sistemas elétricos, podendo ser utilizado tanto para aplicações de pequeno
porte, como automação de uma única subestação, quanto para aplicações de grande porte, como sistemas EMS
(Energy Management System) ou DMS (Distribution Management System).
Toda a experiência adquirida junto ao setor elétrico, somada aos novos conceitos de redes inteligentes (Smart Grids),
foi utilizada no desenvolvimento de um produto específico para o mercado de energia elétrica.
1.1 O Treinamento
A base do roteiro deste Tutorial é uma aplicação hipotética, que apresenta os recursos mais importantes do Elipse
Power HMI. Esta aplicação não cobre todas as possibilidades de desenvolvimento oferecidas pela ferramenta. No
entanto, a quantidade e qualidade das informações apresentadas neste primeiro contato com o software são
suficientes para que se aprenda a utilizá-lo com autonomia para criar suas próprias aplicações. A sequência do
treinamento é a seguinte:
· Iniciando a Aplicação
· Modelagem Elétrica do Sistema a ser Supervisionado
· Diagrama de Operação
· Estrutura de Telas
· Estrutura de Dados
· Medidas Analógicas e Discretas
· Alarmes
· Comandos
· Intertravamentos
· Comunicação
· Associações
· Scripts
· Gateway
· Segurança e Usuários
· Proteções
· Bibliotecas ElipseX
· Armazenamento de Dados
· Consultas
· Relatórios
Sua participação é muito importante para nós. Ao final do treinamento, solicitaremos que você avalie diversos
aspectos do curso, como a qualidade e a quantidade das informações transmitidas em aula e pelo Tutorial, além do
trabalho do instrutor e a qualidade das instalações. Qualquer sugestão ou crítica é bem-vinda pela equipe de
desenvolvimento deste Tutorial.
A Elipse Software deseja a você um ótimo treinamento, e uma boa experiência de trabalho com o Elipse Power HMI!
1 Apresentação
CAPÍTULO
Iniciando a Aplicação
2
Após instalar o software, tem-se um grupo de programas chamado Elipse Power, com um ícone para abrir o
Elipse Power Studio. Quando o Elipse Power Studio inicia, abre-se uma caixa de diálogo com algumas opções de
projeto.
2.1 Arquivos
O Elipse Power trabalha com três tipos de arquivos de projeto, descritos a seguir.
2.1.1 Projetos
Contêm definições de objetos, Tags, Telas e outros componentes da aplicação. Os arquivos .prj são criados através
das opções Aplicação Padrão e Aplicação em Branco. A primeira opção cria um projeto pré-configurado com alguns
objetos básicos através de um assistente de criação de projeto, enquanto a segunda opção cria um projeto vazio a
ser implementado pelo usuário.
2.1.2 Bibliotecas
Contêm definições de objetos criados pelo usuário (ElipseX) para serem utilizados em projetos. Estas bibliotecas
podem ser reutilizadas em diferentes projetos, mas mantêm vínculos com a aplicação. Ou seja, se a biblioteca for
alterada, todos os objetos desta biblioteca são atualizados nos projetos automaticamente.
Iniciando a Aplicação 2
2.1.3 Configuração do Domínio
Armazena quatro tipos de informações: Opções de configuração do Domínio, lista de arquivos .prj e .lib,
configurações dos servidores que executam o Domínio e configurações de segurança (usuários e permissões). Sem
este arquivo, um projeto não pode ser executado no Elipse Power. Este item é visto mais adiante.
Organizer
O modo Domínio mostra apenas as informações dos objetos abertos pertencentes ao Domínio, organizadas em
quatro grupos: Configuração, Bibliotecas de Objetos, Visualização e Objetos de Servidor.
O modo Explorer mostra projetos e bibliotecas abertos no Elipse Power Studio, pertencentes ou não ao Domínio. Os
objetos são mostrados no projeto ou biblioteca ao qual pertencem, ordenados alfabeticamente dentro de cada
projeto ou biblioteca.
3 Iniciando a Aplicação
Lista de Propriedades
2.4 Exercícios
2.4.1 Criando uma Aplicação
Para criar uma nova aplicação no Elipse Power, é necessário primeiro criar um Domínio, que é responsável por reunir
todos os projetos da aplicação.
1. Execute o Elipse Power Studio (Iniciar - Programas - Elipse Software - Elipse Power - Elipse Power Studio),
selecione a opção Criar um Domínio novo e clique em OK. O Assistente de Aplicações é aberto, e ajuda o
usuário a criar um novo Domínio.
Iniciando a Aplicação 4
Assistente de Aplicações
2. Clique em Avançar. A tela da figura a seguir é mostrada.
Tipo de Aplicação
3. Selecione a opção Aplicação padrão. Após indicar o diretório onde a aplicação deve ser salva e o seu nome
(conforme figura anterior), clique em Avançar. A tela da figura a seguir é mostrada.
5 Iniciando a Aplicação
Domínio
4. Clique novamente em Avançar. A tela da figura a seguir é mostrada.
Resolução do Viewer
5. Configure a resolução de tela desejada e clique em Avançar.
6. Responda Não à pergunta Você deseja comunicar com um dispositivo/equipamento?. Clique em Avançar.
7. Responda Sim à pergunta Você quer guardar dados em disco?. Mantenha o nome do arquivo sugerido, pois o
banco de dados é alterado para SQL Server posteriormente. Clique em Avançar.
8. Responda Sim à pergunta Você deseja monitorar alarmes em sua aplicação? e selecione a opção Desejo
guardar os dados dos alarmes em disco. Clique em Avançar.
9. Por fim, aparece a tela da figura a seguir.
Iniciando a Aplicação 6
Conclusão do Assistente
10. Clique em Concluir. O Elipse Power Studio é aberto.
7 Iniciando a Aplicação
CAPÍTULO
Modelador Elétrico
3
O Elipse Power disponibiliza uma completa ferramenta de desenho e modelagem de redes de energia elétrica. Esta
ferramenta foi desenvolvida com a finalidade de oferecer ao usuário um ambiente único, que permita tanto visualizar
quanto cadastrar os dispositivos que constituem o sistema elétrico, suas interligações e seus parâmetros.
Níveis Hierárquicos
Para facilitar a navegação e a criação dos diagramas e configuração dos modelos, a ferramenta disponibiliza três
níveis hierárquicos distintos. São eles:
· Tela de visualização e edição de sistema: Este é o nível mais abrangente disponível na ferramenta de
modelagem
· Tela de visualização e edição de Subestações: Neste nível é possível inserir todos os equipamentos que
compõem uma Subestação, tais como Disjuntores, Chaves, Transformadores, Geradores, Capacitores, Reatores
e Barramentos
· Tela de visualização e edição de Alimentadores: Neste nível é possível inserir todos os equipamentos que
podem fazer parte de um Alimentador, tais como Disjuntores, Chaves, Chaves Fusíveis, Transformadores,
Geradores, Capacitores e Reatores
3.2 Exercícios
3.2.1 Modelo Elétrico
A próxima etapa do desenvolvimento da aplicação consiste na criação do modelo elétrico do sistema que se deseja
supervisionar. O exemplo apresentado no Tutorial é constituído por uma única Subestação de rebaixamento de
tensão, cujo diagrama unifilar é apresentado na figura a seguir.
Modelador Elétrico 8
Modelo elétrico do sistema
1. Após a criação da aplicação no Elipse Power, o arquivo EDB correspondente ao modelo elétrico é criado na
mesma pasta de destino e com o mesmo nome de Domínio e do projeto relativo à aplicação. Como padrão, a
aba Modelador Elétrico do objeto Configuração do Power é mostrada primeiro. O Elipse Power Studio deve
apresentar um ambiente de desenvolvimento similar ao da figura a seguir.
Ambiente de desenvolvimento
9 Modelador Elétrico
3.2.2 Subestação SE1
Primeiramente, vamos criar e configurar uma Subestação.
1. Selecione a ferramenta Subestação e clique na área de desenho. Uma Subestação deve ser inserida no sistema,
conforme a figura a seguir.
Inserir Subestação
2. Selecione a Subestação e altere sua propriedade Name para "SE1".
3. Clique duas vezes na Subestação para abrir o ambiente de modelagem da Subestação.
4. Para voltar ao nível Sistema, clique em .
Inserir Chave
2. Na Lista de Propriedades, altere o nome da Chave para "29-02".
3. Ao lado da Chave 29-02, insira uma nova Chave e altere seu nome para "29-04".
Modelador Elétrico 10
Inserir Chave
4. Para facilitar o desenho, ative a grade e o alinhamento dos elementos em relação à grade . As Chaves devem
ficar alinhadas à grade, como mostrado na figura a seguir.
Alinhamento à grade
5. A opção Trancar/Destrancar ferramenta ajuda na criação de vários objetos iguais. Selecione esta opção e em
seguida selecione a ferramenta Disjuntor .
DICA
Para a criação de vários objetos iguais, também é possível utilizar a tecla CTRL.
6. Insira cinco Disjuntores no modelo e configure o nome de cada objeto como "52-01", "52-02", "52-03", "52-04" e
"52-05". O modelo deve ficar como na figura a seguir.
11 Modelador Elétrico
Inserir Disjuntores
7. Abaixo dos Disjuntores 52-03, 52-04 e 52-05, insira três novas Chaves Seccionadoras. Configure os nomes das
Chaves como "29-08", "29-10" e "29-12". O modelo deve ficar como na figura a seguir.
Inserir Chaves
8. Selecione a ferramenta Barramento e insira uma Barra entre as Chaves Seccionadoras 29-02 e 29-04 e o
Disjuntor 52-01. Renomeie a Barra para "BARRA_138KV".
Modelador Elétrico 12
Inserir Barramento
9. Insira uma nova Barra entre o Disjuntor 52-02 e os Disjuntores 52-03, 52-04 e 52-05. Renomeie-a para
"BARRA_13_8KV", como mostrado na imagem a seguir.
Inserir Barramento
10. Selecione a ferramenta Transformador de 2 Enrolamentos e insira um Transformador entre os Disjuntores 52-
01 e 52-02.
Inserir Transformador
11. Rotacione o objeto Transformador, de forma que o seu Terminal 1 fique para cima. A rotação pode ser realizada
clicando-se no botão de rotação no canto superior esquerdo do objeto, ou selecionando o objeto e
pressionando a tecla R. O modelo deve ficar de acordo com a figura a seguir.
13 Modelador Elétrico
Rotacionar
12. Na Lista de Propriedades do Transformador, altere as seguintes propriedades:
· BaseVoltage1: 138
· BaseVoltage2: 13,8
· ConnectionType1: 0 - ctDelta
· ConnectionType2: 1 - ctWyeGrounded
· Name: TR-01
Inserir Conector
14. Após a conexão de todos os objetos, a Subestação deve estar semelhante à figura a seguir.
Modelador Elétrico 14
Subestação
15. Para energizar a Subestação, vamos utilizar um objeto Gerador. Selecione a ferramenta Gerador e clique na
área de desenho próxima da Chave Seccionadora 29-02.
16. Altere a propriedade BaseVoltage do Gerador para "138" e conecte-o à Chave Seccionadora 29-02.
Propriedade BaseVoltage
17. Para quebrar a linha e realizar uma curva de 90°, precisamos inserir um Vértice. Selecione a ferramenta Vértice
Gráfico e clique no Conector criado. O Vértice também pode ser criado pressionando-se a tecla CTRL e
clicando com o botão esquerdo do mouse no Conector criado. Arraste o Vértice para a posição que desejar.
15 Modelador Elétrico
Vértice Gráfico
18. Selecione a ferramenta Gerador novamente e insira um novo Gerador próximo à Chave 29-04. Altere a
propriedade BaseVoltage do Gerador para "138kV" e conecte-o à Chave Seccionadora 29-04.
Gerador
19. Renomeie os Geradores para "G1" e "G2".
20. Selecione a ferramenta Carga e insira uma nova Carga próxima da Chave 29-08. Renomeie-a para "L1" e
conecte-a à Chave 29-08.
Carga de Distribuição
21. Insira mais duas Cargas, renomeando-as para "L2" e "L3" e conectando-as às Chaves 29-10 e 29-12.
Modelador Elétrico 16
22. Vamos organizar os conjuntos de Cargas, Chaves e Disjuntores em Bays. Com a tecla SHIFT pressionada, clique
nos objetos 52-03, 29-08 e L1 em sequência. Outra forma de selecionar múltiplos objetos é clicar na área de
desenho e arrastar o ponteiro do mouse, formando uma caixa de seleção.
Objeto Bay1
24. Repita o passo anterior para criar o "Bay2" (agrupando os objetos 52-04, 29-10 e L2) e o "Bay3" (agrupando os
objetos 52-05, 29-12 e L3).
25. Ao final deste processo, o modelo elétrico deve estar semelhante à figura a seguir.
17 Modelador Elétrico
Resultado final da Subestação
26. Deixe um espaço na parte inferior do unifilar, abaixo das Cargas. Neste local vão ser colocados alguns Displays
em tela, mais adiante. Clique no canto inferior direito e arraste o ponteiro do mouse para baixo, aumentando a
área de desenho. Outra opção é reconfigurar a propriedade CanvasBottom com um valor maior.
Modelador Elétrico 18
Espaço na parte inferior do unifilar
19 Modelador Elétrico
Cores de tensão
Modelador Elétrico 20
CAPÍTULO
Diagrama de Operação
4
Após configurar a estrutura de dados, é possível dar início ao desenvolvimento do diagrama de operação das
Subestações. De forma a facilitar a criação das Telas de operação, o Elipse Power permite que o diagrama de modelo
elétrico, criado no objeto Configuração dp Power, seja utilizado como base para importar todos os equipamentos
para uma Tela de um arquivo *.prj. Esta ferramenta utiliza um conjunto de bibliotecas gráficas, capaz de interagir com
o objeto de dados e distribuído juntamente com o Elipse Power. A principal função do Importador de Telas é gerar a
primeira versão da Tela, pois pequenos ajustes talvez sejam necessários.
4.2 Telas
A Tela é o objeto básico de interface com o usuário. Nela podem-se inserir os seguintes objetos:
· Primitivas do editor gráfico (retas, círculos, retângulos, polígonos, etc.)
· Controles ActiveX fornecidos pela Elipse (E3Alarm, E3Browser, E3Chart e E3Playback)
· Controles ActiveX fornecidos por terceiros
· Imagens não vetoriais (Arquivos BMP, JPG, GIF, etc.)
· Imagens vetoriais (Arquivos WMF, EMF, etc.)
· Controles padrão do Windows (Lista, Editor de Texto, Lista de Seleção, etc.)
· Bibliotecas gráficas do Elipse Power (XControl) compostas de quaisquer dos objetos descritos anteriormente
· Pastas do Viewer, Consultas, Tags Contador, Demo, Interno e Timer
As Telas utilizam como padrão para o tamanho e coordenadas as unidades Himetric, dadas em 1/100 mm, não em
pixels. Neste sistema, ao se adicionar um valor positivo em x, a coordenada x move-se para a direita. Quando se
adiciona um valor positivo em y, a coordenada y move-se para baixo, sendo a origem dada pelo canto superior
esquerdo da Tela.
As Telas podem ser abertas em modo Full-Screen, ocupando toda a área do Viewer, ou ainda como telas modais,
ocupando somente o tamanho de suas coordenadas de altura e largura.
21 Diagrama de Operação
Aba Design da Tela
4.3 Proporção
O Importador de Telas do Elipse Power cria os objetos na Tela de forma proporcional, considerando o tamanho do
objeto no modelo elétrico, a área de desenho do modelo e o tamanho da Tela. Após realizar uma importação, se
necessário, apague todos os objetos criados na Tela, faça os ajustes necessários e repita o processo de importação,
até que seja obtido um resultado satisfatório.
Para que os objetos de Tela fiquem com a melhor aparência possível, ou seja, que eles sejam criados com seus
tamanhos originais, o usuário pode se basear nas seguintes fórmulas:
CanvasTop = (Width / 2000) * Size
CanvasBottom = (Height / 2000) * Size
Onde:
· CanvasTop: Largura da área de desenho do modelador elétrico
· CanvasBottom: Altura da área de desenho do modelador elétrico
· Width: Largura da Tela de operação
· Height: Altura da Tela de operação
· Size: Tamanho do objeto no modelador elétrico
4.4 Exercícios
Neste exercício, vamos transformar em Telas da aplicação a construção do Modelador Elétrico.
Diagrama de Operação 22
4.4.1 Importar Modelo Elétrico
1. Clique com o botão direito do mouse na TelaInicial e selecione a opção Importar do Modelo Elétrico.
Selecionar Subestação
3. Deixe a configuração padrão na janela seguinte e clique em OK.
23 Diagrama de Operação
Janela Criação de Objeto
4. Após a importação, a Tela é criada com os objetos da biblioteca PowerControls.
Tela Inicial
5. Se necessário, apague todos os objetos criados na Tela, execute os ajustes necessários no modelo elétrico e
repita o processo de importação até que obtenha um resultado satisfatório.
6. A cor de fundo da Tela pode ser configurada na propriedade BackgroundColor, na Lista de Propriedades.
7. Execute a aplicação, clicando em , e teste a nova funcionalidade.
Diagrama de Operação 24
CAPÍTULO
Estrutura de Telas
5
O Quadro é o objeto que organiza e estrutura a interface, criando visualizações compostas para o usuário dentro da
janela principal do Viewer ou de um navegador.
No Quadro, pode-se criar Divisores para visualizar diferentes Telas ao mesmo tempo. Cada Divisor também pode
mostrar uma URL, uma planilha do Excel, um documento do Word ou um arquivo PDF.
A disposição dos Divisores dentro do Quadro pode ser horizontal ou vertical. Dentro de cada Divisor podem ser
inseridos outros Divisores. A cada par de novos Divisores criados pelas opções Dividir Horizontalmente e Dividir
Verticalmente, há sempre um Divisor Principal e um Divisor Secundário. Apenas o Divisor Principal tem valores que
definem explicitamente o seu posicionamento, ficando o Divisor Secundário com o valor restante.
Os Objetos de Tela são elementos gráficos que podem ser inseridos nas Telas para criar a interface visual com o
processo. Podem ser criados a partir da barra de ferramentas Objetos ou através do menu Objetos.
Uma vez selecionado o objeto que se deseja criar, mantenha o botão esquerdo do mouse pressionado na área da
Tela enquanto movimenta o mouse (um retângulo pontilhado mostra o tamanho e a forma do objeto). Ao soltar o
botão, o objeto é posicionado dentro da área especificada.
5.1 Exercícios
5.1.1 Quadro
O primeiro passo é montar a estrutura onde as Telas são apresentadas ao operador. Para isto, vai ser criado um
Quadro contendo três áreas distintas:
· Área superior contendo uma Tela de menu, com todas as funcionalidade de navegação do sistema. Esta Tela é
fixa
· Área inferior contendo um Sumário de Alarmes ativos no momento. Esta Tela é fixa
· Área central contendo as Telas de operação
25 Estrutura de Telas
Propriedades do Viewer
8. Neste ponto, a estrutura de apresentação das Telas acabou de ser criada. Vamos criar as Telas que são
visualizadas em cada parte.
Estrutura de Telas 26
5.1.3 Tela SE1
A Tela que contém o diagrama da Subestação deve ser modificada para ser mostrada no Divisor Area_Central.
1. Abra a TelaInicial e apague todos os seus objetos.
2. Altere o nome da Tela de "TelaInicial" para "Tela_SE1".
3. Clique com o botão direito do mouse na Tela e selecione a opção Ajustar ao Divisor.
4. Na janela que se abre, selecione o Divisor Area_Central e selecione a opção Configurar como Tela inicial do
Divisor.
5. Repita o processo de importação do diagrama unifilar, conforme o exercício anterior. Note que o tamanho total
do novo diagrama unifilar é adaptado à área disponível na Tela, agora um pouco menor.
6. Retorne ao objeto Quadro1 e verifique a configuração dos três Divisores.
Quadro1
7. Caso algum dos Divisores esteja em branco, clique com o botão direito do mouse neste Divisor e selecione a
opção Selecionar Tela ou Quadro.
8. Na janela do AppBrowser, selecione a Tela correspondente ao Divisor.
9. Execute a aplicação.
27 Estrutura de Telas
Recursos de projetos
Agora, vamos deixar criados os botões para navegação entre as Telas. A funcionalidade destes botões vai ser
implementada mais adiante neste Tutorial.
4. Insira um objeto CommandButton na Tela_Menu, ao lado do logotipo da Elipse Software.
5. Abra a janela de propriedades deste botão e configure a propriedade Caption com o valor "SE1".
DICA
Quando um objeto possui a propriedade Caption, esta propriedade pode ser modificada utilizando a tecla F2.
6. Configure as cores de texto e de fundo (propriedades ForeColor e BackColor, respectivamente) como desejar.
7. Faça uma cópia do botão e altere a propriedade Caption deste novo botão para "Eventos".
Estrutura de Telas 28
Tela Menu
DESAFIO I
Esconda os nomes das Barras ("BARRA_13_8KV" e "BARRA_138KV") no diagrama unifilar.
29 Estrutura de Telas
CAPÍTULO
Estrutura de Dados
6
O Elipse Power trata de forma separada o Modelo Elétrico e os objetos de dados da aplicação. Enquanto o Modelo
Elétrico é armazenado em um arquivo EDB e possui informações sobre os componentes do sistema e sua
conectividade, os objetos de dados são armazenados em arquivos PRJ e permitem que uma série de programações
sejam adicionadas a eles, tais como scripts, Associações para Tags de Comunicação, Associações para objetos de
Tela, Alarmes, Históricos, etc.
6.1 Exercícios
Para fins de exercício, inicialmente vamos utilizar em toda a aplicação apenas Fontes de Medida do tipo Operator,
onde os dados são inseridos pelo próprio usuário, não sendo necessário configurar nenhum Driver de Comunicação.
Como sugestão, todas as Medidas configuradas já devem ter suas Fontes de Medida do tipo Operator configuradas
com algum valor, permitindo que, assim que a aplicação seja executada, já existam valores carregados.
1. Confirme no Organizer a estrutura de objetos da Subestação. Deve existir um objeto para cada desenho do
Modelador Elétrico.
Organizer
2. Selecione a Chave Seccionadora 29-02 e, dentro dela, a Medida padrão PosicaoChave.
3. A posição da Chave é simulada pelo operador, por isto remova o item Scada desta Medida. Note que ao apagar
o item Scada, automaticamente a propriedade ActiveSource da Medida PosicaoChave torna-se Operator.
4. Execute a aplicação novamente.
5. Clique com o botão esquerdo do mouse na Chave 29-02 e selecione o item Medidas.
Estrutura de Dados 30
Chave Seccionadora 29-02 aberta
6. Na aba Discretas, selecione a Medida Estado da Chave. Mude o estado da Chave de Aberto para Fechado. Para
isto, clique duas vezes (ou pressione a tecla F2) no campo Valor da Medida Estado da Chave e digite "1" (um).
Estado da Chave
7. Verifique na Tela se a Chave Seccionadora fechou e se a Barra foi energizada.
DICA
A ferramenta de verificação de erros na Subestação aponta todos os itens Scada que não estão associados a Tags
de Comunicação. Este recurso facilita na hora de localizar e remover estes objetos.
Estrutura de Dados 32
CAPÍTULO
Criação de Medidas
7
O objeto Configuração do Power é essencial para o correto funcionamento das aplicações criadas no Elipse Power.
Além da Modelagem Elétrica e os recursos de Importação de Dados, este objeto concentra também um conjunto de
configurações referentes a padronização de tipos de Medidas, tipos de Comandos, níveis de tensão, cores de
Displays e cores de Chaves ou Disjuntores.
A criação dos padrões permite uma significativa redução do tempo de engenharia, facilitando o desenvolvimento de
novas aplicações e a expansão e manutenção de aplicações já existentes.
Na próxima etapa do desenvolvimento da aplicação, é necessário definir as Medidas que são utilizadas. São dois
tipos de Medidas disponíveis: Analógicas e Discretas.
33 Criação de Medidas
Aba Analógicas
Criação de Medidas 34
Tipos de Medidas Discretas
A área de edição de Conversões deve ser utilizada pelo usuário para cadastrar ou selecionar os diferentes tipos de
Conversões que possam existir no sistema. As Conversões estão relacionadas às características construtivas do
sistema de automação e permitem que o Elipse Power suporte diferentes formas de interpretar valores provenientes
de campo.
Conversões
A terceira e última área é utilizada para criar ou editar os possíveis Estados ou Significados da Medida Discreta (por
exemplo, uma chave na posição Aberta, Fechada, Intermediária ou Inválida), bem como relacioná-los ao valor da Fonte
(CLP, UTR, IED, etc.) para realizar a Conversão em tempo de execução. Os valores das Fontes podem variar em função
da Conversão selecionada na segunda área, enquanto os Significados e descrições são fixos para todas as
Conversões e dependem apenas do tipo da Medida Discreta. A figura a seguir apresenta a área de criação ou edição
de Estados ou Significados.
Estados ou Significados
7.3 Exercícios
7.3.1 Medidas Analógicas
Neste exercício, vamos adicionar as Medidas de corrente e potência ativa para os Disjuntores de saída da Subestação.
1. Na aba Design da Subestação SE1, selecione o Bay1, Disjuntor 52-03, Terminal2.
2. Clique com o botão direito do mouse no Terminal2 e selecione a opção Inserir - Medida Analógica.
3. Selecione a Medida criada, cujo nome é "MedidaAnalogica1", e altere as seguintes propriedades:
· Name: CorrenteA
· MeasurementType: *CurrentA (na caixa de seleção)
4. Selecione a Fonte de Medida, do tipo Operator, configure o tipo de dado da propriedade Value como Double, e
configure um valor para esta propriedade.
5. Repita os passos anteriores para criar uma nova Medida Analógica chamada "PotenciaAtiva" do tipo
*ActivePower. A potência normalmente é exibida em MW, portanto altere a propriedade UnitPrefix para 6 -
upMega.
35 Criação de Medidas
6. Selecione a Fonte de Medida, do tipo Operator, configure o tipo de dado da propriedade Value como Double, e
configure um valor para esta propriedade.
7. Execute a aplicação para testar as novas funcionalidades. Abra a janela de Medidas (PowerExplorer) do Disjuntor
52-03 e verifique o valor das Medidas.
Janela PowerExplorer
8. Crie as Medidas "CorrenteA" e "PotenciaAtiva" para os Disjuntores 52-04 e 52-05, presentes nos Bays Bay2 e Bay3,
respectivamente.
9. Para o Transformador TR-01, vamos criar a Medida de temperatura do óleo. A pasta Measurements não é criada
automaticamente, portanto deve ser criada utilizando o item Adicionar - Measurements do menu contextual do
Transformador.
10. Na pasta Measurements, adicione uma Medida Analógica chamada "TemperaturaOleo".
11. A lista de padrões de Medidas Analógicas não contém a medida de temperatura do óleo, portanto é necessário
criá-la. Para isto, selecione a aba Analógicas do objeto Configuração do Power.
12. Para cadastrar um novo padrão, clique em Adicionar e configure as colunas com os valores a seguir:
· Nome: TOL
· Fase Elétrica: -1 - epNone
· Descrição: Temperatura do Óleo
· Unidade: °C
· Ordenação: 1000
13. Retorne à configuração das Medidas do Transformador TR-01 e, na Medida TemperaturaOleo, configure a
propriedade MeasurementName para TOL.
14. No item Operator da Medida TemperaturaOleo, digite um valor de simulação e configure o valor da propriedade
como Double.
15. Execute a aplicação e verifique a Medida do Transformador TR-01.
Criação de Medidas 36
Transformador TR-01
7.3.2 XPowerDisplay
Com o auxílio da biblioteca XPowerDisplay, vamos adicionar Displays contendo as Medidas desejadas na Tela de
operação. Este objeto tem a função de mostrar o valor, formatação e unidade de medida, permitindo selecionar qual
Fonte de Medida é utilizada.
1. Na Tela_SE1, adicione embaixo da Carga L1 um objeto XPowerDisplay. Para isto, clique com o botão direito do
mouse em qualquer lugar da área da Tela e selecione a opção Inserir - XPowerDisplay.
Inserir XPowerDisplay
2. Configure a propriedade Measurement na Lista de Propriedades com o caminho da Medida CorrenteA, presente
no Terminal2 do Disjuntor 52-03. Utilize o AppBrowser para auxiliar nesta tarefa.
37 Criação de Medidas
AppBrowser
3. Adicione objetos XPowerDisplay para todas as Medidas desejadas, posicionando-os ao lado do equipamento que
contém a informação.
4. Execute a aplicação e verifique o seu funcionamento.
Criação de Medidas 38
· Fase Elétrica: -1 - epNone
· Descrição: Chave Local/Remoto
· Ordenação: 1000
2. Crie um novo Significado clicando em . Configure as colunas Significado e Descrição como "Remoto", Valor no
aplicativo como "0" (zero) e Valor na Fonte também como "0" (zero).
3. Crie mais um Significado, configurando as colunas Significado e Descrição como "Local", Valor no aplicativo
como "1" (um) e Valor na Fonte também como "1" (um).
4. Na Subestação, clique com o botão direito do mouse na pasta Measurements do Disjuntor 52-01 e selecione a
opção Inserir - Medida Discreta.
5. Configure a Medida Discreta com os seguintes valores:
· Name: LocalRemoto
· MeasurementType: LR (na caixa de seleção)
NOTA
Da mesma forma que na Medida Analógica, tem-se a opção de inserir uma Fonte de Medida do tipo SCADA e
associá-la a um Tag de Comunicação.
Aba Discretas
7. Repita a criação da Medida Discreta LocalRemoto para todos os Disjuntores.
8. Execute a aplicação e teste a nova funcionalidade.
DESAFIO III
Crie a Medida TAPAutomaticoManual para o Transformador TR-01 com as condições 0: Manual e 1: Automático.
39 Criação de Medidas
CAPÍTULO
Configuração de Alarmes
8
O módulo de Alarmes do Elipse Power consiste basicamente em duas unidades, cujo funcionamento é interligado
logicamente:
· Servidor de Alarmes: Organiza o modo como os eventos e alarmes são tratados
· Configuração de Alarmes: Neste objeto os alarmes a serem tratados são criados e suas fontes configuradas
IMPORTANTE
Um Domínio pode ter somente um objeto deste tipo, e sua presença é obrigatória para que haja verificação de
alarmes.
Através da aba Configuração da Janela de Propriedades deste objeto é possível especificar se os alarmes são
armazenados em um banco de dados. Os alarmes podem ser visualizados em um E3Alarm ou em um E3Browser.
8.2.1 Área
O objeto Área permite agrupar um conjunto de Fontes de Alarmes, bem como outras Áreas de Alarme. Isto facilita o
gerenciamento, a operação e o monitoramento de um conjunto de Fontes de Alarmes relacionadas, permitindo, por
exemplo:
· Filtrar o conjunto de alarmes visíveis no sumário
· Habilitar ou desabilitar um conjunto de Fontes de Alarmes
· Reconhecer um conjunto de Fontes de Alarmes
· Verificar o total de alarmes ativos ou não reconhecidos de um conjunto de Fontes de Alarmes
Caso haja necessidade, novas Áreas podem ser inseridas dentro de outras Áreas.
Pede Ack Indica que o alarme deve ser reconhecido pelo operador
para ser retirado da lista de alarmes no E3Alarm, ou
ainda se é reconhecido automaticamente quando a
variável deixa uma condição de alarme
Configuração de Alarmes 40
PROPRIEDADE DESCRIÇÃO
Mensagem de Retorno Sempre que uma Fonte de Alarme sai da condição de
alarme, esta mensagem é exibida nos objetos de
visualização
Há vários tipos de Fontes de Alarme que podem ser inseridas na Área de Alarme, descritas nos tópicos a seguir.
41 Configuração de Alarmes
Fonte de Alarme Digital
8.3 E3Alarm
O E3Alarm serve para o monitoramento dos alarmes ativos ou não reconhecidos em uma aplicação. Através deste
objeto é possível verificar o estado dos alarmes, bem como reconhecê-los manualmente. Para utilizar este objeto,
clique com o botão direito do mouse na área de trabalho e selecione a opção Inserir - E3Alarm.
E3Alarm
A aba Conexões da Janela de Propriedades do E3Alarm especifica as informações referentes ao Servidor ou
Servidores de Alarmes e a aba Filtros especifica os filtros por área ou personalizados.
Configuração de Alarmes 42
Janela de Propriedades do E3Alarm
8.4 Exercícios
Vamos adicionar um Sumário de Alarmes na aplicação. Neste exemplo, vamos adicionar duas Fontes de Alarmes: uma
Discreta, associada à Posição do Disjuntor, e uma Analógica, vinculada à Corrente na Fase A.
Servidor de Alarmes
43 Configuração de Alarmes
Inserir E3Alarm
2. Abra a janela de propriedades deste objeto e, na aba Conexões, configure o nome do Servidor de Alarmes na
coluna Servidor de Alarmes da Conexão padrão com o Servidor adicionado na aplicação, utilizando o
AppBrowser. Na aba Filtros, selecione o item Alarmes e Eventos da opção Filtrar por tipo do Filtro padrão
(clicando em Configurar).
Propriedades do filtro
3. Na aba Colunas, selecione os seguintes campos:
· Reconhecido
· Operador
· Área
· Mensagem
· Severidade
· DataHora (Entrada)
· DataHora (Saída)
· DataHora (Reconhecido)
· Valor formatado
Configuração de Alarmes 44
Aba Colunas
45 Configuração de Alarmes
Propriedades do Alarme Discreto
3. Execute a aplicação. Altere o estado do Disjuntor 52-01 e verifique se o alarme aparece no Sumário de Alarmes.
Aplicação em execução
4. Copie o Alarme Discreto do Disjuntor 52-01 e cole-o nos outros Disjuntores da Subestação.
5. Repita os passos anteriores para criar Alarmes para todas as Chaves.
DESAFIO IV
Crie um Alarme para a Medida LocalRemoto de todos os Disjuntores.
Configuração de Alarmes 46
Inserir Alarme Analógico
2. Clique com o botão direito do mouse no Alarme e selecione a opção Propriedades. Na janela que se abre,
selecione a aba Analógico e configure-a como na figura a seguir.
47 Configuração de Alarmes
Sumário de Alarmes
DESAFIO V
Crie Alarmes Analógicos para as Medidas TemperaturaOleo, TensaoA, PotenciaAtiva e CorrenteA do
Transformador TR-01.
Configuração de Alarmes 48
CAPÍTULO
Criação de Comandos
9
A padronização dos tipos de Comandos seguem o mesmo conceito introduzido nas Medidas Analógicas e Discretas.
O cadastro dos tipos de Comandos deve ser realizado na aba Comandos do objeto Configuração do Power. Alguns
exemplos de tipos de Comandos são: posição de disjuntor, posição de tap de transformador e comando local ou
remoto.
Assim como na padronização dos Estados ou Significados das Medidas Discretas, cada tipo de Comando pode ter
uma ou várias Ações de Comando. Exemplos de requisições de ações são Subir posição de tap, Abrir chave e
Habilitar função de religamento. A figura a seguir mostra a tela de configuração de padrões de Comandos.
Aba Comandos
A interface contém uma área de edição de scripts, apresentada na figura a seguir, que permite que o usuário defina
quais scripts são realizados quando os métodos Operate, Select e Cancel são executados nos objetos de Comando.
O padrão já vem com o evento OnOperate pré-configurado, com o script mínimo necessário para o envio de um
comando, basicamente escrever o valor configurado no Tag associado.
Evento OnOperate
Neste capítulo, vamos configurar o comando de abertura e fechamento das chaves não supervisionadas. Para isto, é
necessário reunir as informações de nome, descrição e valor a ser enviado para os pontos de comunicação.
9.1 Exercícios
Esta seção contém exercícios sobre o conteúdo deste capítulo.
49 Criação de Comandos
9.1.1 Posição da Chave
1. Clique com o botão direito do mouse na Chave 29-08, pertencente ao Bay1, e selecione a opção Adicionar -
Commands.
2. Clique com o botão direito do mouse na pasta Commands e selecione a opção Inserir - Comando Discreto.
3. Este Comando deve ter as seguintes propriedades alteradas:
· Name: cmdPosicaoChave
· CommandType: *SwitchPosition (na caixa de seleção)
Comando Discreto
4. No caso do Comando da Chave, vamos utilizar duas Unidades, uma destinada a enviar um comando para abrir e
outra para fechar. Selecione a UnidadeComando1 e altere a propriedade Name para "Abrir".
5. A Unidade de Comando Abrir deve enviar o comando Open. Selecione-a e, na lista de propriedades, configure a
propriedade CommandName para "Open".
6. Clique com o botão direito do mouse no Comando cmdPosicaoChave e selecione a opção Inserir - Unidade de
Comando ou, se preferir, crie uma cópia da Unidade Abrir.
7. Altere a propriedade Name da segunda Unidade para "Fechar".
8. Na Unidade Fechar, configure a propriedade CommandName para "Close".
9. Como nossa Chave não é supervisionada, o valor dos comandos Abrir (Open) e Fechar (Close) devem ser enviados
para a fonte Operator da Medida PosicaoChave. Na coluna Tag da Unidade Abrir, clique em para abrir o
AppBrowser.
10. No AppBrowser, selecione o item SE1.Bay1.[29-08].Measurements.PosicaoChave.Operator e clique em Colar.
11. Repita o passo anterior para a Unidade Fechar.
DICA
Em uma Subestação, é comum existir Disjuntores e Chaves não supervisionadas. No capítulo sobre comunicação
construiremos exemplos de comandos em equipamentos.
12. Execute a aplicação e teste a nova funcionalidade. Clique na Chave 29-08 e teste os Comandos cadastrados.
Criação de Comandos 50
Comandos de Chave
13. Crie o Comando Discreto "cmdPosicaoChave" para as Chaves 29-10 e 29-12.
DICA
A configuração do Comando é praticamente a mesma, portanto é possível copiar o objeto Commands e colá-lo nas
outras Chaves. Só não esqueça de alterar os Tags associados às Unidades Abrir e Fechar.
51 Criação de Comandos
Criação de Significados
4. Na Subestação SE1, clique com o botão direito do mouse no Disjuntor 52-01 e selecione a opção Adicionar -
Commands.
5. Adicione um Comando Discreto na pasta Commands. Configure as seguintes propriedades deste objeto:
· Name: cmdLocalRemoto
· CommandType: LR (na caixa de seleção)
6. Adicione duas Unidades de Comando ao Comando cmdLocalRemoto, "Remoto" e "Local". Não esqueça de
configurar a propriedade CommandName destas Unidades.
7. Na coluna Tag selecione, utilizando o AppBrowser, o item SE1.[52-01].Measurements.LocalRemoto.Operator
para as Unidades Local e Remoto.
8. Execute a aplicação e teste o novo Comando.
Criação de Comandos 52
Comando Local/Remoto
DESAFIO VI
Crie um Comando de Passo para controle de posição do Tap do Transformador TR-01.
DICA
Utilize o Comando *TapPosition, que é padronizado pelo Elipse Power.
53 Criação de Comandos
CAPÍTULO
Intertravamentos
10
Os Intertravamentos têm a função de informar quando há uma restrição para a execução de algum Comando.
Esta restrição é aplicada a todos os Comandos que estão no mesmo nível e nos níveis inferiores. Por exemplo, um
Intertravamento criado em um Bay faz com que todos os Comandos presentes neste Bay sejam intertravados nos
equipamentos. Da mesma forma, um Intertravamento criado em uma Unidade de Comando tem influência apenas
nesta Unidade.
Pode-se adicionar diversos Intertravamentos dentro de cada pasta, e basta que se infrinja apenas um destes
Intertravamentos para que o Intertravamento seja disparado.
Por definição, o Intertravamento não bloqueia o Comando, apenas informa que ele está bloqueado. De posse desta
informação, a aplicação pode simplesmente avisar ao operador, como também efetivamente bloquear o Comando.
10.1 Exercícios
Neste exemplo, vamos configurar a Unidade de Comando de abertura do comando de posição da Chave 29-08, para
que informe que o Comando não pode ser enviado caso a Chave já esteja aberta. Para isto, siga estes passos:
1. Clique com o botão direito do mouse na Unidade de Comando Abrir do Comando cmdPosicaoChave, na pasta
Commands da Chave 29-08, pertencente ao Bay1, e selecione a opção Adicionar - Interlocks.
2. Clique com o botão direito do mouse na pasta Interlocks e selecione a opção Inserir - Intertravamento.
3. Configure a propriedade Measurement do Intertravamento com a expressão "SE1.Bay1.[29-
08].Measurements.PosicaoChave", utilizando o AppBrowser.
4. Configure a propriedade ComparisonValue do Intertravamento com o valor 0 - Aberta.
5. Repita os passos anteriores para o Intertravamento do Comando Fechar, alterando o valor da propriedade
ComparisonValue para 1 - Fechada.
Intertravamentos
6. Execute a aplicação e verifique as novas funcionalidades.
Intertravamentos 54
Comando de Chave
DESAFIO VII
Crie um Comando para operar o Disjuntor 52-01. Este Comando não pode ser enviado se o dispositivo estiver em
modo Local.
55 Intertravamentos
CAPÍTULO
Comunicação
11
O Elipse Power HMI permite a comunicação com equipamentos de aquisição de dados, controladores, CLPs
(Controladores Lógicos Programáveis), UTRs (Unidades Terminais Remotas), ou qualquer outro tipo de equipamento
através de Drivers de Comunicação ou Servidores OPC, de acordo com o tipo do equipamento ou tipo de
comunicação necessários. Os Drivers de Comunicação e Servidores OPC funcionam neste caso como servidores de
variáveis, ou seja, eles fornecem as informações do mundo externo para o Elipse Power para que a supervisão do
processo se realize. As variáveis envolvidas no processo são conhecidas como Tags e podem ser de vários tipos, de
acordo com a utilização desejada.
11.1 Exercícios
Neste exercício, configuraremos um Driver IEC61850 para comunicar com o Simulador IEC61850 Server da Infotech,
além de realizar a associação dos objetos de dados com as variáveis disponibilizadas. Para a simulação de
comandos, o Simulador contém duas chaves, uma do tipo DO (Direct Operate) e outra do tipo SBO (Select Before
Operate) que são supervisionadas e controlados através da aplicação desenvolvida.
NOTA
Para realizar este exercício, o Simulador IEC61850 Server da Infotech deve estar em execução. Este Simulador está
disponível em http://www.infotech.pl.
Comunicação 56
Aba IEC61850 Device Config
5. Na aba Commands, selecione a opção Use Single Tag Command Alias. Esta opção instrui o Driver a criar,
durante o processo de importação de variáveis de comunicação via tag browsing, um Tag único para envio de
comandos. Se esta opção não estiver selecionada, o Driver utiliza uma Tag Bloco com cinco Elementos.
Aba Commands
6. Na aba IEC61850 General, selecione a opção Apply Local Time Offset to Timestamps. As estampas de tempo
adotadas pelo protocolo IEC 61850 sempre se referem ao padrão UTC (Universal Time Coordinate). Esta opção
indica que o Driver deve aplicar o offset local (fuso horário e horário de verão) à estampa de tempo enviada pelo
equipamento.
57 Comunicação
Aba IEC61850 General
7. Na aba Reports, habilite as opções Prefer Buffered Report Control Blocks e Poll Tags not found in any Report.
Desta maneira, o Driver trabalha de forma a buscar os Tags primeiramente em datasets associados a relatórios
bufferizados. Caso negativo, repete a busca mas agora em relatórios não bufferizados. Caso o Driver não encontre
o Tag em nenhum relatório, a leitura é realizada por polling. Lembre-se que a leitura por polling não é indicada,
uma vez que não é eficiente e não trabalha de forma a tratar o sequenciamento de eventos, ou seja, em uma
eventual desconexão, os dados deste período são perdidos.
Aba Reports
8. Para finalizar a configuração do Driver, clique em OK.
9. O protocolo IEC 61850 tem uma característica diferente em relação a outros protocolos de comunicação, uma vez
que informa quais as variáveis existentes, permitindo assim serem importados de forma dinâmica. A importação
pode ser realizada tanto de forma online, na qual o Driver trabalha de forma a buscar a base de dados do IED,
Comunicação 58
quanto de forma offline, na qual a base de dados é importada através de um arquivo no formato ICD ou SCD. A
importação dos Tags é realizada através da ferramenta Tag Browser do Driver. Neste exercício, realizaremos
uma importação online e, com o Simulador IEC61850 Server da Infotech executando, os Tags estão disponíveis na
pasta Online do Tag Browser.
59 Comunicação
Seleção do Logical Device Obj3CSWI2
12. Além destes dois Logical Devices, importe também as pastas I3pMMXU1$MX$A$phsA, I3pMMXU1$MX$A$phsB e
I3pMMXU1$MX$A$phsC, que estão na pasta DataSets/LLN0$DS1_Measurement do Logical Device
DemoMeasurement. A janela Tag Browser deve estar conforme a figura a seguir.
Comunicação 60
1. O protocolo IEC 61850 disponibiliza a informação a respeito da posição de uma Chave através dos valores 1 (um,
fechado) e 2 (dois, aberto) e, nesta condição, é necessário criar uma nova Conversão nos padrões de Medidas
Discretas, a fim de converter o valor enviado pelo equipamento para os valores utilizados pelo Elipse Power. Na
aba Discretas do objeto Configuração do Power, clique no padrão *SwitchPosition e crie uma nova Conversão
com o nome "IEC61850" com os valores mostrados na figura a seguir.
3. Como vamos trabalhar com um Tag do Driver IEC 61850, é necessário criar uma fonte do tipo SCADA. Para isto,
clique com o botão direito do mouse na Medida PosicaoChave e selecione a opção Adicionar - Scada. Em
seguida, mude a propriedade ActiveSource da Medida Discreta para Scada.
4. Configure a propriedade Conversion da fonte SCADA como IEC61850 (criada anteriormente).
5. Associe a fonte SCADA da Medida PosicaoChave com o Tag IEC61850.Obj1CSWI1.ST.Pos.stVal. Esta Associação
é realizada no campo Tag da fonte, e o caminho referente ao Tag de Comunicação pode ser buscado tanto pelo
AppBrowser quanto pela propriedade PathName do próprio Tag.
61 Comunicação
Tag stVal
6. Após configurar a Medida de posição da Chave 29-02, deve-se criar o Comando de posição. O primeiro passo é
criar uma nova Conversão referente ao tipo de Chave (DO) nos padrões de Comando. Para isto, na aba
Comandos do objeto Configuração do Power, selecione o padrão *SwitchPosition e crie uma nova Conversão
com o nome "IEC61850_DO", alterando apenas os valores da coluna Operate Feedback. O feedback retornado
pelo protocolo IEC 61850 para um comando Operate efetuado com sucesso é 5 (cinco), portanto deve-se alterar
o valor da coluna Operate Feedback para o valor "5", tanto na Conversão Open quanto na Conversão Close.
Nova Conversão
Comunicação 62
7. Clique com o botão direito do mouse na Chave 29-02 e selecione a opção Adicionar - Commands. Adicione um
Comando Discreto na pasta Commands e configure as seguintes propriedades deste objeto:
· Name: cmdSwitch
· CommandType: *SwitchPosition (através da caixa de seleção)
· Conversion: IEC61850_DO
8. Nesta Chave vão ser inseridas duas Unidades de Comando, uma destinada a enviar um comando para abrir e
outra para fechar. Por padrão, o objeto Comando já vem com uma Unidade de Comando criada, portanto deve-
se criar apenas uma nova Unidade. Para isto, clique com o botão direito do mouse no Comando cmdSwitch e
selecione a opção Inserir - Unidade de Comando.
9. Selecione a UnidadeComando1 e configure as seguintes propriedades:
· Name: Abrir
· CommandName: Open
11. O Simulador utilizado neste exercício contém duas Chaves, uma do tipo DirectOperate e outra do tipo
SelectBeforeOperate. Neste primeiro exercício, devemos configurar o Comando do tipo DirectOperate. Para
Chaves deste tipo, o Simulador disponibiliza apenas um Tag Operate responsável por realizar os Comandos de
abrir ou fechar. Além disto, é possível utilizar o recurso de feedback para verificar o retorno do equipamento em
relação ao Comando enviado. Os seguintes Tags devem ser associados com as propriedades OperateWriteTag e
OperateFeedbackTag das Unidades de Comando Abrir e Fechar.
· OperateFeedbackTag: IEC61850.Obj1CSWI1.CO.Pos.Pos_Stat.Status
· OperateWriteTag: IEC61850.Obj1CSWI1.CO.Pos.Operate
NOTA
Os Tags, tanto para a Unidade de Comando Abrir quanto para a Unidade de Comando Fechar, são os mesmos.
Cada Unidade de Comando possui suas respectivas propriedades OperateWriteTag e OperateFeedbackTag, e são
associadas exatamente com os mesmos Tags do Driver.
12. Execute a aplicação paralelamente com o Simulador Infotech e teste o novo Comando.
63 Comunicação
Medidas Analógicas
15. Crie uma fonte do tipo SCADA em cada uma das Medidas, clicando com o botão direito na Medida e
selecionando a opção Adicionar - SCADA.
16. Altere as seguintes propriedades da Medida CurrentA:
· ActiveSource: 1 - stScada
· Tag: IEC61850.[I3pMMXU1$MX$A$phsA].cVal.mag.f.Value
Comunicação 64
Fontes do tipo SCADA
19. Crie três objetos XPowerDisplay ao lado da Chave 29-02 na tela de operação e associe-os com as Medidas
Analógicas CurrentA, CurrentB e CurrentC.
20. Execute a aplicação e verifique as novas funcionalidades.
O Simulador também contém uma Chave SBO (Select Before Operate), que necessita um Comando de seleção antes de
ser operada. Para trabalhar com este tipo de Comando, deve-se criar uma nova Conversão nos padrões de Comando,
além de realizar as Associações necessários, tanto no Comando quanto nas Medidas.
21. Na aba Comandos do objeto Configuração do Power, selecione o Comando *SwitchPosition e crie uma nova
Conversão com o nome "IEC61850_SBO". Neste exercício, vamos utilizar a opção Select automático antes de
Operate. Desta maneira, a seleção é realizada de forma automática, antes do envio do Comando Operate. Como
descrito anteriormente, o feedback retornado pelo protocolo IEC 61850 para o comando Operate efetuado com
sucesso é 5 (cinco). Para o comando Select, o protocolo prevê o retorno do valor 2 (dois) para informar o
sucesso da operação. Configure o valor das colunas Operate Feedback e Select Feedback com seus respectivos
valores 5 (cinco) e 2 (dois) em ambas as ações de comando, Open e Close.
65 Comunicação
Conversão do tipo Select Before Operate
22. Ainda na Conversão IEC61850_SBO, deve-se criar um script para realizar o Comando de seleção. Através da caixa
de seleção, selecione o evento OnSelect e clique em para gerar o script. Este script é criado automaticamente
e não é necessário nenhuma alteração para seu correto funcionamento.
23. Localize a Medida PosicaoChave na pasta Measurements da Chave 29-04. Configure as seguintes propriedades
desta Medida:
· MeasurementType: *SwitchPosition
24. Adicione uma fonte do tipo SCADA clicando com o botão direito do mouse na Medida PosicaoChave e
selecionando a opção Adicionar - Scada. Em seguida, altere as seguintes propriedade desta fonte:
· ActiveSource: 1 - stScada
· Conversion: IEC61850
25. Na Medida SCADA, associe o Tag para leitura de posição da Chave. Clique em para localizar o Tag utilizando
o AppBrowser, ou copie a propriedade PathName do Tag de Comunicação. Busque pelo seguinte Tag do Driver
IEC61850:
· Tag: IEC61850.Obj3CSWI2.ST.Pos.stVal
26. Em seguida, deve-se adicionar um Comando de posição para a Chave 29-04. Clique com o botão direito do
mouse neste objeto e selecione a opção Adicionar - Commands. Insira um novo Comando Discreto na pasta
Commands, através da opção Inserir - Comando Discreto, e altere as seguintes propriedades:
· Name: cmdSwitch_SBO
· CommandType: *SwitchPosition
· Conversion: IEC61850_SBO
Neste Comando vão ser criadas duas Unidades de Comando, referentes aos Comandos de abrir e fechar.
27. Clique com o botão direito do mouse no Comando cmdSwitch_SBO e selecione a opção Inserir - Unidade de
Comando.
Comunicação 66
28. Selecione a UnidadeComando1 e altere as seguintes propriedades:
· Name: Abrir
· CommandName: Open
Diferentemente da Chave anterior, esta Chave é do tipo Select Before Operate (SBO), ou seja, requer um Comando de
seleção antes de ser operada. Para isto, além do Tag referente ao Comando Operate, também deve-se associar o
Tag referente ao Comando Select às Unidades de Comando. Lembre-se que utilizaremos o recurso de feedback, tanto
do Comando Select quanto do Comando Operate.
30. Os seguintes Tags de Comunicação devem ser associados com as propriedades OperateFeedbackTag,
OperateWriteTag, SelectFeedbackTag e SelectWriteTag das Unidades de Comando Abrir e Fechar:
· OperateFeedbackTag: IEC61850.Obj3CSWI2.CO.Pos.Pos_Stat.Status
· OperateWriteTag: IEC61850.Obj3CSWI2.CO.Pos.Operate
· SelectFeedbackTag: IEC61850.Obj3CSWI2.CO.Pos.Pos_Stat.Status
· SelectWriteTag: IEC61850.Obj3CSWI2.CO.Pos.SelectWithValue
31. Execute a aplicação paralelamente com o Simulador Infotech e teste o novo Comando.
67 Comunicação
CAPÍTULO
Simulação de Valores e Associações
12
Associações (ou Conexões) são ligações realizadas entre propriedades e objetos ou entre outras propriedades. As
Associações trazem grande facilidade ao criar animações e outros tipos de lógicas comuns, minimizando a utilização
de scripts.
Através da aba Associações da Janela de Propriedades, tem-se acesso a todas as propriedades disponíveis do objeto
a ser tratado e todos os tipos possíveis de Associações para estas propriedades.
Aba Associações
Pode-se associar um objeto ou criar uma expressão. Ao criar uma expressão ou associar um objeto ou propriedade
ao campo Fonte, o texto aparece na cor azul, caso este corresponda a um item existente ou carregado no Studio. Se
o item não existir, ou pertencer a um módulo não existente no Domínio, o texto aparece em vermelho, e este item é
mostrado como um erro, até ser corrigido ou excluído com a opção Verificar Domínio.
Associação Simples
Simulação de Valores e Associações 68
12.1.2 Associação Bidirecional
Na Associação Bidirecional acontece o mesmo que na Associação Simples, porém caso também haja uma variação
na propriedade, seu valor é copiado para o campo Fonte, gerando assim um caminho de duas direções.
Associação Bidirecional
Associação Digital
Associação Reversa
Associação Múltipla
NOTA
Os objetos inseridos no Servidor de Dados são executados pelo E3 Server, portanto estão presentes no Servidor.
Esta informação retrata o modo como o Elipse Power trabalha.
1 Verdadeiro
1 -2 Verdadeiro
Portanto, NOT de 1 (um) não é Falso, pois seu valor não é igual a 0 (zero). Caso deseje utilizar o comando NOT,
primeiro converta o valor do Tag para Boolean com o método CBool.
Conversão de Tags com CBool
TAG CBOOL(TAG) NOT CBOOL(TAG)
0 Falso Verdadeiro
1 Verdadeiro Falso
Horário do sistema
6. Selecione a aba Associações. Na propriedade Value, use o AppBrowser para selecionar, na coluna Fonte, o Tag
Demo Relogio (em Objetos de Servidor - Objetos de Dados - Dados). À direita, selecione a propriedade Value e
clique em Colar. A informação vai do Tag para o Display, logo a Associação é do tipo Simples (Propriedade «
Fonte).
3. Clique com o botão direito do mouse na Medida Analógica CorrenteA no Terminal2 do Disjuntor 52-03,
pertencente ao Bay1, e selecione a opção Adicionar - Scada.
4. Associe o Tag Demo criado anteriormente na coluna Tag desta fonte de medida.
Display
2. Clique com o botão direito do mouse no Display e selecione a opção Propriedades. Na janela que se abre,
selecione a aba Associações.
3. Na propriedade Value, use o AppBrowser para selecionar, na coluna Fonte, a Medida Discreta LocalRemoto, na
pasta Measurements do Disjuntor 52-02. À direita, selecione a propriedade Value e clique em Colar.
4. Configure a conexão como Digital e defina os valores conforme a figura a seguir.
DESAFIO VIII
Quando houver um ou mais alarmes não reconhecidos na Subestação, o texto do botão SE1 na Tela_Menu deve
piscar em outra cor.
DICA
Utilize a propriedade ActiveNACKAlarms do objeto Subestação.
NOTA
Estamos trabalhando até agora apenas com propriedades no Elipse Power. Já conhecemos algumas propriedades
dos objetos do Elipse Power e vimos que temos duas maneiras de alterá-las, na Janela de Propriedades ou por
Associações.
Os Métodos são funções previamente definidas, que executam determinadas ações sobre as propriedades do objeto
que chama estas ações. Exemplos disto são funções para realizar a escrita em Tags (Write ou WriteEx), entre outras.
Em linguagens de programação orientadas a objeto, para agir sobre uma propriedade é necessária a criação de
métodos. No Elipse Power, para cada método desejado, é necessário definir a qual evento ele está associado, pois
os scripts do Elipse Power são orientados a eventos.
Os Eventos são ocorrências relacionadas a um objeto, que podem ser tratadas de modo a se realizar uma ação (um
método).
Executar Script
13.1.2 Picks
Os Picks implementam uma forma amigável de realizar procedimentos comuns em scripts, poupando tempo de
escrita de código. Entre eles estão ações como troca de Tela ou atribuição de valores, que são bastante comuns na
criação de um projeto.
13.2 Eventos
Os Eventos são ocorrências relacionadas a um objeto, que disparam ações programadas. Basicamente são dois tipos
de eventos: Físicos (ou externos) e Internos.
Eventos físicos são, por exemplo, ações no teclado ou no mouse. Neste caso, a informação relevante é a tecla
pressionada ou a posição do cursor e o status dos botões. Eventos internos são, por exemplo, a mudança de uma
temperatura de uma câmara de 10 para 11 graus Celsius.
No Elipse Power há uma lista disponível de eventos classificada por objetos, iniciando pelos eventos padrão,
presentes em todos os objetos. Estes eventos são acessados através da aba Scripts, disponível no Editor do objeto
para o qual se deseja criar o script.
Lista de eventos
13.3 Métodos
Os Métodos são procedimentos que podem ser executados por objetos. Por exemplo, o objeto Tela tem um método
para a adição de objetos (AddObject) e outro para o seu fechamento (Close). Por estarem encapsulados, isto é,
guardados dentro dos objetos, na chamada de um método sempre deve constar a qual objeto este método se refere.
Muitos métodos pré-definidos possuem parâmetros, que podem (ou devem) ser passados na sua chamada. Para isto,
o VBScript possui uma regra que deve ser seguida. Se o método é utilizado em uma atribuição, seus parâmetros
devem estar entre parênteses. Os parênteses usados nas citações de métodos neste Tutorial servem apenas como
indicativo para diferenciá-los das propriedades. Nos scripts, deve-se seguir esta regra.
AppBrowser
13.4 Propriedades
Todo objeto possui Propriedades que guardam informações a respeito de suas características. Por exemplo, um
objeto do tipo Retângulo possui a propriedade Name, que contém seu nome e as propriedades Width e Height, que
13.5 Exercícios
13.5.1 Pick Abrir Tela
Vamos implementar a navegação entre as Telas da aplicação. Cada botão na Tela_Menu deve abrir sua respectiva
Tela na área central do Quadro.
1. Na Tela_Menu, selecione o botão identificado como "SE1" e, na parte inferior, selecione a aba Scripts.
2. No evento Click, crie um novo Pick do tipo Abrir Tela.
3. No campo Abrir a Tela, selecione o item Tela_SE1 e, no campo No Quadro, selecione o item Area_Central.
13.5.2 Script
Vamos criar um botão "Sair" para que o usuário possa fechar a aplicação.
1. Na Tela_Menu, insira um novo botão com a propriedade Caption igual a "Sair".
2. No botão Sair, crie um novo script.
4. Na linha seguinte, abra o AppBrowser , selecione o método Exit do Viewer e clique em Colar.
'Sair da aplicação
Application.Exit
DESAFIO IX
Crie um botão ao lado do banner de alarmes para reconhecer todos os alarmes ativos da aplicação.
DICA
Esta ação pode ser realizada através de um método do objeto E3Alarm.
14.1 Exercícios
Neste exercício criaremos um Driver IEC 104 Slave para prover dados coletados através do protocolo IEC 61850, desta
forma compondo um gateway de protocolos. Além de prover os dados coletados, criaremos Tags para enviar
comandos através do protocolo IEC 870-104. A aplicação para simular o COS (IEC 104 Master) pode ser encontrada
no artigo sobre gateways do Knowledgebase da Elipse Software.
Opção Protocol
3. Selecione o item Slave dentro da aba IEC870 e configure a opção Select/Execute command com o valor handle
automatically. Esta opção permite que todos os comandos recebidos sejam repassados diretamente aos Tags
do Driver, sem que a aplicação necessite gerenciar as respostas ao sistema externo mestre.
85 Elipse Gateway
Opção Select/Execute Command
4. Selecione o item Stations dentro da aba IEC870, selecione a opção Use the following list of pre-defined
stations, clique em Add e configure a nova estação conforme a figura a seguir.
Elipse Gateway 86
· 36 - M_ME_TF_1 (definida no IEC 870-5-104): Measured value, short floating point number with time tag
(contém timestamp)
· 45 - C_SC_NA_1 (Slave): Single command
1. Clique com o botão direito do mouse no Driver IEC104 e selecione o item Inserir - Nova Pasta para criar três
novas Pastas de Comunicação.
2. Renomeie estas Pastas para "Analogicas", "Discretas" e "Comandos".
Pastas do Driver
3. Primeiramente, crie os Tags de Comunicação referentes às Medidas Analógicas CorrenteA, CorrenteB e
CorrenteC da Chave Obj1CSWI1 do Driver IEC61850. Para isto, dentro da Pasta Analogicas crie três Tags de
Comunicação usando a opção Inserir - Tag de Comunicação do menu contextual.
4. Renomeie estes Tags para "CSWI1_CurrentA", "CSWI1_CurrentB" e "CSWI1_CurrentC".
5. Configure os parâmetros N destes Tags com os seguintes valores:
· CSWI1_CurrentA: N1 = 1, N2 = 5, N3 = 36 e N4 = 7
· CSWI1_CurrentB: N1 = 1, N2 = 5, N3 = 36 e N4 = 8
· CSWI1_CurrentC: N1 = 1, N2 = 5, N3 = 36 e N4 = 9
87 Elipse Gateway
Associação Simples
8. Repita o passo anterior para os Tags CSWI1_CurrentB e CSWI1_CurrentC, associando-os com os valores
"IEC61850.[I3pMMXU1$MX$A$phsB].cVal.mag.f.Value" e "IEC61850.[I3pMMXU1$MX$A$phsC].cVal.mag.f.Value",
respectivamente.
9. Agora crie os Tags para as Medidas Discretas. Para isto, clique com o botão direito do mouse na Pasta Discretas
e use a opção Inserir - Tag de Comunicação para criar três Tags de Comunicação.
10. Renomeie estes Tags para "pos_CSWI1", "pos_3CSWI2" e "Feedback_pos_3CSWI2".
11. Configure os parâmetros N destes Tags com os seguintes valores:
· pos_CSWI1: N1 = 1, N2 = 5, N3 = 30 e N4 = 1
· pos_3CSWI2: N1 = 1, N2 = 5, N3 = 30 e N4 = 2
· Feedback_pos_3CSWI2: N1 = 1, N2 = 5, N3 = 36 e N4 = 3
Elipse Gateway 88
Associação Simples
14. Nos Tags referentes à posição das Chaves CSWI1 e 3CSWI2, deve-se realizar uma Conversão, uma vez que esta
informação é retornada através de um ponto duplo no protocolo IEC 61850 (0, 1, 2 e 3) e deve ser disponibilizada
através de um ponto simples no protocolo IEC 104 (0 e 1). Para realizar esta Conversão, utilize uma Associação
por Tabela. Para isto, clique com botão direito do mouse no Tag pos_CSWI1 e selecione a opção Propriedades.
Crie uma Associação na propriedade Value, buscando pelo valor "IEC61850.Obj1CSWI1.ST.Pos.stVal.Value" do Tag
referente à posição da Chave CSWI1 no Driver IEC61850.
Associação Simples
15. Clique na Associação e selecione a opção Conexão por tabela . Esta tabela deve ser criada de forma a
converter os valores 1 (um) e 2 (dois), retornados pelo Driver IEC61850 para representar a posição de uma Chave,
nos valores 0 (zero) e 1 (um), utilizados pelo protocolo IEC 104. A tabela deve ficar conforme a figura a seguir.
89 Elipse Gateway
Associação por Tabela
16. Repita os passos anteriores para criar uma Associação por Tabela no Tag pos_3CSWI2. Crie esta Associação na
propriedade Value do Tag com o valor "IEC61850.Obj3CSWI2.ST.Pos.stVal.Value", referente ao Tag da posição da
Chave Obj3CSWI2 no Driver IEC61850.
Elipse Gateway 90
Tag de Comunicação para comandos
20. Configure as seguintes propriedades do Tag Operate_CSWI1:
· AllowWrite: False
· AllowRead: True
· AdviseType: 0 - AlwaysinAdvise
21. Agora deve-se implementar um script para tratar os comandos recebidos no Driver IEC104 e realizar o envio dos
comandos para o Driver IEC61850. Para isto, selecione o Tag Operate_CSWI1 na aba Design do Driver, selecione
a aba Scripts, selecione o evento OnRead e clique em para criar um script.
22. Utilizando o AppBrowser , busque o método WriteEx do Tag de Comunicação responsável por enviar um
comando Operate para a Chave Obj1CSWI1, ou seja, "IEC61850.Obj1CSWI1.CO.Pos.Operate".
23. Retire os parênteses do método WriteEx e omita os parâmetros WriteStatus e WriteSyncMode.
24. Ao final deste procedimento, tem-se o script a seguir.
Sub Operate_CSWI1_OnRead()
Application.GetObject("IEC61850.Obj1CSWI1.CO.Pos.Operate")_
.WriteEx Value, Timestamp, Quality
End Sub
25. Após criar o script do Tag Operate_CSWI1, agora deve-se configurar o comando da Chave 3CSWI2. Como esta
Chave é do tipo SBO (Select Before Operate), deve-se criar um Bloco de Comunicação no Driver IEC104 que
trabalhe de forma a separar a informação recebida e, a partir daí, realizar a operação solicitada. Crie um novo
Bloco de Comunicação na Pasta Comandos, utilizando o menu contextual Inserir - Bloco de Comunicação.
26. Configure o nome do Bloco de Comunicação como "cmd_3CSWI2" e seu tamanho em quatro Elementos. Cada
Elemento deste Bloco de Comunicação representa as informações descritas a seguir para o comando recebido:
· Elemento 0: Valor do comando (depende do tipo de comando)
· Elemento 1: Cause Of Transmission (6: Activate ou 8: Deactivate)
· Elemento 2: Select/Execute (0: Execute ou 1: Select)
· Elemento 3: Quality Of Command (0: Undefined, 1: Short pulse duration, 2: Long duration pulse ou 3:
Persistent output)
28. Configure o nome dos Elementos deste Bloco de Comunicação para "Valor", "COT", "Operacao" e "Qualidade",
conforme a figura a seguir.
91 Elipse Gateway
Bloco de Comunicação
29. Configure as seguintes propriedades do Bloco de Comunicação cmd_3CSWI2:
· AdviseType: 0 - AlwaysInAdvise
· AllowRead: True
· AllowWrite: False
30. Por último, crie o script a seguir no evento OnRead do Bloco de Comunicação, para tratar a informação recebida
e realizar o envio do comando Select ou Operate para a Chave Obj3CSWI2 do Driver IEC61850. Este script deve
testar o valor recebido no Elemento Operacao e enviar o valor do Elemento Valor para os Tags Operate ou
SelectWriteValue da Chave Obj3CSWI2 no Driver IEC61850.
Sub cmd_3CSWI2_OnRead()
Valor = Item("Valor").Value
Operacao = Item("Operacao").Value
If Operacao = 1 Then
Application.GetObject("IEC61850.Obj3CSWI2.CO.Pos.SelectWithValue")_
.WriteEx Valor, Timestamp, Quality
Else
Application.GetObject("IEC61850.Obj3CSWI2.CO.Pos.Operate")_
.WriteEx Valor, Timestamp, Quality
End If
End Sub
31. Dependendo da ordem de ativação dos objetos instanciados na aplicação, é possível que o Driver escravo seja
ativado antes do Driver mestre e com isto o primeiro valor de cada variável não é recebido nos Tags do Driver
escravo. Por causa disto, é preciso criar um script de reinicialização dos Tags do Driver IEC104. Para isto, crie o
script a seguir no evento AfterStart do Driver IEC104 para ativar e desativar todos os Tags existentes.
Sub IEC104_AfterStart()
For Each Tag In Me
Tag.Deactivate()
Tag.Activate()
Next
End Sub
NOTA
No caso de Pastas dentro de um Driver, é necessário apenas desativá-las e reativá-las, não sendo necessário varrer
internamente cada uma das Pastas.
32. As configurações do gateway estão finalizadas. Para testar a comunicação, o artigo referente à implementação de
um gateway no Elipse Knowledgebase contém uma aplicação que se conecta à aplicação desenvolvida neste
Tutorial, de forma a validar as configurações necessárias.
Elipse Gateway 92
CAPÍTULO
Segurança e Usuários
15
O Elipse Power possui um controle de acesso às Telas, aos Alarmes e aos Domínios em uma lista de usuários, onde
para cada nome é atribuída uma senha e um login. Conforme a opção configurada, uma aplicação permite acesso aos
usuários cadastrados ou acesso ilimitado às Telas do projeto.
15.1 Usuários
Através da opção Usuários é possível configurar as informações referentes aos usuários que têm ou não acesso à
aplicação. Para utilizar este recurso, selecione o menu Arquivo - Usuários e clique na aba Usuários.
Aba Usuários
IMPORTANTE
Após configurar a segurança, somente os usuários listados têm acesso à aplicação.
15.2 Grupos
A opção Grupos permite que sejam criados grupos com características que são comuns para todos os seus membros
(usuários). Um grupo também pode pertencer a outros grupos. Só não é permitido pertencer a outro grupo que
pertença a ele, ou seja, uma referência circular. Para utilizar este recurso, selecione o menu Arquivo - Usuários e
clique na aba Grupos.
93 Segurança e Usuários
Aba Grupos
15.3 Permissões
A aba Permissões configura as permissões dos usuários e grupos para Domínios, Viewers, Telas e Alarmes. Uma
verificação de permissão consiste em uma informação que o membro do grupo tem sobre um comando que atua
sobre um objeto específico.
Por exemplo, o Usuario1 tem permissão para o comando Abrir sobre o objeto Tela1. Cada membro do grupo pode
negar ou afirmar a permissão de um comando, independente do grupo ao qual pertence. Desta forma, ele não vai
levar em consideração a informação do grupo. Também pode-se optar por sempre utilizar a informação definida pelo
grupo. Se as informações dos grupos são conflitantes, é usada a seguinte ordem de preferência: Negar » Afirmar »
Indiferente.
Segurança e Usuários 94
Aba Permissões
15.4 Proteção
O Elipse Power possui uma ferramenta de proteção de projetos ou de bibliotecas. Através deste item é possível
proteger o conteúdo do arquivo contra a edição, a visualização ou a execução não autorizada. Para utilizar este
recurso, clique com o botão direito do mouse no nome do projeto no Organizer e selecione a opção Proteção.
95 Segurança e Usuários
Proteção de arquivo
Esta opção possui dois tipos de proteção: Edição e Execução.
· Proteção de Edição: Protege o arquivo contra alterações e visualizações não autorizadas. Este recurso é utilizado
para evitar que determinada biblioteca ou projeto seja alterado acidentalmente, ou que sejam copiados
procedimentos de conhecimento específico do desenvolvedor. O Elipse Power fornece um controle sobre a
edição destes arquivos, sejam eles projetos ou bibliotecas
· Proteção de Execução: Esta opção é utilizada para proteger um arquivo contra execução não autorizada. Para
tanto, é necessário solicitar a gravação de uma senha no dispositivo de proteção, que é feita pela Elipse Software.
Isto protege o desenvolvedor de cópias não autorizadas do projeto, por exemplo
Quando um arquivo .lib ou .prj é aberto no Studio, este inicializa mostrando um ícone cinza com um cadeado,
indicando que está protegido e este conteúdo não pode ser acessado. Para acessar o conteúdo do arquivo, clique
com o botão direito do mouse neste ícone e selecione a opção Abrir com senha. Após informar a senha e liberar o
acesso, o ícone se torna colorido , indicando a acessibilidade dos arquivos.
IMPORTANTE
As proteções implementadas não podem ser desfeitas caso as senhas sejam perdidas. Portanto, ao proteger
determinado arquivo, mantenha as senhas armazenadas de modo seguro. Isto garante o acesso ao arquivo sempre
que necessário.
15.5 Exercícios
A seguir, veremos como configurar usuários em um Domínio no Elipse Power e como utilizar este recurso para inibir
ou permitir acesso a Telas, controles, alarmes, etc.
Segurança e Usuários 96
15.5.1 Usuários
1. No menu Arquivo, selecione a opção Usuários.
Dados do usuário
NOTA
Selecione a opção Este usuário é um administrador para um dos usuários criados.
4. Configure dois usuários para pertencerem ao grupo Operadores e dois para o grupo Supervisores.
15.5.2 Permissões
1. Na aba Permissões, selecione a opção Grupos. Bloqueie a Tela_Eventos para o grupo Operadores.
15.5.3 Login
Na Tela_Menu, insira um objeto Command Button e modifique a propriedade Caption para "Login".
1. Selecione a aba Scripts do botão e adicione um script.
2. Na primeira linha, digite o seguinte comentário:
'Login do usuário
97 Segurança e Usuários
4. Na segunda linha, abra o AppBrowser e selecione o método Login do Viewer.
'Login do usuário
Application.Login()
DESAFIO X
Crie um usuário "Convidado" que não possa enviar Comandos, não possa escrever em Medidas e nem reconhecer
alarmes na aplicação.
Segurança e Usuários 98
CAPÍTULO
Proteções
16
Padrões de tipos de Proteções seguem o mesmo conceito introduzido nas Medidas e Comandos.O cadastro dos
tipos de Proteções deve ser realizado na aba Proteções do objeto Configuração do Power. Algumas Proteções já são
fornecidas pelo próprio instalador do Elipse Power, como Proteção de Sobrecorrente, Proteção de Subtensão, etc.
Além das existentes, também é possível criar novas Proteções.
A figura a seguir apresenta a tela de criação e edição dos padrões de Proteções.
Aba Proteções
Todos os equipamentos permitem a inserção da pasta Protections, desde a Subestação, Alimentador, Linha de
Transmissão, até qualquer um dos equipamentos que podem ser inseridos nestes objetos. Para adicionar a pasta
Protections, clique com o botão direito do mouse no equipamento desejado e selecione a opção Adicionar -
Protections.
Dentro da pasta Protections é possível adicionar as Proteções desejadas, sendo que esta pasta fornece uma
padronização na estruturação dos dados. Dentro da Proteção podem existir duas pastas, Measurements e
Commands, que possuem as mesmas características das pastas de mesmo nome inseridas diretamente nos
equipamentos.
99 Proteções
Pasta Protections
Ao criar uma nova Proteção, o Elipse Power já cria automaticamente a pasta Measurements com as Medidas
Discretas do tipo Modo de Proteção (ProtectionMode) e Atuação da Proteção (ProtectionOperate). Este local é o
indicado para criar todas as Medidas relacionadas a esta Proteção, como configurações, inicialização da Proteção,
perfil de Proteção, etc.
16.1 Exercícios
Neste exercício vai ser criada uma Proteção do tipo 79: Religamento Automático em um dos Disjuntores da
aplicação.
16.1.1 Proteção
1. Na Subestação SE1, clique com o botão direito do mouse no Disjuntor 52-03, pertencente ao Bay1, e selecione a
opção Adicionar - Protections.
2. Clique com o botão direito do mouse na pasta Protections e selecione a opção Inserir - Proteção.
3. Renomeie esta Proteção para "79" e selecione o tipo de Proteção como *AutoReclosing.
4. A fase elétrica na qual a Proteção está inserida pode ser definida na propriedade ElectricalPhase. Altere esta
propriedade para 8 - epDevice.
5. Note que, ao inserir uma Proteção, o Elipse Power automaticamente cria duas Medidas Discretas, ModoProtecao
e OperacaoProtecao. Apague os itens SCADA de cada uma destas Medidas, desta forma deixando a fonte ativa
como Operator.
Proteções
6. Configure o valor da fonte Operator da Medida ModoProtecao para "1" (um).
16.1.2 Alarmes
1. Na Medida OperacaoProtecao, insira um Alarme Discreto.
2. Clique com o botão direito do mouse no Alarme e selecione a opção Propriedades. Selecione a aba Discreto.
3. Configure o Alarme conforme mostrado na figura a seguir.
Proteções 100
Alarme Discreto
4. Execute a aplicação.
5. Clique no Disjuntor 52-03 e selecione a opção Medidas para abrir a janela PowerExplorer.
6. Na aba Proteções, altere o campo Atuação da Proteção escrevendo o valor "0" (Normal) ou "1" (Atuada).
Verifique se o alarme aparece no Sumário de Alarmes.
Atuação da Proteção
101 Proteções
5. Renomeie as Unidades para "Ligar" e "Desligar".
6. Configure as propriedades CommandName das Unidades de Comando Ligar e Desligar com os valores TurnOn
e TurnOff, respectivamente.
7. Os Comandos de ligar e desligar devem escrever no item Operator da Medida ModoProtecao da Proteção 79.
Na coluna Tag do Comando Ligar, selecione o item SE1.Bay1.[52-03].Protections.
[79].Measurements.ModoProtecao.Operator, utilizando o AppBrowser.
8. Configure a Unidade de Comando Desligar repetindo o passo anterior.
Unidades de Comando
9. Crie a mesma Proteção para os Disjuntores 52-04 e 52-05.
DICA
A configuração da Proteção é praticamente a mesma, portanto é possível copiar o objeto Protections e colar nos
outros Disjuntores. Só não esqueça de alterar os Tags associados às Unidades Ligar e Desligar.
DESAFIO XI
Crie uma Proteção de Sobrecorrente Temporizada (51) na fase Neutro do Disjuntor 52-03.
Proteções 102
CAPÍTULO
Bibliotecas ElipseX
17
O Elipse Power possui ferramentas que permitem transformar qualquer objeto ou conjunto de objetos de uma
aplicação em uma biblioteca do usuário. A ideia das bibliotecas de usuários (chamadas de ElipseX) vem das
linguagens de programação orientadas a objetos, onde diversos componentes podem ser compartilhados entre
projetos sem que seja necessário desenvolver novamente cada um dos objetos. O uso de Bibliotecas no Elipse Power
é altamente recomendável, devido ao ganho de produtividade que elas trazem. Algumas das vantagens dos ElipseX:
· Reutilização de código
· Minimização de testes durante o desenvolvimento
· Criação de interfaces padrão para os objetos desenvolvidos
· Diminuição do tempo de desenvolvimento de novos projetos
· Proteção do conteúdo do projeto
· Hierarquização de objetos
Bibliotecas de Objetos
Em uma biblioteca ElipseX podem ser inseridos três tipos de objetos: XControls, XFolders e XObjects.
Podem ser inseridos nos XControls todos os itens disponíveis para as Telas. Entre estes itens estão as primitivas de
desenho, objetos gráficos vetoriais, incluindo objetos da biblioteca de símbolos (WMF, EMF, etc.), objetos gráficos não
vetoriais (BMP, JPEG, GIF, etc.), controles ActiveX do Elipse Power (E3Chart, E3Browser, E3Alarm), controles ActiveX de
terceiros e outros XControls.
Um XFolder é um objeto que permite inserir objetos filhos em suas instâncias. Desta forma, é possível organizer ou
criar hierarquias de objetos em uma aplicação. Pode-se inserir em um XFolder itens como Pastas de Dados, Tags de
Comunicação, Filtros de Alarmes e instâncias de XFolders, entre outros.
Os XObjects podem conter quaisquer tipos de objetos não gráficos, que são executados no E3 Server. Pode-se inserir
em um XObject os seguintes objetos: Driver de Comunicação, Servidor de Dados, Banco de Dados, Fórmulas,
Configuração de Alarmes, Servidor de Alarmes, objetos COM e outros XObjects.
Em um mesmo arquivo .lib pode existir qualquer número de componentes ElipseX, sejam eles XControls, XFolders ou
XObjects. Pode-se ter também várias bibliotecas diferentes (vários arquivos .lib) no mesmo Domínio.
17.1.1 XControl
O XControl define uma interface gráfica com o usuário, que pode ser composta de quaisquer objetos do Elipse
Power, com o propósito de ser multiplicada facilmente por um projeto. Pode-se criar um XControl clicando com o
botão direito do mouse no arquivo .lib criado no Domínio ou no item Bibliotecas de Objetos - XControl,
selecionando a opção Inserir - XControl.
17.1.2 XFolder
Um XFolder é um objeto do servidor que permite organizar ou criar uma hierarquia de objetos nas instâncias criadas.
Os objetos que podem ser inseridos em uma instância de XFolder são Pastas de Dados, Tags de Comunicação,
Consultas, Filtros de Alarmes, instâncias de XFolders e XObjects e Alarmes.
NOTA
Não é permitido inserir objetos na definição de um XFolder, somente em suas instâncias.
17.1.3 XObject
Além dos XControls e XFolders, pode-se criar uma biblioteca de dados, chamada XObject. Com ela, pode-se definir
uma estrutura de dados a ser executada no servidor. Tal estrutura pode realizar cálculos, Associações, comunicações,
verificação de alarmes, registro histórico, etc., que independam de alguma interface gráfica (Viewer) aberta ou em
execução naquele momento. Para criar um XObject, clique com o botão direito do mouse no arquivo .lib no Organizer
e selecione o item Inserir - XObject.
As opções disponíveis para as Propriedades de um XObject são as mesmas de um XControl ou XFolder. Além das
Propriedades, podem ser inseridos em um XObject quaisquer objetos do Elipse Power que sejam executados no
servidor. Para saber a lista completa, clique na lista de seleção da coluna Tipo da Propriedade e verifique a lista de
objetos disponíveis. Isto permite que se possa definir um sistema complexo de gerenciamento como uma biblioteca,
que pode ser facilmente replicado quantas vezes forem necessárias no aplicativo.
Pode-se inserir os XObjects em qualquer Servidor de Dados clicando com o botão direito do mouse no Servidor de
Dados e selecionando o item Inserir. Mesmo que o arquivo de biblioteca possua vários XControls, XFolders e
XObjects, o Elipse Power Studio exibe para as Telas somente os XControls, e para os Servidores de Dados somente
os XFolders e os XObjects.
NOTA
Não é possível copiar uma Biblioteca e utilizar os dois arquivos (original e cópia) no mesmo Domínio. Por exemplo,
não se pode copiar um arquivo .lib para separá-lo em dois novos arquivos.
17.3 Exercícios
Neste exercício, vamos adicionar um ícone para indicar a atuação da Proteção 79 nos Disjuntores. A Elipse Software
oferece a biblioteca PowerProtectionControls com exemplos de sinalização de Proteções.
17.3.2 ProtectionItem
1. Clique com o botão direito do mouse na Tela_SE1 e selecione o item Inserir - PowerProtectionControls -
ProtectionItem.
Inserir ProtectionItem
2. Posicione o objeto próximo ao Disjuntor 52-03.
ProtectionItem
3. Na janela de propriedades do objeto, localize a propriedade ProtectionSource e configure a Associação com a
expressão "SE1.Bay1.[52-03].Protections.[79]".
6. Crie a propriedade SourceObject, que deve ser exatamente igual à do XControl original.
Propriedade SourceObject
7. Associe a propriedade SourceObject à mesma propriedade interna da biblioteca. Para isto, selecione a aba
Design do objeto BreakerCustom, clique com o botão direito do mouse no objeto Breaker1 e selecione a aba
Associações. Associe a propriedade SourceObject do objeto Breaker1 à propriedade SourceObject do objeto
BreakerCustom, conforme a figura a seguir.
Criação do Terminal 2
9. Além da propriedade SourceObject, o Importador de Telas necessita das propriedades Orientation,
ShowTerminals e ColorMode para realizar a importação dos objetos customizados para a Tela de operação. Da
Criação de propriedades
NOTA
A propriedade ColorMode só está disponível em aplicações criadas a partir da versão 4.7 do Elipse Power.
10. Associe as propriedades criadas às suas respectivas propriedades internas da biblioteca, conforme mostrado
anteriormente neste exercício.
21. Clique em OK e, na janela Importação para Telas, selecione a Subestação SE1 e a Tela para onde esta Subestação
deve ser importada. Importe para a Tela e verifique que a Tela é importada com o objeto criado anteriormente.
22. Execute a aplicação e verifique as novas funcionalidades.
NOTA
Este formato de customização de bibliotecas torna possível atualizar a biblioteca base da Elipse Software
(PowerControls.Lib) e toda melhoria realizada no objeto base é aplicada automaticamente à biblioteca customizada.
Porém, caso esta característica não seja necessária e se deseje realizar a modificação mais rapidamente, pode-se
simplesmente criar as novas funcionalidades na biblioteca padrão. Com isto, todas as Telas já importadas recebem
estas novas funcionalidades.
DESAFIO XII
Crie um Display, ao lado do Disjuntor, para indicar se ele está em modo Local ou Remoto. Execute esta configuração
dentro da biblioteca.
18.1 Histórico
Históricos são módulos responsáveis pelo armazenamento de dados da aplicação em um Banco de Dados. Permitem
armazenar dados de processos para análises futuras. Pode-se criar tantos arquivos de Históricos quantos se desejar,
cada um contendo diversos Tags ou expressões. Cada Histórico pode criar ou utilizar uma tabela independente
dentro do Banco de Dados, cujo armazenamento pode ser definido por tempo ou por evento. Através da
propriedade CacheSize, define-se o número de registros enviados por vez para o Banco de Dados. Conforme a
definição da propriedade DBServer, define-se o Servidor do Banco de Dados que é utilizado pelo Histórico.
Objeto Histórico
O objeto Histórico é indicado para dados de faturamento, coletas de medidores de energia e outros processos
envolvendo valores que não possam ter compactação.
18.2 Storage
O Storage é um módulo historiador do Elipse Power desenvolvido para aperfeiçoar o uso de bancos de dados,
permitindo que uma determinada informação seja armazenada ocupando o menor espaço possível.
Existe todo um conjunto de funcionalidades específicas para este módulo, como consultas pré-construídas e
algoritmos de compactação de dados, entre outros. Através desta ferramenta é possível recuperar com grande
exatidão todas as mudanças nas variáveis de processo, ocupando assim o mínimo de espaço no banco de dados.
O uso do Storage é fortemente recomendado para processos onde o objetivo do registro seja o acompanhamento
de tendências que necessitem manter informações essenciais ao processo. Através de um algoritmo matemático
bastante difundido, o Storage pode fornecer informações relevantes de um determinado processo ocupando menos
espaço em disco do que os dados gravados por um Histórico gravado periodicamente.
Em processos onde os dados devem ser precisos, como medições usadas para faturamento de insumos (água,
energia ou gás), ou processos onde os dados devem ser integralizados em um período, o uso de Históricos
convencionais é o recomendado.
18.2.1 Funcionamento
A gravação no Storage é feita da seguinte maneira:
· Após a definição da tabela, os dados são gravados de acordo com as configurações. Se houver variação de
qualidade no Tag, os dados também são gravados
· Os dados só não são gravados se a variação ocorreu em um tempo menor do que o mínimo programado
Conforme vão sendo obtidos novos valores para as variáveis, um algoritmo de verificação de gravação vai
interpretando a sequência e decidindo se cada ponto é ou não armazenado.
Esta verificação, entretanto, só ocorre para os campos analógicos. Para os campos de texto e digitais, basta que haja
uma mudança qualquer de valor ou de qualidade para que sejam gravados.
Armazenamento de Dados 116
Para cada tipo de grandeza armazenada, é gerado automaticamente um conjunto de tabelas, um para os Tags
analógicos, outro para os textos e um terceiro para os digitais. Desta forma, cada Storage pode gerenciar até sete
tabelas (backup), caso se especifique que os três tipos de Tags devem ser armazenados:
· <NomeTabela>_Fields
· <NomeTabela>
· <NomeTabela>_Text
· <NomeTabela>_Bit
18.2.2 Configuração
Quando o Storage é criado na aplicação, uma lista de definições dos campos de gravação é mostrada.
Campos do Storage
Para efeitos de posterior consulta nos dados, toda a busca se dá através do caminho do Tag ou da propriedade que
está sendo armazenada (campo Fonte). A propriedade Nome só é utilizada caso o campo Fonte contenha uma
expressão. Logo, se expressões não estiverem sendo utilizadas no campo Fonte, não é necessário levar em
consideração a propriedade Nome.
18.3 Exercícios
18.3.1 Banco de Dados
1. Verifique se o objeto BancoDados1 está presente na aplicação. Este objeto foi adicionado no primeiro capítulo,
em um dos passos do Assistente de Aplicações. Caso não tenha sido criado, adicione-o clicando com o botão
direito do mouse no item Objetos de Servidor - Banco de Dados e selecione a opção Inserir Banco de Dados
em - Tutorial_Elipse_Power.prj.
Banco de Dados
2. Selecione o objeto e, através do menu contextual, abra a janela de propriedades. Nesta janela, execute as
seguintes configurações:
· Banco de Dados: 2 - stSqlServer
· Servidor: .\SqlExpress
· Banco de Dados: ELIPSEPower_Treinamento
· Biblioteca de Rede: 0 - Padrão
· Usuário: Fornecido pelo administrador do banco de dados
· Senha: Fornecida pelo administrador do banco de dados
NOTA
Estas configurações são válidas para treinamentos na Elipse Software. Caso não seja esta a situação, utilize as
configurações fornecidas pelo administrador do banco de dados.
18.3.3 Storage
Vamos criar um objeto Storage e configurá-lo para armazenar informações do sistema. Com o Storage criado, vamos
adicionar as informações que são armazenadas, as variáveis referentes à posição de Disjuntores e Chaves e a
temperatura do óleo no Transformador.
1. Insira um objeto Storage no projeto Tutorial_Elipse_Power.prj. Isto é feito selecionando a opção Inserir Storage
em do menu contextual do item Objetos de servidor - Banco de Dados.
Inserir Storage
2. Altere o nome do objeto para "StoragePower".
3. No objeto StoragePower, insira um campo e selecione a propriedade Value da Medida PosicaoDisjuntor do
Disjuntor 52-01 na Subestação SE1. A configuração deve ser feita da seguinte forma:
· Fonte: SE1.[52-01].Measurements.PosicaoDisjuntor.Value
Campo do Storage
4. Repita o passo anterior para outras Medidas Discretas que desejar guardar no banco de dados.
5. Vamos configurar agora a informação de temperatura do óleo do Transformador para ser armazenada. Vamos
adicionar um novo Campo no Storage, apontando para esta Medida:
· Fonte: SE1.[TR-01].Measurements.TemperaturaOleo.Value
· Tipo: 0 - Double
· Banda Morta: 5
· Unidade: 0 - dbPercent
6. Repita o passo anterior para outras Medidas Analógicas que desejar guardar no banco de dados.
7. Abra a janela de propriedades do objeto StoragePower e configure as seguintes opções presentes na aba
Storage com os seguintes valores:
· Servidor de Banco de Dados: BancoDados1 (utilizando o AppBrowser)
· Nome da tabela: MedidasPower
Aba Storage
8. Clique em Gerar Tabela. Deve ser mostrada a janela da figura a seguir.
18.3.4 Histórico
1. Crie três Tags Internos, chamados de "CommandType", "CommandUnit" e "User", e configure o tipo de dados da
propriedade Value destes Tags como String.
Tags Internos
2. Crie um objeto Histórico, chamado de "HistCommand", e configure a propriedade ScanTime (ou o campo
Intervalo entre registros (ms) na Janela de Propriedades do Histórico) com o valor 0 (zero). Neste Histórico, crie
três campos do tipo String e associe-os à propriedade Value dos três Tags Internos criados no item anterior.
Objeto Histórico
NOTA
Ao configurar um campo com o tipo String, é preciso também configurar o tamanho deste campo.
3. Após criar o Histórico e gerar a tabela no banco de dados, é preciso estabelecer quais Comandos são
registrados neste banco de dados. Os objetos de Comando do Elipse Power contêm uma propriedade chamada
EnablePowerConfigEvent, cuja função é habilitar ou desabilitar a geração de eventos OnCommand do objeto
ConfiguracaoPower (ver próximo item). Portanto, neste item a propriedade EnablePowerConfigEvent dos
Comandos de posição (SwitchPosition) das Chaves 29-02 e 29-04 deve ser configurada com o valor Verdadeiro
(True), como mostra a figura a seguir.
5. Após associar os parâmetros retornados pelo evento aos Tags Internos, insira um novo registro na tabela a partir
do método WriteRecord do objeto HistCommand, de acordo com a linha a seguir.
Application.GetObject("HistCommand").WriteRecord()
NOTA
Quando se cria um objeto Relatório ou um E3Browser, o objeto Consulta é adicionado a este automaticamente. No
entanto, também se pode inserir uma Consulta em uma Pasta de Dados ou em uma Tela e utilizar seus dados através
de scripts.
Seleção de tabelas
Consultas 124
3. Selecione as tabelas que vão fazer parte da Consulta e clique em OK.
4. Na aba Campos são adicionados os campos retornados pela Consulta, bem como definidos filtros e ordenações.
5. Na aba Variáveis são mostradas as variáveis criadas para os filtros.
6. Na aba Visualizar pode-se realizar uma prévia da Consulta.
7. Na aba SQL pode-se visualizar e editar o código SQL.
125 Consultas
Consulta no objeto Storage
19.3 E3Browser
O E3Browser é um controle ActiveX utilizado para visualizar dados armazenados em bancos de dados gerados pelo
Elipse Power ou outro software qualquer. Pode-se configurar Consultas utilizando filtros de vários tipos nos dados e
atribuir cores para cada coluna, entre outras configurações. Este objeto é utilizado para visualizar Históricos, Alarmes
ou qualquer tabela existente no banco de dados.
E3Browser
Para utilizar este recurso, insira o E3Browser no projeto clicando com o botão direito do mouse na Tela e
selecionando a opção Inserir - E3Browser.
Consultas 126
Inserir E3Browser
O E3Browser utiliza o objeto Consulta para auxiliar o usuário no processo de definição de consultas no banco de
dados da aplicação.
19.4 Exercícios
Vamos criar um E3Browser para visualizar os alarmes gravados no banco de dados.
19.4.1 E3Browser
1. Insira um E3Browser na Tela_Eventos.
2. Para configurar os dados que o E3Browser mostra, abra a janela de propriedades do objeto e selecione a aba
Consulta.
3. Selecione a Consulta1 e clique em Configurar.
Aba Consulta
4. Selecione o Banco de Dados que contém a tabela que se deseja consultar.
5. Selecione a tabela Alarms.
6. Selecione os campos que deseja mostrar em tela. Se deseja mostrar todos os campos da tabela, clique no
asterico (*).
127 Consultas
Tabela Alarms
7. Selecione a aba Visualizar e clique em Executar Consulta para verificar o resultado da Consulta.
Executar Consulta
8. Clique em OK. Ao finalizar este passo, estão disponíveis no E3Browser todos os campos listados na Consulta.
Configure cada campo com a cor, formatação e tamanho que desejar.
Consultas 128
Configuração da Consulta
9. Execute a aplicação e abra a Tela_Eventos para testar a nova funcionalidade.
DESAFIO XIII
Faça com que o E3Browser mostre os textos "Não" e "Sim" ao invés de "0" e "1" para a coluna Acked (que indica se
o alarme foi reconhecido).
129 Consultas
CAPÍTULO
Relatórios
20
O Relatório é um componente ActiveX chamado ActiveReport, que permite a visualização e impressão de valores
instantâneos de variáveis do sistema e dados armazenados em bancos de dados (Alarmes, Históricos, Consultas e
Fórmulas). Para utilizar o Relatório, clique com o botão direito do mouse no item Visualização - Relatórios do
Organizer, em modo Domínio, selecione a opção Inserir Relatório em e em seguida o nome do projeto desejado.
O Relatório também utiliza o objeto Consulta. Este objeto permite que seja especificada a origem dos dados do
banco de dados que são visualizados no Relatório.
Um Relatório contém várias Seções. Cada Seção do Relatório contém um grupo de controles que são processados e
impressos ao mesmo tempo, como uma unidade.
Seções do Relatório
Um Relatório é estruturado conforme descrito na tabela a seguir.
Estrutrura do Relatório
SEÇÃO DESCRIÇÃO
Report Header Esta Seção é impressa no início do Relatório. Utilizada
para imprimir títulos de Relatórios, tabelas de somas,
gráficos ou qualquer outra informação que necessite
aparecer somente uma vez no início do Relatório
Relatórios 130
SEÇÃO DESCRIÇÃO
Page Header Esta Seção é impressa no topo de cada página do
Relatório. É a primeira Seção impressa na página, exceto
quando esta página contém a Seção Report Header.
Utilizada para imprimir cabeçalhos de colunas, números
de páginas, títulos de páginas ou qualquer outra
informação que necessite ser impressa no início de cada
página
Page Footer Esta Seção é impressa uma vez na base de cada página
no Relatório. Usada para imprimir totais de páginas,
números de páginas ou qualquer outra informação que
necessite ser impressa somente uma vez na base de
cada página
Group Header, Group Footer Um Relatório pode ter múltiplos grupos aninhados. Cada
grupo possui uma Seção Header e uma Seção Footer. A
Seção Header é impressa antes de qualquer Seção
Detail no grupo. A Seção Footer é impressa depois da
Seção Detail do grupo
A barra de ferramentas Relatórios contém três itens de configuração que permitem editar, visualizar o Relatório e
criar scripts. Estes itens são descritos na tabela a seguir.
Opções de configuração na barra de ferramentas Relatórios
OPÇÃO DESCRIÇÃO
Prévia de Impressão (Preview) Através desta opção é possível visualizar uma prévia da
impressão do Relatório. Assim, é possível verificar
configurações de margem, figuras, etc.
131 Relatórios
OPÇÃO DESCRIÇÃO
Retângulo Arredondado Retângulo criado através de dois vértices com a opção
dos cantos serem arredondados a partir de um fator de
arredondamento. Ao ser inserido ou editado, exibe um
pequeno ponto próximo ao canto superior esquerdo do
objeto, que permite modificar o fator de
arredondamento
Código de Barras Permite gerar uma figura que converte uma sequência
de números e caracteres em um código de barras. Este
código é uma representação numérica ou alfanumérica,
utilizada para facilitar diferentes processos. Este código
é decifrado através de scanners, canetas e equipamentos
de leitura óptica
Enviar para frente e Enviar para trás Através destes botões é possível enviar um objeto para
frente ou para trás de outro. Ao selecionar as opções
Enviar para frente ou Enviar para trás, o objeto
selecionado é colocado na primeira ou na última
posição na ordem de sobreposições
NOTA
A opção Impressora do ícone do E3 Server na Área de Notificações do Windows exibe a lista das impressoras
encontradas local ou remotamente, e permite que o usuário escolha uma para ser usada pelo E3 Server.
Relatórios 132
20.2 Exercícios
20.2.1 Relatório de Alarmes
1. Insira um novo Relatório no projeto, com o nome "RelatorioAlarmes".
2. Note que este objeto já é criado contendo um objeto Consulta.
Adicionar Relatório
3. Configure a Consulta do Relatório para buscar os seguintes campos da tabela de alarmes:
· E3TimeStamp
· ActorID
· Area
· Message
Seção Detail
8. Para visualizar o Relatório, clique em Gerar Relatório .
133 Relatórios
2. Entre os Textos, insira um Campo de Dados e configure-o para mostrar o número da página atual:
· SummaryType: 4 - ddSMPageCount
· SummaryRunning: 2 - ddSRAll
3. Após o Texto "de", insira um Campo de Dados e configure-o para mostrar o número total de páginas:
· SummaryType: 4 - ddSMPageCount
· SummaryRunning: 0 - None
Numeração de páginas
DESAFIO XIV
Crie um botão para exportar o relatório para um arquivo do Excel.
DICA
Utilize o método Export do objeto Relatório.
Relatórios 134
CAPÍTULO
Solução dos Desafios
21
21.1 Desafio I
Esconda os nomes das Barras ("BARRA_13_8KV" e "BARRA_138KV") no diagrama unifilar
1. Abra a Tela Tela_SE1 e selecione o objeto de Tela BARRA_138KV.
2. Altere a propriedade ShowShortName deste objeto para False.
Propriedade ShowShortName
3. Repita o procedimento para o objeto BARRA_13_8KV.
21.2 Desafio II
No Transformador TR-01, crie as Medidas TensaoA, CorrenteA, PotenciaAtiva e
TemperaturaEnrolamento e exiba-as em Displays ao lado do Transformador. A Medida CorrenteA
deve ser a soma das correntes dos Disjuntores 52-03, 52-04 e 52-05
1. As informações elétricas geralmente são coletadas no terminal do equipamento, portanto vamos criar as Medidas
no Terminal2.
2. Clique com o botão direito do mouse no Terminal2 do Transformador TR-01 e selecione a opção Inserir -
Medida Analógica.
3. Renomeie a Medida para "TensaoA".
4. Configure o tipo da Medida como *VoltageA (na caixa de seleção).
5. Selecione a fonte de medida Operator e defina um valor inicial para ela.
Medida Analógica
6. Repita os passos anteriores para a criação das Medidas "CorrenteA" (do tipo *CurrentA) e "PotenciaAtiva" (do
tipo *ActivePower).
7. Selecione a Medida PotenciaAtiva e configure a propriedade unitPrefix com o valor 6 - upMega.
8. A Medida CorrenteA deve ser a soma das correntes de outros Disjuntores, portanto é um valor calculado.
Selecione a Medida CorrenteA e insira uma fonte do tipo Calculated.
10. Por fim, altere a propriedade ActiveSource da Medida CorrenteA para o valor 5 - stCalculated.
11. A informação de temperatura do enrolamento é uma característica do equipamento, portanto o mais indicado é
criar esta Medida na pasta Measurements, e não em um terminal. Clique com o botão direito do mouse na pasta
Measurements e insira uma nova Medida Analógica.
12. Renomeie a Medida para "TemperaturaEnrolamento".
13. A Medida TemperaturaEnrolamento não possui um padrão criado. Para este caso, vamos demonstrar duas
soluções possíveis.
SOLUÇÃO 1
1. Selecione a aba Analógicas do objeto Configuração do Power. Clique em Adicionar e configure as colunas
conforme indicado a seguir:
· Nome: TEN
· Fase Elétrica: -1 - epNone
· Descrição: Temperatura do Enrolamento
· Unidade: °C
· Ordenação: 1000
2. Volte para a Subestação e configure o tipo da Medida como TEN (na caixa de seleção).
3. Defina um valor inicial para a fonte Operator desta Medida.
SOLUÇÃO 2
1. Selecione a aba Analógicas do objeto Configuração do Power. Selecione o padrão TOL e reconfigure-o conforme
indicado a seguir:
· Nome: Temp
· Fase Elétrica: -1 - epNone
· Descrição: Temperatura {DocString}
· Unidade: °C
· Ordenação: 1000
Template Temp
2. Volte para a Subestação e configure o tipo das Medidas TemperaturaOleo e TemperaturaEnrolamento como
Temp (na caixa de seleção).
Temperatura do Óleo
21.4 Desafio IV
Crie um Alarme para a Medida LocalRemoto de todos os Disjuntores
1. Selecione a Medida LocalRemoto na pasta Measurements do Disjuntor 52-01.
2. Insira um Alarme Discreto dentro desta Medida.
21.5 Desafio V
Crie Alarmes Analógicos para as Medidas TemperaturaOleo, TensaoA, PotenciaAtiva e CorrenteA
do Transformador TR-01
1. Selecione a Medida TemperaturaOleo na pasta Measurements do Transformador TR-01.
2. Insira um Alarme Analógico dentro desta Medida.
21.6 Desafio VI
Crie um Comando de Passo para controle de posição do Tap do Transformador TR-01
DICA
Utilize o padrão *TapPosition, que é padronizado no Elipse Power.
Este Comando serve para ajustar o Tap do Transformador, que é representado pela Medida PosicaoTap. Portanto,
primeiramente é necessário configurar esta Medida.
1. Selecione a Medida PosicaoTap do Transformador TR-01 e apague sua fonte de medida SCADA.
2. Selecione a fonte Operator desta Medida e configure o seu valor inicial como "8".
Fonte Operator
3. Feito isto, insira a pasta Commands no Transformador e, dentro desta pasta, crie um Comando de Passo.
4. Renomeie o Comando para "cmdTapPosition" e configure o seu tipo como *TapPosition (na caixa de seleção).
5. Expanda o Comando e renomeie a UnidadeComando1 para "DesceTap". Verifique se a propriedade
CommandName desta Unidade está configurada como StepDown.
6. Renomeie a UnidadeComando2 para "SobeTap". Verifique se a propriedade CommandName desta Unidade está
configurada como StepUp.
Unidade de Comando
7. Na coluna Tag, associe com a fonte Operator da Medida TapPosition com a expressão "SE1.[TR-
01].Terminal1.PosicaoTap.Operator", utilizando o AppBrowser. A expressão é a mesma para ambas as Unidades.
Semânticas
11. Altere o script do evento OnOperate. Ao invés de apenas enviar o comando WriteValue, vamos somá-lo ao valor
atual do Tag. O script deve ficar da seguinte forma (a parte destacada em negrito deve ser adicionada ao script
original).
Sub OnOperate(ActorID, WriteValue, FeedbackValue, Failed)
Set Tag = Application.GetObject(OperateWriteTag)
Failed = Not Tag.WriteEx(Tag.Value + WriteValue)
End Sub
3. Selecione a UnidadeComando1 e altere a propriedade Name para "Abrir". Altere também a propriedade
CommandName para "Open".
4. Insira mais uma Unidade de Comando. Altere a propriedade Name para "Fechar" e a propriedade
CommandName para "Close".
5. Associe ambas as Unidades com a fonte Operator da Medida PosicaoDisjuntor deste equipamento.
Propriedade Measurement
Agora vamos configurar o Intertravamento conforme indicado no desafio. O bloqueio vale tanto para a Unidade Abrir
quanto para a Unidade Fechar, portanto o Intertravamento pode ser inserido dentro do Comando Discreto.
6. No Comando Discreto cmdPosicaoDisjuntor, insira uma pasta Interlocks.
7. Nesta pasta, insira um Intertravamento.
Propriedades do Intertravamento
9. Execute a aplicação e teste a nova funcionalidade. Se o Disjuntor estiver em modo Local, ambas as Unidades
devem estar intertravadas.
DICA
Utilize a propriedade ActiveNACKAlarms do objeto Subestação.
A propriedade ActiveNACKAlarms indica o número de alarmes que estão sem reconhecimento dentro da Subestação.
Queremos que o texto do botão pisque se este valor for maior que 0 (zero). Portanto, vamos criar uma Associação
Digital na cor do texto do objeto, colocando uma expressão como fonte.
1. Abra a Tela_Menu, clique com o botão direito do mouse no botão cujo texto é "SE1" e selecione a opção
Propriedades.
2. Na aba Associações, crie uma Associação Digital na propriedade ForeColor.
3. Utilize o AppBrowser para selecionar a propriedade ActiveNACKAlarms do objeto SE1. Complete a expressão
manualmente, digitando "> 0" ao final.
Propriedade ForeColor
21.9 Desafio IX
Crie um botão ao lado do banner de alarmes para reconhecer todos os alarmes ativos da aplicação
DICA
Esta ação pode ser realizada através de um método do objeto E3Alarm.
1. Abra a Tela_Alarmes.
2. Crie um objeto Command Button ao lado do objeto E3Alarm. Se necessário, redimensione o banner para que a
Tela tenha espaço suficiente para o botão.
3. Configure o texto do botão como "Reconhecer todos".
Método AckAll
6. Cole a expressão e remova o parâmetro opcional [Operator].
7. Se desejar, adicione um comentário acima da linha para identificar seu propósito.
Aba Script
21.10 Desafio X
Crie um usuário "Convidado" que não possa enviar Comandos, não possa escrever em Medidas e
nem reconhecer alarmes na aplicação
Note que as três ações indicadas no desafio são escritas em objetos do servidor.
1. Abra a janela de configuração de usuários do Studio (menu Arquivo - Usuários).
2. Na aba Usuários, clique em Novo e crie um usuário com o nome "Convidado".
3. Na aba Permissões, selecione o usuário recém-criado e, na lista à direita, selecione o item Viewer.
Aba Permissões
21.11 Desafio XI
Crie uma Proteção de Sobrecorrente Temporizada (51) na fase Neutro do Disjuntor 52-03
1. Na Subestação SE1, selecione o Disjuntor 52-03, pertencente ao Bay1. Clique com o botão direito do mouse na
pasta Protections e selecione a opção Inserir - Proteção.
2. Renomeie esta Proteção para "51N" e selecione o tipo de Proteção como *TimeOvercurrent.
3. A fase elétrica na qual a Proteção está inserida pode ser definida na propriedade ElectricalPhase. Altere esta
propriedade para 4 - epNeutral.
4. Apague as fontes SCADA das Medidas criadas automaticamente (ModoProtecao e OperacaoProtecao), desta
forma deixando a fonte ativa como Operator.
5. Configure o valor da fonte Operator da Medida ModoProtecao para "1" (um).
Medida ModoProtecao
6. Execute a aplicação e teste a nova funcionalidade.
Display
2. Selecione o XControl Breaker e cole o objeto (CTRL + V), posicionando-o ao lado do Disjuntor.
Disjuntor
Vamos adaptar a fonte da Associação, que foi feita anteriormente na propriedade Value. Agora o Display não deve
mais apontar para a Medida do Disjuntor 52-02, mas sim para a Medida do Disjuntor que estiver associado ao objeto
Breaker.
Associação
Nova Associação
4. Salve as alterações e registre as bibliotecas carregadas.
5. Execute a aplicação e teste a nova funcionalidade.
E3Browser
3. Execute a aplicação e teste a nova funcionalidade.
DICA
Utilize o método Export do objeto Relatório.
Anotações
Anotações
Matriz Filial SP
Rua 24 de Outubro, 353 - 10º andar Rua dos Pinheiros, 870 - Conj. 141/142
90510-002 Porto Alegre - RS 05422-001 São Paulo - SP
Fone: (+55 51) 3346-4699 Fone: (+55 11) 3061-2828
Fax: (+55 51) 3222-6226 Fax: (+55 11) 3086-2338
E-mail: elipse-rs@elipse.com.br E-mail: elipse-sp@elipse.com.br
Filial PR Filial MG
Av. Sete de Setembro, 4698 - Sala 1705 Rua Antônio de Albuquerque, 156
80240-000 Curitiba - PR 7º andar, sala 705
Fone: (+55 41) 4062-5824 30112-010 Belo Horizonte - MG
E-mail: elipse-pr@elipse.com.br Fone: (+55 31) 4062-5824
E-mail: elipse-mg@elipse.com.br
Filial RJ Taiwan
Av. Luiz Carlos Prestes, 180 - 3º andar 9F., No.12, Beiping 2nd St., Sanmin Dist.
22775-055 Rio de Janeiro - RJ 807 Kaohsiung City - Taiwan
Fone: (+55 21) 2112-4682 Fone: (+886 7) 323-8468
Fax: (+55 21) 2158-1099 Fax: (+886 7) 323-9656
E-mail: elipse-rj@elipse.com.br E-mail: evan@elipse.com.br