Tratamentos e alerta de NCP desconectado
This commit is contained in:
parent
ffbd86d8a4
commit
6b87783f43
|
|
@ -1083,21 +1083,27 @@ namespace AgroBase.Models
|
||||||
{
|
{
|
||||||
if (_Controle.ticks_sem_resposta.AddMilliseconds(max_ticks_sem_resposta) < agora)
|
if (_Controle.ticks_sem_resposta.AddMilliseconds(max_ticks_sem_resposta) < agora)
|
||||||
{
|
{
|
||||||
Variaveis.OperacaoEmAndamento.Sensoriamento?.InserirLog(T_Code.Npc, StatusModulo.Falha, 0, "Muito tempo sem receber novo comando do Manager Worker! Parando Movimento!");
|
if (Variaveis.OperacaoEmAndamento?.Sensoriamento?.Controle?.RPM_SP > 0)
|
||||||
Console.WriteLine("Muito tempo sem receber novo comando do Manager Worker! Parando Movimento!");
|
{
|
||||||
RedisService.AtualizarCampos(
|
Variaveis.OperacaoEmAndamento.Sensoriamento?.InserirLog(T_Code.Npc, StatusModulo.Falha, 0, "Muito tempo sem receber novo comando do Manager Worker! Parando Movimento!");
|
||||||
CtxKey.DadosControle,
|
Console.WriteLine("Muito tempo sem receber novo comando do Manager Worker! Parando Movimento!");
|
||||||
("velocidade_sp", 0)
|
RedisService.AtualizarCampos(
|
||||||
);
|
CtxKey.DadosControle,
|
||||||
|
("velocidade_sp", 0)
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (_Controle.ticks_sem_resposta.AddMilliseconds(min_ticks_sem_resposta) < agora)
|
else if (_Controle.ticks_sem_resposta.AddMilliseconds(min_ticks_sem_resposta) < agora)
|
||||||
{
|
{
|
||||||
Variaveis.OperacaoEmAndamento.Sensoriamento?.InserirLog(T_Code.Npc, StatusModulo.Alerta, 80, "Muito tempo sem receber novo comando do Manager Worker! Reduzindo Velocidade!");
|
if (Variaveis.OperacaoEmAndamento?.Sensoriamento?.Controle?.RPM_SP > Variaveis.OperacaoEmAndamento.Parametros.Controle.MovVelocidadeCErvasPercent)
|
||||||
Console.WriteLine("Muito tempo sem receber novo comando do Manager Worker! Reduzindo Velocidade!");
|
{
|
||||||
RedisService.AtualizarCampos(
|
Variaveis.OperacaoEmAndamento.Sensoriamento?.InserirLog(T_Code.Npc, StatusModulo.Alerta, 80, "Muito tempo sem receber novo comando do Manager Worker! Reduzindo Velocidade!");
|
||||||
CtxKey.DadosControle,
|
Console.WriteLine("Muito tempo sem receber novo comando do Manager Worker! Reduzindo Velocidade!");
|
||||||
("velocidade_sp", Variaveis.OperacaoEmAndamento.Parametros.Controle.MovVelocidadeCErvasPercent)
|
RedisService.AtualizarCampos(
|
||||||
);
|
CtxKey.DadosControle,
|
||||||
|
("velocidade_sp", Variaveis.OperacaoEmAndamento.Parametros.Controle.MovVelocidadeCErvasPercent)
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -91,29 +91,39 @@ namespace AgroBase.Services.Operadores
|
||||||
var _Controle = Variaveis.OperacaoEmAndamento.Controle;
|
var _Controle = Variaveis.OperacaoEmAndamento.Controle;
|
||||||
if (Variaveis.OperacaoEmAndamento.Parametros.Controle.MovimentoAutomatico)
|
if (Variaveis.OperacaoEmAndamento.Parametros.Controle.MovimentoAutomatico)
|
||||||
{
|
{
|
||||||
_Controle.PercentualVelocidadeSP = 0;
|
if (_Controle.PercentualVelocidadeSP > 0)
|
||||||
RedisService.AtualizarCampos(
|
{
|
||||||
CtxKey.DadosControle,
|
_Controle.PercentualVelocidadeSP = 0;
|
||||||
("velocidade_sp", _Controle.PercentualVelocidadeSP)
|
RedisService.AtualizarCampos(
|
||||||
);
|
CtxKey.DadosControle,
|
||||||
|
("velocidade_sp", _Controle.PercentualVelocidadeSP)
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Variaveis.OperacaoEmAndamento.Parametros.Controle.DirecionalAutomatico)
|
if (Variaveis.OperacaoEmAndamento.Parametros.Controle.DirecionalAutomatico)
|
||||||
{
|
{
|
||||||
_Controle.Angulo = 0;
|
if (_Controle.Angulo != 0)
|
||||||
RedisService.AtualizarCampos(
|
{
|
||||||
CtxKey.DadosControle,
|
_Controle.Angulo = 0;
|
||||||
("angulo_sp", _Controle.Angulo)
|
RedisService.AtualizarCampos(
|
||||||
);
|
CtxKey.DadosControle,
|
||||||
|
("angulo_sp", _Controle.Angulo)
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_Controle.Bicos.ForEach(x => x.ComandoAtuar = false);
|
if (Variaveis.OperacaoEmAndamento.Parametros.Controle.PulverizadorAutomatico)
|
||||||
RedisService.AtualizarCampos(
|
{
|
||||||
CtxKey.DadosControle,
|
if (_Controle.Bicos.Any(x => x.ComandoAtuar))
|
||||||
("angulo_sp", _Controle.Angulo),
|
{
|
||||||
("velocidade_sp", _Controle.PercentualVelocidadeSP),
|
_Controle.Bicos.ForEach(x => x.ComandoAtuar = false);
|
||||||
("controle_bicos", _Controle.Bicos.ToDictionary(x => x.Posicao - 1, x => x.ComandoAtuar))
|
RedisService.AtualizarCampos(
|
||||||
);
|
CtxKey.DadosControle,
|
||||||
|
("controle_bicos", _Controle.Bicos.ToDictionary(x => x.Posicao - 1, x => x.ComandoAtuar))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Variaveis.OperacaoEmAndamento.AtualizaInformacoesControleOperacao();
|
Variaveis.OperacaoEmAndamento.AtualizaInformacoesControleOperacao();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -88,9 +88,9 @@ namespace OperationControl.ViewModels.Views.Operacao
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void AtualizarStatus(StatusModulo status, string titulo, string linha1, string linha2, string status_str, string resumo)
|
public void AtualizarStatus(StatusModulo status, string titulo, StatusOperacao status_op, string linha1, string linha2, string status_str, string resumo)
|
||||||
{
|
{
|
||||||
ContextoSelecionado = titulo;
|
ContextoSelecionado = $"{titulo} • {status_op}";
|
||||||
TituloStatus = linha1;
|
TituloStatus = linha1;
|
||||||
MotivoPrincipal = linha2;
|
MotivoPrincipal = linha2;
|
||||||
BadgeTexto = status_str;
|
BadgeTexto = status_str;
|
||||||
|
|
|
||||||
|
|
@ -370,6 +370,21 @@ namespace OperationControl.ViewModels
|
||||||
|
|
||||||
var eventos = new List<MotivoTopBarModel>();
|
var eventos = new List<MotivoTopBarModel>();
|
||||||
|
|
||||||
|
if (obj.ModulosSaude?.All(x => (x?.status ?? StatusModulo.Desconectado) == StatusModulo.Desconectado) ?? false)
|
||||||
|
{
|
||||||
|
// ============================
|
||||||
|
// 0) NCP desconectado
|
||||||
|
// ============================
|
||||||
|
eventos.Add(new MotivoTopBarModel
|
||||||
|
{
|
||||||
|
Prioridade = 1100,
|
||||||
|
Fonte = "Núcleo Central de Processamento",
|
||||||
|
Titulo = "NÚCLEO CENTRAL DE PROCESSAMENTO DESCONECTADO",
|
||||||
|
Descricao = "O núcleo central de processamento foi desconectado, tentando reconectar...",
|
||||||
|
StatusVisual = StatusModulo.Falha
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// ============================
|
// ============================
|
||||||
// 1) Emergência
|
// 1) Emergência
|
||||||
// ============================
|
// ============================
|
||||||
|
|
@ -567,6 +582,7 @@ namespace OperationControl.ViewModels
|
||||||
_viewOperacaoTop?._vm.AtualizarStatus(
|
_viewOperacaoTop?._vm.AtualizarStatus(
|
||||||
statusVisual,
|
statusVisual,
|
||||||
rover.RoverId,
|
rover.RoverId,
|
||||||
|
obj?.Operacao?.Status ?? StatusOperacao.NaoIniciado,
|
||||||
linha1,
|
linha1,
|
||||||
linha2,
|
linha2,
|
||||||
badge,
|
badge,
|
||||||
|
|
@ -579,7 +595,7 @@ namespace OperationControl.ViewModels
|
||||||
{
|
{
|
||||||
System.Windows.Application.Current.Dispatcher.BeginInvoke(new Action(() =>
|
System.Windows.Application.Current.Dispatcher.BeginInvoke(new Action(() =>
|
||||||
{
|
{
|
||||||
_viewOperacaoTop?._vm.AtualizarStatus(status, titulo, linha1, linha2.Replace("\n\n", " • "), status_str, resumo);
|
_viewOperacaoTop?._vm.AtualizarStatus(status, titulo, StatusOperacao.Parametrizando, linha1, linha2.Replace("\n\n", " • "), status_str, resumo);
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue