Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Tip |
---|
Esta secção apresenta passo a passo um roteiro de elaboração de um projeto partindo da Aplicação Default. Para iniciar crie um projeto novo, escolhendo o template de projeto DefaultNewProject. Então entre no projeto e inicia a criação dos demais objetos como detalhado nestes próximos itens. |
Criação dos Dicionários
Na criação de tags e tipos de usuário (templates), deve-se definir o dicionário que será usado para traduzir o valor de uma variável para seu estado. Este atributo chamado Parameter é usado nas listas de Alarme. Assim, se o tag de uma proteção vale "1", na lista de alarme será apresentado o texto "ATUADO".
Deve-se assim, criar os dicionários que serão usados para posteriormente criar os templates e tags.
Foram criados os dicionários:
SEL_CHAVE: Estados de chaves de 4 posições;
Tip |
---|
This section presents a roadmap for drawing up a project from the Default Application. To start create a new project by choosing the project template DefaultNewProject. Then enter the project and start creating the other objects as detailed in these next items. |
Creation of Dictionaries
When creating tags and user types (templates), you must define the dictionary that will be used to translate the value of a variable into its state. This attribute called Parameter is used in alarm lists. Thus, if the tag of a protection is worth "1", the alarm list will be displayed in the text "ACTUATED".
You should therefore create the dictionaries that will be used to later create the templates and tags.
Dictionaries were created:
SEL_CHAVE: 4-position key states;
SEL_PROTECTION: Digital with normal / actuated phrase;
DNP_IIN_CMD: Resultado dos comandos Result of DNP (Internal Indication) ; Se o usuário deseja manter a aplicação em duas línguas, deverácommands; If the user wishes to keep the application in two languages, he/she must:
Incluir no dicionário Inglês, apresentado na figura abaixo, todos os termos em português que colocar em telas e objetos.
Em todos os objetos com texto usar a propriedade Localization;
Include in the English dictionary, presented in the figure below, all terms in Portuguese put on screens and objects.
On all objects with text use the property Localization;
In dynamics with text and in Scripts, in-place texts always use
@Client.Locale ("texto") e adicionar o texto ao dicionário Inglês;
Criação dos Templates
Introdução
Na organização de uma nova aplicação, o usuário deve planejar adequadamente os templates. Assim, a título de exemplo, vai-se criar uma aplicação de monitoração de uma subestação com:
Bay de linha;
Bay de transformador;
Bay de alimentador;
Como um bay pode ocorrer mais de uma vez, para cada bay será criado como um template.
Os pontos de cada bay são fornecidos, geralmente, em planilhas Excel e, a partir destas planilhas, deverão ser criados os templates, isto é, é mais fácil adequar à planilha Excel para o formato do ActionNET do que digitar ponto por ponto diretamente nos Tags e Templates.
Estudando os tags de um bay o usuário poderá observar sequências de pontos que se repetem em diferentes bays. Estas sequências, a título de facilitar o trabalho e padronizar tags, devem ser também criadas como templates. Assim, por exemplo, em diferentes bays se tem a mesma
sequência de variáveis analógicas e, para facilitar o trabalho, define-se esta sequência como um template, conforme a figura abaixo:
Template dos Bays
Para gerar o template de um bay, a partir de uma planilha Excel, basta organizar seus pontos de forma idêntica a da Aba de templates. Para criar uma planilha organizada de forma idêntica a Aba de Templates, basta copiar uma linha desta Aba e colá-la em uma planilha Excel, conforme a planilha abaixo gerada a partir do template ANA1.Image RemovedA partir desta planilha, esvaziam-se as linhas, mantendo o cabeçalho, e depois se deve organizar nossa planilha de pontos dos bays, no formato desta planilha, conforme mostrado na figura abaixo, onde foram colocados os pontos do bay de linha existentes em um relé SEL_311.
Image RemovedNesta planilha, as células em azul são os pontos originais da planilha de pontos do bay de linha e os pontos em branco correspondem a pontos criados pelo usuário, pelos seguintes motivos:ANA: corresponde aos pontos analógicos do bay que estão apresentados na figura do
text") and add the text to the English dictionary;
Creation of Templates
Introduction
In organizing a new application, the user must properly plan the templates. Thus, for example, you will create a monitoring application of a substation with:
Bay line;
Transformer Bay;
Feeder bay;
Because a bay can occur more than once, each bay will be created as a template.
The points of each bay are usually provided in Excel spreadsheets and, from these worksheets, the templates should be created, that is, it is easier to adapt the Excel spreadsheet to the ActionNET format than to type point by point directly in the Tags and Templates.
By studying the tags of a bay the user will be able to observe sequences of points that are repeated in different bays. These sequences, in order to facilitate work and standardize tags, should also be created as templates. So, for example, in different bays one has the same
sequence of analog variables and, to facilitate the work, this sequence is defined as a template, as shown in the figure below:
Bays Template
To generate the template of a bay, from an Excel spreadsheet, simply organize your points identically to that of the templates tab. To create a spreadsheet that is identically organized to the Templates Tab, simply copy a row of this Tab and paste it into an Excel spreadsheet, according to the worksheet below generated from the template ANA1.
From this worksheet, the rows are emptied, keeping the header, and then we must organize our bays point sheet, in the format of this worksheet, as shown in the figure below, where the existing line bay points were placed in a SEL_311.
In this worksheet, the blue cells are the original points of the line bay point sheet, and the blank points correspond to points created by the user for the following reasons:
ANA: Corresponds to the analog points of the bay that are shown in the figure of item 8.2.1.
ALM_GROUP:
It is a calculated variable that should be placed in all bays where you want to have a group alarm identifying whether or not this bay has at least one alarm actuated. Note that in
In Category if you have the variable AN_GRUALM_ALM
associated.
IIN_VAL
and IIN_CMD:
these are variables associated with the DNP3 channel that will be explained later when the application's Entry and Exit points are created.
CB (Circuit Break):
a template has been created for the circuit breaker where the input variable with the circuit breaker state and the two output variables to turn the circuit breaker on/off are declared;
SC_89-1:
A template has been created for disconnecting keys where the input variable with the key state and the two output variables to turn the key on/off are declared;
The template columns used are:
Type: Point type which in the case is:
Digital (0 ou or 1): variáveis digitais de entrada e saídadigital input and output variables;
AnalogInt: Variáveis digitais discretas são definidas como AnalogInt: estado de disjuntor e seccionadoras (assumem valores entre 0 e Discrete digital variables are defined as AnalogInt: circuit breaker state and disconnectors (assume values between 0 and 3).
AnalogDouble: Variáveis analógicas são definidas como Analog variables are set to AnalogDouble.
ANA1: template com todas as variáveis analógicas de um with all analog variables of a bay.
Parameter: contém o nome do dicionário que converte o valor da variável em um texto;
Retentive: o texto properties indica que no início do programa tanto o valor do Tag como suas propriedades serão iguais aos seus valores quando do encerramento do programa.
Category: o item contains the dictionary name that converts the value of the variable into a text;
Retentive: The properties text indicates that at the beginning of the program both the tag value and its properties will be equal to its values when the program closes.
Category: Item "7.3.2" trata as categorias existentes na aplicação default e, no caso, criou-se um único tag referente ao alarme de grupo associado a este treats the existing categories in the default application, and in this case, a single tag was created for the group alarm associated with this bay.
Description: texto descritivo do descriptive text of the tag.
Assim como se criou o bay associado ao relé
Just as the bay associated with the SEL_311L (proteção de linha) se deve criar os pontos associados aos relés que coletam pontos dos alimentadores e do transformador.
line protection) is created, the points associated with the rels that collect feeder and transformer points should be created.
Level Creation (Assets)
Os Assets (níveis) correspondem à organização dos agrupamentos de pontos da aplicação. Os tags tratados a partir da aplicação default devem ser diferentes de SysInternals que é o agrupamento dos tags usados nas rotinas internas da aplicação Default, para gerar as telas com os diversos relatórios disponibilizados automaticamente:
Histórico de Medidas;
Sumário de Tags;
Sumário de Alarmes;
Sumário de Eventos
Pesquisa a Eventos;
Log de Operação;
Tendência em Tempo Real e Histórica;
Usando NewLevel (botão direito do mouse sobre DefaultNewProject_DNP) definiu-se, conforme figura a seguir, três novos itens de segundo nível, conforme mostra a figura abaixo:
Alimentadores: terá os alimentadores.
Linhas: terá os bays de linha;
Trafos: terá os bays de trafo;
Criação dos tags de Bays
Para criar os bays da subestação, vai-se para a Aba de Objects e criam-se os bays associando- se seus tipos (Type) aos respectivos templates, conforme a figura abaixo.
Criação dos Devices
Nesta aplicação exemplo, considera-se que os relés estejam se comunicando com o SCADA através do protocolo DNP 3.0. Para cada protocolo existe um manual específico.
Criação de um Canal DNP3
Na Aba de canais (Channel) cria-se um novo canal chamado "DNP301" usando o protocolo DNP3 com comunicação TCP/IP, conforme figura abaixo:
Criação do Nodo
O nodo corresponde ao IED (relé, CLPlevels) correspond to the organization of the application point groupings. Tags handled from the default application must be different from SysInternals which is the grouping of tags used in the internal routines of the Default application, to generate the screens with the various reports automatically made available:
History of Measures;
Contentium of Tags;
Summary of Alarms;
Event Summary
Event Search;
Operation Log;
Trend in Real and Historical Time;
Using NewLevel (right mouse button on DefaultNewProject_DNP) three new second-level items were defined as shown below, as shown in the figure below:
Feeders: you will have the feeders.
Lines: you will have the line bays;
Trafos: will have the bays of trafo;
All tags created must be on one of these levels.
Creation of Bays tags
To create the bays of the substation, you go to the Objects Tab and create the bays by associating their types (Type) with the respective templates, as shown in the figure below.
Note that these tags must be server type (they are on the server) and cannot be included in the Internal Sys.
Creation of Devices
In this example application, the relafters are being considered to be communicating with SCADA through the DNP 3.0 protocol. For each protocol there is a specific manual.
Creating a DNP3 Channel
In the Channel Tab, a new channel called "DNP301" is created using the DNP3 protocol with TCP/IP communication, as shown below:
This channel uses the default attributes, as below:
Creation of the Node
The node corresponds to the IED (relé, PLC, UTR, etc.).
Na In ABA Node deve-se criar um novo nodo conforme a figura abaixoyou should create a new node as shown in the figure below:
Após, deve-se acertar os atributos do node, clicando na coluna Primary Station.
Criação dos Pontos do Canal / Nodo
A criação dos pontos é feita de forma similar a criação dos templates, isto é, a maneira mais fácil é criar um ponto qualquer na ABA de pontos, exporta-lo para uma planilha Excel e após, a partir da planilha de pontos da aplicação criar uma planilha Excel mantendo a organização da planilha exportadaAfter, you must hit the node attributes by clicking on the Primary Station column.
Creation of Channel Points / Nodo
The creation of points is done in a similar way to the creation of the templates, that is, the easiest way is to create any point in the points ABA, export it to an Excel spreadsheet and after, from the spreadsheet of points of the application create an Excel spreadsheet keeping the organization of the exported sheet:
TagName | Node | Address |
Datatype | Modifiers | AccessType | Label | Scaling | |||
Tag.SEL_LINHA_01.DJ_52A | Node.SEL_311L_01 | Native | AccessType.Read | None |
No manual do protocolo DNP 3 estão as informações sobre como preencher cada coluna de um ponto. Os pontos BI são de entrada digital In the DNP 3 protocol manual is information on how to fill each column of a point. BI points are digital input (Binary Input), os pontos AI são entradas analógicas, os pontos CRO são saídas digitais AI points are analog inputs, CRO points are digital outputs (Control Relay Output) e os pontos IIN são entradas do tipo Internal Indication do , and IIN points are inputs of the Internal Indication type of DNP3.
Observações:
Para criar um ponto duplo como no caso das seccionadoras, definiu-se a seccionadora como uma variável AnalogInt, e criou-se dois pontos digitais que correspondem ao Bit0 e Bit1 da seccionadora (linhas 10 e 11 da planilha acima);
As variáveis do tipo IIN (linhas 40 e 41) tem endereço fixo, conforme apresentado no manual do DNP3;
Observations:
To create a double point as in the case of the disconnectors, the disconnector was defined as an AnalogInt variable, and two digital points were created that correspond to the Bit0 and Bit1 of the disconnector (rows 10 and 11 of the above worksheet);
The variables of type IIN (lines 40 and 41) have a fixed address, as shown in the DNP3 manual;
To perform an output you must call the routine (Class) AN_TAG method of reversing the value of the output variable:
@Script.Class.AN_Tags.ToggleDigOutput(<tag de saída><out tag>);
Sempre que enviar um comando, é interessante colocar uma mensagem no Sumário de Eventos registrando este comando. Para tal execute a açãoEach time you send a command, it is interesting to put a message in the Event Summary by registering this command. To do this, perform the action:
@Alarm.SystemEvents.AddCustomMessage("MensagemMessage" + txtNome) onde txtNome é o string com o nome da variável comandada.
Criação dos Alarmes
A criação de alarmes, a partir da Aplicação Default, exige que se crie na tabela de Itens de Alarmes uma entrada (Linha) para cada comportamento que deve ser sinalizado. A tabela abaixo mostra o número de entradas que serão criadas em função da situação:
DESCRIÇÃO
LINHAS
CONDITION
GROUPS
OBSERVAÇÕES
txtName) where txtName is the string with the name of the commanded variable.
Creation of Alarms
Creating alarms from the Default Application requires that an input (Line) be created in the Alarm Items table for each behavior that must be flagged. The table below shows the number of entries that will be created depending on the situation:
DESCRIPTION | LINES | condition | GROUPS | OBSERVATIONS |
Flag any change | 1 | Changed | EVENTOS_BIP |
Flag differently 0/1 | 2 | Equal 0 | NOACK_BIP |
Flag differently 0/1 | 2 | Equal 1 | NOACK_BIP |
Analogue with 1 |
Limit |
abnormal) | 1 | HI / LO | HI_NOACK_BIP |
or |
When normal |
- Time |
Normalization |
Analog with 2 |
Limit (HI) | 2 | HI | HI_NOACK_BIP |
When normal |
- Time |
Normalization |
Analog with 2 |
Limit | 2 |
IT | LO_NOACK_BIP |
When normal |
- Time |
Normalization |
Analogue with 4 |
Limits | 4 | HI | HI_NOACK_BIP |
Analogue with 4 |
Limits | 4 |
IT | LO_NOACK_BIP |
Analogue with 4 |
Limits | 4 | HIHI | HIHI_NOACK_BIP |
Analogue with 4 |
Limits | 4 | LOLO | LOLO_NOACK_BIP |
Observações:
Pode-se colocar alarmes de Tags analógicos com dois limites superiores e 2 inferiores.
Quando um dos alarmes está atuado, os Tags são mantidos no Sumário de Alarmes e no de Eventos. Quando os Tags são normalizados, eles saem do Sumário de Alarmes e, no Sumário de Eventos é colocado o horário de sua normalização.
No ActionNET, quando da definição do Sumário de Alarmes, é selecionado o parâmetro "Merge Hi e HIHI" que mantém na lista o alarme de mais importância quando dois alarmes deste tipo estão atuados, isto é, se HIHI está atuado, a linha de HI é inibida e o mesmo ocorre com LO e LOLO.
Há eventos que são armazenados no histórico sempre que ocorre uma mudança de valor. Estes eventos são usados em manobras de equipamentos tais como seccionadora, tap de transformador, etc.
Em tempo de execução, o Sumário de Alarmes apresenta os alarmes que estão atuados no momento.
Já o Sumário de Eventos tem os eventos apresentados em ordem cronológica Eventos analógicos tem seu horário de atuação e normalização sinalizados. Assim, quando um alarme analógico inicia, ele possui apenas o horário de atuação e quando ele encerra, possui os dois horários.
Criação do Histórico de Medidas
Conforme apresentado, na Aplicação Default existe uma tabela (Table1) que é gravada no mínimo a cada minuto e sempre que o tag for alterado. Abaixo é mostrada esta tabela preenchida com todas as variáveis analógicas do bay de linha 01.
Image Removed
Para cada Bay, deve ser repetido procedimento semelhante.
Criação das Telas da Aplicação
Conforme apresentado no capítulo referente a Aplicação Default, já existem nove telas onde oito já estão prontas, ver em "Telas Disponibilizadas".Image Removed
As quatro retas e o texto Proteções são retângulos e TextOutput, respectivamente, que após serem criados foram agrupados, sem nenhum vínculo à tags;
Image Removed Os valores das três variáveis analógicas a direita são TextBox associados aos tags das variáveis: potência ativa, reativa e tensão.
As proteções são checkBox, sendo cada uma associada a um tag do bay de linha. Elas são tipo Output (Binding: Outputonly) o que quer dizer que o usuário nunca faz uma entrada no checkbox;
Image Removed
O desenho do bay de linha foi feito com objetos retângulos, círculos e polígonos (seta) que ao final foram agrupados tornando-se um único objeto:
Image Removed
O disjuntor e a seccionadora são Símbolos criados para a aplicação. A seccionadora apresenta a figura de fechado (retângulo vermelho), aberto (reta verde inclinada) e inválido (# assume letra ?).
O disjuntor fica vermelho quando fechado, verde quando aberto e com a bandeirola vermelha ao lado quando impedido. Um clique tanto sobre o disjuntor como a seccionadora abre a tela de comando:
A bandeirola do símbolo DISJ só é visível quando o tag do disjuntor está Disable, conforme mostra a dinâmica abaixo:
Image Removed
O Disjuntor é um botão com quatro dinâmicas: Um clique sobre ele faz duas ações:
Observations:
You can place analog tag alarms with two upper and lower 2 limits.
When one of the alarms is active, tags are kept in alarm summary and events. When tags are normalized, they come out of the Alarm Summary, and in the Event Summary the time of their normalization is placed.
In ActionNET, when setting the Alarm Summary, the parameter "Merge Hi and HIHI" is selected, which keeps in the list the most important alarm when two alarms of this type are actuated, that is, if HIHI is actuated, the HI line is inhibited and the same occurs with LO and LOLO.
There are events that are stored in the history whenever a value change occurs. These events are used in maneuvers of equipment such as sectioner, transformer tap, etc.
At run time, the Alarm Summary displays the alarms that are currently active.
The Event Summary has the events presented in chronological order Analog events have their time of operation and normalization signaled. Thus, when an analog alarm starts, it has only the time of operation and when it closes, it has both times.
Creation of the Measure History
As shown, in the Default Application there is a table (Table1) that is written at least every minute and whenever the tag is changed. Below is shown this table populated with all analog variables of line bay 01.
Image Added
For each Bay, a similar procedure should be repeated.
Creation of Application Screens
As presented in the chapter on the Default Application, there are already nine screens where eight are already ready, see in "Screens Available".
Home Screen (AN_MainPage)
On the main screen, information from Line 01 was placed, as shown in the figure below:
Image Added
The four lines and the text Protections are rectangles and TextOutput, respectively, which after being created were grouped, with no link to the tags;
Image Added The values of the three analog variables on the right are TextBox associated with the variable tags: active power, reactive power, and voltage.
The protections are checkBox, each of which is associated with a line bay tag. They are type Output (Binding: Outputonly) which means that the user never makes an entry in the checkbox;
Image Added
The line bay drawing was made with rectangle objects, circles, and polygons (arrow) that at the end were grouped together becoming a single object:
Image Added
The circuit breaker and disconnector are symbols created for the application. The sectioner shows the figure of closed (red rectangle), open (slanted green straight) and invalid (# assumes letter ?).
The circuit breaker turns red when closed, green when opened and with the red band on the side when prevented. A click on both the circuit breaker and the disconnector opens the command screen:
The disj symbol band is only visible when the circuit breaker tag is Disable, as shown in the dynamics below:
Image Added
The Circuit Breaker is a button with four dynamics: One click on it does two actions:
Makes the global variable AN_DISJ_SELECTED the circuit breaker selected:
Tag.AN_DISJ_SELECTED. Link=#TagDJ:(Tag.SEL_LINHA_01.CB. DJ). GetName( )
Chama a janela de comandoCalls the command window:
Display.AN_Command.Open()
O mouse sobre o objeto aumenta seu tamanho de 20% e sua opacidade é The mouse over the object increases its size by 20% and its opacity is 0%.
Quando a variável é When the variable is "0", a cor é verde e quando é the color is green and when it is "1" a cor é vermelhathe color is red:
O The "X" são duas linhas agrupadas e possuem uma dinâmica que é só aparecer quando a qualidade do tag é diferente de are two rows grouped and have a dynamic that is only appear when the quality of the tag is different from 192 (192 = qualidade OK quality).
Command Window (AN_Command)
Janela de Comando (AN_Command)Nesta janela existem três TextOutputs com os textos:
Estado
Condição
Comando Alarme
Os botões de ligar e desligar possuem a dinâmica de Mouse clique (MouseLeftButtonDown) associadas aos Scripts MouseLeftButtonDown1 e MouseLeftButtonDown2, respectivamente, que enviam o comando de Ligar e Desligar para o campoIn this window there are three TextOutputs with the texts:
State
Condition
Alarm Command
The on and off buttons have mouse click dynamics associated with mouseleftbuttondown1 and mouseleftbuttondown2 scripts, respectively, which send the On and Off command to the field:
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Nesta pagina:
Scroll ignore | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
On this page: |