DTC_GET_BLOCKS

Retorna o nro de blocos de dados (DIB´s) utilizados pelo próximo dado a ser removido da cache.

Importante

Esta função considera que existe pelo menos um bloco de dados na cache, portanto a aplicação deve garantir que a mesma não seja chamada com uma cache vazia.

Bloco

        DTC_GET_BLOCKS
        +-------------+
INT ----|CACHE        |
        +-------------+

Parâmetros

Nome

Classe

Tipo

Dim.

V. Ini.

Descrição

CACHE

Entrada

INT

[*]

0

Cache fonte das mensagens

Entradas

CACHE

Cache de dados mantida em memória como uma fila dos blocos de dados. Para mais informações consulte CACHE.

Retorno

Tipo

Descrição

INT

Nro de blocos de dados utilizado pela informaçao a ser removida. Retorna -1 se o tamanho da cache nao comporta o nro de blocos do dado

Exemplo

Declaração de Variáveis

Nome

Tipo

Dimensão

Valor Inicial

Descrição

MY_DATA

UDINT

1234

valor a ser inserido na cache de mensagens

MY_VEC

INT

[0..2]

[1,2,3]

identificador do dado no portal de telemetria

RET

INT

código de retorno da função de envio de dados para o portal

CACHE

INT

[0..200]

Cache do portal com capacidade de 20 mensagens. Tamanho mínimo.

Clique aqui para baixar a tabela de variáveis

Código ST

(* Limpa a cache*)
HILS.DTC_REMOVE(0);

(* Salva na cache os valores de um dado vetorial *)
HILS.DTC_PUSH(
   101,  // identificador do dado
   TRUE, // obtem o timestamp do relógio do equipamento
   0,    // nao utilizado
   MY_VECT, // dado a ser salvo
   CACHE // cache de dados
   );

   // Os valores 1, 2 e 3 do dado MY_VEC serao salvos na cache

(* Obtem o nro de blcos de dados ocupados pelo vetor *)
RET = HILS.DTC_GET_BLOCKS(CACHE);

  // Retorna o valor 2, indicando que o  vetor MY_VEC ocupa 2 blocos de dados