Historiador e Registro de dados

O módulo historiador faz o registro de dados automatizado para bancos de dados do tipo SQL e outros. Também se pode usar o módulo de Datasets para armazenar dados em SQL, o módulo Historiador porém tem uma configuração simplificada, com as tabelas de banco de dados sendo criadas automaticamente e uma conexão já pré definida com os gráficos de tendência.

O sistema também pode usar as informações disponíveis na base de dados do historiador, em Scripts dot NET feitos pelo usuário, para obter valores históricos em Tags e mostrá-los em telas gráficas ou para exportar estes valores.

As seções a seguir descrevem como configurar o registro de dados:

n        Adicionando Tags para o Historiador.

n         Configurando Tabelas do Historiador.

n        Provedor do banco de dados Historiador

n        Usando o Sistema PI da OSIsoft(tm)

n        Schema de Tabelas do Historiador.

n        Visualizando Gráficos de Tendência.

n        Personalizando a Obtenção de Amostragens.

n        Objetos runtime do Historiador

Pode-se selecionar qualquer banco de dados SQL, como o Microsoft SQL Server, Oracle, MySQL ou qualquer OLEDB ou banco de dados compatível com ODBC para o armazenamento de dados históricos. Por default o Action.NET utiliza um “engine” de banco de dados SQL embutido (SpinDB), que tem capacidade máxima de 10 GB. Para obter informações sobre como selecionar o banco de dados do historiador, consulte o item Provedor do banco de dados Historiador.

É possível também a utilização do sistema PI OSIsoft (tm), para o armazenamento de dados. Neste caso não há necessidade de fazer qualquer configuração de Historiador para acessar os dados armazenados. Para detalhes sobre o uso do Sistema PI, consulte Usando o Sistema PI da OSIsoft(tm) .

Adicionando Tags para o Historiador

Depois de configurar suas tabelas para o historiador de tags, você pode configurar as tags cujos valores deverão ser registrados pelo historiador.

Para configurar as tags para o historiador:

1.      Vá para Edit > Tags > Historian.

n        Você pode copiar e colar as Tags a partir da aba Objects.

2.      Digite ou selecione as informações, conforme necessário.

Coluna

Descrição

Name

Digite um nome de tag ou clique para selecionar um tag.

DeadBand

Ao usar a opção Save On Change na tabela historiador, a DeadBand é o quanto o valor deve mudar (em EngUnits) para disparar no sistema a gravação do valor no historiador.

Deviation

Ao usar a opção Save On Change na tabela historiador, o desvio é o quanto o valor do Tag deve mudar (em EngUnits) para o sistema armazenar um novo  valor no historiador. Esse valor substitui o intervalo de tempo de registro Time DeadBand .

RateOfChange

Ao usar a opção Save On Change na tabela historiador, o RateOfChange é quanto o valor do Tag deve mudar (em EngUnits) por segundo, para o sistema armazenar um novo valor no historiador. Esse valor substitui o intervalo de tempo de registro Time DeadBand .

HistorianTable

Selecione a tabela que tem as configurações que você deseja usar para periodicidade de registro e por quanto tempo manter valor deste tag

3.      Continue adicionando quantos Tags quantos você precisa.

Outras configurações:

Use Binary Cache: Selecione esta opção para que os dados dos tags do historiador serem armazenados na forma de “blobs” binários ao invés de no formato de dados diretamente acessíveis.

A alteração desta configuração altera o formato de armazenamento dos dados, e os dados já existentes em formato anterior não serão automaticamente convertidos.

 Configurando Tabelas do Historiador

Por default, o banco de dados do Historiador de tags já possui uma tabela configurada. A configuração desta tabela controla quando os valores dos tags devem ser escritos para o historiador e por quanto tempo estes valores devem ficar retidos no historiador. Se você quiser que alguns tags tenham tratamento diferenciado, você deve configurar tabelas adicionais com as definições que necessita e atribuir os tags para alguma destas tabelas. Você também pode editar as configurações da tabela padrão, se achar conveniente.

A configuração da tabela é independente do tipo de banco de dados selecionado para armazenar as informações, conforme descrito em Provedor do banco de dados Historiador.

Em geral, não armazene mais dados do que você precisa. Armazenar uma grande quantidade de dados reduz o desempenho na recuperação de dados. Você deve usar gatilhos e bandas mortas tão amplos quanto possível, para garantir que terá a informação que você realmente precisa, sem sobrecarregar o sistema.

Para configurar uma tabela historiador:

1.      Vá para Edit > Tags > Historiador.

2.      Siga um dos seguintes procedimentos:

n        Para editar uma tabela existente, selecione-a na lista drop-down Tabelas Historiador e clique Config.

n        Para criar uma nova tabela, clique New.

Opção

Descrição

Database

Mostra o nome do banco de dados do Historiador atual.(somente leitura)

Table Name

Digite um nome para a tabela no banco de dados

Auto Create

Selecione para que o sistema crie automaticamente a tabela no banco de dados.

Save on Change

Selecione para armazenar dados na tabela (adicionar uma linha) cada vez que um tag associado à tabela sofrer modificação.

Trigger

Use para registrar dados na tabela cada vez que um tag ou propriedade do tag sofre mudanças. Quando usado com a opção Save on Change, o sistema armazena dados na tabela tanto quando o valor do tag muda como quando ou o valor de Trigger se modifica

Time Deadband (Log TimeSpan)

Entre com o mínimo intervalo de tempo entre gravações. Isto é quanto o sistema deve esperar depois de gerar um registro para um tag antes de gerar um novo registro para o mesmo tag. Use com a opção Save on Change para evitar a geração de registros em demasia na base de dados.

Life Time

Numero de dias em que devem ser retidos os dados históricos. Depois deste tempo, as linhas mais antigas na tabela serão excluídas da base de dados. Para que os dados nunca sejam excluídos deixe este campo vazio ou digite um zero.

Compress

Numero de dias ante de fazer uma compressão dos dados. Os dados comprimidos ficam ainda acessíveis, mas o acesso é mais lento. Para que nunca seja feita compressão deixe este campo vazio ou digite um Zero.

Provedor do banco de dados Historiador

O banco de dados usado para armazenar o Historiador é definido em Edit > Datasets > DBs pelo objeto de conexão à banco de dados com o nome de TagHistorian.

Por default, quando um novo projeto é criado, este registro de nome TagHistorian é definido para usar o banco de dados SQL SpinDB que está embutido dentro do Action.NET

Cuidado:  O banco de dados SQL SpinDB deve ser usado para bancos de dados de até 10 GB. Se a quantidade de tags e periodicidade de salvamentos exigir armazenamento de mais de 10 GB, você deve definir outro sistema de banco de dados SQL para o Historiador. Para definir um outro banco de dados para o Historiador, você só precisa criar uma nova conexão de banco de dados, como explicado em Configurando Conexões de Bancos de dados, e nomeá-la TagHistorian.

Dica:  O sistema não permite nomes duplicados, deste modo para criar uma conexão DB com o nome TagHistorian você deve renomear ou excluir a linha existente usando esse nome.

Usando o Sistema PI da OSIsoft(tm) 

O Action.NET pode usar o Sistema PI OSIsoft como provedor para o Historiador. Neste cenário, não é necessário fazer qualquer configuração adicional. Se o Tag é mapeado para um ponto OSIsoft PI, o sistema irá automaticamente chamar o PI Server para obter dados ao plotar gráficos de tendências ou quaisquer outros métodos de scripts ou de Tela que requeiram informações do Historiador.

O sistema pode funcionar com o Sistema PI e o Historiador embutido, ao mesmo tempo. Quando a informação histórica de um ponto é solicitada, a partir de gráficos de tendências ou scripts, o sistema irá procurar estas informações no módulo Historiador embutido e, se não encontrar, vai tentar encontrar esses dados no servidor PI.

Para obter informações sobre a ligação a sistemas PI, consulte o item Importação e Exportação de projetos.

Schema de Tabelas do Historiador

As tabelas do Historiador contém as seguintes colunas:

n        UTCTimeStamp_Ticks- Data e hora em UTC (GMT) para este registro (em formato 64-bits NET ticks). O valor dessa propriedade é o número de intervalos de 100 nanossegundos (1/10th de um milésimo de segundo) que se passaram desde 00:00, 1 de Janeiro de 0001. Este é um novo padrão de data / hora usado pelo Microsoft dot NET framework..

n        LogType- Coluna auxiliar para mostrar quando a linha foi inserida: 0 = na partida, 1 = como registro normal, 2 = no encerramento do sistema.

n        TagName - Coluna criada automaticamente usando o nome da tag, como título da coluna. Ela armazena o valor do dado usando precisão dupla. Haverá uma coluna destas para cada Tag definido para esta tabela

n        _TagName_Q - Coluna criada automaticamente para a qualidade dos dados, usando a especificação de qualidade OPC.Haverá uma coluna destas para cada Tag definido para esta tabela

Normalmente, você pode associar até 200 tags com cada tabela do historiador, mas esse número é dependente de quantas colunas o banco de dados sendo utilizado permitir. Os Tags devem ser definidos na mesma tabela quando eles têm critérios de gravação, intervalos de tempo, taxas de variação e dinâmica no processo, semelhantes, já que para salvar uma tag na tabela, você precisa salvar a linha inteira.

Visualizando Gráficos de Tendência

Para visualizar gráficos de tendências com informações históricas, você pode usar o objeto de tendência disponível no espaço de Engenharia utilizado para definição de telas ou relatórios. Consulte a seção Configurando a Janela de Tendência (Legacy) para mais informações.

Personalizando a Obtenção de Amostragens

Normalmente o objeto de tendência gráfica chama o servidor Historiador para obter os dados para plotar os gráficos. Em algumas situações, você pode querer substituir essa configuração e definir um código script em dot NET para obtenção dos valores. Isto é usado, por exemplo, para plotar dados calculados para uma receita, ou dados futuros, ou ainda dados de outras tabelas SQL ou qualquer cenário em que haja necessidade de uma personalização na obtenção de dados.

Para esta personalização um método GetSamples deve ser definido, qualquer Classe de scripts, para fazer a obtenção de amostragens. Na aba Edit>Tags>Historian este método deve ser definido na coluna GetSamplesMethod.

O protótipo para este método é:

DataTable GetSamples(string[] tagNames, object startRange, object endRange)

Os parâmetros:

n        Os parâmetros startRange and endRange são do tipo:

l          dotNET DateTimeOffset, quando utilizados para obter tabelas usadas em gráficos de tempo.

l          Double, quando criando dados para gráficos X-Y.

n        O objeto retornado pelo método DataTable deverá ter as seguintes colunas:

l          DateTime: A data e hora da amostragem

l          TagName: O nome do tag utilizado como FieldName para a coluna com o valor do tag em Double.

l          TagName_Q: Coluna opcional com a qualidade do dado na codificação OPC.

Objetos runtime do Historiador

O namespace Historian tem as propriedades e o estado atual do servidor Historiador.

O objeto Historian.Table tem a lista de tabelas definidas no historiador e as propriedades. de cada tabela.

A propriedade de tag, Tag.tagname.Historian, fica habilitada para os tags, se há definição de registro histórian no projeto.

 

Tabela de conteúdo

Índice

Glossário

-Pesquisar-

Voltar