Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Pode-se selecionar qualquer banco de dados SQL, como o
Tip

módulo historiador faz o registro de dados automatizado para bancos de dados do tipo SQL e outros.

Qualquer Bancos de dados

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:"

Historian module makes automated data logging for SQL and other databases.

Any Databases

You can also use the Datasets module to store data in SQL, but the Historian module has a simplified configuration, with database tables being created automatically and an already predefined connection to trend charts.

The system can also use the information available in the historian database, in user-made dot NET scripts, to obtain historical values in Tags and show them on graphical screens or to export these values. The following sections describe how to set up data logging:"

You can select any SQL database, such as 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, SQLite. 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)".

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:

  • Vá para Edit > Tags > Historian

  • Siga um dos seguintes procedimentos:

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

Image Removed
  • Para criar uma nova tabela, clique New.

    • Aparece uma janela para preenchimento das colunas da tabela.

  • Alternativamente pode-se ir direto para Edit > Tags>Historian Tables e preencher diretamente os dados nas colunas.

Image Removed

As colunas a serem preenchidas são explicadas na tabela a seguir:

Opção

Descrição

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.

SaveQuality

Deve ser marcada esta opção para que ao gravar uma amostragem no histórico seja incluído além do valor da tag também a qualidade

GetSampleMethod

Nome de um método de script que será chamado para personalizar os dados antes de sua escrita no histórico, se for necessário. Veja em "Personalizando a Obtenção de Amostragens"

ValueColumnsType

Pode-se sescolher para o armazenamento deo valor os tipos de dados: Double ou Single

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.

Em Edit>Tags>Historian estão as definições das tabelas do historiador.

Na parte superior direita da aba está o nome do Gerenciador de Banco de dados utilizado. Na figura está o SQLite;

Image Removed

Para configurar as tags para o historiador:

  1. Vá para Edit > Tags > Historian.

  2. Clique na lista drop-down Historian Tables e selecione a tabela na qual deseja adicionar tags.

  3. Inicie preenchendo as colunas da tabela com os tags escolhidos

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

  4. 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 para disparar no sistema a gravação do valor no historiador. (veja abaixo Dead Band Type para a definição de como utilizar esta banda morta)

Deviation

Ao usar a opção Save On Change na tabela historiador, o desvio é o quanto o valor do Tag deve mudar 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
eRateOfChange é 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

Deviation DeadBand Type

Pode-se escolher para o valor da Dead Band ser considerado como valor Absolute ou Percentage

Deviation DeadBand Limit

Limite de desvio do valor

  1. Continue adicionando quantos Tags quantos você precisa.

Provedor do banco de dados do 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 SQLite que está disponível com o Action.NET.

Note

Cuidado: O banco de dados SQLite deve ser usado para bancos de dados de portepequeno a médio. Se a quantidade de tags e periodicidade de salvamentos exigir maior robustez e principalmente distribuição em vários discos e e características de gerenciamento cliente/servidor, 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

Info

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:

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

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

  • 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

  • _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 "

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 em 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 é, or any OLEDB or ODBC-compliant database for historical data storage. By default Action.NET the user uses an inline SQL database engine, SQLite. For information about selecting the historian database, see the item "Historian database provider" .

You can also use the PI OSIsoft (tm) system for data storage. In this case there is no need to do any Historian configuration to access the stored data. For details on using the PI System, see "Using osisoft's PI System(tm)".

Configuring Historian Tables

By default, the Tag Historian database already has a table configured. The configuration of this table controls when tag values should be written to the historian and how long these values should be retained in the historian. If you want some tags to be treated differently, you must configure additional tables with the settings you need and assign the tags to any of these tables. You can also edit the default table settings if you find it convenient.

The configuration of the table is independent of the type of database selected to store the information, as described in "Provider of the Historian database."

In general, don't store more data than you need. Storing a large amount of data reduces performance in data recovery. You should use triggers and dead bands as wide as possible to ensure you get the information you really need without overloading the system.

To set up a historian table:

  • Go to Edit > Tags > Historian

  • Follow one of the following:

    • To edit an existing table, select it from the drop-down list Historian Tables and click Config.

Image Added
  • To create a new table, click New York, U..

    • A window appears for filling the columns in the table.

  • Alternatively one can go straight to Edit > Tags>Historian Tables and directly fill in the data in the columns.

Image Added

The columns to be populated are explained in the following table:

Option

Description

Name

Type a name for the table in the database

Auto Create

Select for the system to automatically create the table in the database.

Save on Change

Select to store data in the table (add a row) each time a tag associated with the table changes.

Trigger

Use to record data in the table each time a tag or tag property changes. When used with the Save on Change option, the system stores data in the table both when the tag value changes and when or the Trigger value changes

Time Deadband (TimeSpan Log)

Enter with the minimum interval of time between recordings. This is how much the system should expect after generating a record for a tag before generating a new record for the same tag. Use with save on change to avoid generating too many records in the database.

Life Time

Number of days on which historical data must be retained. After this time, the oldest rows in the table will be deleted from the database. So that the data is never deleted leave this field empty or type a zero.

SaveQuality

This option should be checked so that when recording a sampling in history is included beyond the tag value also the quality

GetSampleMethod

Name of a script method that will be called to customize the data before it is written in history, if necessary. See in "Customizing Sample Retrieval"

ValueColumnsType

You can choose to store the value of the data types: Double or Single

Adding Tags for the Historian

After you set up your tables for the tag historian, you can configure tags whose values must be recorded by the historian.

In Edit>Tags>Historian are the definitions of the historian tables.

In top right of the tab is the name of the Database Manager used. In the figure is the SQLite;

Image Added

To set up tags for the historian:

  1. Go to Edit > Tags > Historian.

  2. Click the Historian Tables drop-down list and select the table to which you want to add tags.

  3. Start by filling the columns in the table with the chosen tags

    • You can copy and paste the Tags from the Objects.

  4. Enter or select the information as needed.

Column

Description

Name

Enter a tag name or click to select a tag.

DeadBand

When using the Save On Change option in the historian table, DeadBand is how much the value must change to trigger the value recording in the historian system. (see dead band type below for setting how to use this dead band)

Deviation

When using the Save On Change option in the historian table, the deviation is how much the tag value should change for the system to store a new value in the historian. This value overrides the Time DeadBand record time interval.

RateOfChange

When using the Save On Change option in the historian table, the
eRateOfChange is how much the tag value should change (in EngUnits) per second, for the system to store a new value in the historian. This value overrides the Time DeadBand record time interval.

HistorianTable

Select the table that has the settings that you want to use for record periodicity and for how long to keep this tag's value

Deviation DeadBand Type

You can choose for the value of the Dead Band to be considered as a Absolute or Percentage

Deviation DeadBand Limit

Value deviation limit

  1. Keep adding as many Tags as you need.

Historian Database Provider

The database used to store the Historian is defined in Edit > Datasets > DBs by the database connection object named TagHistorian.By default, when a new project is created, this TagHistorian name record is defined to use the SQLite database that is available with the Action.NET.

Note

Caution: The SQLite database should be used for small to medium-sized databases. If the number of tags and periodicity of saves requires greater robustness and especially distribution across multiple disks and client/server management characteristics, you must define another SQL database system for the Historian. To define another database for the Historian, you only need to create a new database connection, as explained in "Configuring Database Connections," and naming it TagHistorian

Info

Tip: The system does not allow duplicate names, so to create a DB connection with the TagHistorian name you must rename or delete the existing row using that name.

Using osisoft's PI System(tm)

The Action.NET use the OSIsoft PI System as a provider to the Historian. In this scenario, you do not need to do any additional configuration. If the tag is mapped to an OSIsoft PI point, the system will automatically call the PI Server for data when plotting trend charts or any other scripting or screen methods that require information from the Historian.The system can work with the PI System and the built-in Historian at the same time. When historical information from a point is requested, from trend charts or scripts, the system will search for this information in the built-in Historian module and, if not found, will try to find this data on the PI server. For information about connecting to PI systems, see the item "Import and Export of projects".

Schema of Historian Tables

The Historian tables contain the following columns:

  • UTCTimeStamp_Ticks- Date and time in UTC (GMT) for this record (in 64-bit NET ticks format). The value of this property is the number of 100-nanosecond intervals (1/10th of a millisecond) that have passed since 00:00, January 1, 0001. This is a new date/time pattern used by the Microsoft dot NET framework..

  • LogType- Auxiliary column to show when the row was inserted: 0 = in the starting, 1 = as normal record, 2 = in the system shutdown.

  • TagName - Column created automatically using the tag name, as column title. It stores the value of the data using double precision. There will be a column of these for each tag defined for this table

  • _TagName_Q - Column created automatically for data quality, using opc quality specification. There will be a column of these for each tag defined for this table

Typically, you can associate up to 200 tags with each historian table, but this number is dependent on how many columns the database is being used to allow. Tags must be defined in the same table when they have similar write criteria, time intervals, variation rates, and dynamics in the process, since to save a tag to the table, you need to save the entire row.

Viewing Trend Charts

To view trend charts with historical information, you can use the trend object available in the Engineering space used to define screens or reports. See the "Setting up the Trend Window "

Customizing Sample Retrieval

Typically the graphical trend object calls the Historian server to get the data to plot the charts. In some situations, you may want to override this setting and set a dot NET script code to get the values. This is used, for example, to plot calculated data for a recipe, or future data, or data from other SQL tables or any scenario where customization is needed when retrieving data. For this customization a GetSamples method must be defined in any script class, to take samples. In the Edit>Tags>Historian tab this method should be defined in the GetSamplesMethod column. The prototype for this method is:

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

Os parâmetrosThe parameters:

  • Os parâmetros The startRange and endRange são do tipoparameters are of type:

    • datetimeoffset dotNET DateTimeOffset, quando utilizados para obter tabelas usadas em gráficos de tempo, when used to get tables used in time charts.

    • Double, quando criando dados para gráficos when creating data for X-Y charts.

  • O objeto retornado pelo método DataTable deverá ter as seguintes colunasThe object returned by the DataTable method must have the following columns:

    • DateTime: A data e hora da amostragemThe date and time of sampling

    • TagName: O nome do tag utilizado como FieldName para a coluna com o valor do tag em The name of the tag used as fieldname for the column with the tag value in Double.

    • 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
    • Optional column with data quality in OPC encoding.

Historian runtime objects

The Historian namespace has the properties and current state of the Historian server.

The Historian.Table object has the list of tables defined in the historian and the properties. of each table.

The tag property, Tag.tagname.Historian, fica habilitada para os tags, se há definição de registro histórian no projetois enabled for tags if there is a definition of history record in the project.

Panel

Nesta paginaOn this page:

Table of Contents