WGATE_SEND

Esta função opera em conjunto com o bloco de função WGATE_MAN para enviar dados para o Portal de Telemetria utilizando uma cache de mensagens.

Bloco

            WGATE_SEND
          +-------------+
  INT ----|ID           |---- INT
          |             |
 DATA ----|DATA         |
          |             |
CACHE ----|MSGS         |
          +-------------+

Parâmetros

Nome

Classe

Tipo

Dim.

V. Ini.

Descrição

ID

Entrada

INT

0

Identificador do dado associado a mensagem no portal de telemetria

DATA

Entrada

ANY

Dado a ser enviado para o portal

MSGS

Entrada

ANY

Cache de mensagens utilizada pela instância do bloco WGATE_MAN

Entradas

ID

Identificador do dado associado a mensagem no portal de telemetria.

DATA

Dado a ser enviado para o portal de telemetria. Pode ser especificado qualquer dado nativo suportado pelo equipamento conectado, inclusive o tipo STRING.

MSGS

Cache de mensagens. Este parâmetro representa o vetor de tipo INT utilizado no bloco de função WGATE_MAN:CACHE. Este vetor forma uma cache de mensagens utilizada para manter as informações de cada dado salvo no equipamento até que sejam coletadas pelo portal de telemetria.

Retorno

Tipo

Descrição

INT

Codigo de retorno. Retorna 0 se a função foi executada com sucesso.

Exemplo

Declaração de Variáveis

Nome

Tipo

Dimensão

Valor Inicial

Opções

Descrição

MY_EV

BOOL

FALSE

Flag para inserção de dado na cache

MY_DATA

UDINT

1234

valor a ser inserido na cache de mensagens

MY_ID

INT

1000

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]

rent

Cache do portal com capacidade de 20 mensagens. Tamanho mínimo.

WEB_GATE

HILS.WGATE_MAN

Gerenciador de mensagens do portal de telemetria.

Clique aqui para baixar a tabela de variáveis

Código ST

(* --- Gerencia das mensagens reportadas para o portal de telemetria -----
 *
 * ATENCAO: Este bloco deve obrigatóriamente ser chamado no início do ciclo
 *          da aplicação corrente, antes de qualquer chamada do bloco
 *          WGATE_SEND.
 *
 *)

WEB_GATE(  // WGATE_MAN
  //EN  := ,         // [BOOL] Habilitação de entrada
  //CLR := ,         // [BOOL] Limpa o conteudo da cache de dados
  COMM  := HILS.SOCK1_PORT_ID,  // [USINT] Identificador do canal de comunicação conectado ao portal de telemetria. Ex: SOCK1_PORT_ID
  TMO   := T#40s,    // [TIME] Timeout para indicar desconexão com o portal de telemetria
  CACHE := WCACHE    // [INT] FIFO - área onde serão armazenados os registros
  );

(* Quando MY_EV for true e a cache estiver com menos de 50% envia MY_DATA para o portal *)
if (MY_EV AND (WEB_GATE.PERC < 50)) THEN
   RET := HILS.WGATE_SEND(ID := MY_ID, DATA := MY_DATA, MSGS := WCACHE);
   IF RET = 0 THEN
     MY_EV := FALSE;
   END_IF;
END_IF;
(* ... *)