CLASSE TOPOLOGY

Objeto Topologia

O módulo que implementa Visualizar Energização em Unifilares é definido como uma classe, disponível do Componente TOPOLOGY do Action.NET.
Para se utilizar esta facilidade deve-se importar este componente para o projeto gerado por DefaultNewProject e incluir a o template de Topologia nos templates dos bays.
Há uma classe definida em scripts dentro do projeto, que por sua vez utiliza uma classe definida na biblioteca do Actiion.NET utilizando o arquivo, SPIN.ActionNet.Biz.Eletric.Dll, instalado normalmente com o Action.NET.
A metodologia utilizada considera que os unifilares e elementos de conexão formam um grafo. Os elementos de conexão são as interligações e os bays são os nodos do grafo.
Para modelar esta topologia é formada uma matriz de adjacência, com as bays/percursos utilizando cada linha e cada coluna da matriz. As interligações existentes são indicadas por uma sinalização nas células que interceptam linhas e colunas da matriz que representam bays adjacentes.
A topologia interna aos bays é utilizada para verificar, periodicamente, se a adjacência está confirmada ou interrompida. A cada avaliação, são novamente alterados adequadamente os estados dos tags BRANCH, utilizados para escolher as cores dos ramos de unifilares.

Métodos e Chamadas

A classe SS_TOPOLOGY, definida como script no componente importado para o projeto, basicamente tem duas partes: uma de inicialização e outra de avaliação periódica.

Inicialização

O método Initialize() da classe deve ser chamado uma única vez em uma TASK.
A implementação considera que uma tela de unifilar conterá um único conjunto de bays interligados. Não é necessário que todos os bays estejam em um único conjunto totalmente conexo. É possível o tratamento, mesmo se houverem ilhas, isto é mais de um conjunto conexo.
No método de Inicialização, é feita, para cada tela, a criação de um objeto interno, e neles a leitura dos registros de interligação dos bays guardados na tabela Topology e a criação de arrays em memória, que reproduzem a topologia salva. Os arrays criados incluem uma matriz de adjacência, com as indicações de interligações entre bays; um vetor com os bays que são supridores e estão na raiz do unifilar; e um vetor indicando para cada interligação se é feita entre percursos principais ou percursos secundários dentro dos bays.
A figura mostra uma TASK, que será executada periodicamente. Somente na primeira vez são executadas as inicializações, pelo método isInitiated.

Avaliação periódica

Para a avaliação periódica, deve-se chamar o método de Avaliação do estado atual de conexões entre os bays de cada tela, Evaluate(); Não há parâmetro pois o método percorre a lista de objetos de cálculo de energização de cada tela fazendo a avaliação para cada tela.
O método de cada objeto interno, verifica para cada bay se é raiz supridora e a partir dele segue as indicações de interligação da matriz de adjacência.
Para cada linha da matriz verifica cada coluna que contém um bay que está interligado. Confirma então se internamente ao bay a conectividade está mantida ou interrompida de acordo com o estado dos elementos de conexão inclusos no bay.
Para cada ramo que se segue à elementos conectados, marca que está energizado, se a entrada do bay estiver. A informação de energização é colocada nos tags dos BRANCH e BRANCHALT do template de topologia do bay.
Ao final, para cada bay é atualizada a tag BAYSTATE com o estado final do bay, de acordo com o estado de energização do ramo que define este estado.
A figura mostra a classe SS_TOPOLOGY, definida como um script no projeto.
Tenha certeza que o nome do objeto em que estão definidos os parâmetros é o mesmo que aparece no código desta classe. Se necessário altere para indicar este objeto corretamente.

Configuração de Constantes

A figura a seguir mostra o template de constantes para a funcionalidade de topologia. Nesta parte está a definição de constantes utilizadas no código dos métodos desta classe.
Caso o projeto utilize nomes ou constantes diferentes para indicar estes mesmos objetos deve-se fazer as alterações que forem necessárias, nos StartValues deste template

Constantes

  • typeSta – Nome do sub template que contém os dados de estado do bay, já com pontos separadores. Neste template devem estar os tags que definem os elementos de conexão. Será procurado o tag: bay + staType + texto de tag contido em TAGCONNECTION. Esta tag pode ser vazia, se não houver o sub template .STA.

  • typeMEA – Nome do sub template que contém dados de Medidas, já com os pontos separadores.

  • typeTopg- Nome do sub template que contém os dados de topologia do bay, já com pontos separadores. Neste template devem estar os tags de BRANCHES e TAGCONNECTION;

  • typeMea - Nome do sub template que contém os dados de medidas do bay, já com pontos separadores. Neste template deve estar o tags que definem a medida de suprimento dos bays raízes (supridores).

  • tagPowerSupply – Tag que contém a medida de suprimento de potência do bay supridor com o atributo de valor. O algorítmo vai verificar se este valor é igual ou maior que 1, e se for vai considerar este bay Raiz energizado. Alternativamente pode-se definir este parâmetro como NONE e através de scripts acionar adequadamente o tag ENERGIZED do template TOPG do bay RAIZ.

Internamente na biblioteca estão sendo consideradas as seguintes constantes

  • CT_OPEN e CT_CLOSED – Valores utilizados para os estados de aberto e fechado dos elementos de conexão.

  • MAX_BRANCHES – O número máximo de ramais (ou branches) existentes em um percurso principal ou secundário de um bay.

  • CT_ON e CT_OFF - Valores que serão colocados nos tags de BRANCH para indicar energizado ou não.

Nesta página: