ajustes para centralizar a operacao em andamento sem chamar instancias globais
This commit is contained in:
parent
1e82065e91
commit
36ee632988
|
|
@ -44,8 +44,9 @@ namespace AgroBase.Forms.IHM
|
||||||
});
|
});
|
||||||
FuncoesGlobais.DefinirEventosPicBtn(picManual, "Erro ao carregar modo de controle manual!", async () =>
|
FuncoesGlobais.DefinirEventosPicBtn(picManual, "Erro ao carregar modo de controle manual!", async () =>
|
||||||
{
|
{
|
||||||
OperacaoModel.CarregarParametrosOperacaoPadrao(ModoOperacao.Manual, true);
|
Variaveis.OperacaoEmAndamento = OperacaoModel.CarregarParametrosOperacaoPadrao(ModoOperacao.Manual, CarregarModulos: true);
|
||||||
if (Variaveis.OperacaoEmAndamento.Sensoriamento.Operacao.OperacaoLiberada)
|
var op = Variaveis.OperacaoEmAndamento;
|
||||||
|
if (op.Sensoriamento.Operacao.OperacaoLiberada)
|
||||||
{
|
{
|
||||||
frmDialogoMapa frm = new frmDialogoMapa();
|
frmDialogoMapa frm = new frmDialogoMapa();
|
||||||
frm.Show();
|
frm.Show();
|
||||||
|
|
@ -55,7 +56,7 @@ namespace AgroBase.Forms.IHM
|
||||||
{
|
{
|
||||||
CustomDialog.ShowDialog(
|
CustomDialog.ShowDialog(
|
||||||
"Iniciar Operação Manual",
|
"Iniciar Operação Manual",
|
||||||
$"{Variaveis.OperacaoEmAndamento.Sensoriamento.Operacao.ErroOperacaoLiberada ?? ""}",
|
$"{op.Sensoriamento.Operacao.ErroOperacaoLiberada ?? ""}",
|
||||||
MessageBoxIcon.Error,
|
MessageBoxIcon.Error,
|
||||||
new Dictionary<(string, dynamic), Action>()
|
new Dictionary<(string, dynamic), Action>()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,8 @@
|
||||||
this.lblPotenciaSP = new System.Windows.Forms.Label();
|
this.lblPotenciaSP = new System.Windows.Forms.Label();
|
||||||
this.btnDeslsigarAgitador = new System.Windows.Forms.Button();
|
this.btnDeslsigarAgitador = new System.Windows.Forms.Button();
|
||||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.lblVazaoInstantanea = new System.Windows.Forms.Label();
|
||||||
|
this.lblPressaoBomba = new System.Windows.Forms.Label();
|
||||||
this.label7 = new System.Windows.Forms.Label();
|
this.label7 = new System.Windows.Forms.Label();
|
||||||
this.nudPotenciaBombaMax = new System.Windows.Forms.NumericUpDown();
|
this.nudPotenciaBombaMax = new System.Windows.Forms.NumericUpDown();
|
||||||
this.label6 = new System.Windows.Forms.Label();
|
this.label6 = new System.Windows.Forms.Label();
|
||||||
|
|
@ -104,8 +106,7 @@
|
||||||
this.chbSonarAtivado = new System.Windows.Forms.CheckBox();
|
this.chbSonarAtivado = new System.Windows.Forms.CheckBox();
|
||||||
this.lblPressao = new System.Windows.Forms.Label();
|
this.lblPressao = new System.Windows.Forms.Label();
|
||||||
this.chbImuAtivado = new System.Windows.Forms.CheckBox();
|
this.chbImuAtivado = new System.Windows.Forms.CheckBox();
|
||||||
this.lblPressaoBomba = new System.Windows.Forms.Label();
|
this.lblReservatorio = new System.Windows.Forms.Label();
|
||||||
this.lblVazaoInstantanea = new System.Windows.Forms.Label();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.chartGraficos)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.chartGraficos)).BeginInit();
|
||||||
this.tabControl1.SuspendLayout();
|
this.tabControl1.SuspendLayout();
|
||||||
this.tabMapa.SuspendLayout();
|
this.tabMapa.SuspendLayout();
|
||||||
|
|
@ -527,6 +528,30 @@
|
||||||
this.groupBox2.TabStop = false;
|
this.groupBox2.TabStop = false;
|
||||||
this.groupBox2.Text = "Bomba Pressurizadora";
|
this.groupBox2.Text = "Bomba Pressurizadora";
|
||||||
//
|
//
|
||||||
|
// lblVazaoInstantanea
|
||||||
|
//
|
||||||
|
this.lblVazaoInstantanea.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.lblVazaoInstantanea.AutoSize = true;
|
||||||
|
this.lblVazaoInstantanea.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lblVazaoInstantanea.Location = new System.Drawing.Point(305, 42);
|
||||||
|
this.lblVazaoInstantanea.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
|
this.lblVazaoInstantanea.Name = "lblVazaoInstantanea";
|
||||||
|
this.lblVazaoInstantanea.Size = new System.Drawing.Size(108, 25);
|
||||||
|
this.lblVazaoInstantanea.TabIndex = 49;
|
||||||
|
this.lblVazaoInstantanea.Text = "0,00 ml/s";
|
||||||
|
//
|
||||||
|
// lblPressaoBomba
|
||||||
|
//
|
||||||
|
this.lblPressaoBomba.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.lblPressaoBomba.AutoSize = true;
|
||||||
|
this.lblPressaoBomba.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lblPressaoBomba.Location = new System.Drawing.Point(305, 17);
|
||||||
|
this.lblPressaoBomba.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
|
this.lblPressaoBomba.Name = "lblPressaoBomba";
|
||||||
|
this.lblPressaoBomba.Size = new System.Drawing.Size(76, 25);
|
||||||
|
this.lblPressaoBomba.TabIndex = 48;
|
||||||
|
this.lblPressaoBomba.Text = "80 psi";
|
||||||
|
//
|
||||||
// label7
|
// label7
|
||||||
//
|
//
|
||||||
this.label7.AutoSize = true;
|
this.label7.AutoSize = true;
|
||||||
|
|
@ -822,11 +847,11 @@
|
||||||
//
|
//
|
||||||
this.lblTensao.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
this.lblTensao.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.lblTensao.AutoSize = true;
|
this.lblTensao.AutoSize = true;
|
||||||
this.lblTensao.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.lblTensao.Font = new System.Drawing.Font("Microsoft Sans Serif", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.lblTensao.Location = new System.Drawing.Point(1111, 351);
|
this.lblTensao.Location = new System.Drawing.Point(1111, 320);
|
||||||
this.lblTensao.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
this.lblTensao.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
this.lblTensao.Name = "lblTensao";
|
this.lblTensao.Name = "lblTensao";
|
||||||
this.lblTensao.Size = new System.Drawing.Size(136, 37);
|
this.lblTensao.Size = new System.Drawing.Size(121, 33);
|
||||||
this.lblTensao.TabIndex = 29;
|
this.lblTensao.TabIndex = 29;
|
||||||
this.lblTensao.Text = "42,00 V";
|
this.lblTensao.Text = "42,00 V";
|
||||||
//
|
//
|
||||||
|
|
@ -834,11 +859,11 @@
|
||||||
//
|
//
|
||||||
this.lblCorrente.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
this.lblCorrente.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.lblCorrente.AutoSize = true;
|
this.lblCorrente.AutoSize = true;
|
||||||
this.lblCorrente.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.lblCorrente.Font = new System.Drawing.Font("Microsoft Sans Serif", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.lblCorrente.Location = new System.Drawing.Point(1111, 388);
|
this.lblCorrente.Location = new System.Drawing.Point(1111, 357);
|
||||||
this.lblCorrente.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
this.lblCorrente.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
this.lblCorrente.Name = "lblCorrente";
|
this.lblCorrente.Name = "lblCorrente";
|
||||||
this.lblCorrente.Size = new System.Drawing.Size(134, 37);
|
this.lblCorrente.Size = new System.Drawing.Size(121, 33);
|
||||||
this.lblCorrente.TabIndex = 30;
|
this.lblCorrente.TabIndex = 30;
|
||||||
this.lblCorrente.Text = "10,00 A";
|
this.lblCorrente.Text = "10,00 A";
|
||||||
//
|
//
|
||||||
|
|
@ -846,11 +871,11 @@
|
||||||
//
|
//
|
||||||
this.lblRPM.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
this.lblRPM.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.lblRPM.AutoSize = true;
|
this.lblRPM.AutoSize = true;
|
||||||
this.lblRPM.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.lblRPM.Font = new System.Drawing.Font("Microsoft Sans Serif", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.lblRPM.Location = new System.Drawing.Point(1111, 426);
|
this.lblRPM.Location = new System.Drawing.Point(1111, 395);
|
||||||
this.lblRPM.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
this.lblRPM.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
this.lblRPM.Name = "lblRPM";
|
this.lblRPM.Name = "lblRPM";
|
||||||
this.lblRPM.Size = new System.Drawing.Size(137, 37);
|
this.lblRPM.Size = new System.Drawing.Size(125, 33);
|
||||||
this.lblRPM.TabIndex = 31;
|
this.lblRPM.TabIndex = 31;
|
||||||
this.lblRPM.Text = "45 RPM";
|
this.lblRPM.Text = "45 RPM";
|
||||||
//
|
//
|
||||||
|
|
@ -858,11 +883,11 @@
|
||||||
//
|
//
|
||||||
this.lblVelocidade.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
this.lblVelocidade.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.lblVelocidade.AutoSize = true;
|
this.lblVelocidade.AutoSize = true;
|
||||||
this.lblVelocidade.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.lblVelocidade.Font = new System.Drawing.Font("Microsoft Sans Serif", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.lblVelocidade.Location = new System.Drawing.Point(1111, 463);
|
this.lblVelocidade.Location = new System.Drawing.Point(1111, 432);
|
||||||
this.lblVelocidade.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
this.lblVelocidade.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
this.lblVelocidade.Name = "lblVelocidade";
|
this.lblVelocidade.Name = "lblVelocidade";
|
||||||
this.lblVelocidade.Size = new System.Drawing.Size(101, 37);
|
this.lblVelocidade.Size = new System.Drawing.Size(92, 33);
|
||||||
this.lblVelocidade.TabIndex = 32;
|
this.lblVelocidade.TabIndex = 32;
|
||||||
this.lblVelocidade.Text = "10,00";
|
this.lblVelocidade.Text = "10,00";
|
||||||
//
|
//
|
||||||
|
|
@ -870,7 +895,7 @@
|
||||||
//
|
//
|
||||||
this.lblKmh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
this.lblKmh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.lblKmh.AutoSize = true;
|
this.lblKmh.AutoSize = true;
|
||||||
this.lblKmh.Location = new System.Drawing.Point(1208, 480);
|
this.lblKmh.Location = new System.Drawing.Point(1207, 448);
|
||||||
this.lblKmh.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
this.lblKmh.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
this.lblKmh.Name = "lblKmh";
|
this.lblKmh.Name = "lblKmh";
|
||||||
this.lblKmh.Size = new System.Drawing.Size(32, 13);
|
this.lblKmh.Size = new System.Drawing.Size(32, 13);
|
||||||
|
|
@ -933,11 +958,11 @@
|
||||||
//
|
//
|
||||||
this.lblPressao.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
this.lblPressao.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.lblPressao.AutoSize = true;
|
this.lblPressao.AutoSize = true;
|
||||||
this.lblPressao.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.lblPressao.Font = new System.Drawing.Font("Microsoft Sans Serif", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.lblPressao.Location = new System.Drawing.Point(1111, 500);
|
this.lblPressao.Location = new System.Drawing.Point(1111, 469);
|
||||||
this.lblPressao.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
this.lblPressao.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
this.lblPressao.Name = "lblPressao";
|
this.lblPressao.Name = "lblPressao";
|
||||||
this.lblPressao.Size = new System.Drawing.Size(109, 37);
|
this.lblPressao.Size = new System.Drawing.Size(99, 33);
|
||||||
this.lblPressao.TabIndex = 38;
|
this.lblPressao.TabIndex = 38;
|
||||||
this.lblPressao.Text = "80 psi";
|
this.lblPressao.Text = "80 psi";
|
||||||
//
|
//
|
||||||
|
|
@ -953,29 +978,17 @@
|
||||||
this.chbImuAtivado.UseVisualStyleBackColor = true;
|
this.chbImuAtivado.UseVisualStyleBackColor = true;
|
||||||
this.chbImuAtivado.CheckedChanged += new System.EventHandler(this.chbImuAtivado_CheckedChanged);
|
this.chbImuAtivado.CheckedChanged += new System.EventHandler(this.chbImuAtivado_CheckedChanged);
|
||||||
//
|
//
|
||||||
// lblPressaoBomba
|
// lblReservatorio
|
||||||
//
|
//
|
||||||
this.lblPressaoBomba.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
this.lblReservatorio.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.lblPressaoBomba.AutoSize = true;
|
this.lblReservatorio.AutoSize = true;
|
||||||
this.lblPressaoBomba.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.lblReservatorio.Font = new System.Drawing.Font("Microsoft Sans Serif", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.lblPressaoBomba.Location = new System.Drawing.Point(305, 17);
|
this.lblReservatorio.Location = new System.Drawing.Point(1111, 502);
|
||||||
this.lblPressaoBomba.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
this.lblReservatorio.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
this.lblPressaoBomba.Name = "lblPressaoBomba";
|
this.lblReservatorio.Name = "lblReservatorio";
|
||||||
this.lblPressaoBomba.Size = new System.Drawing.Size(76, 25);
|
this.lblReservatorio.Size = new System.Drawing.Size(75, 33);
|
||||||
this.lblPressaoBomba.TabIndex = 48;
|
this.lblReservatorio.TabIndex = 40;
|
||||||
this.lblPressaoBomba.Text = "80 psi";
|
this.lblReservatorio.Text = "60 L";
|
||||||
//
|
|
||||||
// lblVazaoInstantanea
|
|
||||||
//
|
|
||||||
this.lblVazaoInstantanea.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.lblVazaoInstantanea.AutoSize = true;
|
|
||||||
this.lblVazaoInstantanea.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
|
||||||
this.lblVazaoInstantanea.Location = new System.Drawing.Point(305, 42);
|
|
||||||
this.lblVazaoInstantanea.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
|
||||||
this.lblVazaoInstantanea.Name = "lblVazaoInstantanea";
|
|
||||||
this.lblVazaoInstantanea.Size = new System.Drawing.Size(108, 25);
|
|
||||||
this.lblVazaoInstantanea.TabIndex = 49;
|
|
||||||
this.lblVazaoInstantanea.Text = "0,00 ml/s";
|
|
||||||
//
|
//
|
||||||
// frmOperacaoManual
|
// frmOperacaoManual
|
||||||
//
|
//
|
||||||
|
|
@ -983,6 +996,7 @@
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.BackColor = System.Drawing.Color.White;
|
this.BackColor = System.Drawing.Color.White;
|
||||||
this.ClientSize = new System.Drawing.Size(1243, 649);
|
this.ClientSize = new System.Drawing.Size(1243, 649);
|
||||||
|
this.Controls.Add(this.lblReservatorio);
|
||||||
this.Controls.Add(this.chbImuAtivado);
|
this.Controls.Add(this.chbImuAtivado);
|
||||||
this.Controls.Add(this.lblPressao);
|
this.Controls.Add(this.lblPressao);
|
||||||
this.Controls.Add(this.chbSonarAtivado);
|
this.Controls.Add(this.chbSonarAtivado);
|
||||||
|
|
@ -1118,5 +1132,6 @@
|
||||||
private System.Windows.Forms.CheckBox chbImuAtivado;
|
private System.Windows.Forms.CheckBox chbImuAtivado;
|
||||||
private System.Windows.Forms.Label lblPressaoBomba;
|
private System.Windows.Forms.Label lblPressaoBomba;
|
||||||
private System.Windows.Forms.Label lblVazaoInstantanea;
|
private System.Windows.Forms.Label lblVazaoInstantanea;
|
||||||
|
private System.Windows.Forms.Label lblReservatorio;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -16,6 +16,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
AsyncTaskTimerModel tmrLeitura;
|
AsyncTaskTimerModel tmrLeitura;
|
||||||
bool ReqFrameCam = false;
|
bool ReqFrameCam = false;
|
||||||
bool ReqFrameSnr = false;
|
bool ReqFrameSnr = false;
|
||||||
|
OperacaoModel op => Variaveis.OperacaoEmAndamento;
|
||||||
|
|
||||||
public frmOperacaoManual()
|
public frmOperacaoManual()
|
||||||
{
|
{
|
||||||
|
|
@ -40,11 +41,11 @@ namespace AgroBase.Forms.Operacoes
|
||||||
|
|
||||||
private void frmOperacaoManual_Load(object sender, EventArgs e)
|
private void frmOperacaoManual_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var pC = Variaveis.OperacaoEmAndamento.Parametros.Controle;
|
var pC = op.Parametros.Controle;
|
||||||
|
|
||||||
cmbTipoMovimento.Items.Clear();
|
cmbTipoMovimento.Items.Clear();
|
||||||
cmbTipoMovimento.Items.AddRange(Enum.GetNames(typeof(TipoMovimentoDirecional)));
|
cmbTipoMovimento.Items.AddRange(Enum.GetNames(typeof(TipoMovimentoDirecional)));
|
||||||
cmbTipoMovimento.SelectedIndex = (int)Variaveis.OperacaoEmAndamento.Controle.TipoMovimento;
|
cmbTipoMovimento.SelectedIndex = (int)op.Controle.TipoMovimento;
|
||||||
|
|
||||||
cmbModoBomba.Items.Clear();
|
cmbModoBomba.Items.Clear();
|
||||||
cmbModoBomba.Items.AddRange(Enum.GetNames(typeof(ModoControleBomba)));
|
cmbModoBomba.Items.AddRange(Enum.GetNames(typeof(ModoControleBomba)));
|
||||||
|
|
@ -54,7 +55,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
cmbModoAgitador.Items.AddRange(Enum.GetNames(typeof(ModoAgitadorCalda)));
|
cmbModoAgitador.Items.AddRange(Enum.GetNames(typeof(ModoAgitadorCalda)));
|
||||||
cmbModoAgitador.SelectedIndex = (int)pC.AtuAgitadorModo;
|
cmbModoAgitador.SelectedIndex = (int)pC.AtuAgitadorModo;
|
||||||
|
|
||||||
var b = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombaPressurizadora;
|
var b = op.DispAtu.Dados.BombaPressurizadora;
|
||||||
if (b != null)
|
if (b != null)
|
||||||
{
|
{
|
||||||
txtKp.Text = b.Controle.Kp.ToString();
|
txtKp.Text = b.Controle.Kp.ToString();
|
||||||
|
|
@ -98,7 +99,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
private void frmOperacaoManual_FormClosing(object sender, FormClosingEventArgs e)
|
private void frmOperacaoManual_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
{
|
{
|
||||||
tmrLeitura.Dispose();
|
tmrLeitura.Dispose();
|
||||||
Task.Run(async () => await Variaveis.OperacaoEmAndamento.FinalizarOperacao());
|
Task.Run(async () => await op.FinalizarOperacao());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnIniciarOperacao_Click(object sender, EventArgs e)
|
private void btnIniciarOperacao_Click(object sender, EventArgs e)
|
||||||
|
|
@ -113,7 +114,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
});
|
});
|
||||||
|
|
||||||
// Executa a finalização da operação
|
// Executa a finalização da operação
|
||||||
Task.Run(async () => await Variaveis.OperacaoEmAndamento.FinalizarOperacao());
|
Task.Run(async () => await op.FinalizarOperacao());
|
||||||
|
|
||||||
// Atualiza a UI novamente na thread principal
|
// Atualiza a UI novamente na thread principal
|
||||||
btnIniciarOperacao.Invoke((MethodInvoker)delegate
|
btnIniciarOperacao.Invoke((MethodInvoker)delegate
|
||||||
|
|
@ -132,10 +133,10 @@ namespace AgroBase.Forms.Operacoes
|
||||||
});
|
});
|
||||||
|
|
||||||
// Verifica se a operação está liberada
|
// Verifica se a operação está liberada
|
||||||
if (Variaveis.OperacaoEmAndamento.Sensoriamento.Operacao.OperacaoLiberada)
|
if (op.Sensoriamento.Operacao.OperacaoLiberada)
|
||||||
{
|
{
|
||||||
// Inicia a operação de forma assíncrona
|
// Inicia a operação de forma assíncrona
|
||||||
Task.Run(async () => await Variaveis.OperacaoEmAndamento.IniciarOperacao());
|
Task.Run(async () => await op.IniciarOperacao());
|
||||||
|
|
||||||
// Atualiza a UI após o início da operação
|
// Atualiza a UI após o início da operação
|
||||||
btnIniciarOperacao.Invoke((MethodInvoker)delegate
|
btnIniciarOperacao.Invoke((MethodInvoker)delegate
|
||||||
|
|
@ -149,7 +150,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
// Mostra a mensagem de erro na thread principal
|
// Mostra a mensagem de erro na thread principal
|
||||||
btnIniciarOperacao.Invoke((MethodInvoker)delegate
|
btnIniciarOperacao.Invoke((MethodInvoker)delegate
|
||||||
{
|
{
|
||||||
MessageBox.Show(Variaveis.OperacaoEmAndamento.Sensoriamento.Operacao.ErroOperacaoLiberada, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(op.Sensoriamento.Operacao.ErroOperacaoLiberada, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
btnIniciarOperacao.Text = "Iniciar Operação";
|
btnIniciarOperacao.Text = "Iniciar Operação";
|
||||||
btnIniciarOperacao.Enabled = true;
|
btnIniciarOperacao.Enabled = true;
|
||||||
});
|
});
|
||||||
|
|
@ -162,7 +163,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
this.Text = Variaveis.OperacaoEmAndamento.TextoFormOperacao("Manual");
|
this.Text = op.TextoFormOperacao("Manual");
|
||||||
|
|
||||||
pnlDir_DF.Invalidate();
|
pnlDir_DF.Invalidate();
|
||||||
pnlDir_DT.Invalidate();
|
pnlDir_DT.Invalidate();
|
||||||
|
|
@ -174,7 +175,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
|
|
||||||
AtualizarInformacoesGerais();
|
AtualizarInformacoesGerais();
|
||||||
|
|
||||||
var _Sensoriamento = Variaveis.OperacaoEmAndamento.Sensoriamento;
|
var _Sensoriamento = op.Sensoriamento;
|
||||||
|
|
||||||
lblDistanciaEsquerda.Text = "Distancia Esq: " + _Sensoriamento.Trajetoria.DistanciaEsquerda.ToString("0.00") + " cm";
|
lblDistanciaEsquerda.Text = "Distancia Esq: " + _Sensoriamento.Trajetoria.DistanciaEsquerda.ToString("0.00") + " cm";
|
||||||
lblDistanciaDireita.Text = "Distancia Dir: " + _Sensoriamento.Trajetoria.DistanciaDireita.ToString("0.00") + " cm";
|
lblDistanciaDireita.Text = "Distancia Dir: " + _Sensoriamento.Trajetoria.DistanciaDireita.ToString("0.00") + " cm";
|
||||||
|
|
@ -189,24 +190,25 @@ namespace AgroBase.Forms.Operacoes
|
||||||
lblRPM.Text = _Sensoriamento.Movimentacao.RPMRodaMedio.ToString("0") + " rpm";
|
lblRPM.Text = _Sensoriamento.Movimentacao.RPMRodaMedio.ToString("0") + " rpm";
|
||||||
lblVelocidade.Text = (_Sensoriamento.Movimentacao.VelocidadeMediaMs * 3.6).ToString("0.00");
|
lblVelocidade.Text = (_Sensoriamento.Movimentacao.VelocidadeMediaMs * 3.6).ToString("0.00");
|
||||||
lblPressao.Text = $"{(_Sensoriamento.Atuador.PressaoLinha):F0} psi";
|
lblPressao.Text = $"{(_Sensoriamento.Atuador.PressaoLinha):F0} psi";
|
||||||
lblPressaoBomba.Text = $"{(_Sensoriamento.Atuador.PressaoAtualBomba):F0} psi";
|
lblReservatorio.Text = $"{(_Sensoriamento.Atuador.VolumeReservatorio):F1} L";
|
||||||
|
lblPressaoBomba.Text = $"{(_Sensoriamento.Atuador.PressaoAtualBomba):F1} psi";
|
||||||
lblVazaoInstantanea.Text = $"{(_Sensoriamento.Atuador.VazaoFluxoMLpSInstantaneaCorrigida):F0} ml/s";
|
lblVazaoInstantanea.Text = $"{(_Sensoriamento.Atuador.VazaoFluxoMLpSInstantaneaCorrigida):F0} ml/s";
|
||||||
|
|
||||||
bool atuadorAtivado = Variaveis.OperacaoEmAndamento.DispAtu.Dados.Conectado;
|
bool atuadorAtivado = op.DispAtu.Dados.Conectado;
|
||||||
chbPulverizador.Enabled = atuadorAtivado;
|
chbPulverizador.Enabled = atuadorAtivado;
|
||||||
if (!atuadorAtivado)
|
if (!atuadorAtivado)
|
||||||
{
|
{
|
||||||
chbPulverizador.Checked = false;
|
chbPulverizador.Checked = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool sonarAtivado = Variaveis.OperacaoEmAndamento.Sensoriamento.OperadorVisual.Status == StatusModulo.Operante;
|
bool sonarAtivado = op.Sensoriamento.OperadorVisual.Status == StatusModulo.Operante;
|
||||||
chbSonarAtivado.Enabled = sonarAtivado;
|
chbSonarAtivado.Enabled = sonarAtivado;
|
||||||
if (!sonarAtivado)
|
if (!sonarAtivado)
|
||||||
{
|
{
|
||||||
chbSonarAtivado.Checked = false;
|
chbSonarAtivado.Checked = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool imuAtivado = Variaveis.OperacaoEmAndamento.Sensoriamento.IMU.saude.status == StatusModulo.Operante;
|
bool imuAtivado = op.Sensoriamento.IMU.saude.status == StatusModulo.Operante;
|
||||||
chbImuAtivado.Enabled = imuAtivado;
|
chbImuAtivado.Enabled = imuAtivado;
|
||||||
if (!imuAtivado)
|
if (!imuAtivado)
|
||||||
{
|
{
|
||||||
|
|
@ -252,7 +254,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
//var frameSeg = await VisualWorkerService.GetCameraFrame(CameraFrameType.Segmentacao);
|
//var frameSeg = await VisualWorkerService.GetCameraFrame(CameraFrameType.Segmentacao);
|
||||||
//AtualizarImagemPainel(pnlDeteccoesRua, frameSeg?.image());
|
//AtualizarImagemPainel(pnlDeteccoesRua, frameSeg?.image());
|
||||||
|
|
||||||
var dadosSeg = Variaveis.OperacaoEmAndamento.Sensoriamento?.OperadorVisual?.Analises?.segmentacao;
|
var dadosSeg = op.Sensoriamento?.OperadorVisual?.Analises?.segmentacao;
|
||||||
lblStatusCarroMapa.Text = $"Status: {dadosSeg?.status_corredor ?? StatusCarroMapa.Indefinido} | Conf: {dadosSeg?.status_corredor_debug?.status_modelo_conf ?? 0}";
|
lblStatusCarroMapa.Text = $"Status: {dadosSeg?.status_corredor ?? StatusCarroMapa.Indefinido} | Conf: {dadosSeg?.status_corredor_debug?.status_modelo_conf ?? 0}";
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
|
|
@ -299,7 +301,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
Panel pnl = (Panel)sender;
|
Panel pnl = (Panel)sender;
|
||||||
string ID = pnl.Name.Replace("pnlDir_", "");
|
string ID = pnl.Name.Replace("pnlDir_", "");
|
||||||
|
|
||||||
var Modulo = Variaveis.OperacaoEmAndamento.DispMvd.Dados.Modulos.FirstOrDefault(m => m.Modulo_ID == ID);
|
var Modulo = op.DispMvd.Dados.Modulos.FirstOrDefault(m => m.Modulo_ID == ID);
|
||||||
double Angulo = Modulo.DirMotor.AnguloDriver;
|
double Angulo = Modulo.DirMotor.AnguloDriver;
|
||||||
double AnguloReal = Modulo.DirMotor.AnguloReal;
|
double AnguloReal = Modulo.DirMotor.AnguloReal;
|
||||||
|
|
||||||
|
|
@ -461,8 +463,8 @@ namespace AgroBase.Forms.Operacoes
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
double angulo = Variaveis.OperacaoEmAndamento.Sensoriamento.Gps?.OrientacaoReal ?? 0;
|
double angulo = op.Sensoriamento.Gps?.OrientacaoReal ?? 0;
|
||||||
double angulo2 = Variaveis.OperacaoEmAndamento.Sensoriamento.Gps?.AnguloCarroDefinido ?? 0;
|
double angulo2 = op.Sensoriamento.Gps?.AnguloCarroDefinido ?? 0;
|
||||||
FuncoesGlobais.DesenharInclinacao((Panel)sender, e, (float)angulo, -90, (float)angulo2);
|
FuncoesGlobais.DesenharInclinacao((Panel)sender, e, (float)angulo, -90, (float)angulo2);
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
|
|
@ -470,7 +472,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
|
|
||||||
private void pnlAnguloMagnetometro_Paint(object sender, PaintEventArgs e)
|
private void pnlAnguloMagnetometro_Paint(object sender, PaintEventArgs e)
|
||||||
{
|
{
|
||||||
var imu = Variaveis.OperacaoEmAndamento.Sensoriamento.IMU;
|
var imu = op.Sensoriamento.IMU;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
double angulo = imu?.yaw ?? 0;
|
double angulo = imu?.yaw ?? 0;
|
||||||
|
|
@ -550,7 +552,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
|
|
||||||
private void AtualizarInformacoesGerais()
|
private void AtualizarInformacoesGerais()
|
||||||
{
|
{
|
||||||
var _Sensoriamento = Variaveis.OperacaoEmAndamento.Sensoriamento;
|
var _Sensoriamento = op.Sensoriamento;
|
||||||
var _Bateria = _Sensoriamento?.Bateria;
|
var _Bateria = _Sensoriamento?.Bateria;
|
||||||
var _Barramentos = _Bateria?.Barramentos;
|
var _Barramentos = _Bateria?.Barramentos;
|
||||||
var _Movimentacao = _Sensoriamento?.Movimentacao;
|
var _Movimentacao = _Sensoriamento?.Movimentacao;
|
||||||
|
|
@ -580,7 +582,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
gridDados.Rows[20].Cells[1].Value = (_Barramentos.FirstOrDefault(x => x.ID == "AB24V")?.Corrente ?? 0).ToString("0.00");
|
gridDados.Rows[20].Cells[1].Value = (_Barramentos.FirstOrDefault(x => x.ID == "AB24V")?.Corrente ?? 0).ToString("0.00");
|
||||||
gridDados.Rows[21].Cells[1].Value = "";
|
gridDados.Rows[21].Cells[1].Value = "";
|
||||||
gridDados.Rows[22].Cells[1].Value = (_Atuador?.PercentualReservatorio ?? 0).ToString("0.00");
|
gridDados.Rows[22].Cells[1].Value = (_Atuador?.PercentualReservatorio ?? 0).ToString("0.00");
|
||||||
gridDados.Rows[23].Cells[1].Value = $"{_Atuador?.MassaReservatorio ?? 0:0.000} ({Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.ContadorCarga?.MassaAtual_Kg_Calc ?? 0:0.000})";
|
gridDados.Rows[23].Cells[1].Value = $"{_Atuador?.MassaReservatorio ?? 0:0.000} ({op.DispAtu?.Dados?.ContadorCarga?.MassaAtual_Kg_Calc ?? 0:0.000})";
|
||||||
gridDados.Rows[24].Cells[1].Value = $"{_Atuador?.VolumeReservatorio ?? 0:0.000}";
|
gridDados.Rows[24].Cells[1].Value = $"{_Atuador?.VolumeReservatorio ?? 0:0.000}";
|
||||||
gridDados.Rows[25].Cells[1].Value = (_Atuador?.LPorMetro ?? 0).ToString("0.000");
|
gridDados.Rows[25].Cells[1].Value = (_Atuador?.LPorMetro ?? 0).ToString("0.000");
|
||||||
gridDados.Rows[26].Cells[1].Value = (_Atuador?.LPorMinuto ?? 0).ToString("0.000");
|
gridDados.Rows[26].Cells[1].Value = (_Atuador?.LPorMinuto ?? 0).ToString("0.000");
|
||||||
|
|
@ -594,7 +596,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
gridDados.Rows[34].Cells[1].Value = (_Atuador?.VolumeVazaoML ?? 0).ToString("0.00");
|
gridDados.Rows[34].Cells[1].Value = (_Atuador?.VolumeVazaoML ?? 0).ToString("0.00");
|
||||||
gridDados.Rows[35].Cells[1].Value = (_Atuador?.AnguloBarraEsquerda ?? 0).ToString("0.00");
|
gridDados.Rows[35].Cells[1].Value = (_Atuador?.AnguloBarraEsquerda ?? 0).ToString("0.00");
|
||||||
gridDados.Rows[36].Cells[1].Value = (_Atuador?.AnguloBarraDireita ?? 0).ToString("0.00");
|
gridDados.Rows[36].Cells[1].Value = (_Atuador?.AnguloBarraDireita ?? 0).ToString("0.00");
|
||||||
gridDados.Rows[37].Cells[1].Value = (Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.AgitadorDeCalda?._Potencia ?? 0).ToString("0.00");
|
gridDados.Rows[37].Cells[1].Value = (op.DispAtu?.Dados?.AgitadorDeCalda?._Potencia ?? 0).ToString("0.00");
|
||||||
gridDados.Rows[38].Cells[1].Value = "";
|
gridDados.Rows[38].Cells[1].Value = "";
|
||||||
gridDados.Rows[39].Cells[1].Value = (_IMU?.RollSeguro ?? 0).ToString("0.00");
|
gridDados.Rows[39].Cells[1].Value = (_IMU?.RollSeguro ?? 0).ToString("0.00");
|
||||||
gridDados.Rows[40].Cells[1].Value = (_IMU?.PitchSeguro ?? 0).ToString("0.00");
|
gridDados.Rows[40].Cells[1].Value = (_IMU?.PitchSeguro ?? 0).ToString("0.00");
|
||||||
|
|
@ -607,11 +609,11 @@ namespace AgroBase.Forms.Operacoes
|
||||||
|
|
||||||
private void InicializarMapa()
|
private void InicializarMapa()
|
||||||
{
|
{
|
||||||
Variaveis.OperacaoEmAndamento.Mapa = new MapasModel()
|
op.Mapa = new MapasModel()
|
||||||
{
|
{
|
||||||
pnlMapa = pnlMapa,
|
pnlMapa = pnlMapa,
|
||||||
};
|
};
|
||||||
Variaveis.OperacaoEmAndamento.Mapa.CarregarMapaGPS();
|
op.Mapa.CarregarMapaGPS();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
@ -620,15 +622,15 @@ namespace AgroBase.Forms.Operacoes
|
||||||
|
|
||||||
private void PopularBicos()
|
private void PopularBicos()
|
||||||
{
|
{
|
||||||
var Atuador = Variaveis.OperacaoEmAndamento.DispAtu;
|
var Atuador = op.DispAtu;
|
||||||
|
|
||||||
int panelWidth = pnlAtuadores.Width;
|
int panelWidth = pnlAtuadores.Width;
|
||||||
int circleDiameter = 40; // Diâmetro dos círculos grandes
|
int circleDiameter = 40; // Diâmetro dos círculos grandes
|
||||||
int spaceBetweenCircles = (panelWidth - (circleDiameter * (Variaveis.OperacaoEmAndamento.Parametros.QtdBicos ?? VariaveisEquipamento.QuantidadeBicosPulverizadores))) / ((Variaveis.OperacaoEmAndamento.Parametros.QtdBicos ?? VariaveisEquipamento.QuantidadeBicosPulverizadores) + 1);
|
int spaceBetweenCircles = (panelWidth - (circleDiameter * (op.Parametros.QtdBicos ?? VariaveisEquipamento.QuantidadeBicosPulverizadores))) / ((op.Parametros.QtdBicos ?? VariaveisEquipamento.QuantidadeBicosPulverizadores) + 1);
|
||||||
int yPosition = (pnlAtuadores.Height - circleDiameter) / 3; // Centralizado verticalmente
|
int yPosition = (pnlAtuadores.Height - circleDiameter) / 3; // Centralizado verticalmente
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < Variaveis.OperacaoEmAndamento.Parametros.QtdBicos; i++)
|
for (int i = 0; i < op.Parametros.QtdBicos; i++)
|
||||||
{
|
{
|
||||||
// Calcula a posição x do círculo
|
// Calcula a posição x do círculo
|
||||||
int xPosition = spaceBetweenCircles + (i * (circleDiameter + spaceBetweenCircles));
|
int xPosition = spaceBetweenCircles + (i * (circleDiameter + spaceBetweenCircles));
|
||||||
|
|
@ -662,7 +664,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
{
|
{
|
||||||
Button btn = (Button)sender;
|
Button btn = (Button)sender;
|
||||||
string ID = btn.Name.Replace("btn_", "");
|
string ID = btn.Name.Replace("btn_", "");
|
||||||
var Bico = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BicosPulverizadores.FirstOrDefault(x => x.ID == ID);
|
var Bico = op.DispAtu.Dados.BicosPulverizadores.FirstOrDefault(x => x.ID == ID);
|
||||||
if (Bico != null)
|
if (Bico != null)
|
||||||
{
|
{
|
||||||
bool comando = !Bico.ComandoAtuar;
|
bool comando = !Bico.ComandoAtuar;
|
||||||
|
|
@ -675,10 +677,10 @@ namespace AgroBase.Forms.Operacoes
|
||||||
|
|
||||||
private void btnLigarBomba_Click(object sender, EventArgs e)
|
private void btnLigarBomba_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var Bomba = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombaPressurizadora;
|
var Bomba = op.DispAtu.Dados.BombaPressurizadora;
|
||||||
if (Bomba != null)
|
if (Bomba != null)
|
||||||
{
|
{
|
||||||
Variaveis.OperacaoEmAndamento.Parametros.Controle.AtuModoControle = (ModoControleBomba)cmbModoBomba.SelectedIndex;
|
op.Parametros.Controle.AtuModoControle = (ModoControleBomba)cmbModoBomba.SelectedIndex;
|
||||||
|
|
||||||
double pressao = Convert.ToInt32(nudPressaoSP.Value);
|
double pressao = Convert.ToInt32(nudPressaoSP.Value);
|
||||||
double potMin = Convert.ToInt32(nudPotenciaBombaMin.Value);
|
double potMin = Convert.ToInt32(nudPotenciaBombaMin.Value);
|
||||||
|
|
@ -693,17 +695,17 @@ namespace AgroBase.Forms.Operacoes
|
||||||
|
|
||||||
private void btnDesligarBomba_Click(object sender, EventArgs e)
|
private void btnDesligarBomba_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var Bomba = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombaPressurizadora;
|
var Bomba = op.DispAtu.Dados.BombaPressurizadora;
|
||||||
if (Bomba != null)
|
if (Bomba != null)
|
||||||
GeneralJoystick.EnviarComandoAtuador(Bomba.Componente, Bomba.ID, Status: false, Comando: CanMessagePosicaoDados.Command1, Forcar: true);
|
GeneralJoystick.EnviarComandoAtuador(Bomba.Componente, Bomba.ID, Status: false, Comando: CanMessagePosicaoDados.Command1, Forcar: true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnLigarAgitador_Click(object sender, EventArgs e)
|
private void btnLigarAgitador_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var Agitador = Variaveis.OperacaoEmAndamento.DispAtu.Dados.AgitadorDeCalda;
|
var Agitador = op.DispAtu.Dados.AgitadorDeCalda;
|
||||||
if (Agitador != null)
|
if (Agitador != null)
|
||||||
{
|
{
|
||||||
Variaveis.OperacaoEmAndamento.Parametros.Controle.AtuAgitadorModo = (ModoAgitadorCalda)cmbModoAgitador.SelectedIndex;
|
op.Parametros.Controle.AtuAgitadorModo = (ModoAgitadorCalda)cmbModoAgitador.SelectedIndex;
|
||||||
|
|
||||||
double potencia = Convert.ToInt32(nudPotenciaAgitador.Value);
|
double potencia = Convert.ToInt32(nudPotenciaAgitador.Value);
|
||||||
GeneralJoystick.EnviarComandoAtuador(Agitador.Componente, Agitador.ID, Status: true, Valores: new System.Collections.Generic.List<double?>() { potencia }, Comando: CanMessagePosicaoDados.Command1, Forcar: true);
|
GeneralJoystick.EnviarComandoAtuador(Agitador.Componente, Agitador.ID, Status: true, Valores: new System.Collections.Generic.List<double?>() { potencia }, Comando: CanMessagePosicaoDados.Command1, Forcar: true);
|
||||||
|
|
@ -712,7 +714,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
|
|
||||||
private void btnDeslsigarAgitador_Click(object sender, EventArgs e)
|
private void btnDeslsigarAgitador_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var Agitador = Variaveis.OperacaoEmAndamento.DispAtu.Dados.AgitadorDeCalda;
|
var Agitador = op.DispAtu.Dados.AgitadorDeCalda;
|
||||||
if (Agitador != null)
|
if (Agitador != null)
|
||||||
GeneralJoystick.EnviarComandoAtuador(Agitador.Componente, Agitador.ID, Status: false, Comando: CanMessagePosicaoDados.Command1, Forcar: true);
|
GeneralJoystick.EnviarComandoAtuador(Agitador.Componente, Agitador.ID, Status: false, Comando: CanMessagePosicaoDados.Command1, Forcar: true);
|
||||||
}
|
}
|
||||||
|
|
@ -729,7 +731,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
|
|
||||||
private void pnlAtuadores_Paint(object sender, PaintEventArgs e)
|
private void pnlAtuadores_Paint(object sender, PaintEventArgs e)
|
||||||
{
|
{
|
||||||
var Atuador = Variaveis.OperacaoEmAndamento.DispAtu.Dados;
|
var Atuador = op.DispAtu.Dados;
|
||||||
|
|
||||||
bool ligado = Atuador.BombaPressurizadora?._BombaLigada ?? false;
|
bool ligado = Atuador.BombaPressurizadora?._BombaLigada ?? false;
|
||||||
AtuadorFuncoesGerais.DesenharAtuadores(
|
AtuadorFuncoesGerais.DesenharAtuadores(
|
||||||
|
|
@ -759,29 +761,29 @@ namespace AgroBase.Forms.Operacoes
|
||||||
|
|
||||||
private void cmbTipoMovimento_SelectedIndexChanged(object sender, EventArgs e)
|
private void cmbTipoMovimento_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Variaveis.OperacaoEmAndamento.Controle.TipoMovimento = (TipoMovimentoDirecional)cmbTipoMovimento.SelectedIndex;
|
op.Controle.TipoMovimento = (TipoMovimentoDirecional)cmbTipoMovimento.SelectedIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void chbPulverizador_CheckedChanged(object sender, EventArgs e)
|
private void chbPulverizador_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Variaveis.OperacaoEmAndamento.Parametros.Controle.PulverizadorAutomatico = ((CheckBox)sender).Checked;
|
op.Parametros.Controle.PulverizadorAutomatico = ((CheckBox)sender).Checked;
|
||||||
|
|
||||||
if (!Variaveis.OperacaoEmAndamento.Parametros.Controle.PulverizadorAutomatico && Variaveis.OperacaoEmAndamento.Controle.Bicos.Any(x => x.ComandoAtuar))
|
if (!op.Parametros.Controle.PulverizadorAutomatico && op.Controle.Bicos.Any(x => x.ComandoAtuar))
|
||||||
{
|
{
|
||||||
Variaveis.OperacaoEmAndamento.Controle.Bicos.ForEach(b => b.ComandoAtuar = false);
|
op.Controle.Bicos.ForEach(b => b.ComandoAtuar = false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void chbSonarAtivado_CheckedChanged(object sender, EventArgs e)
|
private void chbSonarAtivado_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var pC = Variaveis.OperacaoEmAndamento.Parametros.Controle;
|
var pC = op.Parametros.Controle;
|
||||||
pC.MovAuxilioSonar = ((CheckBox)sender).Checked;
|
pC.MovAuxilioSonar = ((CheckBox)sender).Checked;
|
||||||
pC.DirAuxilioSonar = ((CheckBox)sender).Checked;
|
pC.DirAuxilioSonar = ((CheckBox)sender).Checked;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void chbImuAtivado_CheckedChanged(object sender, EventArgs e)
|
private void chbImuAtivado_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var pC = Variaveis.OperacaoEmAndamento.Parametros.Controle;
|
var pC = op.Parametros.Controle;
|
||||||
pC.ImuAuxilioMovimento = ((CheckBox)sender).Checked;
|
pC.ImuAuxilioMovimento = ((CheckBox)sender).Checked;
|
||||||
pC.ImuAuxilioDirecional = ((CheckBox)sender).Checked;
|
pC.ImuAuxilioDirecional = ((CheckBox)sender).Checked;
|
||||||
pC.ImuDirecionalPreferirArco = ((CheckBox)sender).Checked;
|
pC.ImuDirecionalPreferirArco = ((CheckBox)sender).Checked;
|
||||||
|
|
|
||||||
|
|
@ -1763,7 +1763,7 @@ namespace AgroBase.Forms.Operacoes
|
||||||
}
|
}
|
||||||
|
|
||||||
// agrupar por tipo
|
// agrupar por tipo
|
||||||
var porTipo = dict.GroupBy(kv => CandMpcKey.ParseKey(kv.Key).Tipo);
|
var porTipo = dict.Where(x => x.Key.Contains("_")).GroupBy(kv => CandMpcKey.ParseKey(kv.Key).Tipo);
|
||||||
foreach (var g in porTipo.OrderBy(gr => gr.Key.ToString()))
|
foreach (var g in porTipo.OrderBy(gr => gr.Key.ToString()))
|
||||||
{
|
{
|
||||||
var tipoNode = tv.Nodes.Add(g.Key.ToString());
|
var tipoNode = tv.Nodes.Add(g.Key.ToString());
|
||||||
|
|
|
||||||
|
|
@ -240,11 +240,9 @@ namespace AgroBase.Forms
|
||||||
return EncerrarProcessos(sairProcesso: false);
|
return EncerrarProcessos(sairProcesso: false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task EncerrarProcessos(
|
public static async Task EncerrarProcessos(bool sairProcesso)
|
||||||
bool sairProcesso)
|
|
||||||
{
|
{
|
||||||
await _shutdownGate.WaitAsync()
|
await _shutdownGate.WaitAsync().ConfigureAwait(false);
|
||||||
.ConfigureAwait(false);
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
@ -253,9 +251,7 @@ namespace AgroBase.Forms
|
||||||
|
|
||||||
_shutdownIniciado = true;
|
_shutdownIniciado = true;
|
||||||
|
|
||||||
await EncerrarProcessosInternoAsync(
|
await EncerrarProcessosInternoAsync(sairProcesso).ConfigureAwait(false);
|
||||||
sairProcesso
|
|
||||||
).ConfigureAwait(false);
|
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
|
@ -263,8 +259,7 @@ namespace AgroBase.Forms
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static async Task EncerrarProcessosInternoAsync(
|
private static async Task EncerrarProcessosInternoAsync(bool sairProcesso)
|
||||||
bool sairProcesso)
|
|
||||||
{
|
{
|
||||||
Variaveis.Fechando = true;
|
Variaveis.Fechando = true;
|
||||||
|
|
||||||
|
|
@ -276,32 +271,22 @@ namespace AgroBase.Forms
|
||||||
*/
|
*/
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await AsyncTaskTimerModel
|
await AsyncTaskTimerModel.PararTimersAsync().ConfigureAwait(false);
|
||||||
.PararTimersAsync()
|
|
||||||
.ConfigureAwait(false);
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Variaveis.MostrarLog(
|
Variaveis.MostrarLog("[frmInstancial.Encerrar] Erro ao parar timers: " + ex.Message);
|
||||||
"[frmInstancial.Encerrar] Erro ao parar timers: " +
|
|
||||||
ex.Message
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tmrVarreduraDispositivos = null;
|
tmrVarreduraDispositivos = null;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await SerialService
|
await SerialService.EncerrarAsync().ConfigureAwait(false);
|
||||||
.EncerrarAsync()
|
|
||||||
.ConfigureAwait(false);
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Variaveis.MostrarLog(
|
Variaveis.MostrarLog("[frmInstancial.Encerrar] Erro ao encerrar SerialService: " + ex.Message);
|
||||||
"[frmInstancial.Encerrar] Erro ao encerrar SerialService: " +
|
|
||||||
ex.Message
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -318,19 +303,13 @@ namespace AgroBase.Forms
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Variaveis.MostrarLog(
|
Variaveis.MostrarLog("[frmInstancial.Encerrar] Erro ao salvar " + disp.Dispositivo + ": " + ex.Message);
|
||||||
"[frmInstancial.Encerrar] Erro ao salvar " +
|
|
||||||
disp.Dispositivo + ": " + ex.Message
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Variaveis.MostrarLog(
|
Variaveis.MostrarLog("[frmInstancial.Encerrar] Erro ao percorrer dispositivos: " + ex.Message);
|
||||||
"[frmInstancial.Encerrar] Erro ao percorrer dispositivos: " +
|
|
||||||
ex.Message
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -342,19 +321,14 @@ namespace AgroBase.Forms
|
||||||
{
|
{
|
||||||
var timeout = DateTime.Now.AddSeconds(10);
|
var timeout = DateTime.Now.AddSeconds(10);
|
||||||
|
|
||||||
while (!CanManager.CanService.FilaLiberada &&
|
while (!CanManager.CanService.FilaLiberada && DateTime.Now < timeout)
|
||||||
DateTime.Now < timeout)
|
|
||||||
{
|
{
|
||||||
await Task.Delay(200)
|
await Task.Delay(200).ConfigureAwait(false);
|
||||||
.ConfigureAwait(false);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Variaveis.MostrarLog(
|
Variaveis.MostrarLog("[frmInstancial.Encerrar] Erro aguardando fila CAN: " + ex.Message);
|
||||||
"[frmInstancial.Encerrar] Erro aguardando fila CAN: " +
|
|
||||||
ex.Message
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|
@ -363,10 +337,7 @@ namespace AgroBase.Forms
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Variaveis.MostrarLog(
|
Variaveis.MostrarLog("[frmInstancial.Encerrar] Erro ao encerrar Livox: " + ex.Message);
|
||||||
"[frmInstancial.Encerrar] Erro ao encerrar Livox: " +
|
|
||||||
ex.Message
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|
@ -375,10 +346,7 @@ namespace AgroBase.Forms
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Variaveis.MostrarLog(
|
Variaveis.MostrarLog("[frmInstancial.Encerrar] Erro ao encerrar Python: " + ex.Message);
|
||||||
"[frmInstancial.Encerrar] Erro ao encerrar Python: " +
|
|
||||||
ex.Message
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|
@ -387,38 +355,25 @@ namespace AgroBase.Forms
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Variaveis.MostrarLog(
|
Variaveis.MostrarLog("[frmInstancial.Encerrar] Erro ao encerrar UDP: " + ex.Message);
|
||||||
"[frmInstancial.Encerrar] Erro ao encerrar UDP: " +
|
|
||||||
ex.Message
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await GPSService
|
await GPSService.EncerrarAsync().ConfigureAwait(false);
|
||||||
.EncerrarAsync()
|
|
||||||
.ConfigureAwait(false);
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Variaveis.MostrarLog(
|
Variaveis.MostrarLog("[frmInstancial.Encerrar] Erro ao encerrar GPS: " + ex.Message);
|
||||||
"[frmInstancial.Encerrar] Erro ao encerrar GPS: " +
|
|
||||||
ex.Message
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await Variaveis
|
await Variaveis.EncerrarMqttAsync().ConfigureAwait(false);
|
||||||
.EncerrarMqttAsync()
|
|
||||||
.ConfigureAwait(false);
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Variaveis.MostrarLog(
|
Variaveis.MostrarLog("[frmInstancial.Encerrar] Erro ao encerrar MQTT: " + ex.Message);
|
||||||
"[frmInstancial.Encerrar] Erro ao encerrar MQTT: " +
|
|
||||||
ex.Message
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|
@ -440,9 +395,7 @@ namespace AgroBase.Forms
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void frmPrincipal_FormClosing(
|
private async void frmPrincipal_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
object sender,
|
|
||||||
FormClosingEventArgs e)
|
|
||||||
{
|
{
|
||||||
if (_allowClose)
|
if (_allowClose)
|
||||||
return;
|
return;
|
||||||
|
|
@ -451,9 +404,7 @@ namespace AgroBase.Forms
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await EncerrarProcessos(
|
await EncerrarProcessos(sairProcesso: false);
|
||||||
sairProcesso: false
|
|
||||||
);
|
|
||||||
|
|
||||||
_allowClose = true;
|
_allowClose = true;
|
||||||
|
|
||||||
|
|
@ -470,9 +421,7 @@ namespace AgroBase.Forms
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Variaveis.MostrarLog(
|
Variaveis.MostrarLog("[frmInstancial.FormClosing] " + ex);
|
||||||
"[frmInstancial.FormClosing] " + ex
|
|
||||||
);
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
@ -482,9 +431,7 @@ namespace AgroBase.Forms
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void FrmIHM_FormClosing(
|
private void FrmIHM_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
object sender,
|
|
||||||
FormClosingEventArgs e)
|
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Em modo desenvolvimento, fechar a IHM apenas oculta a janela.
|
* Em modo desenvolvimento, fechar a IHM apenas oculta a janela.
|
||||||
|
|
|
||||||
|
|
@ -208,7 +208,7 @@ namespace AgroBase
|
||||||
|
|
||||||
private void cmbModoOperacao_SelectedIndexChanged(object sender, EventArgs e)
|
private void cmbModoOperacao_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
OperacaoModel.CarregarParametrosOperacaoPadrao((ModoOperacao)cmbModoOperacao.SelectedIndex, true);
|
Variaveis.OperacaoEmAndamento = OperacaoModel.CarregarParametrosOperacaoPadrao((ModoOperacao)cmbModoOperacao.SelectedIndex, CarregarModulos: true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnIniciarOperacao_Click(object sender, EventArgs e)
|
private void btnIniciarOperacao_Click(object sender, EventArgs e)
|
||||||
|
|
|
||||||
|
|
@ -38,11 +38,11 @@ namespace AgroBase.Models
|
||||||
public void AtualizarDados()
|
public void AtualizarDados()
|
||||||
{
|
{
|
||||||
var saude = Variaveis.OperacaoEmAndamento.Sensoriamento?.OperadorSaude?.ModulosSaude;
|
var saude = Variaveis.OperacaoEmAndamento.Sensoriamento?.OperadorSaude?.ModulosSaude;
|
||||||
Status = saude.FirstOrDefault(x => x.modulo == Dispositivo)?.status ?? StatusModulo.Desconectado;
|
Status = saude?.FirstOrDefault(x => x.modulo == Dispositivo)?.status ?? StatusModulo.Desconectado;
|
||||||
Saude = saude.FirstOrDefault(x => x.modulo == Dispositivo)?.saude ?? 0;
|
Saude = saude?.FirstOrDefault(x => x.modulo == Dispositivo)?.saude ?? 0;
|
||||||
|
|
||||||
var motivos = saude.FirstOrDefault(x => x.modulo == Dispositivo)?.motivos ?? new System.Collections.Generic.List<string>();
|
var motivos = saude?.FirstOrDefault(x => x.modulo == Dispositivo)?.motivos ?? new System.Collections.Generic.List<string>();
|
||||||
var cond_op = saude.FirstOrDefault(x => x.modulo == Dispositivo)?.condicoes_operacionais?.Select(x => x.descricao) ?? new System.Collections.Generic.List<string>();
|
var cond_op = saude?.FirstOrDefault(x => x.modulo == Dispositivo)?.condicoes_operacionais?.Select(x => x.descricao) ?? new System.Collections.Generic.List<string>();
|
||||||
string motivos_str = string.Join(", ", motivos);
|
string motivos_str = string.Join(", ", motivos);
|
||||||
string cond_op_str = string.Join(", ", cond_op);
|
string cond_op_str = string.Join(", ", cond_op);
|
||||||
Erros = motivos_str + (motivos.Any() && cond_op.Any() ? ", " : "") + cond_op_str;
|
Erros = motivos_str + (motivos.Any() && cond_op.Any() ? ", " : "") + cond_op_str;
|
||||||
|
|
|
||||||
|
|
@ -60,10 +60,13 @@ namespace AgroBase.Models.Modules
|
||||||
public List<AtuadorBombaModel> BombasPressurizadoras { get; set; }
|
public List<AtuadorBombaModel> BombasPressurizadoras { get; set; }
|
||||||
public List<SensorModel> Sensores { get; set; }
|
public List<SensorModel> Sensores { get; set; }
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
public AsyncTaskTimerModel tmrRegistrador;
|
public AsyncTaskTimerModel tmrRegistrador;
|
||||||
private int _TempoReconexaoComponentes = 5;
|
private int _TempoReconexaoComponentes = 5;
|
||||||
private int _VezesLeituraReconexao = 0;
|
private int _VezesLeituraReconexao = 0;
|
||||||
public AtuadorMensagemJsonModel DadosLeitura { get; set; } = new AtuadorMensagemJsonModel();
|
public AtuadorMensagemJsonModel DadosLeitura { get; set; } = new AtuadorMensagemJsonModel();
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
public AtuHandler _AtuHandler = new AtuHandler();
|
public AtuHandler _AtuHandler = new AtuHandler();
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using AgroBase.Services;
|
using AgroBase.Services;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
|
|
@ -40,8 +41,11 @@ namespace AgroBase.Models.Modules
|
||||||
public DateTime UltimoTickRegistrador = DateTime.MinValue;
|
public DateTime UltimoTickRegistrador = DateTime.MinValue;
|
||||||
|
|
||||||
public static int LogsManter { get; set; } = 60;
|
public static int LogsManter { get; set; } = 60;
|
||||||
|
[JsonIgnore]
|
||||||
public AsyncTaskTimerModel tmrRegistrador;
|
public AsyncTaskTimerModel tmrRegistrador;
|
||||||
|
[JsonIgnore]
|
||||||
public AsyncTaskTimerModel tmrRegistradorMOV;
|
public AsyncTaskTimerModel tmrRegistradorMOV;
|
||||||
|
[JsonIgnore]
|
||||||
public AsyncTaskTimerModel tmrRegistradorDIR;
|
public AsyncTaskTimerModel tmrRegistradorDIR;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -525,7 +529,10 @@ namespace AgroBase.Models.Modules
|
||||||
var DispMvd = op.DispMvd;
|
var DispMvd = op.DispMvd;
|
||||||
if (DispMvd != null)
|
if (DispMvd != null)
|
||||||
{
|
{
|
||||||
var calMov = op.Sensoriamento.Operacao.ModsCalibragem[T_Code.Mov];
|
var mc = op.Sensoriamento.Operacao.ModsCalibragem;
|
||||||
|
if (!mc.ContainsKey(T_Code.Mov))
|
||||||
|
mc.Add(T_Code.Mov, new Dictionary<string, bool>());
|
||||||
|
var calMov = mc[T_Code.Mov];
|
||||||
foreach (var mod in DispMvd.Dados.Modulos)
|
foreach (var mod in DispMvd.Dados.Modulos)
|
||||||
{
|
{
|
||||||
calMov.TryGetValue(mod.Modulo_ID, out var cal);
|
calMov.TryGetValue(mod.Modulo_ID, out var cal);
|
||||||
|
|
@ -546,7 +553,10 @@ namespace AgroBase.Models.Modules
|
||||||
var DispMvd = op.DispMvd;
|
var DispMvd = op.DispMvd;
|
||||||
if (DispMvd != null)
|
if (DispMvd != null)
|
||||||
{
|
{
|
||||||
var calDir = op.Sensoriamento.Operacao.ModsCalibragem[T_Code.Dir];
|
var mc = op.Sensoriamento.Operacao.ModsCalibragem;
|
||||||
|
if (!mc.ContainsKey(T_Code.Dir))
|
||||||
|
mc.Add(T_Code.Dir, new Dictionary<string, bool>());
|
||||||
|
var calDir = mc[T_Code.Dir];
|
||||||
foreach (var mod in DispMvd.Dados.Modulos)
|
foreach (var mod in DispMvd.Dados.Modulos)
|
||||||
{
|
{
|
||||||
calDir.TryGetValue(mod.Modulo_ID, out var cal);
|
calDir.TryGetValue(mod.Modulo_ID, out var cal);
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ using System.Threading.Tasks;
|
||||||
using static AgroBase.Models.Enums;
|
using static AgroBase.Models.Enums;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace AgroBase.Models.Modules
|
namespace AgroBase.Models.Modules
|
||||||
{
|
{
|
||||||
|
|
@ -53,9 +54,14 @@ namespace AgroBase.Models.Modules
|
||||||
public List<SensorReleModel> Reles { get; set; }
|
public List<SensorReleModel> Reles { get; set; }
|
||||||
public List<SensorServoModel> Servos { get; set; }
|
public List<SensorServoModel> Servos { get; set; }
|
||||||
public UltrasonicA05Configuracoes ConfiguracaoSensorUltrassom { get; set; }
|
public UltrasonicA05Configuracoes ConfiguracaoSensorUltrassom { get; set; }
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
private SenHandler _SenHandler = new SenHandler();
|
private SenHandler _SenHandler = new SenHandler();
|
||||||
|
|
||||||
public CoulombCounterService ContadorCarga = new CoulombCounterService(VariaveisEquipamento.CorrenteMaximaBateria);
|
public CoulombCounterService ContadorCarga = new CoulombCounterService(VariaveisEquipamento.CorrenteMaximaBateria);
|
||||||
public CoolerControlService CoolerControl = new CoolerControlService();
|
public CoolerControlService CoolerControl = new CoolerControlService();
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
public AsyncTaskTimerModel tmrRegistrador;
|
public AsyncTaskTimerModel tmrRegistrador;
|
||||||
private int _TempoReconexaoComponentes = 5;
|
private int _TempoReconexaoComponentes = 5;
|
||||||
private int _VezesLeituraReconexao = 0;
|
private int _VezesLeituraReconexao = 0;
|
||||||
|
|
@ -496,7 +502,7 @@ namespace AgroBase.Models.Modules
|
||||||
indice = 1,
|
indice = 1,
|
||||||
analise_health = true,
|
analise_health = true,
|
||||||
maximo = 500,
|
maximo = 500,
|
||||||
minimo = 50,
|
minimo = 30,
|
||||||
nominal = 100,
|
nominal = 100,
|
||||||
unidade_medida = "mA"
|
unidade_medida = "mA"
|
||||||
},
|
},
|
||||||
|
|
@ -596,9 +602,9 @@ namespace AgroBase.Models.Modules
|
||||||
posicao = CanMessagePosicaoDados.Dados1,
|
posicao = CanMessagePosicaoDados.Dados1,
|
||||||
indice = 1,
|
indice = 1,
|
||||||
analise_health = true,
|
analise_health = true,
|
||||||
maximo = 1000,
|
maximo = 2200,
|
||||||
minimo = 50,
|
minimo = 1000,
|
||||||
nominal = 300,
|
nominal = 1700,
|
||||||
unidade_medida = "mA"
|
unidade_medida = "mA"
|
||||||
},
|
},
|
||||||
new SensorValoresLeituraModel()
|
new SensorValoresLeituraModel()
|
||||||
|
|
@ -900,9 +906,9 @@ namespace AgroBase.Models.Modules
|
||||||
posicao = CanMessagePosicaoDados.Dados1,
|
posicao = CanMessagePosicaoDados.Dados1,
|
||||||
indice = 1,
|
indice = 1,
|
||||||
analise_health = true,
|
analise_health = true,
|
||||||
maximo = 4000,
|
maximo = 6000,
|
||||||
minimo = 500,
|
minimo = 1000,
|
||||||
nominal = 1500,
|
nominal = 5000,
|
||||||
unidade_medida = "mA"
|
unidade_medida = "mA"
|
||||||
},
|
},
|
||||||
new SensorValoresLeituraModel()
|
new SensorValoresLeituraModel()
|
||||||
|
|
@ -992,7 +998,7 @@ namespace AgroBase.Models.Modules
|
||||||
indice = 0,
|
indice = 0,
|
||||||
analise_health = true,
|
analise_health = true,
|
||||||
maximo = 24.3,
|
maximo = 24.3,
|
||||||
minimo = 23.8,
|
minimo = 23.5,
|
||||||
nominal = 24.0,
|
nominal = 24.0,
|
||||||
unidade_medida = "V"
|
unidade_medida = "V"
|
||||||
},
|
},
|
||||||
|
|
@ -1106,7 +1112,7 @@ namespace AgroBase.Models.Modules
|
||||||
analise_health = true,
|
analise_health = true,
|
||||||
maximo = 75000,
|
maximo = 75000,
|
||||||
minimo = 200,
|
minimo = 200,
|
||||||
nominal = 2500,
|
nominal = 3500,
|
||||||
unidade_medida = "mA"
|
unidade_medida = "mA"
|
||||||
},
|
},
|
||||||
new SensorValoresLeituraModel()
|
new SensorValoresLeituraModel()
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1585,7 +1585,7 @@ namespace AgroBase.Models
|
||||||
|
|
||||||
RetornandoBase = false;
|
RetornandoBase = false;
|
||||||
|
|
||||||
CorredorAtual = _Corredores[0];
|
CorredorAtual = _Corredores.Count > 0 ? _Corredores[0] : null;
|
||||||
|
|
||||||
AutonomiaCorredor.Iniciar();
|
AutonomiaCorredor.Iniciar();
|
||||||
|
|
||||||
|
|
@ -1847,8 +1847,8 @@ namespace AgroBase.Models
|
||||||
|
|
||||||
LoopAtualizaDados();
|
LoopAtualizaDados();
|
||||||
|
|
||||||
var _p = OperacaoModel.CarregarParametrosOperacaoPadrao(ModoOperacao.RetornoBase, false);
|
var new_op = OperacaoModel.CarregarParametrosOperacaoPadrao(ModoOperacao.RetornoBase, CarregarModulos: false);
|
||||||
op.Parametros = _p;
|
op.Parametros = new_op.Parametros;
|
||||||
|
|
||||||
if (!op.Sensoriamento.Operacao.OperacaoIniciada)
|
if (!op.Sensoriamento.Operacao.OperacaoIniciada)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,8 @@ namespace AgroBase.Services.Operadores
|
||||||
private static void AtualizarDadosContextoLocal()
|
private static void AtualizarDadosContextoLocal()
|
||||||
{
|
{
|
||||||
var op = Variaveis.OperacaoEmAndamento;
|
var op = Variaveis.OperacaoEmAndamento;
|
||||||
|
if (op.Sensoriamento == null) return;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
RedisService.AtualizarCampos(
|
RedisService.AtualizarCampos(
|
||||||
|
|
|
||||||
|
|
@ -148,7 +148,7 @@ namespace AgroBase.Services.Operadores
|
||||||
{
|
{
|
||||||
AtualizarImu();
|
AtualizarImu();
|
||||||
|
|
||||||
DadosLeitura.Status = Variaveis.OperacaoEmAndamento.Sensoriamento.OperadorSaude?.ModulosSaude?.FirstOrDefault(x => x.modulo == Enums.T_Code.Snr)?.status ?? Enums.StatusModulo.Desconectado;
|
DadosLeitura.Status = Variaveis.OperacaoEmAndamento.Sensoriamento?.OperadorSaude?.ModulosSaude?.FirstOrDefault(x => x.modulo == Enums.T_Code.Snr)?.status ?? Enums.StatusModulo.Desconectado;
|
||||||
|
|
||||||
string json = RedisService.Get(CtxKey.DadosVisualWorker);
|
string json = RedisService.Get(CtxKey.DadosVisualWorker);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,12 +38,12 @@ namespace AgroBase.Services
|
||||||
|
|
||||||
public static string Get(string chave)
|
public static string Get(string chave)
|
||||||
{
|
{
|
||||||
return _db.StringGet(chave);
|
return _db?.StringGet(chave);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void Set(string chave, string valor)
|
private static void Set(string chave, string valor)
|
||||||
{
|
{
|
||||||
_db.StringSet(chave, valor);
|
_db?.StringSet(chave, valor);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetObject(string chave, object valor)
|
public static void SetObject(string chave, object valor)
|
||||||
|
|
@ -157,7 +157,9 @@ namespace AgroBase.Services
|
||||||
|
|
||||||
public static void DefinirEquipamentoDesconectado()
|
public static void DefinirEquipamentoDesconectado()
|
||||||
{
|
{
|
||||||
var saude = Variaveis.OperacaoEmAndamento.Sensoriamento.OperadorSaude?.ModulosSaude;
|
if (!(Variaveis.OperacaoEmAndamento?.Sensoriamento?.OperadorSaude?.ModulosSaude?.Any() ?? false)) return;
|
||||||
|
|
||||||
|
var saude = Variaveis.OperacaoEmAndamento.Sensoriamento?.OperadorSaude?.ModulosSaude;
|
||||||
AtualizarCampos(
|
AtualizarCampos(
|
||||||
CtxKey.DadosOperacao,
|
CtxKey.DadosOperacao,
|
||||||
("motivo_nao_liberado", "Sem comunicação com o núcleo de processamento central"),
|
("motivo_nao_liberado", "Sem comunicação com o núcleo de processamento central"),
|
||||||
|
|
|
||||||
|
|
@ -375,9 +375,11 @@ namespace AgroBase.Services
|
||||||
if (!_AtualizacaoGate.Wait(0))
|
if (!_AtualizacaoGate.Wait(0))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
var op = Variaveis.OperacaoEmAndamento;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (Variaveis.OperacaoEmAndamento != null && Variaveis.OperacaoEmAndamento.Sensoriamento.Operacao.OperacaoIniciada)
|
if (op?.Sensoriamento?.Operacao?.OperacaoIniciada ?? false)
|
||||||
{
|
{
|
||||||
ResultadoAtualizacao =
|
ResultadoAtualizacao =
|
||||||
"Atualização ignorada: operação em andamento.";
|
"Atualização ignorada: operação em andamento.";
|
||||||
|
|
|
||||||
|
|
@ -57,10 +57,10 @@ namespace OperationControl.ViewModels.Views.Operacao.Monitoramento
|
||||||
|
|
||||||
private void CarregarParametrosPadrao(AgroBase.Models.Enums.ModoOperacao modo)
|
private void CarregarParametrosPadrao(AgroBase.Models.Enums.ModoOperacao modo)
|
||||||
{
|
{
|
||||||
var p = OperacaoModel.CarregarParametrosOperacaoPadrao(modo, false);
|
var new_op = OperacaoModel.CarregarParametrosOperacaoPadrao(modo, false);
|
||||||
modoOperacaoAtual = p.Modo;
|
modoOperacaoAtual = new_op.Parametros.Modo;
|
||||||
p.Descricao = $"{p.Modo} - Padrão";
|
new_op.Parametros.Descricao = $"{new_op.Parametros.Modo} - Padrão";
|
||||||
Parametros = p;
|
Parametros = new_op.Parametros;
|
||||||
if (VariaveisControleOperacao.RoverEmFoco != null)
|
if (VariaveisControleOperacao.RoverEmFoco != null)
|
||||||
VariaveisControleOperacao.RoverEmFoco.Modo = modo;
|
VariaveisControleOperacao.RoverEmFoco.Modo = modo;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue