SIDECC_R
Formata e envia uma requisição HTTP com dados de vazão ao servidor SIDECC-R do DAEE-SP pelo canal de comunicação especificado e processa a resposta, exigindo que o canal esteja configurado em protocolo ASCII, sem SOF/EOF e com ponto a ponto estendido desabilitado. É um bloco de função (mantém estado entre scans; requer instância).
Biblioteca: HI_STD · Namespace: HILS · Tipo: bloco de função
Bloco de função
SIDECC_R
+----------------------+
BOOL ----|START DONE|---- BOOL
| |
REAL ----|FLOW RESULT|---- INT
| |
DT ----|TS HTTP_RESP|---- INT
| |
STRING ----|COMM_SRC SIDECC_RESP|---- INT
| |
STRING ----|RESP_TMO |
| |
STRING ----|USER ---------------- |----
| |
UINT ----|METER --------------- |----
| |
INT ----|KEY ----------------- |----
+----------------------+
A requisição destina-se à monitoração e ao controle de recursos hídricos
conforme a portaria DAEE nº 6987, de 18 de dezembro de 2018. Quando ativado
por START, o bloco monta uma solicitação HTTP com usuário, medidor, vazão,
data/hora e chave. Se corretamente formatados e previamente cadastrados, esses
dados são recebidos e armazenados pelo servidor SIDECC-R, que retorna um código
indicando o resultado do processo. A ativação atua na borda de subida de
START; a entrada deve ser desativada e reativada para iniciar uma nova
transação.
O fim do processamento é sinalizado por DONE; a partir desse instante o
resultado da comunicação fica disponível em RESULT e as respostas do
protocolo e da aplicação em HTTP_RESP e SIDECC_RESP.
Importante
A cache do canal de comunicação utilizado para acesso ao servidor SIDECC-R deve ter no mínimo 700 bytes.
Parâmetros
Nome |
Direção |
Tipo |
Dimensão |
Padrão |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|---|---|
START |
IN |
BOOL |
— |
FALSE |
— |
Ativa (borda de subida) o processo de transmissão de dados ao SIDECC-R. |
FLOW |
IN |
REAL |
— |
— |
m³/s ou l/s |
Vazão instantânea a ser transmitida (enviada com 3 casas decimais). |
TS |
IN |
DT |
— |
— |
UTC |
Timestamp do valor de vazão; enviado ao servidor no padrão ISO 8601. |
USER |
IN_OUT |
STRING |
:* |
— |
— |
Nome do usuário cadastrado no SIDECC-R. |
METER |
IN_OUT |
STRING |
:* |
— |
— |
Identificação do medidor cadastrado no SIDECC-R. |
KEY |
IN_OUT |
STRING |
:* |
— |
— |
Chave de acesso obtida no cadastro no SIDECC-R. |
COMM_SRC |
IN |
UINT |
— |
2 |
|
Canal de comunicação associado ao bloco (ver Canais de comunicação). |
RESP_TMO |
IN |
INT |
— |
5000 |
ms |
Timeout para a resposta da requisição; ao expirar, o processo é cancelado com |
DONE |
OUT |
BOOL |
— |
FALSE |
— |
Notifica o fim do processo de transmissão. |
RESULT |
OUT |
INT |
— |
0 |
RET_CODE |
Código de retorno do processo de comunicação (ver Códigos de retorno). |
HTTP_RESP |
OUT |
INT |
— |
-1 |
— |
Código HTTP retornado pelo servidor (200 = requisição processada). |
SIDECC_RESP |
OUT |
INT |
— |
-1 |
— |
Código retornado pela aplicação SIDECC-R (0 = sucesso; ver SIDECC_RESP). |
Canais de comunicação (COMM_SRC)
O canal é identificado por um valor numérico. Os identificadores possuem o
namespace HILS e estão definidos no tipo COMM_CHAN_ID da biblioteca
HI_STD:
Identificador |
Identificação |
Descrição |
|---|---|---|
|
0 .. 7 |
Canais seriais COM1 a COM8. |
|
8 .. 15 |
Controlador Ethernet 1: sockets 0 a 7. |
|
16 .. 23 |
Controlador Ethernet 2: sockets 0 a 7. |
Cada equipamento possui um subconjunto dos recursos de comunicação acima; consulte o manual do equipamento para identificar os disponíveis.
Códigos de retorno
RESULT é do tipo RET_CODE: o valor zero indica sucesso e valores
diferentes de zero indicam falha no processo. Use os identificadores com o
namespace HILS (ex.: HILS.GL_CMD_TMO). Quando START é desativada,
RESULT retorna a zero. Códigos mais comuns deste bloco:
Código |
Identificador |
Significado |
|---|---|---|
6 |
GL_INV_CMD |
Canal de comunicação associado não está configurado como ASCII. |
10 |
GL_CMD_TMO |
Timeout na execução do comando ( |
36 |
RE_INV_CFG |
Cache de dados do canal de comunicação menor que 700 bytes. |
70 |
CO_COM_ERR |
Canal do modem configurado com ponto a ponto estendido. |
Lista completa dos códigos de retorno: RET_CODE - Códigos de retorno do firmware G5.
Detalhamento das entradas
FLOW
Valor da vazão a ser enviada ao servidor SIDECC-R. O valor é formatado com 3 casas decimais, conforme especificação do DAEE.
TS
Timestamp em UTC associado ao valor de vazão. Ao ser enviado ao servidor SIDECC-R, é formatado no padrão ISO 8601, conforme especificação do DAEE.
USER
Nome do usuário associado à conta do SIDECC-R, definido no processo de registro do equipamento no sistema.
METER
Identificação do medidor utilizado na leitura da vazão, definida no processo de registro do equipamento no sistema SIDECC-R.
KEY
Chave associada ao registro do equipamento, gerada pelo sistema SIDECC-R durante o processo de registro.
Saídas de diagnóstico
HTTP_RESP
Resultado do processo de requisição HTTP. O valor 200 indica que a requisição
foi processada com sucesso pelo servidor SIDECC-R (o que não garante que o dado
foi processado corretamente — ver SIDECC_RESP). Valores diferentes de 200
indicam falha na transação HTTP; nesse caso o dado não foi processado e
SIDECC_RESP retorna -1.
SIDECC_RESP
Resultado final do processo de envio dos dados. Quando SIDECC_RESP >= 0, os
dados chegaram ao servidor e foram processados; o valor 0 indica sucesso. Os
códigos retornados pela aplicação, segundo o Comunicado de Orientação para
Transmissão Remota (COT-R) — COT-R BMT Geral/2023, são:
Código |
Descrição |
|---|---|
000 |
Transmissão bem sucedida. |
001 |
Serviço de envio inativo. |
002 |
Usuário ou chave inválido. |
003 |
Medidor inválido. |
004 |
Data/hora inválida. |
005 |
Minuto/segundo inválido. |
006 |
Erro registrando o valor; tente mais tarde. |
007 |
Outro valor gravado no mesmo momento. |
008 |
Vazão informada inválida. |
500 |
Erro processando a requisição; tente novamente mais tarde. |
999 |
Erro no processamento da requisição. |
O valor -1 indica erro no processo de conexão do modem (obtido em
RESULT) ou erro na transação HTTP (obtido em HTTP_RESP). Portanto,
SIDECC_RESP só é diferente de -1 quando RESULT = 0 e HTTP_RESP = 200.
Pré-condições
O canal de comunicação (
COMM_SRC) deve estar configurado em protocolo ASCII, sem SOF, sem EOF e com o recurso de ponto a ponto estendido desabilitado.A cache de dados do canal deve ter no mínimo 700 bytes.
USER,METEReKEYdevem estar previamente cadastrados no SIDECC-R.
Observações
A ativação atua na borda de subida de
START; desative e reative a entrada para iniciar uma nova transação.Quando
STARTé desativada,DONEmantém-se inativa eRESULTretorna a zero.Uma resposta HTTP bem sucedida (
HTTP_RESP= 200) não garante o processamento correto do dado — confirme sempre porSIDECC_RESP.