ajustes na saude do atuador, ver falha de sensor de pressao na bomba

This commit is contained in:
Diego Freitas 2026-08-18 10:18:30 -03:00
parent 8397d2808e
commit 3910ae2d35
2 changed files with 52 additions and 1 deletions

File diff suppressed because one or more lines are too long

View File

@ -917,6 +917,13 @@ class ModuloAtuador(ModuloDiagnosticoBase):
) )
) )
falha_sensor_pressao = self._bool(
dados.get(
"falha_sensor_pressao",
False,
)
)
# Detecta mudança na quantidade de bicos. # Detecta mudança na quantidade de bicos.
qtd_anterior = runtime.get("qtd_bicos") qtd_anterior = runtime.get("qtd_bicos")
@ -1060,6 +1067,7 @@ class ModuloAtuador(ModuloDiagnosticoBase):
"cavitada": cavitada, "cavitada": cavitada,
"recuperacao_fluxo": recuperacao_fluxo, "recuperacao_fluxo": recuperacao_fluxo,
"fluxo_insuficiente": fluxo_insuficiente, "fluxo_insuficiente": fluxo_insuficiente,
"falha_sensor_pressao": falha_sensor_pressao,
} }
if not comando_presente: if not comando_presente:
@ -1102,6 +1110,49 @@ class ModuloAtuador(ModuloDiagnosticoBase):
return 100, debug return 100, debug
if eh_principal and falha_sensor_pressao:
self._atualizar_persistencia(
runtime,
"demanda_sem_potencia_desde",
False,
agora,
)
self._atualizar_persistencia(
runtime,
"ativa_sem_habilitacao_desde",
False,
agora,
)
motivos.append(
"Falha na leitura do sensor de pressão da bomba"
)
condicoes.append({
"label": "Sensor de pressão da bomba",
"valor": 1,
"severidade": 96,
"classe": "falha_hardware",
"descricao": (
"A firmware interrompeu o controle da bomba "
"porque o sensor de pressão permaneceu inválido "
"ou sem leitura recente"
),
"acoes": [
"Verificar alimentação e conexão do sensor de pressão.",
"Verificar tensão analógica e aterramento.",
"Conferir o pino ADC e os limites elétricos configurados.",
"Verificar a telemetria do módulo atuador.",
],
})
debug["avaliacao_suspensa"] = (
"controle interrompido por falha do sensor de pressão"
)
return 25, debug
# -------------------------------------------------------- # --------------------------------------------------------
# Caso 1: bomba ligada fisicamente sem autorização # Caso 1: bomba ligada fisicamente sem autorização
# -------------------------------------------------------- # --------------------------------------------------------