ajustes
This commit is contained in:
parent
9cc8bb27ec
commit
e4383254c1
Binary file not shown.
Binary file not shown.
|
|
@ -853,19 +853,6 @@ namespace AgroBase.Forms.IHM
|
|||
ValorPadrao = 0
|
||||
},
|
||||
new ColunasDiagnosticoModel()
|
||||
{
|
||||
Componente = "S_POT_" + x.Modulo_ID,
|
||||
Teste = "Inicializado",
|
||||
ValorPadrao = 1,
|
||||
ComplementoValorPadrao = ComplementosPadrao[1]
|
||||
},
|
||||
new ColunasDiagnosticoModel()
|
||||
{
|
||||
Componente = "S_POT_" + x.Modulo_ID,
|
||||
Teste = "Status",
|
||||
ValorPadrao = (int)StatusSensorPotenciometro.Centro
|
||||
},
|
||||
new ColunasDiagnosticoModel()
|
||||
{
|
||||
Componente = x.Modulo_ID,
|
||||
Teste = "Para Esquerda",
|
||||
|
|
@ -934,14 +921,6 @@ namespace AgroBase.Forms.IHM
|
|||
int.TryParse(Leitura?.Mensagem ?? "", out int CodigoErro);
|
||||
idx = PreencheDadosLinha(grid, Testes, idx, Inicializado ? CodigoErro : -1);
|
||||
|
||||
var SensorPot = Modulo_Sen.Sensores.FirstOrDefault(x => x.Componente == S_Code.sPOT && x.ID.Contains(Modulo.Modulo_ID));
|
||||
|
||||
bool PotIniciado = SensorPot != null && SensorPot.Inicializado;
|
||||
idx = PreencheDadosLinha(grid, Testes, idx, PotIniciado ? 1 : 0);
|
||||
|
||||
int potStatus = PotIniciado ? (int)(((FirmwareSensorPotenciometro)SensorPot.Leitura)?.Status ?? StatusSensorPotenciometro.Indefinido) : -1;
|
||||
idx = PreencheDadosLinha(grid, Testes, idx, potStatus);
|
||||
|
||||
//MKS057DService.AddrRef = Convert.ToByte(Modulo.DirMotor.Endereco, 16);
|
||||
|
||||
if (Inicializado)
|
||||
|
|
|
|||
|
|
@ -236,17 +236,15 @@ namespace AgroBase.Forms
|
|||
PictureBox pic = (PictureBox)sender;
|
||||
string ID = pic.Name.Replace("pic", "");
|
||||
|
||||
var SensorPot = Variaveis.OperacaoEmAndamento.DispSen.Dados.Sensores.FirstOrDefault(s => s.ID == "POT" + ID);
|
||||
|
||||
var Modulo = Variaveis.OperacaoEmAndamento.DispMvd.Dados.Modulos.FirstOrDefault(m => m.Modulo_ID == ID);
|
||||
Label lblA_SP = pnlFundo.Controls.OfType<Label>().FirstOrDefault(ctrl => ctrl.Name == "lbl" + ID + "A_SP");
|
||||
lblA_SP.Text = "Angulo SP: " + (Modulo.DirMotor.Angulo_SP).ToString("000") + "º";
|
||||
Label lblA = pnlFundo.Controls.OfType<Label>().FirstOrDefault(ctrl => ctrl.Name == "lbl" + ID + "A");
|
||||
lblA.Text = "Angulo: " + Modulo.DirMotor.Angulo.ToString("000") + "º" + (SensorPot != null ? " (" + (((FirmwareSensorPotenciometro)SensorPot.Leitura)?.Angulo ?? -999) + "º / " + (((FirmwareSensorPotenciometro)SensorPot.Leitura)?.Leitura ?? -1) + ")" : "");
|
||||
lblA.Text = "Angulo: " + Modulo.DirMotor.Angulo.ToString("000") + "º";
|
||||
Label lblA_SentidoSP = pnlFundo.Controls.OfType<Label>().FirstOrDefault(ctrl => ctrl.Name == "lbl" + ID + "A_SentidoSP");
|
||||
lblA_SentidoSP.Text = "Sentido SP: " + Enum.GetName(typeof(Sentido), Modulo.DirMotor.Sentido_SP);
|
||||
Label lblA_Sentido = pnlFundo.Controls.OfType<Label>().FirstOrDefault(ctrl => ctrl.Name == "lbl" + ID + "A_Sentido");
|
||||
lblA_Sentido.Text = "Sentido: " + Enum.GetName(typeof(Sentido), Modulo.DirMotor.Sentido) + (SensorPot != null ? " (" + (((FirmwareSensorPotenciometro)SensorPot.Leitura)?.Sentido ?? Sentido.Parado) + ")" : "");
|
||||
lblA_Sentido.Text = "Sentido: " + Enum.GetName(typeof(Sentido), Modulo.DirMotor.Sentido) + " (" + Modulo.DirMotor.SentidoReal.ToString() + ")";
|
||||
|
||||
// Use o objeto Graphics para desenhar a representação do motor
|
||||
Graphics g = e.Graphics;
|
||||
|
|
|
|||
|
|
@ -43,7 +43,9 @@ namespace AgroBase.Forms
|
|||
Pinout = new PinoutDataModel()
|
||||
{
|
||||
ExpansorGPIO = false,
|
||||
EnderecoGPIO = "",
|
||||
EnderecoGPIO = "0x20",
|
||||
ExpansorADS = false,
|
||||
EnderecoADS = "0x48",
|
||||
Pinos = new List<PinoutModel>(),
|
||||
};
|
||||
Dispositivos = new List<DispositivoDataModel>();
|
||||
|
|
@ -179,10 +181,10 @@ namespace AgroBase.Forms
|
|||
{
|
||||
cmb.Enabled =
|
||||
(Selecionado.Barramento == TiposBarramentos.CONTROLADOR && Selecionado.Habilitado) ||
|
||||
(Selecionado.Barramento == TiposBarramentos.EXPANSOR_GPIO && chbMCP1.Checked) ||
|
||||
(Selecionado.Barramento == TiposBarramentos.EXPANSOR_ADS && chbADS1.Checked);
|
||||
(Selecionado.Barramento == TiposBarramentos.EXPANSOR_GPIO && chbMCP1.Checked && cmb.Name.Contains("MCP")) ||
|
||||
(Selecionado.Barramento == TiposBarramentos.EXPANSOR_ADS && chbADS1.Checked && cmb.Name.Contains("ADS"));
|
||||
|
||||
if (Selecionado.Habilitado)
|
||||
if (Selecionado.Habilitado && cmb.Enabled)
|
||||
{
|
||||
cmb.SelectedItem = Selecionado.ComponenteID + " " + Enum.GetName(typeof(FuncoesPinout), Selecionado.Funcao);
|
||||
}
|
||||
|
|
@ -276,8 +278,10 @@ namespace AgroBase.Forms
|
|||
if (Novo)
|
||||
Pinout = new PinoutDataModel()
|
||||
{
|
||||
ExpansorGPIO = false,
|
||||
EnderecoGPIO = "",
|
||||
ExpansorGPIO = false,
|
||||
EnderecoGPIO = "0x20",
|
||||
ExpansorADS = false,
|
||||
EnderecoADS = "0x48",
|
||||
Pinos = PinoutModel.CarregarPinoutPadrao_S3(),
|
||||
};
|
||||
break;
|
||||
|
|
@ -288,8 +292,10 @@ namespace AgroBase.Forms
|
|||
if (Novo)
|
||||
Pinout = new PinoutDataModel()
|
||||
{
|
||||
ExpansorGPIO = false,
|
||||
EnderecoGPIO = "",
|
||||
ExpansorGPIO = false,
|
||||
EnderecoGPIO = "0x20",
|
||||
ExpansorADS = false,
|
||||
EnderecoADS = "0x48",
|
||||
Pinos = PinoutModel.CarregarPinoutPadrao_Wrover(),
|
||||
};
|
||||
break;
|
||||
|
|
@ -305,6 +311,7 @@ namespace AgroBase.Forms
|
|||
cbTipo.SelectedIndex = (int)TipoControlador;
|
||||
|
||||
chbMCP1.Checked = Pinout.ExpansorGPIO;
|
||||
chbADS1.Checked = Pinout.ExpansorADS;
|
||||
}
|
||||
|
||||
private void chbExpansor_CheckedChanged(object sender, EventArgs e)
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ namespace AgroBase.Models
|
|||
public Estado StatusTravaMotor { get; set; }
|
||||
public StatusComando StatusBloqueioMotor { get; set; }
|
||||
public StatusComando StatusMovimentoMotor { get; set; }
|
||||
public Sentido Direcao { get; set; }
|
||||
public Sentido Sentido { get; set; }
|
||||
public double Velocidade { get; set; }
|
||||
public double Aceleracao { get; set; }
|
||||
public string Mensagem { get; set; }
|
||||
|
|
|
|||
|
|
@ -335,23 +335,6 @@ namespace AgroBase.Models.Modules
|
|||
MKS057DService.AdicionarComandoNaFila(MKS057DService.MontarComandoRequisicaoPulsos(modAddr));
|
||||
MKS057DService.AdicionarComandoNaFila(MKS057DService.MontarComandoRequisicaoIO(modAddr));
|
||||
|
||||
if (false && Modulo.DirMotor.SensorAnguloAuxiliar != null && Modulo.DirMotor.SensorAnguloAuxiliar.LimiteExcedido)
|
||||
{
|
||||
var ReleControle = Variaveis.OperacaoEmAndamento.DispSen?.Dados?.Reles?.FirstOrDefault(x => x.ID.Contains(Modulo.DirMotor.SensorAnguloAuxiliar.ID));
|
||||
if (ReleControle != null)
|
||||
{
|
||||
GeneralJoystick.EnviarComandoSensoriamento(S_Code.sRLE, ReleControle.ID, Estado.Desligado);
|
||||
await Task.Delay(2000);
|
||||
}
|
||||
var _sentido = Modulo.DirMotor.SensorAnguloAuxiliar?.Sentido ?? Sentido.Parado;
|
||||
Direcao direcaoContraria =
|
||||
_sentido == Sentido.Horario ? Direcao.Esquerda :
|
||||
_sentido == Sentido.Antihorario ? Direcao.Direita :
|
||||
Direcao.Parado;
|
||||
|
||||
Modulo.DirMotor.EnviarComandoControle(direcaoContraria);
|
||||
}
|
||||
|
||||
// Verifica se o angulo de set point do motor em questao e diferente do angulo atual, e se for, reenvia o comando para garantir que o motor esteja coerente com o set point
|
||||
if (!MKS057DService.Referenciando && (Modulo.DirMotor.UltimoComandoEnviado.AddMilliseconds(500) < DateTime.Now) && !Modulo.DirMotor.AtingiuAnguloSP)
|
||||
{
|
||||
|
|
@ -1091,6 +1074,13 @@ namespace AgroBase.Models.Modules
|
|||
Sentido.Parado;
|
||||
}
|
||||
}
|
||||
public Sentido SentidoReal
|
||||
{
|
||||
get
|
||||
{
|
||||
return IN1_Atuado ? Sentido.Horario : Sentido.Antihorario;
|
||||
}
|
||||
}
|
||||
public double Angulo
|
||||
{
|
||||
get
|
||||
|
|
@ -1142,18 +1132,6 @@ namespace AgroBase.Models.Modules
|
|||
_leitura = value;
|
||||
}
|
||||
}
|
||||
public FirmwareSensorPotenciometro SensorAnguloAuxiliar
|
||||
{
|
||||
get
|
||||
{
|
||||
var sensor = Variaveis.OperacaoEmAndamento.DispSen?.Dados?.Sensores?.FirstOrDefault(x => x.Componente == S_Code.sPOT && x.ID.Contains(Mod_ID));
|
||||
if (sensor != null && sensor.Inicializado && sensor.Leitura != null)
|
||||
{
|
||||
return sensor.Leitura as FirmwareSensorPotenciometro;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Direcao UltimaDirecao { get; set; } = Direcao.Parado;
|
||||
public DateTime UltimoComandoEnviado { get; set; } = DateTime.MinValue;
|
||||
|
|
@ -1311,9 +1289,7 @@ namespace AgroBase.Models.Modules
|
|||
var _Controle = Variaveis.OperacaoEmAndamento.Controle;
|
||||
int AnguloTipoMovimento = VariaveisEquipamento.AnguloMovimento[_Controle.TipoMovimento];
|
||||
|
||||
bool limiteLateralExcedido = SensorAnguloAuxiliar?.LimiteExcedido ?? false;
|
||||
|
||||
if (!Comandar || limiteLateralExcedido)
|
||||
if (!Comandar)
|
||||
{
|
||||
Sentido_SP = Sentido.Parado;
|
||||
}
|
||||
|
|
@ -1398,9 +1374,9 @@ namespace AgroBase.Models.Modules
|
|||
double anguloMinVisitado = 0;
|
||||
|
||||
Sentido _sentido = Sentido.Horario;
|
||||
if (SensorAnguloAuxiliar != null && SensorAnguloAuxiliar.Sentido != Sentido.Parado)
|
||||
if (SentidoReal != Sentido.Parado)
|
||||
{
|
||||
_sentido = SensorAnguloAuxiliar.Sentido == Sentido.Horario ? Sentido.Antihorario : Sentido.Horario;
|
||||
_sentido = SentidoReal == Sentido.Horario ? Sentido.Antihorario : Sentido.Horario;
|
||||
_angulo *= _sentido == Sentido.Antihorario ? -1 : 1;
|
||||
}
|
||||
|
||||
|
|
@ -1462,13 +1438,6 @@ namespace AgroBase.Models.Modules
|
|||
if (_anguloEntrada == 9999)
|
||||
{
|
||||
inverterGiro = (_angulo > 0 && Angulo >= (_angulo - 0.5)) || (_angulo < 0 && Angulo <= (_angulo + 0.5));
|
||||
if (!inverterGiro && SensorAnguloAuxiliar != null)
|
||||
{
|
||||
if (SensorAnguloAuxiliar.Angulo < (SensorAnguloAuxiliar.LimiteMinimo / 2.0) || SensorAnguloAuxiliar.Angulo > (SensorAnguloAuxiliar.LimiteMaximo / 2.0))
|
||||
{
|
||||
inverterGiro = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Sucesso = _anguloEntrada != 9999 && _anguloSaida != 9999;
|
||||
|
|
|
|||
|
|
@ -366,103 +366,6 @@ namespace AgroBase.Models.Modules
|
|||
LimiteMinimo = 40,
|
||||
LimiteMaximo = 9999,
|
||||
},*/
|
||||
new SensorModel()
|
||||
{
|
||||
ID = "POTET",
|
||||
Descricao = "Potenciometro ET",
|
||||
Prioridade = 24,
|
||||
Componente = S_Code.sPOT,
|
||||
Aferir = true,
|
||||
Testando = false,
|
||||
Funcoes = new List<FuncoesPinout>()
|
||||
{
|
||||
FuncoesPinout.Potenciometro,
|
||||
},
|
||||
DelayAmostragem = 500,
|
||||
UnidadeMedida = "º",
|
||||
Parametros = new List<string[]>()
|
||||
{
|
||||
new string[] { "Minimo", "-110" },
|
||||
new string[] { "Meio", "0" },
|
||||
new string[] { "Maximo", "110" },
|
||||
new string[] { "Margem", "10" },
|
||||
},
|
||||
LimiteMaximo = 68,
|
||||
LimiteMinimo = -110,
|
||||
},
|
||||
new SensorModel()
|
||||
{
|
||||
ID = "POTDT",
|
||||
Descricao = "Potenciometro DT",
|
||||
Prioridade = 24,
|
||||
Componente = S_Code.sPOT,
|
||||
Aferir = true,
|
||||
Testando = false,
|
||||
Funcoes = new List<FuncoesPinout>()
|
||||
{
|
||||
FuncoesPinout.Potenciometro,
|
||||
},
|
||||
DelayAmostragem = 500,
|
||||
UnidadeMedida = "º",
|
||||
Parametros = new List<string[]>()
|
||||
{
|
||||
new string[] { "Minimo", "-110" },
|
||||
new string[] { "Meio", "0" },
|
||||
new string[] { "Maximo", "110" },
|
||||
new string[] { "Margem", "10" },
|
||||
},
|
||||
LimiteMaximo = 68,
|
||||
LimiteMinimo = -110,
|
||||
},
|
||||
new SensorModel()
|
||||
{
|
||||
ID = "POTEF",
|
||||
Descricao = "Potenciometro EF",
|
||||
Prioridade = 24,
|
||||
Componente = S_Code.sPOT,
|
||||
Aferir = true,
|
||||
Testando = false,
|
||||
Funcoes = new List<FuncoesPinout>()
|
||||
{
|
||||
FuncoesPinout.Potenciometro,
|
||||
},
|
||||
DelayAmostragem = 500,
|
||||
UnidadeMedida = "º",
|
||||
Parametros = new List<string[]>()
|
||||
{
|
||||
new string[] { "Minimo", "-110" },
|
||||
new string[] { "Meio", "0" },
|
||||
new string[] { "Maximo", "110" },
|
||||
new string[] { "Margem", "10" },
|
||||
},
|
||||
LimiteMaximo = 68,
|
||||
LimiteMinimo = -110,
|
||||
},
|
||||
new SensorModel()
|
||||
{
|
||||
ID = "POTDF",
|
||||
Descricao = "Potenciometro DF",
|
||||
Prioridade = 24,
|
||||
Componente = S_Code.sPOT,
|
||||
Aferir = true,
|
||||
Testando = false,
|
||||
Funcoes = new List<FuncoesPinout>()
|
||||
{
|
||||
FuncoesPinout.Potenciometro,
|
||||
},
|
||||
DelayAmostragem = 500,
|
||||
UnidadeMedida = "º",
|
||||
Parametros = new List<string[]>()
|
||||
{
|
||||
new string[] { "Minimo", "-110" },
|
||||
new string[] { "Meio", "0" },
|
||||
new string[] { "Maximo", "110" },
|
||||
new string[] { "Margem", "10" },
|
||||
},
|
||||
LimiteMaximo = 68,
|
||||
LimiteMinimo = -110,
|
||||
},
|
||||
|
||||
},
|
||||
Reles = new List<SensorReleModel>()
|
||||
{
|
||||
|
|
@ -480,62 +383,6 @@ namespace AgroBase.Models.Modules
|
|||
StatusControle = Estado.Desligado,
|
||||
ControleExterno = false,
|
||||
},
|
||||
new SensorReleModel()
|
||||
{
|
||||
ID = "RLPOTET",
|
||||
Descricao = "Relé alimentação Direcional ET",
|
||||
Componente = S_Code.sRLE,
|
||||
Controlar = true,
|
||||
AtuacaoNivelAlto = true,
|
||||
Funcoes = new List<FuncoesPinout>()
|
||||
{
|
||||
FuncoesPinout.Rele,
|
||||
},
|
||||
StatusControle = Estado.Desligado,
|
||||
ControleExterno = true,
|
||||
},
|
||||
new SensorReleModel()
|
||||
{
|
||||
ID = "RPOTRDT",
|
||||
Descricao = "Relé alimentação Direcional DT",
|
||||
Componente = S_Code.sRLE,
|
||||
Controlar = true,
|
||||
AtuacaoNivelAlto = true,
|
||||
Funcoes = new List<FuncoesPinout>()
|
||||
{
|
||||
FuncoesPinout.Rele,
|
||||
},
|
||||
StatusControle = Estado.Desligado,
|
||||
ControleExterno = true,
|
||||
},
|
||||
new SensorReleModel()
|
||||
{
|
||||
ID = "RLPOTEF",
|
||||
Descricao = "Relé alimentação Direcional EF",
|
||||
Componente = S_Code.sRLE,
|
||||
Controlar = true,
|
||||
AtuacaoNivelAlto = true,
|
||||
Funcoes = new List<FuncoesPinout>()
|
||||
{
|
||||
FuncoesPinout.Rele,
|
||||
},
|
||||
StatusControle = Estado.Desligado,
|
||||
ControleExterno = true,
|
||||
},
|
||||
new SensorReleModel()
|
||||
{
|
||||
ID = "RLPOTDF",
|
||||
Descricao = "Relé alimentação Direcional DF",
|
||||
Componente = S_Code.sRLE,
|
||||
Controlar = true,
|
||||
AtuacaoNivelAlto = true,
|
||||
Funcoes = new List<FuncoesPinout>()
|
||||
{
|
||||
FuncoesPinout.Rele,
|
||||
},
|
||||
StatusControle = Estado.Desligado,
|
||||
ControleExterno = true,
|
||||
},
|
||||
},
|
||||
Servos = new List<SensorServoModel>()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -683,6 +683,7 @@ namespace AgroBase.Services
|
|||
{
|
||||
leitura.Entradas[0] = LimitIO.Get(0) ? false : true;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 0x32: // Velocidade atual (RPM)
|
||||
|
|
|
|||
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue