ajuste no controle direcional

This commit is contained in:
Diego Freitas 2024-12-18 13:41:53 -03:00
parent 8d97ffc51f
commit bb30a71dc3
18 changed files with 153 additions and 221 deletions

Binary file not shown.

View File

@ -2,45 +2,37 @@
"Version": 1,
"WorkspaceRootPath": "C:\\ZendionINC\\agrobot_base\\AgroBase\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|c:\\zendioninc\\agrobot_base\\agrobase\\agrobase\\models\\modules\\movimentacaounificadomodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\modules\\movimentacaounificadomodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\models\\operacoes\\operacaomodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\operacoes\\operacaomodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|c:\\zendioninc\\agrobot_base\\agrobase\\agrobase\\models\\generaljoystick.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|c:\\zendioninc\\agrobot_base\\agrobase\\agrobase\\models\\modules\\movimentacaounificadomodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\modules\\movimentacaounificadomodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\models\\generaljoystick.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\generaljoystick.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\models\\operacoes\\operacaomapagpsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\operacoes\\operacaomapagpsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\forms\\operacoes\\frmoperacaomanual.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\forms\\operacoes\\frmoperacaomanual.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\models\\variaveis.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\variaveis.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\models\\pidmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\pidmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\forms\\frmsimulacaomapagps.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\forms\\frmsimulacaomapagps.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|c:\\zendioninc\\agrobot_base\\agrobase\\agrobase\\models\\ultrasonica05model.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\ultrasonica05model.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\forms\\operacoes\\frmoperacaomanual.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\forms\\operacoes\\frmoperacaomanual.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\models\\mapasmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\mapasmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|c:\\zendioninc\\agrobot_base\\agrobase\\agrobase\\forms\\operacoes\\frmresultadosoperacao.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\forms\\operacoes\\frmresultadosoperacao.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|c:\\zendioninc\\agrobot_base\\agrobase\\agrobase\\forms\\operacoes\\frmresultadosoperacao.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\forms\\operacoes\\frmresultadosoperacao.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\models\\variaveis.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\variaveis.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@ -50,37 +42,23 @@
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 1,
"SelectedChildIndex": 4,
"Children": [
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "GeneralJoystick.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\GeneralJoystick.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\GeneralJoystick.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\GeneralJoystick.cs",
"RelativeToolTip": "AgroBase\\Models\\GeneralJoystick.cs",
"ViewState": "AQIAAFkCAAAAAAAAAAAmwC0CAAARAAAA",
"DocumentIndex": 6,
"Title": "frmResultadosOperacao.cs [Design]",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Forms\\Operacoes\\frmResultadosOperacao.cs",
"RelativeDocumentMoniker": "AgroBase\\Forms\\Operacoes\\frmResultadosOperacao.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Forms\\Operacoes\\frmResultadosOperacao.cs [Design]",
"RelativeToolTip": "AgroBase\\Forms\\Operacoes\\frmResultadosOperacao.cs [Design]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-18T13:02:20.66Z",
"EditorCaption": ""
"WhenOpened": "2024-12-18T15:16:47.82Z",
"EditorCaption": " [Design]"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "MovimentacaoUnificadoModel.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\MovimentacaoUnificadoModel.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\Modules\\MovimentacaoUnificadoModel.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\MovimentacaoUnificadoModel.cs",
"RelativeToolTip": "AgroBase\\Models\\Modules\\MovimentacaoUnificadoModel.cs",
"ViewState": "AQIAAFEEAAAAAAAAAAA0wNsEAAAUAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-18T12:25:31.449Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"DocumentIndex": 7,
"Title": "Variaveis.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Variaveis.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\Variaveis.cs",
@ -88,8 +66,7 @@
"RelativeToolTip": "AgroBase\\Models\\Variaveis.cs",
"ViewState": "AQIAAC8AAAAAAAAAAAAywE0AAAAsAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-18T10:12:52.226Z",
"EditorCaption": ""
"WhenOpened": "2024-12-18T10:12:52.226Z"
},
{
"$type": "Document",
@ -106,79 +83,67 @@
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "UltrasonicA05Model.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\UltrasonicA05Model.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\UltrasonicA05Model.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\UltrasonicA05Model.cs",
"RelativeToolTip": "AgroBase\\Models\\UltrasonicA05Model.cs",
"ViewState": "AQIAAEUAAAAAAAAAAAAYwLYAAAAiAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-17T23:45:03.654Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "MapasModel.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\MapasModel.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\MapasModel.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\MapasModel.cs",
"RelativeToolTip": "AgroBase\\Models\\MapasModel.cs",
"ViewState": "AQIAAEgAAAAAAAAAAAAAwHUBAABxAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-17T22:49:46.935Z"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "PIDModel.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\PIDModel.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\PIDModel.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\PIDModel.cs",
"RelativeToolTip": "AgroBase\\Models\\PIDModel.cs",
"ViewState": "AQIAAA4AAAAAAAAAAAA8wBgAAAAMAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-17T21:24:50.059Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"DocumentIndex": 3,
"Title": "frmSimulacaoMapaGPS.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Forms\\frmSimulacaoMapaGPS.cs",
"RelativeDocumentMoniker": "AgroBase\\Forms\\frmSimulacaoMapaGPS.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Forms\\frmSimulacaoMapaGPS.cs",
"RelativeToolTip": "AgroBase\\Forms\\frmSimulacaoMapaGPS.cs",
"ViewState": "AQIAADoAAAAAAAAAAAAiwKgAAAAAAAAA",
"ViewState": "AQIAABoAAAAAAAAAAAAUwKgAAAAAAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-17T20:31:58.828Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"DocumentIndex": 0,
"Title": "OperacaoModel.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Operacoes\\OperacaoModel.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\Operacoes\\OperacaoModel.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Operacoes\\OperacaoModel.cs",
"RelativeToolTip": "AgroBase\\Models\\Operacoes\\OperacaoModel.cs",
"ViewState": "AQIAAKgEAAAAAAAAAAAewL4EAAAMAAAA",
"ViewState": "AQIAAN8EAAAAAAAAAAAwwOcEAAAAAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-17T20:14:20.606Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "OperacaoMapaGPSModel.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Operacoes\\OperacaoMapaGPSModel.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\Operacoes\\OperacaoMapaGPSModel.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Operacoes\\OperacaoMapaGPSModel.cs",
"RelativeToolTip": "AgroBase\\Models\\Operacoes\\OperacaoMapaGPSModel.cs",
"ViewState": "AQIAAAsAAAAAAAAAAAAkwM4AAABAAAAA",
"DocumentIndex": 2,
"Title": "GeneralJoystick.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\GeneralJoystick.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\GeneralJoystick.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\GeneralJoystick.cs",
"RelativeToolTip": "AgroBase\\Models\\GeneralJoystick.cs",
"ViewState": "AQIAAGQCAAAAAAAAAAAUwGICAACIAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-17T16:03:54.404Z",
"WhenOpened": "2024-12-18T13:02:20.66Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "frmResultadosOperacao.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Forms\\Operacoes\\frmResultadosOperacao.cs",
"RelativeDocumentMoniker": "AgroBase\\Forms\\Operacoes\\frmResultadosOperacao.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Forms\\Operacoes\\frmResultadosOperacao.cs",
"RelativeToolTip": "AgroBase\\Forms\\Operacoes\\frmResultadosOperacao.cs",
"ViewState": "AQIAADcAAAAAAAAAAAAwwAIDAAAzAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-18T14:06:28.014Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "MovimentacaoUnificadoModel.cs",
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\MovimentacaoUnificadoModel.cs",
"RelativeDocumentMoniker": "AgroBase\\Models\\Modules\\MovimentacaoUnificadoModel.cs",
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\MovimentacaoUnificadoModel.cs",
"RelativeToolTip": "AgroBase\\Models\\Modules\\MovimentacaoUnificadoModel.cs",
"ViewState": "AQIAANcAAAAAAAAAAAAswFMBAABUAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-18T12:25:31.449Z",
"EditorCaption": ""
}
]

View File

@ -787,8 +787,8 @@ namespace AgroBase.Forms.Operacoes
txtErvasTerreno.Text = Log.PercentualErvasTerreno.ToString("0.00");
txtTipoMovimento.Text = Log.TipoMovimento.ToString();
txtVelocidade.Text = Log.VelocidadeMedia.ToString("0.00") + " km/h (" + (Log.VelocidadeMedia / 3.6).ToString("0.00") + " m/s)";
txtDirecaoControle.Text = Log.Controle.Direcao.ToString();
txtVelocidadeControle.Text = (Log.Controle.PercentualVelocidadeSP / VariaveisEquipamento.RPM_Max_Roda * 100).ToString() + " rpm";
txtDirecaoControle.Text = (Log.Controle?.Direcao ?? Enums.Direcao.Parado).ToString();
txtVelocidadeControle.Text = ((Log.Controle?.PercentualVelocidadeSP ?? 0) / VariaveisEquipamento.RPM_Max_Roda * 100).ToString() + " rpm";
TimeSpan duracaoOperacao = LogsOperacao.First().Momento - Log.Momento;
txtDuracaoOperacao.Text = duracaoOperacao.ToString(@"hh\:mm\:ss");
@ -1152,7 +1152,7 @@ namespace AgroBase.Forms.Operacoes
private void pnlOrientacaoDirecional_Paint(object sender, PaintEventArgs e)
{
var LogOp = LogsOperacao.FirstOrDefault(x => x.Momento == MomentoAtual);
double Angulo = LogOp != null ? LogOp.Controle.Angulo : 0;
double Angulo = LogOp != null ? (LogOp.Controle?.Angulo ?? 0) : 0;
FuncoesGlobais.DesenharInclinacao((Panel)sender, e, (float)Angulo, 90);
}

View File

@ -337,7 +337,7 @@ namespace AgroBase.Models.Modules
// 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(2000) < DateTime.Now) && !Modulo.DirMotor.AtingiuAnguloSP)
{
Modulo.DirMotor.EnviarComandoControle(Controle.UltimaDirecao, !Modulo.DirMotor.Comandar);
Modulo.DirMotor.EnviarComandoControle(Controle.UltimaDirecao);
}
}
}
@ -876,11 +876,7 @@ namespace AgroBase.Models.Modules
ComandoLigado = RPM_SP > 0;
Variaveis.OperacaoEmAndamento.SimulacaoRpmControle = (RPM_SP / VariaveisEquipamento.RelacaoRPM);
if (simulando)
{
return;
}
switch (DirecaoAtual)
{
case Direcao.Frente:
@ -894,6 +890,11 @@ namespace AgroBase.Models.Modules
break;
}
if (simulando)
{
return;
}
byte Addr = EnderecoByte;
DateTime Agora = DateTime.Now;
@ -1192,60 +1193,48 @@ namespace AgroBase.Models.Modules
};
}
public void EnviarComandoControle(Direcao Direcao, bool Forcar = false)
public void EnviarComandoControle(Direcao Direcao)
{
var simulando = Variaveis.OperacaoEmAndamento.Simulando;
if ((MKS_Inicializado && (Comandar || Forcar)) || simulando)
if ((MKS_Inicializado && (Comandar || !AtingiuAnguloSP)) || simulando)
{
// Se o motor estiver nao utilizado mas nao estiver no angulo zero
if (!Comandar)
int AnguloTipoMovimento = VariaveisEquipamento.AnguloMovimento[Variaveis.OperacaoEmAndamento.Controle.TipoMovimento];
if (UltimaDirecao != Direcao)
{
Sentido_SP =
Direcao == Direcao.Direita ? ConfigSentidos[Variaveis.OperacaoEmAndamento.Controle.TipoMovimento].Direita :
Direcao == Direcao.Esquerda ? ConfigSentidos[Variaveis.OperacaoEmAndamento.Controle.TipoMovimento].Esquerda :
Sentido_SP == Sentido.Horario ? Sentido.Antihorario :
Sentido_SP == Sentido.Antihorario ? Sentido.Horario :
Sentido.Parado;
UltimaDirecao = Direcao;
}
else if (AtingiuAnguloSP && RetornandoAzero && Angulo == 0)
{
Angulo_SP = 0;
Sentido_SP = Sentido.Parado;
}
else
{
int AnguloTipoMovimento = VariaveisEquipamento.AnguloMovimento[Variaveis.OperacaoEmAndamento.Controle.TipoMovimento];
if (UltimaDirecao != Direcao)
{
Sentido_SP =
Direcao == Direcao.Direita ? ConfigSentidos[Variaveis.OperacaoEmAndamento.Controle.TipoMovimento].Direita :
Direcao == Direcao.Esquerda ? ConfigSentidos[Variaveis.OperacaoEmAndamento.Controle.TipoMovimento].Esquerda :
Sentido_SP == Sentido.Horario ? Sentido.Antihorario :
Sentido_SP == Sentido.Antihorario ? Sentido.Horario :
Sentido.Parado;
Angulo_SP =
RetornandoAzero || !Comandar ? 0 :
AnguloTipoMovimento != -1 ? AnguloTipoMovimento :
Variaveis.OperacaoEmAndamento.Controle.Angulo;
UltimaDirecao = Direcao;
}
else if (AtingiuAnguloSP && RetornandoAzero && Angulo == 0)
{
Sentido_SP = Sentido.Parado;
}
Variaveis.OperacaoEmAndamento.SimulacaoAnguloControle = Angulo_SP;
Angulo_SP =
RetornandoAzero ? 0 :
AnguloTipoMovimento != -1 ? AnguloTipoMovimento :
Variaveis.OperacaoEmAndamento.Controle.Angulo;
int mx = Sentido_SP == Sentido.Antihorario ? -1 : 1;
Variaveis.OperacaoEmAndamento.SimulacaoAnguloControle = Angulo_SP;
int mx = Sentido_SP == Sentido.Antihorario ? -1 : 1;
Angulo_SP = Math.Abs(Angulo_SP) * mx;
}
Angulo_SP = Math.Abs(Angulo_SP) * mx;
if (simulando)
{
return;
}
if (!AtingiuAnguloSP)
{
MKS057DService.AdicionarComandoNaFila(MKS057DService.MontarComandoMovimento(EnderecoByte, Angulo_SP, Velocidade, Sentido_SP));
UltimoComandoEnviado = DateTime.Now;
}
MKS057DService.AdicionarComandoNaFila(MKS057DService.MontarComandoMovimento(EnderecoByte, Angulo_SP, Velocidade, Sentido_SP));
UltimoComandoEnviado = DateTime.Now;
}
}

View File

@ -1203,7 +1203,7 @@ namespace AgroBase.Models
OperacaoControleTipoModel ControleMov = _Controle.TiposControle != null ? _Controle.TiposControle.FirstOrDefault(x => x.Tipo == T_Code.Mov) : null;
OperacaoControleTipoModel ControleDir = _Controle.TiposControle != null ? _Controle.TiposControle.FirstOrDefault(x => x.Tipo == T_Code.Dir) : null;
if (ControleMov != null && _Controle.RPM_SP != _ControleAnterior.RPM_SP && (Agora - ControleMov.UltimoComando).TotalMilliseconds > ControleMov.DelayEnvioComando)
if (ControleMov != null && (Agora - ControleMov.UltimoComando).TotalMilliseconds > ControleMov.DelayEnvioComando) // && _Controle.RPM_SP != _ControleAnterior.RPM_SP
{
// Enviar comando MOV
var Protocolos = EnviarProtocoloComando(Variaveis.OperacaoEmAndamento.DispMvd, T_Code.Mov, ForcarEnvio);
@ -1280,6 +1280,7 @@ namespace AgroBase.Models
}
Variaveis.OperacaoEmAndamento.DispMvd.Dados.Modulos.ForEach(Mod => Mod.MovMotor.EnviarComandoControle(_Controle.Direcao));
_Controle.TiposControle.FirstOrDefault(x => x.Tipo == Tipo).UltimaDirecao = _Controle.Direcao;
}
else if (Tipo == T_Code.Dir)
{
@ -1307,6 +1308,7 @@ namespace AgroBase.Models
}
Variaveis.OperacaoEmAndamento.DispMvd.Dados.Modulos.ForEach(Mod => Mod.DirMotor.EnviarComandoControle(_Controle.Direcao));
_Controle.TiposControle.FirstOrDefault(x => x.Tipo == Tipo).UltimaDirecao = _Controle.Direcao;
}
/*GeneralJoystick.EnviaComandoMotor(

View File

@ -1,4 +1,5 @@
using AgroBase.Models;
using System;
namespace AgroBase.Services
{
@ -8,7 +9,8 @@ namespace AgroBase.Services
{
double coulombsMax = _max_Amp * 3600;
CargaMaxima = coulombsMax;
Consumido = Variaveis.OperacaoEmAndamento.DispSen != null ? Variaveis.OperacaoEmAndamento.DispSen.Dados.BateriaCargaConsumida : 0;
double consumo = (Variaveis.OperacaoEmAndamento.DispSen?.Dados?.BateriaCargaConsumida ?? 0);
Consumido = consumo < CargaMaxima ? consumo : 0;
CargaAtual = CargaMaxima - Consumido;
}
@ -46,8 +48,30 @@ namespace AgroBase.Services
public void AtualizarConsumo()
{
double DifTempo = (PZEMService.UltimaLeitura.DataHora - PZEMService.PenultimaLeitura.DataHora).TotalSeconds;
// Obtenha as datas das leituras
DateTime ultimaLeitura = PZEMService.UltimaLeitura.DataHora;
DateTime penultimaLeitura = PZEMService.PenultimaLeitura.DataHora;
// Verifique se as datas são válidas (não MinValue, MaxValue ou valores anômalos)
if (ultimaLeitura == DateTime.MinValue || ultimaLeitura == DateTime.MaxValue ||
penultimaLeitura == DateTime.MinValue || penultimaLeitura == DateTime.MaxValue)
{
Console.WriteLine("Erro: Leitura inválida detectada.");
return;
}
// Calcule a diferença de tempo em segundos
double DifTempo = (ultimaLeitura - penultimaLeitura).TotalSeconds;
// Defina um limite para a diferença de tempo (por exemplo, 3600 segundos = 1 hora)
double limiteTempo = 3600; // Ajuste conforme necessário
if (DifTempo <= 0 || DifTempo > limiteTempo)
{
Console.WriteLine($"Erro: Diferença de tempo inválida detectada: {DifTempo} segundos.");
return;
}
// Calcule os coulombs e atualize os valores
double coulombsLeitura = (PZEMService.UltimaLeitura.Corrente) * DifTempo;
Consumido += coulombsLeitura;

View File

@ -74,8 +74,6 @@ namespace AgroBase.Services
if (Iniciado)
{
DefinirDispositivo();
UltimaLeitura.DataHora = DateTime.Now;
PenultimaLeitura.DataHora = UltimaLeitura.DataHora;
return Iniciado;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,47 +1 @@
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"Id": "1",
"Name": "Projeto",
"Length": 21.332976190943135,
"Dist1": 0.0,
"Dist2": 0.0
},
"geometry": {
"id": null,
"type": "LineString",
"coordinates": [
[-47.381495333333334, -22.213068166666666],
[-47.38146916666667, -22.213091333333335],
[-47.38141825, -22.213137833333333],
[-47.3813925, -22.213161666666668],
[-47.381369666666664, -22.2131845]
]
}
},
{
"type": "Feature",
"properties": {
"Id": "2",
"Name": "Projeto",
"Length": 24.045328359726675,
"Dist1": 0.0,
"Dist2": 0.0
},
"geometry": {
"id": null,
"type": "LineString",
"coordinates": [
[-47.381340166666668, -22.213175666666668],
[-47.381375333333331, -22.213137166666666],
[-47.38140933333333, -22.213102666666668],
[-47.381453666666665, -22.213058166666666],
[-47.381496666666663, -22.213015666666667]
]
}
}
]
}
{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"Id":"1","Name":"18_12_2024_13_02_30","Length":64.9313379312302,"Dist1":0.0,"Dist2":0.0},"geometry":{"id":null,"type":"LineString","coordinates":[[-47.381543333333333,-22.213024833333332],[-47.381543166666667,-22.213024833333332],[-47.381543166666667,-22.213025],[-47.381543166666667,-22.213025],[-47.381543166666667,-22.213025],[-47.381543166666667,-22.213025],[-47.381543166666667,-22.213025166666668],[-47.381543,-22.213025333333334],[-47.381543,-22.213025333333334],[-47.381543166666667,-22.2130255],[-47.381543166666667,-22.2130255],[-47.381543333333333,-22.213025666666667],[-47.381543333333333,-22.213025666666667],[-47.3815435,-22.213025666666667],[-47.381543666666666,-22.213025833333333],[-47.381543833333332,-22.213025666666667],[-47.381543833333332,-22.213025666666667],[-47.381544,-22.213025666666667],[-47.381541666666664,-22.213026833333334],[-47.381538666666664,-22.213029],[-47.381535666666664,-22.213034166666667],[-47.3815335,-22.213036833333334],[-47.381531333333335,-22.213043333333335],[-47.381529833333332,-22.213046333333335],[-47.381528333333335,-22.213049666666667],[-47.381528,-22.213056666666667],[-47.381528,-22.213058666666665],[-47.38152216666667,-22.213063],[-47.381518333333332,-22.213064833333334],[-47.3815135,-22.213069],[-47.38151083333333,-22.213071666666668],[-47.38150816666667,-22.213073833333333],[-47.381503,-22.213078666666668],[-47.381500333333335,-22.213081],[-47.381495166666667,-22.213086333333333],[-47.381492666666666,-22.213088833333334],[-47.381490166666666,-22.213091333333335],[-47.381483833333334,-22.213098166666665],[-47.381479666666664,-22.213101833333333],[-47.3814715,-22.213109166666666],[-47.381467833333332,-22.213112666666667],[-47.381463833333335,-22.213116166666666],[-47.381455333333335,-22.213122666666667],[-47.381451166666665,-22.213126],[-47.381442833333331,-22.213132833333333],[-47.381438833333334,-22.213136166666665],[-47.38143516666667,-22.213139833333333],[-47.381428,-22.213147166666666],[-47.381424,-22.213150666666667],[-47.381416,-22.2131575],[-47.3814125,-22.213161166666666],[-47.381408833333332,-22.213164666666668],[-47.381401333333336,-22.213172],[-47.3813975,-22.2131755],[-47.381389333333331,-22.2131825],[-47.381385833333333,-22.213186166666667],[-47.381380333333333,-22.213192833333334],[-47.381378,-22.213195333333335],[-47.3813755,-22.213198],[-47.3813705,-22.2132035],[-47.381368,-22.213206166666666],[-47.381362333333335,-22.213210833333335],[-47.381360166666667,-22.213213333333332],[-47.3813585,-22.213216166666665],[-47.381357,-22.213219166666665],[-47.38135066666667,-22.213223],[-47.3813475,-22.213223666666668],[-47.381341166666665,-22.213222833333333],[-47.381338666666664,-22.2132215],[-47.3813365,-22.213220166666666],[-47.381333,-22.213214666666666],[-47.381332333333333,-22.213211166666667],[-47.38133366666667,-22.213204833333332],[-47.381335833333331,-22.213201833333333],[-47.381339333333337,-22.213199333333332],[-47.38134766666667,-22.213197],[-47.3813505,-22.213196],[-47.3813545,-22.213191666666667],[-47.381355166666665,-22.213188166666665],[-47.381356,-22.213184333333334],[-47.38135916666667,-22.213178166666665],[-47.381360666666666,-22.2131755],[-47.3813645,-22.213169833333332],[-47.381366666666665,-22.213167166666668],[-47.381372,-22.213161666666668],[-47.3813745,-22.213159166666667],[-47.381377333333333,-22.213156833333333],[-47.381383166666666,-22.2131525],[-47.381386333333332,-22.213150333333335],[-47.381393333333335,-22.213146666666667],[-47.381397,-22.213145166666667],[-47.381400666666664,-22.213143833333334],[-47.381407,-22.213141],[-47.381408833333332,-22.213139],[-47.38141233333333,-22.213131166666667],[-47.3814135,-22.213127166666666],[-47.3814145,-22.213123833333334],[-47.381417166666665,-22.213117666666665],[-47.381418666666669,-22.213114833333332],[-47.381422,-22.213109],[-47.381424166666669,-22.213106166666666],[-47.3814265,-22.213103333333333],[-47.381431666666664,-22.213098],[-47.3814345,-22.213095333333332],[-47.3814405,-22.213090666666666],[-47.3814435,-22.213088666666668],[-47.3814505,-22.213084833333333],[-47.381453833333332,-22.213083166666667],[-47.38145733333333,-22.213081666666668],[-47.381463833333335,-22.213078666666668],[-47.381465333333331,-22.2130765],[-47.381468333333331,-22.2130695],[-47.381470333333333,-22.2130665],[-47.3814725,-22.213064],[-47.381477333333336,-22.213058833333335],[-47.38147983333333,-22.213056166666668],[-47.3814825,-22.213053666666667],[-47.3814885,-22.213049],[-47.381491333333337,-22.213046833333333],[-47.381498,-22.213043],[-47.3815015,-22.213041333333333],[-47.381503833333333,-22.213039333333334],[-47.381507,-22.213033666666668],[-47.381508,-22.2130295],[-47.381510166666665,-22.213022666666667],[-47.3815115,-22.2130195],[-47.381512833333332,-22.213016666666668],[-47.381516,-22.213010666666666],[-47.381518,-22.213007666666666],[-47.3815225,-22.213001833333333],[-47.3815225,-22.213001833333333]]}}]}

File diff suppressed because one or more lines are too long