REAL_TO_TMSG
Formata uma mensagem para o portal de telemetria a partir de um dado do tipo REAL, no formato V2 de mensagens. É uma função (obsoleta; para novos projetos utilize TEL_MSG_V2).
Biblioteca: HI_STD · Namespace: HILS · Tipo: função
Função
REAL_TO_TMSG
+-------------+
DT ----|TS |
| |
INT ----|ID |
| |
REAL ----|DATA |
| |
TEL_V2_DATA_TYPE ----|MSG -------- |----
+-------------+
A função recebe o timestamp (TS), o identificador de mensagem (ID) e o
valor REAL (DATA) e monta a mensagem de telemetria no parâmetro de
entrada/saída MSG, pronta para ser enfileirada no buffer do portal.
Importante
Esta função opera com o formato V2 de mensagens do portal de telemetria e 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 (deve ser sempre em UTC). |
ID |
IN |
INT |
0 |
— |
Identificador do tipo de mensagem. |
DATA |
IN |
REAL |
0 |
— |
Valor do dado associado à mensagem. |
MSG |
IN_OUT |
TEL_V2_DATA_TYPE |
— |
— |
Mensagem de telemetria formatada pela função. |
Retorno / Saídas
A função não possui valor de retorno; a saída é a mensagem montada no parâmetro
de entrada/saída MSG.
Pré-condições
O timestamp
TSdeve ser informado em UTC.
Observações
Após a formatação, a mensagem em
MSGdeve ser encaminhada ao buffer do portal de telemetria (ex.: pelo blocoTEL_PORT).
Ver também
Exemplo
Clique aqui para baixar a tabela de variáveis
Código ST
VAR
value : REAL := 30.5; (* 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 com capacidade de 10 mensagens *)
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 REAL
HILS.REAL_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);
(* ... *)