Pular para o conteúdo principal

EEE - Elevatórias de Efluente

1. Introdução

A automação e telemetria de estações elevatórias de efluente é essencial para garantir a eficiência operacional e permitir o monitoramento remoto em tempo real. Nesta aplicação, utilizamos o MHO Keeper, um controlador de borda que será utilizado para coleta de dados e controle, juntamente com o MHO Cloud, uma plataforma em nuvem para visualização dos dados e controle.

Recomendações e responsabilidade

Este artigo é fornecido apenas para fins informativos e educacionais para utilização do MHO Keeper e MHO Cloud. A implementação de qualquer sistema elétrico ou automação deve ser realizada por profissionais qualificados. É de responsabilidade exclusiva do implementador garantir que todas as normas técnicas, regulamentos locais, legislações aplicáveis e diretrizes de segurança sejam rigorosamente seguidas. Demais circuitos como proteções, fusíveis, chaves, intertravamentos e outros devem ser implementados conforme a necessidade da aplicação e de acordo com leis e normas da aplicação específica.

Copyright

Copyright © 2024, MHO. Todos os direitos reservados. É proibida a reprodução ou transmissão deste documento, seja em formato eletrônico ou impresso, para qualquer finalidade, sem autorização prévia por escrito da MHO. Este guia é disponibilizado apenas com fins informativos, e está sujeito a alterações sem aviso prévio. A MHO não assume responsabilidade e não há obrigação contratual decorrente, direta ou indiretamente, do mesmo e não são apresentadas com quaisquer outras garantias ou condições, expressas ou implícitas por lei. Isso abrange garantias implícitas de comercialização ou adequação a um propósito específico.


2. Arquitetura

Cada projeto tem suas particularidades, porém para este guia vamos considerar duas motobombas sendo revezadas em cada ciclo de nível de trabalho. O foco do artigo é na lógica de funcionamento, por isso não será discutido itens relacionados a parte de potência.

2.1. Dados de Interesse

Em uma estação elevatória de efluente, os principais dados de interesse incluem:

  • Nível de Efluente: Monitoramento contínuo do nível de efluente para controlar o acionamento das bombas;
  • Status das Bombas: Indicadores de operação das bombas para garantir que estão funcionando corretamente;
  • Alarmes de Falhas: Alertas em caso de falha de bombas, níveis anormais de efluente ou outros eventos críticos;

De forma opcional, em alguns casos podemos ter também:

  • Consumo de Energia: Monitoramento do consumo de energia e dados da rede elétrica;
  • Vazão de saída: Monitoramento da vazão de saída da elevatória para análises.

Na maioria das situações é desejável:

  • Comandos remotos de setpoints: Alterar o setpoint de nível de liga/desliga;
  • Comandos remotos de liga/desliga ou habilitar/desabilitar lógica: Isso também pode ser feito, para esse guia não foi considerado essa opção.

2.2. Componentes do Sistema

Neste exemplo de aplicação, o sistema de automação básico é composto por:

  • UA1: Fonte de alimentação 24 Vcc;
  • UC1: Controlador de borda MHO Keeper 308A (para controle e telemetria);
  • K1: Contator motobomba 1;
  • K2: Contator motobomba 2;
  • Q1: Disjuntor motor, motobomba 1;
  • Q2: Disjuntor motor, motobomba 2;
  • S1: Chave manual/automático motobomba 1;
  • S2: Chave manual/automático motobomba 2;
  • B1: Sensor de nível 4 a 20 mA;
  • B2: Boia de alarme.

2.3. Ligações Elétricas

As ligações elétricas dependem de cada tipo de aplicação, neste guia consideramos o circuito básico funcional apenas referente aos sinais lidos pelo MHO Keeper. Adequações devem ser feitas para que a lógica de comando atenda os requisitos de local, manual, remoto, emergência, dentre outros.

  • Status das motobombas: Status de ligado/desligado através da leitura de status de contatores e status de falha obtido do sinal do disjuntor motor (conectados nas DIs);
  • Modo habilita: Chave de manual/automático (conectadas nas DIs);
  • Nível de alarme: Boia ou relé de nível para detecção de nível de alarme (conectada na DI);
  • Conexão dos Sensores de Nível: Sensor de nível (conectado na AI);
  • Acionamento das motobombas: Motobombas conectadas através de contatores nas DOs do MHO Keeper para controle automático.
cuidado

Demais circuitos como proteções, fusíveis, chaves, intertravamentos e outros devem ser implementados conforme a necessidade da aplicação e de acordo com leis e normas da aplicação específica. Neste exemplo tratamos apenas a um caso de funcionamento lógico.



3. MHO Keeper

3.1. Configuração IOs

No webserver do equipamento precisamos definir as IOs utilizadas.

  • Habilitar envio da AI1 e definir intervalo de atualização para 120 segundos;
  • Para as DIs podemos habilitar o monitoramento de status para as DIs 1 a 7;
  • Para a DI1 e DI2 podemos habilitar a função horímetro, com isso temos o tempo ligado de cada motobomba.


3.2. Arquivos

Nesta aplicação, o MHO Keeper além de coletar os dados também atuará como um controlador de borda, executando scripts localmente para revezamento das motobombas a cada ciclo de trabalho, dessa forma temos em um único equipamento a função de um PLC e de um Gateway/Modem.


3.3.1. Modbus RTU

info

Para esse tipo de aplicação podemos ter medição de vazão, medição de energia ou integração com Soft-starters ou inversores de frequência via Modbus RTU.

Neste exemplo básico não utilizamos comunicação Modbus RTU.


3.3.2. Arquivo de Setpoints

dica

Esses dados podem ser alterados remotamente.

/js/setpoints.json
{"niv_liga": 8.5, "niv_desliga": 2.5}

3.3.3. Scripts

info

Neste exemplo estamos utilizando a função incorporada para revezamento de duas cargas conectadas nas DOs. Mais informações sobre a função pode ser encontrado aqui.

Para o programa utilizamos uma lógica de revezamento incorporada no equipamento. A função revezaBombas realiza a rotina de verificação de nível e controle das motobombas. A função sa_callback recebe setpoints remotos de nível, caso a operação desejar alterar o nível de trabalho da EEE.

Temos as seguintes variáveis globais definidas:

  • iodef: Objeto que guarda informação das IOs utilizadas, durante o programa essas referências são utilizadas nas funções. Isso é especialmente útil para caso seja necessário trocar a numeração das IOs;
  • sensor: Objeto que guarda informação do sensor instalado, bem como a entrada analógica utilizada;
  • memoriaRevezamento: Memória auxiliar global, utilizada para realizar a lógica de revezamento;
  • sp: Objeto que guarda as informações de nível para ligar e nível para desligar. Esse objeto é salvo na memória flash, podendo ser alterado remotamente através da função sa_callback, quando um atributo é modificado na dashboard dentro do contexto MHO Cloud;
  • trabalho: Variável que guarda a informação de nível de trabalho true/false.
/js/main.js
//copyright MHO LTDA: 
version(1);//20/08/2024

cloud.setAtt('rem_niv_liga,rem_niv_desliga'); //sincroniza na conexao

let iodef = {di_b1lig: 1, di_b2lig: 2, di_b1falha: 3, di_b2falha: 4, di_b1aut: 5, di_b2aut: 6, di_alarme: 7, do_b1: 1, do_b2: 2};
let sensor = {aidef:1, modo: 'i', min: 0, max: 10};
let memoriaRevezamento = 0; // memória global auxiliar
let sp = fjson.open(); //arquivo de setpoints salvo em /js/setpoints.json, com o conteudo {niv_liga: 8.5, niv_desliga: 2.5}

//funcao que recebe mensagens do MHO Cloud
let sa_callback = function(obj) {
//log("sa_callback => ", obj);
if(haskey(obj, 'rem_niv_liga')) sp.niv_liga = obj.rem_niv_liga;
if(haskey(obj, 'rem_niv_desliga')) sp.niv_desliga = obj.rem_niv_desliga;
fjson.create(sp, true); //sobrescreve arquivo de setpoints
};

let trabalho = false; //global pois precisa flutuar
let revezaBombas = function() {
if(io.do_lastchange(iodef.do_b1) < 30*1000 || io.do_lastchange(iodef.do_b2) < 30*1000) //caso uma das duas bombas tenha sido ligada ou desligada a menos de X segundos
{
log('variacao recente...');
return;
}

let alarme = io.readDI(iodef.di_alarme);
let nivelPoco = io.readAI(sensor.aidef, sensor.modo, sensor.min, sensor.max); //4-20mA, com escala real de 0 a 10

if(nivelPoco > sensor.max + 0.1 || nivelPoco < sensor.min - 0.1) //erro de leitura do sensor, desliga bombas
{
trabalho = false;
}
else if (nivelPoco < sp.niv_desliga)
{
trabalho = false;
}
else if (nivelPoco > sp.niv_liga)
{
trabalho = true;
}
else
{
log('nivel flutuando...');
//nivel flutuando...
}
let desabilita_b1 = !io.readDI(iodef.di_b1falha) || !io.readDI(iodef.di_b1aut); //se tiver em falha ou modo manual
let desabilita_b2 = !io.readDI(iodef.di_b2falha) || !io.readDI(iodef.di_b2aut); //se tiver em falha ou modo manual
memoriaRevezamento = sf.toggler_2loadDO(memoriaRevezamento, desabilita_b1, desabilita_b2, iodef.do_b1, iodef.do_b2, trabalho, alarme);
};

let loop = function() {
revezaBombas();
delay(1000);
};

4. Dashboard

Clique aqui para acessar a Dashboard de exemplo, com dados simulados.

A dashboard abaixo é interativa, não apenas uma imagem 😁

4.1. Visualização dos Dados


Os dados são obtidos em tempo real. O status da motobomba e chaves são obtidos na variação de borda do sinal da DI. O status de nível é coletado a cada 2 minutos. O status de horímetro é coletado a cada 15 minutos.


4.2. Setpoints Remotos


A funcionalidade de Setpoints Remotos permite que os operadores ajustem parâmetros de operação, como níveis de alarme e limites de acionamento das bombas, diretamente pelo MHO Cloud, sem necessidade de intervenção no local. Utilizamos o widget Update multiple attributes, criamos os atributos rem_niv_liga e rem_niv_desliga no modo atributos compartilhados com o tipo de dado double.


5. Conclusão

A automação e telemetria de estações elevatórias de efluente são essenciais para garantir a eficiência operacional e permitir o monitoramento remoto em tempo real. Utilizando o MHO Keeper para coleta de dados e controle, juntamente com o MHO Cloud para visualização e gerenciamento, esta solução oferece uma abordagem integrada para monitorar níveis de efluente, controlar motobombas e gerenciar alarmes. A combinação de hardware e software permite um controle preciso e eficiente, com a possibilidade de ajustes remotos via dashboard, garantindo uma operação otimizada e segura.