ajustes de controle atuador e trajetoria
This commit is contained in:
parent
c4862a7ce4
commit
aa827bb57b
|
|
@ -156,7 +156,8 @@ namespace AgroBase.Forms.Atuador
|
||||||
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
||||||
Bomba,
|
Bomba,
|
||||||
Services.CanMessagePosicaoDados.Command1,
|
Services.CanMessagePosicaoDados.Command1,
|
||||||
Bomba.ComandoAtuar
|
setarControle: true,
|
||||||
|
status: Bomba.ComandoAtuar
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -167,7 +168,8 @@ namespace AgroBase.Forms.Atuador
|
||||||
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
||||||
Bomba,
|
Bomba,
|
||||||
Services.CanMessagePosicaoDados.Command1,
|
Services.CanMessagePosicaoDados.Command1,
|
||||||
true
|
setarControle: true,
|
||||||
|
status: true
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -178,7 +180,8 @@ namespace AgroBase.Forms.Atuador
|
||||||
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
||||||
Bomba,
|
Bomba,
|
||||||
Services.CanMessagePosicaoDados.Command1,
|
Services.CanMessagePosicaoDados.Command1,
|
||||||
false
|
setarControle: true,
|
||||||
|
status: false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -208,7 +211,8 @@ namespace AgroBase.Forms.Atuador
|
||||||
Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.EnviarComandoFisicoBico(
|
Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.EnviarComandoFisicoBico(
|
||||||
Bico,
|
Bico,
|
||||||
Services.CanMessagePosicaoDados.Command1,
|
Services.CanMessagePosicaoDados.Command1,
|
||||||
false
|
setarControle: true,
|
||||||
|
status: false
|
||||||
);
|
);
|
||||||
pnlBicos.Controls.OfType<Panel>().First(x => x.Name == "pnlB_" + ID).Invalidate();
|
pnlBicos.Controls.OfType<Panel>().First(x => x.Name == "pnlB_" + ID).Invalidate();
|
||||||
pnlBicos.Controls.OfType<Panel>().First(x => x.Name == "pnlB_" + ID).Controls.OfType<Label>().First(x => x.Name == "lblCmd_" + ID).Text = "Comando: Desligado";
|
pnlBicos.Controls.OfType<Panel>().First(x => x.Name == "pnlB_" + ID).Controls.OfType<Label>().First(x => x.Name == "lblCmd_" + ID).Text = "Comando: Desligado";
|
||||||
|
|
@ -223,7 +227,8 @@ namespace AgroBase.Forms.Atuador
|
||||||
Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.EnviarComandoFisicoBico(
|
Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.EnviarComandoFisicoBico(
|
||||||
Bico,
|
Bico,
|
||||||
Services.CanMessagePosicaoDados.Command1,
|
Services.CanMessagePosicaoDados.Command1,
|
||||||
true
|
setarControle: true,
|
||||||
|
status: true
|
||||||
);
|
);
|
||||||
pnlBicos.Controls.OfType<Panel>().First(x => x.Name == "pnlB_" + ID).Invalidate();
|
pnlBicos.Controls.OfType<Panel>().First(x => x.Name == "pnlB_" + ID).Invalidate();
|
||||||
pnlBicos.Controls.OfType<Panel>().First(x => x.Name == "pnlB_" + ID).Controls.OfType<Label>().First(x => x.Name == "lblCmd_" + ID).Text = "Comando: Ligado";
|
pnlBicos.Controls.OfType<Panel>().First(x => x.Name == "pnlB_" + ID).Controls.OfType<Label>().First(x => x.Name == "lblCmd_" + ID).Text = "Comando: Ligado";
|
||||||
|
|
|
||||||
|
|
@ -530,7 +530,8 @@ namespace AgroBase.Forms.IHM
|
||||||
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
||||||
Bomba,
|
Bomba,
|
||||||
CanMessagePosicaoDados.Command1,
|
CanMessagePosicaoDados.Command1,
|
||||||
Ligar,
|
setarControle: true,
|
||||||
|
status: Ligar,
|
||||||
potencia: 100,
|
potencia: 100,
|
||||||
pressao: Pressao + 10
|
pressao: Pressao + 10
|
||||||
);
|
);
|
||||||
|
|
@ -553,7 +554,8 @@ namespace AgroBase.Forms.IHM
|
||||||
Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.EnviarComandoFisicoBico(
|
Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.EnviarComandoFisicoBico(
|
||||||
Bico,
|
Bico,
|
||||||
CanMessagePosicaoDados.Command1,
|
CanMessagePosicaoDados.Command1,
|
||||||
Ligar
|
setarControle: true,
|
||||||
|
status: Ligar
|
||||||
);
|
);
|
||||||
DateTime inicio = DateTime.Now;
|
DateTime inicio = DateTime.Now;
|
||||||
while (DateTime.Now < inicio.AddMilliseconds(Timeout))
|
while (DateTime.Now < inicio.AddMilliseconds(Timeout))
|
||||||
|
|
|
||||||
|
|
@ -675,7 +675,8 @@ namespace AgroBase.Forms.Operacoes
|
||||||
op.DispAtu?.Dados?.EnviarComandoFisicoBico(
|
op.DispAtu?.Dados?.EnviarComandoFisicoBico(
|
||||||
Bico,
|
Bico,
|
||||||
CanMessagePosicaoDados.Command1,
|
CanMessagePosicaoDados.Command1,
|
||||||
comando
|
setarControle: true,
|
||||||
|
status: comando
|
||||||
);
|
);
|
||||||
|
|
||||||
pnlAtuadores.Controls.OfType<Label>().First(x => x.Name == "lblCmd_" + ID).Text = "Comando: " + (comando ? "Ligado" : "Desligado");
|
pnlAtuadores.Controls.OfType<Label>().First(x => x.Name == "lblCmd_" + ID).Text = "Comando: " + (comando ? "Ligado" : "Desligado");
|
||||||
|
|
@ -700,7 +701,8 @@ namespace AgroBase.Forms.Operacoes
|
||||||
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
||||||
Bomba,
|
Bomba,
|
||||||
CanMessagePosicaoDados.Command2,
|
CanMessagePosicaoDados.Command2,
|
||||||
true,
|
setarControle: true,
|
||||||
|
status: true,
|
||||||
modo: (ModoControleBomba)cmbModoBomba.SelectedIndex,
|
modo: (ModoControleBomba)cmbModoBomba.SelectedIndex,
|
||||||
potenciaMinPid: potMin,
|
potenciaMinPid: potMin,
|
||||||
Kp: Kp,
|
Kp: Kp,
|
||||||
|
|
@ -711,7 +713,8 @@ namespace AgroBase.Forms.Operacoes
|
||||||
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
||||||
Bomba,
|
Bomba,
|
||||||
CanMessagePosicaoDados.Command1,
|
CanMessagePosicaoDados.Command1,
|
||||||
true,
|
setarControle: true,
|
||||||
|
status: true,
|
||||||
potencia: potMax,
|
potencia: potMax,
|
||||||
pressao: pressao
|
pressao: pressao
|
||||||
);
|
);
|
||||||
|
|
@ -725,7 +728,8 @@ namespace AgroBase.Forms.Operacoes
|
||||||
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
||||||
Bomba,
|
Bomba,
|
||||||
CanMessagePosicaoDados.Command1,
|
CanMessagePosicaoDados.Command1,
|
||||||
false
|
setarControle: true,
|
||||||
|
status: false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -740,7 +744,8 @@ namespace AgroBase.Forms.Operacoes
|
||||||
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
||||||
Agitador,
|
Agitador,
|
||||||
CanMessagePosicaoDados.Command2,
|
CanMessagePosicaoDados.Command2,
|
||||||
true,
|
setarControle: true,
|
||||||
|
status: true,
|
||||||
modo: Agitador.Controle.Modo,
|
modo: Agitador.Controle.Modo,
|
||||||
potenciaMinPid: Agitador.Controle.PotenciaMinPID,
|
potenciaMinPid: Agitador.Controle.PotenciaMinPID,
|
||||||
Kp: Agitador.Controle.Kp,
|
Kp: Agitador.Controle.Kp,
|
||||||
|
|
@ -751,7 +756,8 @@ namespace AgroBase.Forms.Operacoes
|
||||||
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
||||||
Agitador,
|
Agitador,
|
||||||
CanMessagePosicaoDados.Command1,
|
CanMessagePosicaoDados.Command1,
|
||||||
true,
|
setarControle: true,
|
||||||
|
status: true,
|
||||||
potencia: potencia
|
potencia: potencia
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -764,7 +770,8 @@ namespace AgroBase.Forms.Operacoes
|
||||||
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
op.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
||||||
Agitador,
|
Agitador,
|
||||||
CanMessagePosicaoDados.Command1,
|
CanMessagePosicaoDados.Command1,
|
||||||
false
|
setarControle: true,
|
||||||
|
status: false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -631,7 +631,8 @@ namespace AgroBase
|
||||||
op?.DispAtu?.Dados?.EnviarComandoFisicoBico(
|
op?.DispAtu?.Dados?.EnviarComandoFisicoBico(
|
||||||
bico,
|
bico,
|
||||||
Comando.Comando,
|
Comando.Comando,
|
||||||
Comando.EstadoAplicar
|
setarControle: true,
|
||||||
|
status: Comando.EstadoAplicar
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
@ -639,7 +640,8 @@ namespace AgroBase
|
||||||
op?.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
op?.DispAtu?.Dados?.EnviarComandoFisicoBomba(
|
||||||
bomba,
|
bomba,
|
||||||
Comando.Comando,
|
Comando.Comando,
|
||||||
Comando.EstadoAplicar
|
setarControle: true,
|
||||||
|
status: Comando.EstadoAplicar
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -95,11 +95,11 @@ namespace AgroBase.Models
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return _tmrLogsOperacao.Interval;
|
return _tmrLogsOperacao?.Interval ?? 1000;
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_tmrLogsOperacao.SetInterval((int)value);
|
_tmrLogsOperacao?.SetInterval((int)value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private AsyncTaskTimerModel _tmrLogsOperacao;
|
private AsyncTaskTimerModel _tmrLogsOperacao;
|
||||||
|
|
@ -1249,6 +1249,8 @@ namespace AgroBase.Models
|
||||||
|
|
||||||
novaOp.DefinirComponentesEmUso();
|
novaOp.DefinirComponentesEmUso();
|
||||||
|
|
||||||
|
Variaveis.OperacaoEmAndamento = novaOp;
|
||||||
|
|
||||||
var ruasSelecionadas = parametros.RuasPercorrer ?? new List<string>();
|
var ruasSelecionadas = parametros.RuasPercorrer ?? new List<string>();
|
||||||
|
|
||||||
if (parametros.Mapa != null)
|
if (parametros.Mapa != null)
|
||||||
|
|
@ -1258,8 +1260,6 @@ namespace AgroBase.Models
|
||||||
novaOp.Mapa.PopularTrajetoriaMapa(parametros.Mapa);
|
novaOp.Mapa.PopularTrajetoriaMapa(parametros.Mapa);
|
||||||
}
|
}
|
||||||
|
|
||||||
Variaveis.OperacaoEmAndamento = novaOp;
|
|
||||||
|
|
||||||
RedisService.AtualizarCampos(CtxKey.DadosOperacao, ("configurado", false));
|
RedisService.AtualizarCampos(CtxKey.DadosOperacao, ("configurado", false));
|
||||||
|
|
||||||
return novaOp;
|
return novaOp;
|
||||||
|
|
@ -1986,7 +1986,8 @@ namespace AgroBase.Models
|
||||||
op.DispAtu?.Dados?.EnviarComandoFisicoBico(
|
op.DispAtu?.Dados?.EnviarComandoFisicoBico(
|
||||||
bicos[i],
|
bicos[i],
|
||||||
CanMessagePosicaoDados.Command1,
|
CanMessagePosicaoDados.Command1,
|
||||||
bicos[i].ComandoAtuar
|
setarControle: true,
|
||||||
|
status: bicos[i].ComandoAtuar
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2590,7 +2591,8 @@ namespace AgroBase.Models
|
||||||
dadosAtu?.EnviarComandoFisicoBico(
|
dadosAtu?.EnviarComandoFisicoBico(
|
||||||
bico,
|
bico,
|
||||||
CanMessagePosicaoDados.Command1,
|
CanMessagePosicaoDados.Command1,
|
||||||
controleBase.Controle.Estado == true,
|
setarControle: true,
|
||||||
|
status: controleBase.Controle.Estado == true,
|
||||||
angulo: controleBase.Controle.AnguloSP
|
angulo: controleBase.Controle.AnguloSP
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
|
|
@ -2616,7 +2618,8 @@ namespace AgroBase.Models
|
||||||
dadosAtu?.EnviarComandoFisicoBomba(
|
dadosAtu?.EnviarComandoFisicoBomba(
|
||||||
bomba,
|
bomba,
|
||||||
CanMessagePosicaoDados.Command1,
|
CanMessagePosicaoDados.Command1,
|
||||||
controleBase.Controle.Estado == true,
|
setarControle: true,
|
||||||
|
status: controleBase.Controle.Estado == true,
|
||||||
potencia: controleBase.Controle.Potencia,
|
potencia: controleBase.Controle.Potencia,
|
||||||
pressao: controleBase.Controle.Pressao,
|
pressao: controleBase.Controle.Pressao,
|
||||||
modo: op.Parametros.Controle.AtuModoControle
|
modo: op.Parametros.Controle.AtuModoControle
|
||||||
|
|
@ -4899,6 +4902,9 @@ namespace AgroBase.Models
|
||||||
{
|
{
|
||||||
if (op == null) return;
|
if (op == null) return;
|
||||||
|
|
||||||
|
if (!ReferenceEquals(Variaveis.OperacaoEmAndamento, op))
|
||||||
|
op = Variaveis.OperacaoEmAndamento;
|
||||||
|
|
||||||
DateTime agora = DateTime.Now;
|
DateTime agora = DateTime.Now;
|
||||||
|
|
||||||
// Contexto
|
// Contexto
|
||||||
|
|
|
||||||
|
|
@ -671,7 +671,7 @@ namespace AgroBase.Models
|
||||||
if (!_TrajetoriaFixaDefinida) return;
|
if (!_TrajetoriaFixaDefinida) return;
|
||||||
|
|
||||||
// Atualiza apenas os pontos dentro do intervalo definido
|
// Atualiza apenas os pontos dentro do intervalo definido
|
||||||
foreach (var ponto in _TrajetoriaJanela)
|
foreach (var ponto in _TrajetoriaJanela ?? new List<PontoTrajetoriaModel>())
|
||||||
{
|
{
|
||||||
ponto.AtualizarPropriedades();
|
ponto.AtualizarPropriedades();
|
||||||
}
|
}
|
||||||
|
|
@ -2847,8 +2847,16 @@ namespace AgroBase.Models
|
||||||
var op = Variaveis.OperacaoEmAndamento;
|
var op = Variaveis.OperacaoEmAndamento;
|
||||||
|
|
||||||
// Valida índice do corredor
|
// Valida índice do corredor
|
||||||
if (op.Trajetoria?._Corredores?.Count <= idxCorredor)
|
if ((op.Trajetoria?._Corredores?.Count ?? 0) <= idxCorredor)
|
||||||
|
{
|
||||||
|
Liberado = false;
|
||||||
|
Motivos = new List<string>()
|
||||||
|
{
|
||||||
|
$"Trajetória não possui corredores definidos. {idxCorredor}/{op.Trajetoria?._Corredores?.Count}"
|
||||||
|
};
|
||||||
|
Status = AutonomiaCorredorStatus.Critico;
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Se já registrou esse corredor como liberado e travado/feito, não recalcula
|
// Se já registrou esse corredor como liberado e travado/feito, não recalcula
|
||||||
if (CorredoresLiberados.ContainsKey(idxCorredor) && CorredoresLiberados[idxCorredor].Liberado)
|
if (CorredoresLiberados.ContainsKey(idxCorredor) && CorredoresLiberados[idxCorredor].Liberado)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue