guards e ajuste na bomba pressurizadora

This commit is contained in:
Diego Freitas 2026-07-02 10:32:16 -03:00
parent c98972129c
commit 912773fea2
3 changed files with 17 additions and 2 deletions

View File

@ -231,6 +231,9 @@ namespace AgroBase.Forms.Operacoes
private async Task AtualizarCameraSolo() private async Task AtualizarCameraSolo()
{ {
if (CameraWorkerService.CamerasSolo.Count == 0)
return;
ReqFrameCam = true; ReqFrameCam = true;
try try
{ {

View File

@ -1802,7 +1802,7 @@ namespace AgroBase.Models.Modules
bool pressaoDivergente = bomba.Sensor_ID_Num > -1 && Math.Abs(bomba._PressaoSP - pressaoEfetiva) > 0.05; bool pressaoDivergente = bomba.Sensor_ID_Num > -1 && Math.Abs(bomba._PressaoSP - pressaoEfetiva) > 0.05;
if (estadoDivergente || potenciaDivergente || pressaoDivergente) if (potenciaDivergente || pressaoDivergente) // estadoDivergente ||
{ {
EnviarComandoFisicoBomba( EnviarComandoFisicoBomba(
bomba, bomba,
@ -1859,6 +1859,8 @@ namespace AgroBase.Models.Modules
dispAtu.AdicionarMensagemFila(bomba.ID_Num, CanMessagePosicaoDados.Command1, CanMessagePosicaoDados.Command1, data, false); dispAtu.AdicionarMensagemFila(bomba.ID_Num, CanMessagePosicaoDados.Command1, CanMessagePosicaoDados.Command1, data, false);
Variaveis.MostrarLog($"Enviando comando para a bomba {bomba.ID}: potencia={potencia}, pressao={pressao}");
bomba.UltimoComandoEnviado = DateTime.Now; bomba.UltimoComandoEnviado = DateTime.Now;
bomba.UltimoStatusDesejado = status; bomba.UltimoStatusDesejado = status;
bomba.UltimaPotenciaDesejada = potencia; bomba.UltimaPotenciaDesejada = potencia;

View File

@ -69,6 +69,12 @@ class BombaPressurizadora_v2 : public ComponenteCAN {
sensorFluxo(sensorFluxoLinha), sensorFluxo(sensorFluxoLinha),
_bicos(bicos), _bicos(bicos),
_qtdBicos(qtdBicos) { _qtdBicos(qtdBicos) {
if (_bicos == nullptr || _qtdBicos == 0) {
DesligarSemBicosAbertos = false;
HabilitarSupervisorFluxo = false;
HabilitarKickInicial = false;
HabilitarDetectorCavitacao = false;
}
} }
String _ID; String _ID;
@ -584,7 +590,7 @@ class BombaPressurizadora_v2 : public ComponenteCAN {
static_cast<uint8_t>(ModoControle) != 0 static_cast<uint8_t>(ModoControle) != 0
); );
if (QtdBicosLigados == 0 && DesligarSemBicosAbertos) { if (TemBicosConfigurados() && QtdBicosLigados == 0 && DesligarSemBicosAbertos) {
AplicarSaida(false, 0); AplicarSaida(false, 0);
ResetarEstadosDeBicosFechados(); ResetarEstadosDeBicosFechados();
AtualizarLeitura(); AtualizarLeitura();
@ -1607,6 +1613,10 @@ class BombaPressurizadora_v2 : public ComponenteCAN {
return flags; return flags;
} }
bool TemBicosConfigurados() {
return _bicos != nullptr && _qtdBicos > 0;
}
void MostrarLog(String mensagem) { void MostrarLog(String mensagem) {
if (DebugMode) { if (DebugMode) {
PrintTela("[BMB " + _ID + "] " + mensagem); PrintTela("[BMB " + _ID + "] " + mensagem);