- Created by Jose Porto, last modified on Dec 30, 2020
- Translations
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 7 Next »
Tags, Níveis e Tipos
Na interface de Engenharia do Action.NET e ao longo deste manual, o termo Tag refere-se a um ponto (variável) qualquer na base de dados, com suas propriedades fixas, 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.
Criando e Editando Tags
Tags são as variáveis do processo que é supervisionado em uma aplicação Action.NET.
Use os tags e suas propriedades para criar o modelo de dados para o seu processo. Você pode criar tags e atribuir-lhes tipos nativos como integer, digital, etc ou criar novos tipos para atender às suas necessidades de aplicação, estendendo os tipos de tags disponíveis. Novos tipos são usados para modelar conjuntos de dados 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 os tags:
Vá para Edit > Tags > Objects .
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.
Digite ou selecione as informações, conforme necessário, na linha de inserção da tabela.
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.
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.
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. |
LockState | |
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. |
Description | Digite uma descrição para esta tag. |
Conteudo | Descrição |
---|---|
Units | Entre com a sigla da unidade 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:
|
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:
|
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
|
Domain | Define o domínio do valor do Tag para todo o projeto ou específico para cada cliente de visualização..
|
ReadSecurity | Permite definir quais permissões deve ter o usuário para poder ler os conteúdos deste tag. Deixando vazio todos os usuários tem permissão. |
WriteSecurity | Permite definir quais permissões deve ter o usuário para poder escrever neste tag. Deixando vazio todos os usuários tem permissão. |
ScaleMax | Maximo valor de escala |
ScaleMin | Minimo valor de escala |
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 "Descrição de colunas comuns" na pagina 73. |
Continue adicionando quantos Tags quantos necessitar
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é‐definidosA 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
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 | 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 |
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 |
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:
SquareWave: o valor alterna entre 0 e 1.
Pulse: O tag muda para 0, em seguida, muda imediatamente a 1.
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)
Comparer: O tag assume o valor como 1 após o intervalo comparador especificado, e depois volta a zero à meia-noite.
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 (built-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:
Vá para Edit > Tags > Templates
Clique New .
Aparece a janela Create New Custom Type.
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.
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.
Clique na linha de inserção para criar um novo atributo para esse Template de tag.
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" na pagina 94 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 Objects. Os membros têm o mesmo uso das colunas em EditTagsObjects. |
Para excluir um Template, selecione-o na lista drop-down na parte superior da aba, "User custom type" e clique em Del.
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_Currents, 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:
Inclui um tag DJ simples Integer, que conterá a codificação dos estados possíveis do disjuntor (de dois contatos);
Dois tags que terão como atributos os endereços para o envio de comandos de abrir e fechar o disjuntor (CML e CMD)
O tag PCOND utilizado como pré-condição para permitir comandos;
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_Current 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.MED.AMP_A
SE_DEMO_ALIM_01.MED.AMP_B
SE_DEMO_ALIM_01.STA.DJ
SE_DEMO_ALIM_01.STA.DJ_L
Nota: Nas tabelas de Objects e de Templates, quando se clica sobre a coluna Type aparece um menu como o mostrado na figura abaixo. Ele permite operações sobre as linhas dos objects e também a navegação para a definição do template no caso de tipos customizados.
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 coleções 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):
Vá para Edit > Tags > Assets.
Clique com Botão direito do mouse em Elements e selecione New Level
Aparece uma nova linha de nível. Digite um nome para o nível.
Clique com o Botão direito do mouse no novo nível e selecione Insert Asset .
A janela Selecionar objeto é exibida, com todos os objetos, por tipo, no lado esquerdo.
Selecione o tipo de objeto a partir do lado esquerdo e do objeto que você deseja a partir do lado direito.
Clique em OK.
O objeto torna-se um filho do nível selecionado.
Continue adicionando níveis filho ou irmão e inserção de ativos, conforme a necessidade.
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.
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 níveis(Assets) existentes na coluna Level (Nível) da aba Objeto, para a criação de Tags.
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)" na pagina 97.
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. |
Integer | Propriedades em tempo de execução para as tags do tipo inteiro. |
Long | Propriedades em tempo de execução para as tags do tipo long. |
Decimal | Propriedades em tempo de execução para as tags do tipo decimal. |
Double | 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-2016/runtime/index.html para uma referência completa sobre programação usando objetos em de tempo de execução.
Nesta pagina:
- No labels