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. |
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;
(* ... *)