DTC_PUSH

Esta função transfere para uma cache de dados uma variável da aplicação. Uma cache de dados é um vetor do tipo INT mantido em memória como uma fila dos dados: A cache de dados armazena para cada dado as seguintes informações:

Este conjunto de informaçôes é mantida pela dtc_push_cache em uma estrutura de FIFO. A funçao DTC_PUSH se encarrega de inserir um novo dado na cache.

Os dados contidos nesta cache podem ser obtidos e removidos através das funções DTC_GET_INFO, DTC_GET_VALUE, DTC_REMOVE.

Bloco

             DTC_PUSH
         +--------------+
  INT ---|ID            |--- INT
         |              |
USINT ---|ATRIB         |
         |              |
 BOOL ---|GEN_TS        |
         |              |
   DT ---|TS            |
         |              |
  ANY ---|DATA          |
         |              |
  INT ---|CACHE ------- |---
         +--------------+

Parâmetros

Nome

Classe

Tipo

Dim.

V. Ini.

Descrição

ID

Entrada

INT

Identificador a ser utilizado no bloco de dados a ser salvo na cache

ATRIB

Entrada

USINT

Atributo associado ao dado salvo na cache

GEN_TS

Entrada

BOOL

Gera automaticamente o timestamp associado ao bloco de dados(ignora o valor do parâmetro TS)

TS

Entrada

DT

Timestamp a ser associado ao bloco de dados a ser salvo na cache

DATA

Entrada

ANY

Dado ou vetor de dados a ser salvo na cache de bloco de dados

CACHE

Entrada/Saída

INT

[*]

Cache de blocos de dados utilizada

Entradas

ID

Identificador do dado associado a ser salvo na cache.

ATRIB

Atributo associado ao dado a ser salvo na cache. Este parâmetro pode ser um valor de 0..7 que associa um atributo ao dado. O significado deste atributo é definido pela aplicação que consome o dado gerado e é irrelevante enquanto o dado estever na cache. Este valor pode por exemplo associar um nível de prioridade de alarme ou, um grau de importância do dado ou, um flag de log para o dado etc.

Ver também

Este parâmetro possui utilidade para o Portal de telemetria, para mais infomações consulte: Armazenamento local de registros em um equipamento G5 da HI Tecnologia.

GEN_TS

Se igual a TRUE, gera automaticamente o timestamp associado ao dado fornecido. Se igual a FALSE utiliza o parâmetro TS como timestamp do dado a ser enviado.

TS

Valor do timestamp do dado a ser enviado caso o parâmetro GEN_TS seja FALSE.

DATA

Dado a ser salvo na cache. Pode ser especificado qualquer tipo de dado nativo suportado pela aplicação, inclusive o tipo STRING. Esta função permite também os envio de vetores de dados nativos (com exceção de vetores de strings).

CACHE

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

Retorno

Tipo

Descrição

INT

Codigo de retorno. Retorna 0 se a função foi executada com sucesso.

Podem ser retornados os seguintes códigos de falha:

  • RC_GL_INV_PAR

    • Tipo de dado inválido (ex: estrutura)

    • Tipo de dado não suportado pelo ambiente (Ex: WSTRING)

    • Quantidade de elementos do vetor invalido

  • RC_RE_FIL_OVF

    • Nro de mensagens disponíveis na cache insuficiente para salvar o dado especificado.

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

WCACHE

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

(* Salva na cache um dado escalar *)
HILS.DTC_PUSH(
  100,  // identificador do dado
  TRUE, // obtem o timestamp do relógio do equipamento
  0,    // nao utilizado
  MY_DATA, // dado a ser salvo
  WCACHE // cache de dados
  );

  // O valor 1234 do dado MY_DATA será salvo na cache

(* 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
  WCACHE // cache de dados
  );

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