Tags, Níveis e Tipos
Na interface de Engenharia do Action.NET e ao longo deste manual, o termo Tag refere-se a qualquer variável na base de dados, com seus atributos em tempo real ou com seus dados históricos associados. Os Tags geralmente são mapeados em registros ou pontos em IEDs, ou PLCs ou outro equipamento físico de um processo de produção. Um Tag também pode ser conectado a entradas em bancos de dados SQL, fontes de dados externos, ou um valor calculado internamente.
As seções a seguir descrevem como configurar tags:
n Criando Tipos Customizados (Tag Templates).
Criando e Editando Tags
Tags são as variáveis do processo para a sua aplicação. Use os tags e suas propriedades para criar o modelo de dados para o seu processo. Você pode estender os tipos de tags disponíveis e criar novos tipos para atender às suas necessidades de aplicação, tais como dados de máquinas, estado dos equipamentos, medições de grandezas elétricas, ou a representação de todos os atributos de conjuntos hierárquicos ou ativos (Níveis ou Assets) em sua planta.
Para criar e editar as tags:
1. Vá para Edit > Tags > Objects .
l Você também pode criar um Tag em qualquer lugar no espaço de trabalho do Action.NET clicando New Tag na barra de ferramentas.
DICA - Como qualquer outra tabela de configuração, você pode também importar arquivos CSV ou conteúdos copiar / colar diretamente de uma planilha do Excel ou outras aplicações. Verifique se o capítulo Visão geral da Área de Trabalho para obter informações sobre a funcionalidade DataGrid para edição de tabelas.
2. Digite ou selecione as informações, conforme necessário, na linha de inserção da tabela.
|
3. Para adicionar ou remover uma coluna, clique com o botão direito na área de cabeçalho da coluna e marque ou desmarque as colunas que serão visíveis.
|
4. Continue adicionando quantos Tags quantos necessitar
Dica: No Action.NET você pode alterar o nome de um tag a qualquer momento, deste modo, é muto fácil criar um novo Tag clicando com o mouse na coluna Name da linha de inserção e teclar repetidamente Espaço e Enter. O sistema criará um novo Tag do mesmo tipo do ultimo criado. Você pode também usar o mouse na linha de inserção para selecionar o Tipo, pode clicar com o mouse no cabeçalho de qualquer outra coluna que também será criado um tag com um nome por default formado pelo tipo e seguido de um numero sequencial.
Tipos de Tags pré-definidos
A tabela a seguir apresenta os tipos de dados padrão, no Action.NET, seu correspondente em dot Net, e o intervalo de valores que cada tipo é capaz de assumir.
Tipo
|
de dados padrão
NOTA - O tipo Decimal foi criado em. NET para permitir o cálculo com mais precisão do que o tipo Double, 24 de quatro dígitos contra 14, o que é necessário quando se lida com números altos e nenhum arredondamento permitido, como o cálculo de dinheiro e algumas medidas de engenharia que precisam ser muito grandes e muito precisas, porém as operações matemáticas em um Decimal pode ser 40 vezes mais lentas, do que um Double. Então, use o tipo Decimal apenas nos casos em que a precisão dupla não é suficiente.
Temporizador (Timer)
É um valor inteiro (Built-In) que é gerado automaticamente pelo sistema para implementar vários tipos do temporizador:
n SquareWave:
o valor alterna entre 0 e 1.
n Pulse: O tag muda para 0, em seguida, muda imediatamente a 1.
n DelayOff:
O Tag se comporta como um PLC Timer Off. Durante o tempo de execução, se você definir o tag com algum valor diferente do startValue, o Tag vai segurar este valor pelo período de tempo especificado no parâmetro Intervalo. Então o Tag volta ao seu startValue após o período de tempo (Intervalo)
n Comparer: O tag assume o valor como 1 após o intervalo comparador especificado, e depois volta a zero à meia-noite.
n Para a onda quadrada, pulso e comparador, se você definir a tag startValue, a tag alterna entre 0 e startValue (em vez de 0 e 1).
Tags de Referência
Tags com tipo Referência permitem o endereçamento dinâmico das variáveis.
O conceito é mais próximo ao conceito de Referências em programação dot NET, do que o conceito dos antigos ponteiros C + +. A razão é que um Tag de Referência, como as referências NET, são Tipificados. O que significa que, quando da criação de um Tag de Referência, você precisa definir a que Tipo de tag ou de Templates de Tag a Referente estará apontando. Como as referências dot NET ao contrário dos ponteiros de C + + um Tag de Referência não pode ser definido para apontar para áreas inválidas de memória que poderiam causar erros na aplicação.
O tipo do tag que o Tag de Referência aponta é definido na coluna parâmetros da tabela de Objetos.
O fato de que ele é uma referência tipificada traz vantagens tanto em ambiente de Engenharia como no de “Run Time”. Em ambiente de Engenharia permite a facilidade de Intellisense para navegar diretamente aos membros de um Template, quando a referência aponta para um Template; No tempo de execução permite a validação de strings de caracteres.
Todos os Tags de Referência tem um atributo adicional em tempo de execução que é o link (elo), que contém, em tempo de execução o Tag para o qual a Referência está apontando.
Essencialmente a propriedade da ligação é uma propriedade do tipo string que deve receber o nome do tag de destino antes que se use o tag de Referência. Você pode atribuir uma string diretamente ou usando uma expressão de strings, mas a melhor maneira de definir a propriedade “Link” é de usar o método getName (), que irá criar a string com o nome do Tag atual. Dessa forma, você pode renomear um tag sem ter que procurar strings de caracteres fixos em códigos de scripts. Esta forma também permite que o utilitário de Referência Cruzada, mostre os nomes de tags ‘linked” (ligados).
Um exemplo de projeto de código usando Tags de Referencia é mostrado a seguir.
Exemplos
@Tag.Reference1.Link = @ Tag.TagName.GetName () (VB)
@Tag.Reference1.Link = @ Tag.TagName.GetName (); (C #)
@Tag.Reference1.Link = "Tag.TagName" (C #)
@Tag.Reference1.Link = "Tag.TagNa" + "me"; (C #)
NOTA - A razão para usar o métodos GetName () em vez de usar diretamente os strings constantes, mesmo que seja uma sintaxe permitida, é que quando se utiliza o método getName () você mantém os benefícios de Referência-Cruzada e Refatoração, que não seria possível se você usasse atribuições diretas de cadeias de caracteres.
Formatos de Tags
Para conhecer melhor os formatos numéricos válidos consulte Standard Numeric Format Strings (http://msdn.microsoft.com/en-us/library/dwhawy9k%28v=VS.90%29.aspx). Por exemplo: N1 (numero com 1 casa decimal).
Para formatos válidos de datas ou horários, consulte Standard Date and Time Format Strings (http://msdn.microsoft.com/en-us/library/az4se3k1%28v=VS.90%29.aspx). Por exemplo: d (spara o formato data abreviada).
Para uma discussão mais aprofundada sobre strings de Formatos consulte Formatting Types (http://msdn.microsoft.com/en-us/library/fbxft59x%28v=VS.90%29.aspx).
Veja a tabela a seguir para exemplos de formatos.
|
Veja a tabela para exemplos de formatos para datas e horários.
Criando Tipos Customizados (Tag Templates)
Além dos tipos nativos (buil-in) simples pode se ter outros tipos definidos pelo usuário para implementar modelos de dados mais complexos, Estes tipos criados pelo usuário são denominados Templates, como protótipos a serem utilizados na aplicação.
Por exemplo pode-se criar agrupamentos de tags de tipos simples, de modo a criar-se tags que sejam correspondentes não apenas a um ponto monitorado mas a grupos de pontos que constituem os dados de um objeto real, como por exemplo um disjuntor, ou um “bay” de uma subestação, como um alimentador. Para esta definição se usa a aba Templates no espaço de trabalho dos Tags.
Para criar um Tag Template:
1. Vá para Edit > Tags > Templates. .
2. Clique New .
n Aparece a janela Create New Tag Template.
3. No campo New type name, digite um nome para o novo tipo de tag. Em Description, digite uma descrição do tag. Clique em OK.
4. A aba Templates é mostrada com o nome do novo Template na parte superior da aba. O grid abaixo será limpo para a entrada dos tags que vão compor este Tipo.
n Clique na linha de inserção para criar um novo atributo para esse Template de tag.
5. Digite ou selecione as informações, conforme necessário.
|
n Para excluir um Template, selecione-o na lista drop-down na parte superior da aba, “User custom type” e clique em Del .
n Na aba Objects para os novos tags ou os já existentes, você pode a partir de então usar este novo Template escolhendo-o na coluna Type.
Utilizando Tipos Customizados (Templates)
Veja no exemplo a seguir: é mostrado um Tipo Customizado ou Template denominado AN_Correntes, para agrupar em um único objeto as três fases da corrente mais o percentual máximo de desequilíbrio de fase, e um tag digital que será utilizado para indicar alarme se o desequilíbrio calculado for superior a este máximo.
Veja outro Tipo: No caso os tags necessários para a monitoração e comando de um disjuntor, com o nome AN_Disjuntor:
n Inclui um tag simples analogInt, que conterá a codificação dos estados possíveis do disjuntor (de dois contatos);
n Dois tags que terão como atributos os endereços para o envio de comandos de abrir e fechar o disjuntor.
No parâmetro do tag de sinalização DJ, há a referência a um Dicionário (Enumerator dictionary) que vai conter os textos a serem mostrados para cada estado de DJ (Para criar dicionários veja em Dicionários e Localização).
Veja agora mais um tipo, no caso um que define um objeto Alimentador, com sua medição e um disjuntor com nome AN_Alimentador. Ele foi criado utilizando os tipos AN_Correntes e AN_Disjuntor já mostrados acima. Portanto foi criado aqui um novo Template composto por um agrupamento de pontos que pode servir para monitorar inteiramente um objeto real Alimentador., que usa como atributos outros Templates
Agora para se criar um objeto Alimentador, deve-se ir para Objetos, e inserir um novo tag, por exemplo: SE_DEMO_ALIM_01 e escolher na lista de tipos o AN_Alimentador. Com este procedimento todos os tags para o disjuntor e a medição serão criados automaticamente. Os nomes dos tags terão os nomes dos objetos de tipo constituintes como:
SE_DEMO_ALIM_01.Correntes.AMP_A
SE_DEMO_ALIM_01.Correntes.AMP_B
SE_DEMO_ALIM_01.Disjuntor.DJ
SE_DEMO_ALIM_01.Disjuntor.DJ_L
Criando Níveis (Assets)
Se você tiver a versão Enterprise do Action.NET os Níveis ou (Assets) permitem configurar metadados adicionais para o seu projeto. Por exemplo, você pode organizar os objetos em seu projeto, tais como Tags, Devices e Alarmes, em uma hierarquia. Isto permite-lhe agrupar Tags que estão relacionados entre si.
Nas concessionárias de energia, usa-se, geralmente, para se identificar um “bay” a subdivisão do sistema elétrico em Regionais, Subestações e Setores de tensão. Os objetos níveis existem justamente para esta definição hierárquica.A hierarquia pode refletir coisas como, UHEs, Subestações, Setores de tensão.
Define-se na aba Níveis (Assets) do espaço de trabalho dos Tags
Para criar Níveis (Assets):
1. Vá para Edit > Tags > Assets.
2. Botão direito do mouse no nome do projeto e selecione New Level
3. Digite um nome para o nível.
4. Clique com o Botão direito do mouse o novo nível e selecione Insert Asset .
n A janela Selecionar objeto é exibida, com todos os objetos, por tipo, no lado esquerdo.
5. Selecione o tipo de objeto a partir do lado esquerdo e do objeto que você deseja a partir do lado direito.
6. Clique em OK.
n O objeto torna-se um filho do nível selecionado.
7. Continue adicionando níveis filho ou irmão e inserção de ativos, conforme a necessidade.
n Se necessário, clique com o botão direito um nível para renomear ou apagar, ou clique com o botão direito em um Nível para excluí-lo.
8. Na aba Objetos, para Tags novos ou já existentes, selecione o novo nível na coluna Level.
Exemplo do uso de Níveis
No exemplo da figura a seguir há, como primeiro nível as UHEs AGV, ILS, COS, etc. que pertencem ao projeto DEMO, e como segundo nível da UHE ILS o setor de máquinas ILS_UHE. Ao se cadastrar os tags, no campo nível (Level) deve-se preencher com um destes níveis ao qual o tag pertence.
Uma vez criado, o Nível ficará disponível na lista de existentes na coluna Level (Nível) da aba Objeto, para a criação de Tags.
Criando Categorias
Se você tiver a versão Enterprise do Action.NET, você pode criar categorias de dados, definidas pelo usuário, que você pode usar como metadados para tags. As categorias são úteis para filtragem, tanto no ambiente de Engenharia como em tempo de execução.
Para criar categorias:
1. Vá para Run > Dictionaries > Categories .
2. Digite ou edite o nome e a descrição para a categoria.
3. Continue adicionando tantas categorias como você precisa.
4. Na abas Tag -> Objetos, para Tags novos ou já existentes, selecione a nova categoria na coluna Categoria. Outros elementos do projeto também podem usar categorias para organização do projeto.
Para um exemplo do uso de Categorias veja Dicionário de Categorias.
Objetos Tags em tempo de execução
Tag Namespace
Todas as variáveis do projeto em tempo real, ou tags do projeto como eles geralmente são referidas no contexto de automação de processos, criados na tabela de Objetos Tags , estão disponíveis para os módulos de tempo de execução como objetos dot NET no Namespace Tag.
Todos os tipos buil-in para Tags, compartilham um conjunto comum de propriedades e métodos definidos na classe base TagObj . Os Tags criados a partir de Templates definidos pelo usuário, são implementados pela classe base UserType. Veja em Criando Tipos Customizados (Tag Templates).
|
Veja em http://www.spinengenharia.com.br/help/an-2014/runtime/index.html para uma referência completa sobre programação usando objetos em de tempo de execução.