HI_PORTAL
Este bloco é utilizado para enviar mensagens com dados para o portal de telemetria da HI Tecnologia. Cada mensagem consiste de um campo com Data/Hora do evento, um identificador da mensagem e um dado a ser enviado. Este dado pode ser de qualquer tipo numérico ou de tempo (DT, TIME, DATE e TOD).
Este bloco, opera em conjunto com o bloco TEL_BUF que realiza a interface com o portal de telemetria.
Importante
Ao utilizar este bloco, é necessário que a instancia do bloco TEL_BUF seja executada antes da chamada deste bloco, pois este bloco necessita desta instancia TEL_BUF como parâmetro de entrada, e desta forma já deverá estar inicializada.
Vide a sessão Exemplo para mais informações de como utilizar este bloco.
Bloco
HI_PORTAL
+----------------+
BOOL ----|EN ENO|---- BOOL
| |
INT ----|EV_ID RESULT|---- INT
| |
ANY ----|DATA ---------- |----
| |
HILS.TEL_BUF ----|TEL_GAT-------- |----
+----------------+
Parâmetros
Nome |
Parâmetro |
Tipo Dado |
V. Ini. |
Descrição |
EN |
Entrada |
BOOL |
TRUE |
Habilitação do bloco |
EV_ID |
Entrada |
INT |
0 |
Identificador da mensagem |
ENO |
Saída |
BOOL |
FALSE |
Saída de habilitação |
RESULT |
Saída |
INT |
0 |
Código de retorno do processamento |
DATA |
Entrada/Saída |
ANY |
Dado a ser inserido na mensagem |
|
TEL_GAT |
Entrada/Saída |
HILS.TEL_BUF |
Bloco de gerencia de mensagens do portal de telemetria |
RESULT
Tipo Dado |
Descrição |
INT |
Código de retorno na execução da função, do tipo RET_CODE, onde:
|
Exemplo
Base de variáveis globais da aplicação
Estas variáveis devem ser definidas como globais para que possam ser obtidas pelo portal de telemetria.
Nome |
Tipo |
Endereço |
Dimensão |
V. Ini. |
Descrição |
PTEL_EL |
INT |
%MW0 |
0 |
Nro de mensagens disponíveis para coleta pelo portal |
|
PTEL_MSGS |
HILS.TEL_V2_DATA_TYPE |
%MVW1 |
[0..9] |
0 |
Buffer de mensagens do portal de telemetria. |
Declaração de Variáveis
Nome |
Classe |
Tipo |
Valor Inicial |
Descrição |
|---|---|---|---|---|
EV |
Local |
INT |
0 |
Nro doevento associado |
DT_VALUE |
Local |
UINT |
123 |
Valor do dado |
TEL_GATEWAY |
Local |
HILS.TEL_BUF |
Interface com o portal de telemetria |
|
PORTAL |
Local |
HI_PORTAL |
Bloco de registros de eventos |
|
PTEL_EL |
Externa |
INT |
0 |
Nro de mensagens disponíveis para coleta pelo portal (Global) |
PTEL_MSGS |
Externa |
HILS.TEL_V2_DATA_TYPE |
Buffer de mensagens do portal de telemetria (Global) |
Código ST
(* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* Interface com o portal de telemetria
* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
*)
(* --- Trata remoção de eventos pelo portal de telemetria -----
* Se o nro de elementos da FIFO for menor que 0 indica que o portal de telemetria
* removeu o nro de elementos especificados pelo valor negativo
* Nesta condição, remove estes elementos do buffer de mensagens do portal
*
* IMPORTANTE: Este bloco deve ser chamado antes da chamada do bloco de função
* HI_PORTAL (caso seja utilizado) pois o mesmo recebe este bloco
* como parâmetro.
*)
TEL_GATEWAY (
WR := FALSE,
REM := -PTEL_EL, // remove as mensagens que o portal ja processou
FIFO := PTEL_MSGS
);
PTEL_EL := TEL_GATEWAY.ELEM;
(* Insere o dado no portal sempre que o evento for diferente de zero *)
IF (EV <> 0) THEN
// Cria uma mensagem com informações de data/hora, valor do dado e evento associado.
// Insere a mensagem no portal de telemetria para coleta pelo servidor.
PORTAL(EV_ID := EV, DATA := DT_VALUE, TEL_GAT := TEL_GATEWAY);
EV:= 0; // aguarda novo evento ser gerado
END_IF;