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 e Editando Tags.

n        Criando Tipos Customizados (Tag Templates).

n        Criando Níveis (Assets).

n        Criando Categorias.

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.

Coluna

Descrição

Name

Digite um nome para o Tag. O sistema avisará se o nome não é válido mostrando o contorno do campo em cor vermelha.

Nota: Se você editar o nome de um Tag existente, o sistema atualizará automaticamente todas as referências a este nome nos existentes em todo o projeto.

Type

Selecione um dos Tipos de Tags pré-definidos ou utilize um tipo definido pelo usuário (Template). Veja em Criando Tipos Customizados (Tag Templates).

Parameters

Se estiver disponível, configure os parâmetros. Os parâmetros variam com base no tipo do Tag.

Array

Quando este campo não está definido (em branco) o Tag é único. Não é uma matriz.

Ao definir uma matriz com valor N será criada uma matriz de Tags com as  posições de 0 a N.

Por exemplo, ao criar uma matriz de Tags com o numero "5", a matriz é criada a partir de Tag [0] até o Tag [5], o que significa que 6 elementos são criados.

Description

Digite uma descrição para esta tag.

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.

 

Coluna

Descrição

EngUnits

Entre a unidades de engenharia da grandeza de uma medida que você deseja usar para essa tag.

StartValue

Insira um valor inicial para esta tag. Este é o valor com o qual o tag será inicializado quando for feita a primeira execução do sistema em tempo real.

Format

Digite um formato padrão para exibir os dados. Por exemplo:

l      N0-Número, sem casas decimais.

l      N3-número com três casas decimais.

l      X-hexadecimal (suportado apenas para tipos inteiros).

l      C-moeda.

l      Quando configurando a forma de Tela de dados nas telas, é possível definir o formato para cada campo individualmente, mas na maioria das situações, é mais fácil anexar a formatação padrão para a Tag diretamente

Para mais informações, consulte Formatos de Tags.

Retentive

Selecione uma opção para salvamento do valor do Tag e suas propriedades internas ao banco de dados cada vez que o valor muda. Isso mantém o valor quando a aplicação é encerrada e faz com que o valor fique guardado e seja utilizado quando o aplicativo for novamente iniciado. Escolha uma das opções:

l      Nenhum-não retém o valor ou propriedades.

l      ValueOnly-Mantém apenas o valor.

l      Properties-Mantém todas as propriedades, incluindo o valor.

l      Properties Only - Mantém todas as propriedades, mas não o valor

Min

Digite o menor valor que é valido para este objeto

Max

Digite o maior valor que é valido para este objeto

Visibility

Selecione um dos modos de visibilidade de dados através do servidor OPC existente no Action.NET., para os projetos remotos

l      Private—O Tag é visível somente para o projeto local e se par redundante.

l      Protected—O tag é read-only sendo visível no Servidor OPC para projetos remotos e clientes OPC.

l      Public—O Tag é visível no Servidor OPC para projetos remotos e clientes OPC.

Domain

Define o domínio do valor do Tag para todo o projeto ou específico para cada cliente de visualização..

l      ServerO valor do Tag value é o mesmo através de todo o projeto e todos os clientes de visualização remotos. A maioria dos Tags em um projeto devem ser deste tipo.

l      ClientO valor do Tag é local para cada computador executando um cliente de visualização remoto ou cliente web.

l        Pode se usar Tags locais para conter dados temporários específicos para um cliente individualmente. A utilização mais comum para tags locais é quando dados temporários são necessários para o gerenciamento de telas na interface do usuário. Os tags locais poderão ter valores diferentes em cada computador cliente.

Comment

Digite aqui opcionalmente qualquer comentário sobre este tag

[Outras colunas]

Para a definição de outras colunas que estão disponíveis na maioria das tabelas veja Definição de colunas comuns.

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

Tipo deTag

Tipo em .Net

Intervalo de valores

Digital

System.Int32

0 até 1

Integer

System.Int32

2,147,483,648 até 2,147,483,647

Long

System.Int64

2,147,483,648 até 2,147,483,647

Double

System.Double

-1.79769313486231570E+308 até -4.94065645841246544E-324 para valores negativos; 4.94065645841246544E-324 até 1.79769313486231570E+308 para valores positivos

Decimal

System.Decimal

0 até +/-79,228,162,514,264,337,593,543,950,335 sem ponto decimal ; 0 até +/-7.9228162514264337593543950335 com 28 casas para a direita do ponto decimal; Menor não zero é +/-0.000

Text

System.String

0 to aproximadamente 2 bilhoes de caracteres Unicode

Timer

System.Int32

Mesmo intervalo dos Inteiros, mas com parametros embutidos para manipular temporizadores

DateTime

System.DateTimeOffset

de 12:00:00 midnight, January 1, 0001 to 11:59:59 P.M., December 31, 9999

TimeSpan

TimeSpan

Data Interval, em Days, Hours, Minutes, Seconds and Milliseconds, onde cada uma das propriedades pode conter um valor Double

Guid

Guid

GUID Identificador padrão unico

DataTable

System.Data.DataTable

Mantém uma DataTable na memória

Image

System.Byte[]

Pode guardar um arquivo de Imagem ou um arquivo de conteúdo binário. O tamanho máximo do vetor é o de um numero Long

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:

TagsAseetsAndTemplates00001.bmp

o valor alterna entre 0 e 1.

n        Pulse: O tag muda para 0, em seguida, muda imediatamente a 1.

TagsAseetsAndTemplates00002.bmp

n        DelayOff:

TagsAseetsAndTemplates00003.bmp

  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.

TagsAseetsAndTemplates00004.bmp

 

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.

Exemplos de formatos numéricos

Formato

Descrição

N0

Numero sem casas decimais

N3

Numero com 3 casas decimais

X

Hexadecimal (suportado apenas para números inteiros)

C

Moeda

Veja a tabela para exemplos de formatos para datas e horários.

Exemplos de formatos para datas e horários

Formato

Descrição

T (only)

Padrão de horário longo (equivalente à HH:mm:ss).

d (only)

Padrão de horário abreviado (equivalente à M/d/yyyy (month/day/year) para en-us).

dd

Mostrar o dia do mês como um número de 01 ATÉ 31.

ddd

Mostrar o nome abreviado do dia da semana.

dddd

Mostrar o nome completo do dia da semana.

MM

Mostrar o mês como um número de 01 ATÉ 12.

MMM

Mostrar o nome abreviado do mês

yy

Mostrar o ano como um número de dois dígitos.

yyyy

Mostrar o ano como um número de quatro dígitos.

hh

Mostrar a hora como um número de 00 ATÉ 12.

HH

Mostrar a hora como um número de 00 ATÉ 23

mm

Mostrar o minuto como um número de 00 ATÉ 59.

ss

Mostrar os segundos como um número de 00 ATÉ 59.

fff

Mostrar os milissegundos como um número de 000 ATÉ 999.

tt

Mostrar os designadores A.M. / P.M.

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.

 

Coluna

Descrição

Name

Digite um nome para o atributo. O sistema fará om que você saiba se o nome não é válido. pelo contorna da célula em vermelho.

Type

Selecione o tipo de variável. Escolha um dos Tipos de Tags pré-definidos ou um dos Templates de tag previamente definidos.

Parameters

Se estiver disponível, configure os parâmetros. Os parâmetros variam conforme o tipo de Tag.

Array

Se você precisa de uma matriz, defina último índice de matriz. Por exemplo, se você digitar 5, o sistema cria um Tag com seis elementos (0-5).

Description

Digite uma descrição para este atributo.

[Outras colunas]

As colunas na tabela Templates tem o mesmo uso das colunas da tabela Os membros têm o mesmo uso das colunas em EditTagsObjects.

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.

TagsAseetsAndTemplates00001.png 

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.

TagsAseetsAndTemplates00002.png 

 

TagsAseetsAndTemplates00003.png 

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

 

TagsAseetsAndTemplates00004.png 

 

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.

TagsAseetsAndTemplates00005.bmp

 

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).

Classe tipo

Descrição

TagObj

Classe Base para todos os objetos Tags.

Digital

Propriedades em tempo de execução para as tags do Tipo Digital.

Analog

Propriedades em tempo de execução para todos os tag do tipo analógico.

AnalogInt

Propriedades em tempo de execução para as tags do tipo inteiro. 

AnalogLong

Propriedades em tempo de execução para as tags do tipo long.

AnalogDecimal

Propriedades em tempo de execução para as tags do tipo decimal.

AnalogDouble

Propriedades em tempo de execução para as tags do tipo double. 

Text

Propriedades em tempo de execução para as tags do tipo texto.

TDateTime

Propriedades em tempo de execução para as tags do tipo DateTime..

Timer

Propriedades em tempo de execução para as tags de tipo de temporizador.

TTimeSpan

Propriedades em tempo de execução para as tags do tipo TimeSpan.

Reference

Propriedades em tempo de execução para as tags de tipo Referência.

TDataTable

Propriedades em tempo de execução para as tags do tipo DataTable.

UserType

Propriedades em tempo de execução para as tags 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.

Tabela de conteúdo

Índice

Glossário

-Pesquisar-

Voltar