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. |
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