ajustes ao carregar os parametros da operacao
This commit is contained in:
parent
c9f3bd69d7
commit
84e2c88b4f
|
|
@ -204,6 +204,7 @@ namespace AgroBase.Models.Modules
|
||||||
ID = T_Code.Dir.ToString(),
|
ID = T_Code.Dir.ToString(),
|
||||||
_EnderecoCAN_Tx = _EnderecoTx,
|
_EnderecoCAN_Tx = _EnderecoTx,
|
||||||
_EnderecoCAN_Rx = _EnderecoRx,
|
_EnderecoCAN_Rx = _EnderecoRx,
|
||||||
|
Comandar = true,
|
||||||
Funcoes = new List<FuncoesPinout>()
|
Funcoes = new List<FuncoesPinout>()
|
||||||
{
|
{
|
||||||
FuncoesPinout.PUL,
|
FuncoesPinout.PUL,
|
||||||
|
|
|
||||||
|
|
@ -281,6 +281,7 @@ namespace AgroBase.Models.Modules
|
||||||
ID = T_Code.Mov.ToString(),
|
ID = T_Code.Mov.ToString(),
|
||||||
_EnderecoCAN_Tx = _EnderecoTx,
|
_EnderecoCAN_Tx = _EnderecoTx,
|
||||||
_EnderecoCAN_Rx = _EnderecoRx,
|
_EnderecoCAN_Rx = _EnderecoRx,
|
||||||
|
Comandar = true,
|
||||||
Funcoes = new List<FuncoesPinout>()
|
Funcoes = new List<FuncoesPinout>()
|
||||||
{
|
{
|
||||||
FuncoesPinout.TMP,
|
FuncoesPinout.TMP,
|
||||||
|
|
|
||||||
|
|
@ -191,6 +191,12 @@ namespace AgroBase.Models
|
||||||
Mapa = null,
|
Mapa = null,
|
||||||
PontosRetorno = null,
|
PontosRetorno = null,
|
||||||
DadosLeitura = new OperacaoParametrosDadosModel(),
|
DadosLeitura = new OperacaoParametrosDadosModel(),
|
||||||
|
ModulosMandatorios = new List<OperacaoModulosMandatoriosModel>()
|
||||||
|
{
|
||||||
|
new OperacaoModulosMandatoriosModel() { Dispositivo = T_Code.Npc, Mandatorio = true, Utilizar = true },
|
||||||
|
new OperacaoModulosMandatoriosModel() { Dispositivo = T_Code.Can, Mandatorio = true, Utilizar = true },
|
||||||
|
new OperacaoModulosMandatoriosModel() { Dispositivo = T_Code.Bat, Mandatorio = true, Utilizar = true },
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
op.Sensoriamento = new OperacaoSensoriamentoConjuntoModel(op)
|
op.Sensoriamento = new OperacaoSensoriamentoConjuntoModel(op)
|
||||||
|
|
@ -217,7 +223,7 @@ namespace AgroBase.Models
|
||||||
switch (Modo)
|
switch (Modo)
|
||||||
{
|
{
|
||||||
case ModoOperacao.NaoDefinido:
|
case ModoOperacao.NaoDefinido:
|
||||||
op.Parametros.ModulosMandatorios = new List<OperacaoModulosMandatoriosModel>();
|
|
||||||
break;
|
break;
|
||||||
case ModoOperacao.Manual:
|
case ModoOperacao.Manual:
|
||||||
op.Parametros.Controle = new OperacaoParametrosControleModel()
|
op.Parametros.Controle = new OperacaoParametrosControleModel()
|
||||||
|
|
@ -255,7 +261,7 @@ namespace AgroBase.Models
|
||||||
AtuAgitadorModo = ModoAgitadorCalda.SemAgitacao,
|
AtuAgitadorModo = ModoAgitadorCalda.SemAgitacao,
|
||||||
AtuModoControle = ModoControleBomba.PID
|
AtuModoControle = ModoControleBomba.PID
|
||||||
};
|
};
|
||||||
op.Parametros.ModulosMandatorios = new List<OperacaoModulosMandatoriosModel>()
|
op.Parametros.ModulosMandatorios.AddRange(new List<OperacaoModulosMandatoriosModel>()
|
||||||
{
|
{
|
||||||
new OperacaoModulosMandatoriosModel()
|
new OperacaoModulosMandatoriosModel()
|
||||||
{
|
{
|
||||||
|
|
@ -275,7 +281,7 @@ namespace AgroBase.Models
|
||||||
Mandatorio = false,
|
Mandatorio = false,
|
||||||
Utilizar = true,
|
Utilizar = true,
|
||||||
}
|
}
|
||||||
};
|
});
|
||||||
op.Parametros.ParametrosMandatorios = new List<OperacaoParametrosMandatoriosModel>()
|
op.Parametros.ParametrosMandatorios = new List<OperacaoParametrosMandatoriosModel>()
|
||||||
{
|
{
|
||||||
new OperacaoParametrosMandatoriosModel()
|
new OperacaoParametrosMandatoriosModel()
|
||||||
|
|
@ -366,7 +372,7 @@ namespace AgroBase.Models
|
||||||
AtuAgitadorModo = ModoAgitadorCalda.Continuo,
|
AtuAgitadorModo = ModoAgitadorCalda.Continuo,
|
||||||
AtuModoControle = ModoControleBomba.PID,
|
AtuModoControle = ModoControleBomba.PID,
|
||||||
};
|
};
|
||||||
op.Parametros.ModulosMandatorios = new List<OperacaoModulosMandatoriosModel>()
|
op.Parametros.ModulosMandatorios.AddRange(new List<OperacaoModulosMandatoriosModel>()
|
||||||
{
|
{
|
||||||
new OperacaoModulosMandatoriosModel()
|
new OperacaoModulosMandatoriosModel()
|
||||||
{
|
{
|
||||||
|
|
@ -416,7 +422,7 @@ namespace AgroBase.Models
|
||||||
Mandatorio = true,
|
Mandatorio = true,
|
||||||
Utilizar = true,
|
Utilizar = true,
|
||||||
},
|
},
|
||||||
};
|
});
|
||||||
op.Parametros.ParametrosMandatorios = new List<OperacaoParametrosMandatoriosModel>()
|
op.Parametros.ParametrosMandatorios = new List<OperacaoParametrosMandatoriosModel>()
|
||||||
{
|
{
|
||||||
new OperacaoParametrosMandatoriosModel()
|
new OperacaoParametrosMandatoriosModel()
|
||||||
|
|
@ -506,7 +512,7 @@ namespace AgroBase.Models
|
||||||
AtuAgitadorModo = ModoAgitadorCalda.SemAgitacao,
|
AtuAgitadorModo = ModoAgitadorCalda.SemAgitacao,
|
||||||
AtuModoControle = ModoControleBomba.PID,
|
AtuModoControle = ModoControleBomba.PID,
|
||||||
};
|
};
|
||||||
op.Parametros.ModulosMandatorios = new List<OperacaoModulosMandatoriosModel>()
|
op.Parametros.ModulosMandatorios.AddRange(new List<OperacaoModulosMandatoriosModel>()
|
||||||
{
|
{
|
||||||
new OperacaoModulosMandatoriosModel()
|
new OperacaoModulosMandatoriosModel()
|
||||||
{
|
{
|
||||||
|
|
@ -548,7 +554,7 @@ namespace AgroBase.Models
|
||||||
Dispositivo = T_Code.Lra,
|
Dispositivo = T_Code.Lra,
|
||||||
Mandatorio = true,
|
Mandatorio = true,
|
||||||
}
|
}
|
||||||
};
|
});
|
||||||
op.Parametros.ParametrosMandatorios = new List<OperacaoParametrosMandatoriosModel>()
|
op.Parametros.ParametrosMandatorios = new List<OperacaoParametrosMandatoriosModel>()
|
||||||
{
|
{
|
||||||
new OperacaoParametrosMandatoriosModel()
|
new OperacaoParametrosMandatoriosModel()
|
||||||
|
|
@ -645,7 +651,7 @@ namespace AgroBase.Models
|
||||||
AtuAgitadorModo = ModoAgitadorCalda.SemAgitacao,
|
AtuAgitadorModo = ModoAgitadorCalda.SemAgitacao,
|
||||||
AtuModoControle = ModoControleBomba.PID,
|
AtuModoControle = ModoControleBomba.PID,
|
||||||
};
|
};
|
||||||
op.Parametros.ModulosMandatorios = new List<OperacaoModulosMandatoriosModel>()
|
op.Parametros.ModulosMandatorios.AddRange(new List<OperacaoModulosMandatoriosModel>()
|
||||||
{
|
{
|
||||||
new OperacaoModulosMandatoriosModel()
|
new OperacaoModulosMandatoriosModel()
|
||||||
{
|
{
|
||||||
|
|
@ -665,7 +671,7 @@ namespace AgroBase.Models
|
||||||
Mandatorio = true,
|
Mandatorio = true,
|
||||||
Utilizar = true,
|
Utilizar = true,
|
||||||
}
|
}
|
||||||
};
|
});
|
||||||
op.Parametros.ParametrosMandatorios = new List<OperacaoParametrosMandatoriosModel>()
|
op.Parametros.ParametrosMandatorios = new List<OperacaoParametrosMandatoriosModel>()
|
||||||
{
|
{
|
||||||
new OperacaoParametrosMandatoriosModel()
|
new OperacaoParametrosMandatoriosModel()
|
||||||
|
|
@ -744,7 +750,7 @@ namespace AgroBase.Models
|
||||||
AtuAgitadorModo = ModoAgitadorCalda.SemAgitacao,
|
AtuAgitadorModo = ModoAgitadorCalda.SemAgitacao,
|
||||||
AtuModoControle = ModoControleBomba.PID,
|
AtuModoControle = ModoControleBomba.PID,
|
||||||
};
|
};
|
||||||
op.Parametros.ModulosMandatorios = new List<OperacaoModulosMandatoriosModel>()
|
op.Parametros.ModulosMandatorios.AddRange(new List<OperacaoModulosMandatoriosModel>()
|
||||||
{
|
{
|
||||||
new OperacaoModulosMandatoriosModel()
|
new OperacaoModulosMandatoriosModel()
|
||||||
{
|
{
|
||||||
|
|
@ -788,7 +794,7 @@ namespace AgroBase.Models
|
||||||
Mandatorio = true,
|
Mandatorio = true,
|
||||||
Utilizar = true,
|
Utilizar = true,
|
||||||
},
|
},
|
||||||
};
|
});
|
||||||
op.Parametros.ParametrosMandatorios = new List<OperacaoParametrosMandatoriosModel>();
|
op.Parametros.ParametrosMandatorios = new List<OperacaoParametrosMandatoriosModel>();
|
||||||
op.Controle = new OperacaoControleModel()
|
op.Controle = new OperacaoControleModel()
|
||||||
{
|
{
|
||||||
|
|
@ -827,10 +833,6 @@ namespace AgroBase.Models
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
op.Parametros.ModulosMandatorios.Add(new OperacaoModulosMandatoriosModel() { Dispositivo = T_Code.Npc, Mandatorio = true, Utilizar = true });
|
|
||||||
op.Parametros.ModulosMandatorios.Add(new OperacaoModulosMandatoriosModel() { Dispositivo = T_Code.Can, Mandatorio = true, Utilizar = true });
|
|
||||||
op.Parametros.ModulosMandatorios.Add(new OperacaoModulosMandatoriosModel() { Dispositivo = T_Code.Bat, Mandatorio = true, Utilizar = true });
|
|
||||||
|
|
||||||
op.Parametros.ModulosMandatorios.ForEach(m => m.ComponentesEmUso = op.PreencherComponentesEmUso(m.Dispositivo));
|
op.Parametros.ModulosMandatorios.ForEach(m => m.ComponentesEmUso = op.PreencherComponentesEmUso(m.Dispositivo));
|
||||||
if (CarregarModulos)
|
if (CarregarModulos)
|
||||||
{
|
{
|
||||||
|
|
@ -850,29 +852,25 @@ namespace AgroBase.Models
|
||||||
switch (Modulo)
|
switch (Modulo)
|
||||||
{
|
{
|
||||||
case T_Code.Mov:
|
case T_Code.Mov:
|
||||||
if (op.DispMvd != null)
|
var dadosMov = op?.DispMvd?.Dados ?? MovimentacaoUnificadaModel.CarregarParametrosIniciais();
|
||||||
op.DispMvd?.Dados?.Modulos?.ForEach(m => d.Add(m.Modulo_ID, (true, m.MovMotor.Comandar)));
|
dadosMov?.Modulos?.ForEach(m => d.Add(m.Modulo_ID, (true, m.MovMotor.Comandar)));
|
||||||
break;
|
break;
|
||||||
case T_Code.Dir:
|
case T_Code.Dir:
|
||||||
if (op.DispMvd != null)
|
var dadosDir = op?.DispMvd?.Dados ?? MovimentacaoUnificadaModel.CarregarParametrosIniciais();
|
||||||
op.DispMvd?.Dados?.Modulos?.ForEach(m => d.Add(m.Modulo_ID, (true, m.DirMotor.Comandar)));
|
dadosDir?.Modulos?.ForEach(m => d.Add(m.Modulo_ID, (true, m.DirMotor.Comandar)));
|
||||||
break;
|
break;
|
||||||
case T_Code.Atu:
|
case T_Code.Atu:
|
||||||
if (op.DispAtu != null)
|
var dadosAtu = op?.DispAtu?.Dados ?? AtuadorModel.CarregarParametrosIniciais();
|
||||||
{
|
dadosAtu?.Sensores?.ForEach(s => d.Add(s.ID, (s.Mandatorio, s.Aferir)));
|
||||||
op.DispAtu?.Dados?.Sensores?.ForEach(s => d.Add(s.ID, (s.Mandatorio, s.Aferir)));
|
dadosAtu?.BombasPressurizadoras?.ForEach(b => d.Add(b.ID, (b.Mandatorio, b.Comandar)));
|
||||||
op.DispAtu?.Dados?.BombasPressurizadoras?.ForEach(b => d.Add(b.ID, (b.Mandatorio, b.Comandar)));
|
dadosAtu?.BicosPulverizadores?.ForEach(b => d.Add(b.ID, (b.Mandatorio, b.Comandar)));
|
||||||
op.DispAtu?.Dados?.BicosPulverizadores?.ForEach(b => d.Add(b.ID, (b.Mandatorio, b.Comandar)));
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case T_Code.Sen:
|
case T_Code.Sen:
|
||||||
if (op.DispSen != null)
|
var dadosSen = op?.DispSen?.Dados ?? SensoriamentoModel.CarregarParametrosIniciais();
|
||||||
{
|
dadosSen?.Sensores?.ForEach(s => d.Add(s.ID, (s.Mandatorio, s.Aferir)));
|
||||||
op.DispSen?.Dados?.Sensores?.ForEach(s => d.Add(s.ID, (s.Mandatorio, s.Aferir)));
|
dadosSen?.Sinaleiros?.ForEach(s => d.Add(s.ID, (s.Mandatorio, s.Controlar)));
|
||||||
op.DispSen?.Dados?.Sinaleiros?.ForEach(s => d.Add(s.ID, (s.Mandatorio, s.Controlar)));
|
dadosSen?.Servos?.ForEach(s => d.Add(s.ID, (s.Mandatorio, s.Controlar)));
|
||||||
op.DispSen?.Dados?.Servos?.ForEach(s => d.Add(s.ID, (s.Mandatorio, s.Controlar)));
|
dadosSen?.Reles?.ForEach(r => d.Add(r.ID, (r.Mandatorio, r.Controlar)));
|
||||||
op.DispSen?.Dados?.Reles?.ForEach(r => d.Add(r.ID, (r.Mandatorio, r.Controlar)));
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return d;
|
return d;
|
||||||
|
|
|
||||||
|
|
@ -448,7 +448,7 @@ namespace OperationControl.ViewModels.Views.Operacao.Monitoramento.Diagnostico
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(item.LabelModulo))
|
if (!string.IsNullOrWhiteSpace(item.LabelModulo))
|
||||||
{
|
{
|
||||||
return dados.DadosLeitura?.Operacao?.ModulosMandatorios?
|
return dados.ModulosMandatorios?
|
||||||
.FirstOrDefault(x => x.Dispositivo == item.Modulo)?
|
.FirstOrDefault(x => x.Dispositivo == item.Modulo)?
|
||||||
.ComponentesEmUso?
|
.ComponentesEmUso?
|
||||||
.Any(x => x.Key == item.LabelModulo && x.Value.Item1) ?? false;
|
.Any(x => x.Key == item.LabelModulo && x.Value.Item1) ?? false;
|
||||||
|
|
@ -464,7 +464,7 @@ namespace OperationControl.ViewModels.Views.Operacao.Monitoramento.Diagnostico
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(item.LabelModulo))
|
if (!string.IsNullOrWhiteSpace(item.LabelModulo))
|
||||||
{
|
{
|
||||||
return dados.DadosLeitura?.Operacao?.ModulosMandatorios?
|
return dados.ModulosMandatorios?
|
||||||
.FirstOrDefault(x => x.Dispositivo == item.Modulo)?
|
.FirstOrDefault(x => x.Dispositivo == item.Modulo)?
|
||||||
.ComponentesEmUso?
|
.ComponentesEmUso?
|
||||||
.Any(x => x.Key == item.LabelModulo && x.Value.Item2) ?? false;
|
.Any(x => x.Key == item.LabelModulo && x.Value.Item2) ?? false;
|
||||||
|
|
|
||||||
|
|
@ -185,8 +185,6 @@
|
||||||
<StackPanel>
|
<StackPanel>
|
||||||
<TextBlock Text="MPC" Foreground="White" FontSize="15" FontWeight="SemiBold" Margin="0,0,0,12"/>
|
<TextBlock Text="MPC" Foreground="White" FontSize="15" FontWeight="SemiBold" Margin="0,0,0,12"/>
|
||||||
|
|
||||||
<CheckBox Content="Matriz de Custo" ToolTip="Define se o MPC deve usar a matriz de custo para filtrar candidatos e evitar regiões ruins ou com obstáculos." IsChecked="{Binding Parametros.Controle.MpcMatrizCusto}" Style="{StaticResource ParamCheckBoxStyle}"/>
|
|
||||||
|
|
||||||
<TextBlock Text="Horizonte (m)" Style="{StaticResource ParamLabelStyle}"/>
|
<TextBlock Text="Horizonte (m)" Style="{StaticResource ParamLabelStyle}"/>
|
||||||
<TextBox ToolTip="Distância, em metros, que o MPC usa como horizonte de previsão para escolher a melhor trajetória." Text="{Binding Parametros.Controle.MpcHorizonte, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}" Margin="0,0,0,0"/>
|
<TextBox ToolTip="Distância, em metros, que o MPC usa como horizonte de previsão para escolher a melhor trajetória." Text="{Binding Parametros.Controle.MpcHorizonte, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}" Margin="0,0,0,0"/>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue