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:

  • Se for igual a 0: Função executada com sucesso - código HILS.SUCCESS

  • Se for diferente de 0: Falha na execução da função indica o respectivo código de erro. [2]

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)

Clique aqui para baixar a tabela de variáveis

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;