Deploy - Geração automatizada de projetos
Introdução
Este assistente de importação pode ser utilizado para a geração automática de Tags, Alarm Items, Historian tables e a tabela de Points de um projeto. Para tal é necessário que se crie anteriormente Templates, Canais, Nodes e as Historian Tables que forem necessárias ao projeto.
Também devem ser criadas Categorias que indicarão como devem ser usados os templates e Points. O assistente ao ser executados faz a “explosão”, i. é, popula com os registros adequados as tabelas mencionadas.
Cada cliente ou usuário poderá ter bases de dados com protótipos default apropriados a suas necessidades e sua cultura. Para criar estas bases o usuário deverá:
n Definir os Templates de todos os bays utilizando a regra de nomeação e alarmes própria da instalação do usuário;
n Definir o comportamento de geração de alarmes e eventos e escolher os Alarm Groups que serão usados no projeto;
n Definir as tabelas para o Historiador, isto é as Historian Tables.
Alarmes
A extensão de Geração automática de base de dados Deploy já define um conjunto de protótipos para os alarmes de grupo. Destes nomes deve-se escolher aqueles que atendem os requisitos dos clientes. Provavelmente, dos nomes abaixo, cada cliente utilizará cerca de uma dezena.
Os Alarmes de Grupo já disponíveis são listados abaixo. A identificação de cada AlarmGroup é relativamente intuitiva quanto a sua funcionalidade. Ao executar o Deploy uma primeira vez, estes grupos são criados e se houver dúvida quanto a funcionalidade, pode-se entender melhor olhando para o conjunto completo de campos do registro.
Utilizam condition Change
EVENTOS_BIP
EVENTOS_NOBIP
Utilizam condition HI
HI_ACK_BIP
HI_ACK_NOBIP
HI_NOACK_BIP
HI_NOACK_NOBIP
Utilizam condition HIHI
HIHI_ACK_BIP
HIHI_ACK_NOBIP
HIHI_NOACK_BIP
HIHI_NOACK_NOBIP
Utilizam condition LO
LO_ACK_BIP
LO_ACK_NOBIP
LO_NOACK_BIP
LO_NOACK_NOBIP
Utilizam condition LOLO
LOLO_ACK_BIP
LOLO_ACK_NOBIP
LOLO_NOACK_BIP
LOLO_NOACK_NOBIP
Utilizam condition Equal ou NotEqual
ACK_BIP
ACK_NOBIP
NOACK_BIP
NOACK_NOBIP
NOMSG_BIP
NOMSG_NOBIP
Observação: Para escolher Equal ou NotEqual, especifique junto com o estado (limite) em comments.
Para cada alarme de grupo realmente utilizado na Aplicação, deverá ser criada uma categoria correspondente com o prefixo: ALARMGROUP_ seguido do nome do alarme de grupo.
Exemplo: ALARMGROUP_NOMSG_NOBIP
Veja na figura acima, (Run>Dictionaries) as categorias criada para AlarmGroups e também para Nodes (em Devices) e para as tabelas Historian.
Para que sejam criados os registros de Alarm items para cada tag, bastará que no registro do tag, no caso na sua definição em templates seja aplicada esta categoria.
A aplicação de uma categoria à um objeto é utilizada de forma hereditária: isto é, se for aplicada à um objeto hierarquicamente superior, por exemplo no template de um TRAFO, todos os tags definidos neste template também terão a mesma categoria. São consideradas também de forma acumulativa as categorias atribuídas diretamente nos tags (folhas). Em outras palavras o tag (objeto de mais baixo nível, ou folha) tem a si atribuídas todas as categorias (um OU delas) atribuídas aos objetos de nível superior.
Points em Devices
O usuário deverá criar manualmente, os channels e nodes da Aplicação, de acordo com as características próprias dos protocolos utilizados na aplicação. Esta parametrização deverá ser feita em função dos IEDs com os quais o projeto vai se comunicar.
Para cada node existente, o sistema criará, automaticamente, uma categoria com o prefixo NODE_ seguido do nome do node. Por exemplo, para os nodes definidos na figuras abaixo (Edit>Devices) serão criadas as categorias:
NODE_IEC8705104A e
NODE_DNPSEL_MA
Estas categorias deverão ser atribuídas a todos os tags de pontos que são tratados por estes Nós de comunicação.
Tipicamente, quando se tem templates que definem objetos de nível mais alto, como um Alimentador, ou um Trafo, em que todos os pontos monitorados e controlados vem através de um único nó de comunicação., a atribuição da categoria de Nó a estes objetos facilita muito a tarefa.
Histórico
O usuário deverá criar todas as historian tables necessárias à aplicação. Por exemplo poderá criar três historian tables H1, H2 e H3 da seguinte forma:
n H1 - Salva registros a cada minuto;
n H2 - Salva registros a cada cinco minutos;
n H3 - Salva registros sempre que a variável tem seu valor alterado;
Para cada historian table criada, deverá ser criada uma categoria correspondente com o prefixo HIST_ seguido do nome da historian table.
Poderão ser criadas quantas historian tables forem necessárias, sem restrições de nomenclatura, e com qualquer parametrização de salvamento, porém deverá, obrigatoriamente, existir uma categoria HIST_ + nome da historian table.
Na figura abaixo (EDIT > TAGS) foram criadas as tabelas ANA e DIG. As categorias a serem criadas pelo usuário deverão ser: HIST_ANA e HIST_DIG.
Para cada um dos tags que se deseja tenham seus valores e estados gravados em cada uma destas tabelas de históricos, deverão ser aplicadas as categorias correspondentes.
Novamente aqui, lembre-se que o trabalho será simplificado se for possível aplicar as categorias à objetos de nível mais alto. Tal facilidade será decorrente diretamente da maneira que se faz a estruturação dos templates na modelagem dos objetos reais.
Atribuição de Categorias
No projeto padrão do cliente, conforme apresentado acima, estarão pré-criados: Alarm Groups, Templates, Channel, Nodes, Historian Tables, Dictionaries (Localization, Enumeration e Categories) e a Symbol Library associada a cultura do usuário.
Para que sejam criados os registros nas tabelas, será necessário que sejam atribuídas aos tags nas tabelas objects e templates as categorias para cada um destas tabelas.
Feitas as atribuições de categorias , fica garantida a criação dos registros nas tabelas, porém os registros serão criados com alguns campos importantes deixados em branco para serem preenchidos posteriormente.
Uma facilidade adicional disponível no aplicativo Deploy, e´ a possibilidade de se especificar previamente os conteúdos para os atributos mais utilizados e importantes destes registros. Isto é feito pelo uso da coluna comments , disponível nas tabelas de objects e templates. Nestas colunas, para cada tag, pode-se especificar por meio de um texto com palavras chaves os conteúdos a serem utilizados na geração dos registros. Veja em “Atributos adicionais” na página 310, detalhes sobre este procedimento.
As categorias pré-definidas desejadas deverão ser atribuídas aos tags (folhas) nos diversos templates, conforme a figura abaixo. Observe-se que as categorias impostas para objetos de nível mais alto, definidos com Types do usuário (Templates) são herdadas pelos níveis inferiores nos objetos instanciados.
Veja na figura abaixo como impor uma categoria à um objeto. Clica-se na coluna categorias em (Edit>Tags>Objetos), e aparece a lista das categorias existentes. Pode-se escolher uma ou várias para um mesmo objeto, clicando nas caixinhas à esquerda de cada categoria. Na coluna categorias, fica o texto com o conjunto de nomes de categorias escolhidas, separadas por ponto e virgula (;).
Veja os exemplos a seguir:
1. Na figura acima escolheu-se para o objeto A1 (alimentador do tipo SEL_351A) a categoria NODE_IEC8705104A que define o node de comunicação com o relé. Neste template (type) estão definidas todas as tags de medição e status que se deseja ler neste IED.
2. Se a folha (tag) AMP de um template BAY, precisar criar um AlarmItem do tipo LO que exija reconhecimento e emita sinal sonoro, esta tag deverá ter associada a categoria ALARMGROUP_LO_ACK_BIP;
3. Se para a mesma tag se desejar que seus valores sejam salvos no histórico na tabela H2, deverá também possuir a categoria HIST_H2;
4. Se esta tag tiver endereço no campo e pertencer a um node de nome DNP1, deverá também possuir a categoria NODE_DNP1
5. Cada uma das categorias de diferentes tipos atribuídas serão utilizadas pelo aplicativo de Geração Automática de base, para a criação de registros correspondentes nas tabelas respectivas.
NOTA - Para que os tags sejam criados automaticamente, devem necessariamente ter atribuição de um Level (assets), e possuírem o atributo Domain como server. Estes atributos podem estar diretamente no tag ou em qualquer objeto de nível hierárquico superior, de forma que as folhas herdem estes atributos.
Criados todos os templates, feitas as categorizações das tags de cada template, preenchidos os campos comments desejados, o próximo passo será criar um objeto para instanciar o template desejado.
Exemplo: Para criar um trafo 1 a partir de um template de nome TRAFO:
1. Vá para Edit>Tags>Objects e crie um objeto
Name=T1
Type=TRAFO
Level também deve ser obrigatoriamente preenchido.
2. Caso for considerado adequado, pode-se ainda atribui outras categorias e definir comments à estes objetos de nível mais alto. Nestes níveis mais altos é conveniente a atribuíção de categorias do tipo de NÓS de comunicação.
Atributos adicionais
Para a especificação de conteúdos previamente definidos, a serem usados nos atributos importantes existentes nos registros a serem criados nas tabelas pelo Deploy, está disponível a facilidade do uso dos campos comment, nas tabelas objects e templates.
Para cada atributo considerado, em cada uma das tabelas, foram criadas palavras chaves, que em sua maioria são os próprios nomes das colunas. Em cada tag, ou objeto de nível superior, pode-se digitar na coluna comments, textos formados com estas palavras chaves e os conteúdos que se deseja. O aplicativo Deploy utilizará estes conteúdos na geração dos registros relacionados nas tabelas AlarmItems, Points e Historian.
A figura abaixo mostra o uso da coluna comments em um template. Os items a seguir apresentam os atributos (colunas) considerados, as palavras chaves para cada tabela e breve descrição do uso.
Alarm Items
A tabela a seguir mostra as palavras chaves de colunas utilizadas.
|
Exemplo:
1. No campo comment do tag A2.KV.C teria sido colocado
Priority=1;LO=12;Alm_DeadBand=1,5
2. No campo comment do tag A2.KV.B. teria sido colocado
Priority=1;HI=20,5;LO=12
3. Veja na figura abaixo as colunas preenchidas com estas palavras chaves:
NOTA - Quando um tag ou objeto é definido por vários níveis de templates, o comment que será processado pelo Deploy, será formado pela concatenação de todos os comments especificados na hierarquia direta. No caso de mais de uma especificação com a mesma palavra chave, a que de fato será utilizada é a que for definida no nível mais baixo do trajeto.
Points
A tabela a seguir mostra as palavras chaves de colunas utilizadas.
|
Exemplo:
1. No campo comment do objeto A2.AMP (que tem um subtype Fases) teria sido colocado
ADDRESS=A1:201;ACCESSTYPE=Read;SCALING=Equation;Div=100
Historian tables
A tabela a seguir mostra as palavras chaves de colunas utilizadas.
|
Exemplo
1. No campo comment do objeto TR1 teria sido colocado
HIST_DEADBAND=2,5;DEVIATION=3,5
Executando o Deploy
Para fazer a geração automática do projeto (explodir), deverá ser executada a extensão Deploy que procurará todos objects que não foram criados e os criará.
Vá para Run>Extensions
1. Escolha o simbolo Deploy;
2. Ao chamar esta extensão aparece uma janela para o acompanhamento da execução.
3. Clique no botão Execute, e acompanhe a criação de cada uma das tabelas e seus registros sendo executada.
A verificação se o objeto foi ou não já criado é feita automaticamente pelo Deploy que verifica se já existe um elemento com mesmo nome e, se positivo, não o recria pela segunda vez.
Serão criados os registros para as seguintes tabelas:
Tags/Historian
Device/ Points
Alarm/Items
Observações:
1. Em devices / points são criadas todas as entradas e saídas associadas aos nodes. É preciso completar a tabela com os endereços e os AccessTypes. Exportar do ActionNET para uma planilha, copiar os endereços de uma planilha Excel de endereços feita pelo cliente e importa-la novamente para o ActionNET.
2. Na tabela Alarms e na definição dos templates os nomes e siglas são importantíssimos pois eles são parte da cultura do cliente. Os Limites para alarmes HI, LO, HIHI e LOLO devem ser colocados nos itens manualmente.
3. Se por algum motivo se desejar recriar a tabela Historian, deve-se remover todos os itens já criados e, no diretório do projeto, remover o arquivo com o nome do mesmo projeto e sufixo _DeployHistorian_HandledTags.xml.
.