|
<< Clique para Mostrar o Sumário >>
Exemplo de Leitura de Dados de um Energy Recorder |
Cada Energy Data Recorder possui um handle, uma espécie de ponteiro, que aponta para a estrutura. Cada medidor possui um número limitado de Data Recorders que podem armazenar qualquer variável, tais como tensão, corrente ou energia, entre outras. Neste exemplo, vamos assumir que o Data Recorder 1 contém os valores de energia necessários. O próximo passo é criar um Tag Bloco mapeando cada coluna do registro de dados para um Elemento. Neste exemplo, para um medidor 8500, o handle para o Data Recorder 1 é F80h. Para iniciar a leitura, realize os procedimentos a seguir.
1.Associe uma estrutura interna à tabela a ser lida e inicialize esta estrutura.
2.Descubra a posição de log atual.
3.Defina o registro inicial para leitura.
4.Habilite a varredura do Tag Bloco.
Esta aplicação deve executar os passos a seguir, por script.
1.Escrever o valor F80h no Tag X.4.2.0. Esta escrita associa a estrutura zero (parâmetro N4 igual a zero) ao handle F80h.
2.Escrever o valor 28h no Tag X.4.3.0, valor padrão para Table Pointer Method.
3.Escrever o valor 10 no Tag X.4.5.0 para trazer, neste exemplo, 10 registros a cada operação de leitura ou varredura.
4.Ler o Tag X.4.4.0, que retorna a posição atual do log.
Assumindo por exemplo que o Data Register 1 grave registros novos a cada 5 (cinco) minutos, é necessário calcular o número de registros a serem lidos, como nos exemplos da tabela a seguir.
Exemplos de registros
Ponteiro |
Horário |
|---|---|
1000 |
01/01/2010 00:00 |
1001 |
01/01/2010 00:05 |
1002 |
01/01/2010 00:10 |
1003 |
01/01/2010 00:15 |
1004 |
01/01/2010 00:20 |
1005 |
01/01/2010 00:25 |
... |
... |
1400 |
02/01/2010 09:20 |
1401 |
02/01/2010 09:25 |
1402 |
02/01/2010 09:30 |
1403 |
02/01/2010 09:35 |
1404 |
02/01/2010 09:40 |
Ler o valor do Tag X.4.4.0 retorna a posição atual do ponteiro. Neste exemplo corresponde à posição 1404, que é o último registro do medidor, 02/01/2010 09:40.
Para ler o dia anterior, deve-se calcular quantos registros retornam. Entre o último registro do medidor, 02/01/2010 09:40, e a data inicial, 01/01/2010 00:00, há 2020 minutos, ou seja, 1 (um) dia, 9 (nove) horas e 40 minutos. A cada 5 (cinco) minutos tem-se 1 (um) registro, portanto deve-se retornar 404 registros. Logo, para ler do medidor registros a partir de 01/01/2010 00:00, deve-se escrever no Tag X.4.0.0 o valor 1000. Após calcular a posição do registro inicial, execute os passos a seguir.
1.Escreva o valor calculado, 1000 para este exemplo, da posição do registro inicial no Tag X.4.0.0.
2.Habilite a varredura do Tag Bloco X.3.F80h.0.
Durante esta varredura, a cada vez que um novo Bloco é coletado de um medidor, são retornados 10 registros e o valor do registro inicial retornado pelo Tag X.4.0.0 é incrementado em 10 unidades, conforme o valor escrito no Tag X.4.5.0. A aplicação de exemplo está disponível no artigo Aplicação Exemplo - Driver Power Measurement ION do Elipse Knowledgebase.