|
<< Clique para Mostrar o Sumário >>
Leitura de Variáveis em Batelada |
Este Driver permite ler blocos de dados de histórico acumulados em bateladas na memória. Um equipamento armazena N amostras de M variáveis de uma batelada em uma área de memória e, ao final desta batelada, incrementa uma variável BN e configura uma variável I com o intervalo entre amostras, em milissegundos. Uma variável Flag é configurada com o valor 1 (um) sempre que um equipamento está realizando amostragens e configurada com o valor 0 (zero) sempre que uma batelada está pronta para leitura. O mapa de memória mostrado a seguir corresponde às variáveis N igual a 100 e M igual a 8 (oito). Todas as variáveis são registros normais de um equipamento, ou seja, inteiros de 2 (dois) bytes.
000: Flag (1: Batch is not ready or 0: Batch is ready)
001: BN (Batch number)
002: I
003: M
004: N
First sample
005: V1, V2, V3, V4, V5, V6, V7, V8
Second sample
013: V1, V2, V3, V4, V5, V6, V7, V8
...
...
...
Last sample
797: V1, V2, V3, V4, V5, V6, V7, V8
A leitura e monitoramento de um histórico de um equipamento é realizada usando um Tag com o parâmetro B2 igual a 100, conforme a tabela a seguir. O número de Elementos deste Tag Bloco é igual ao número de variáveis lidas em cada registro. Este Tag só retorna dados caso existam bateladas para ler e se a variável Flag está configurada em 0 (zero). Bateladas que já estão na memória no momento da primeira leitura deste Tag, ou da primeira varredura após a inicialização de uma aplicação, são consideradas como já lidas e somente novas bateladas são lidas.
B1 |
Endereço de um equipamento na rede, entre 1 (um) e 63 |
B2 |
100 |
B3 |
Endereço de início de um bloco de dados |
B4 |
Este parâmetro deve ser usado apenas para tipos de dados Word. Os valores possíveis são 0: Inteiro sem sinal entre 0 (zero) e 65536 ou 1: Inteiro com sinal entre -32767 e 32767. Para outros tipos de dados este parâmetro não é usado e pode ser deixado em 0 (zero) |
A cada varredura deste Tag, este Driver deve monitorar a variável BN (número da batelada) e, se detectar uma mudança no valor, deve verificar se a variável Flag está configurada com o valor 0 (zero). Se afirmativo, deve transferir o histórico desta batelada para a aplicação, considerando como hora inicial a hora atual menos o resultado de (N × I) - 1, em milissegundos, e acrescentar I milissegundos a cada nova amostra.
Os valores lidos de cada batelada são retornados por este Driver para uma aplicação como uma lista de eventos, gerando uma sucessão de eventos OnRead deste Tag. Para cada evento OnRead, os Elementos deste Tag contêm os valores referentes a um registro específico de uma batelada. Pode-se utilizar um script nestes eventos para executar um método WriteRecord do objeto Histórico associado, armazenando os blocos lidos um a um.