Modo de Blocos de Dados com Aquisição Simultânea

<< Clique para Mostrar o Sumário >>

 

Modo de Blocos de Dados com Aquisição Simultânea

Neste modo de trabalho, pode-se realizar a leitura de variáveis de tabelas decimais com estampa de tempo quando se tem um conjunto de variáveis armazenadas simultaneamente. Logo, cada conjunto de valores com sua informação de tempo associada formam uma estrutura, que é repetida diversas vezes, formando assim uma tabela. Cada estrutura deve estar no formato descrito a seguir.

Dado 1 - HHMMSS  (Exemplo: 19:02 e 34 segundos são colocados como 190234)
Dado 2 - DDMMAA  (Exemplo: 18 de fevereiro de 1998 é colocado como 180298)
Dado 3 - valor 1
Dado 4 - valor 2
(...)
Dado N - valor N - 2

 

O tamanho máximo permitido para uma tabela é de 255 operandos inteiros, ou 1020 bytes ao todo.

Por exemplo, em uma tabela de 255 posições, deseja-se armazenar várias leituras de cinco variáveis analógicas com a estampa de tempo. Logo, a tabela após preenchida tem a configuração da tabela a seguir, supondo que a data atual é 18/02/1998, 9:00:00, com aquisições de minuto em minuto.

Exemplo de estrutura de dados com estampa de tempo

Posição na Tabela

Valor

Posição na Tabela

Valor

Posição na Tabela

Valor

0

090000

7

090100

14

090200

1

180298

8

180298

15

180298

2

Dado

9

Dado

16

Dado

3

Dado

10

Dado

17

Dado

4

Dado

11

Dado

18

Dado

5

Dado

12

Dado

19

Dado

6

Dado

13

Dado

20

Dado

 

E assim por diante, até preencher a tabela.

 

NOTA

Como tem-se apenas dois dígitos para o ano, este Driver está preparado para funcionamento até o ano de 2098.

 

Para o controle de acesso à tabela, existem quatro bits de uma memória auxiliar no CLP:

BIT 0 (pede_permissao_de_leitura): Executa uma requisição de acesso à tabela para o CLP

BIT 1 (leitura_permitida): Verifica se a requisição foi aceita

BIT 2 (limpa): Este Driver escreve o valor 1 (um) neste bit e o CLP se encarrega de zerar a tabela e voltar este bit para 0 (zero)

BIT 3 (tabela_zerada): Este bit informa se a tabela está zerada

 

Para a leitura dos dados armazenados, deve-se utilizar o Tag Bloco com o parâmetro B2 igual a 6000, onde o parâmetro B3 indica a posição inicial da tabela e o parâmetro B4 indica o endereço do byte contendo os bits auxiliares descritos anteriormente.

Na leitura, caso exista mais de um conjunto de valores ou estruturas na tabela, este Driver devolve uma lista de valores para a aplicação da Elipse Software, como é o caso do exemplo anterior. A leitura de estruturas prossegue até que este Driver encontre valores nulos nos primeiros dois campos de data e hora, indicando o fim da tabela, ou até que ultrapasse o limite de 255 operandos.

A utilização dos recursos do exemplo anterior está prevista somente para a utilização com blocos, logo no caso de apenas uma variável, crie um bloco de apenas uma variável.

 

Sequência de Passos Executados por este Driver

1.Verifica o bit 3 (três, tabela zerada). Se estiver em 1 (um), sai ou prossegue em caso contrário.

2.Escreve 1 (um) no bit 0 (zero, pede permissão).

3.Verifica o bit 1 (um). Se estiver em 1 (um), prossegue ou verifica mais uma vez em caso contrário. Persistindo a não autorização, sai. Neste caso, o CLP deve tratar a requisição pendente, voltando o bit 0 (zero, pede permissão) para 0 (zero).

4.Lê as primeiras n + 2 variáveis, onde n é o tamanho do bloco.

5.Caso os dois primeiros valores contenham uma data válida, estes valores são copiados.

6.Repete o passo anterior até chegar ao fim da tabela ou quando existirem valores nulos nos dois primeiros campos.

7.Zera a tabela, caso tenha sido lida pelo menos uma estrutura, escrevendo 1 (um) no bit 2 (dois, limpa).

8.Este Driver devolve os valores para a aplicação da Elipse Software.

Esta página foi útil?