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

0 .. 23

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 GL_CMD_TMO.

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

COM1_PORT_ID .. COM8_PORT_ID

0 .. 7

Canais seriais COM1 a COM8.

SOCK0_PORT_ID .. SOCK7_PORT_ID

8 .. 15

Controlador Ethernet 1: sockets 0 a 7.

ETH2_SOCK0_PORT_ID .. ETH2_SOCK7_PORT_ID

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 (RESP_TMO excedido).

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, METER e KEY devem 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, DONE mantém-se inativa e RESULT retorna a zero.

  • Uma resposta HTTP bem sucedida (HTTP_RESP = 200) não garante o processamento correto do dado — confirme sempre por SIDECC_RESP.

Ver também

SIDECC_ITF, SIDECC_TIMER