UINT_TO_TMSG

Formata uma mensagem a ser enviada para o portal de telemetria a partir de um dado do tipo UINT, gravando o resultado na mensagem MSG (formato V2). É uma função.

Biblioteca: HI_STD · Namespace: HILS · Tipo: função

Função

                       UINT_TO_TMSG
                     +-------------+
              DT ----|TS           |
                     |             |
             INT ----|ID           |
                     |             |
            UINT ----|DATA         |
                     |             |
TEL_V2_DATA_TYPE ----|MSG -------- |----
                     +-------------+

A função monta na estrutura MSG (TEL_V2_DATA_TYPE) uma mensagem de telemetria contendo o timestamp TS, o identificador ID e o valor DATA. A estrutura MSG é do tipo entrada/saída: deve ser fornecida pelo chamador e é atualizada com a mensagem formatada, pronta para ser encaminhada ao portal de telemetria.

Importante

Esta função opera com o formato V2 de mensagens do portal de telemetria.

Esta função está obsoleta. Para novos projetos, utilize a função TEL_MSG_V2.

Parâmetros

Nome

Direção

Tipo

Padrão

Faixa / Unidade

Descrição

TS

IN

DT

0

—

Timestamp da mensagem (recomenda-se sempre em UTC).

ID

IN

INT

0

—

Identificador do tipo de mensagem.

DATA

IN

UINT

0

—

Valor do dado associado à mensagem.

MSG

IN_OUT

TEL_V2_DATA_TYPE

—

—

Mensagem a ser formatada (recebe o resultado).

Retorno / Saídas

Esta função não possui valor de retorno; o resultado é gravado na saída MSG (entrada/saída).

Observações

  • Os valores de data/hora das mensagens devem ser sempre em UTC.

  • A mensagem formatada em MSG costuma ser encaminhada ao portal por meio do bloco de gerência do buffer de registros de telemetria.

Ver também

TEL_MSG_V2, DINT_TO_TMSG

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    value     : UINT := 30;             (* Variavel a ser enviada para o portal *)
    id        : INT := 5;               (* Identificador do tipo de variavel *)
    timestamp : DT;                     (* data/hora associada a mensagem *)
    tmsg_v2   : TEL_V2_DATA_TYPE;       (* mensagem a ser formatada *)
    tel_count : INT;                    (* nro de mensagens disponiveis para remocao *)
    tel_buf   : ARRAY [0..999] OF UINT; (* buffer do portal *)
END_VAR

(* Exemplo de ativacao da funcao dentro da POU *)

(* obtem a data/hora corrente.
   Obs: os valores de data/hora das mensagens devem ser sempre em UTC *)
timestamp := HILS.GET_UTC_SYSTIME();

(* Monta mensagem com dado inteiro *)
HILS.UINT_TO_TMSG(TS := timestamp, ID := id, DATA := value, MSG := tmsg_v2);

(* Bloco de gerencia do buffer de registros de dados utilizado para
   interfacear com o portal de telemetria *)
HILS.TEL_PORT(WR := TRUE, REM := 0, FIFO := tel_buf, DATA := tmsg_v2);