ajustes e implementacao do MKS

This commit is contained in:
Diego Freitas 2024-12-02 16:12:39 -03:00
parent 89b47567a1
commit 1669cb3b5f
39 changed files with 1025 additions and 271 deletions

Binary file not shown.

View File

@ -143,8 +143,8 @@ namespace AgroBase.Forms.Atuador
private void AtualizarGridSensores()
{
grdSensoriamento.Rows[0].Cells[1].Value = DispAtu.Dados.BombaPressurizadora.Inicializado;
grdSensoriamento.Rows[1].Cells[1].Value = DispAtu.Dados.BombaPressurizadora.BombaAtuada;
grdSensoriamento.Rows[2].Cells[1].Value = DispAtu.Dados.BombaPressurizadora.Ligado;
grdSensoriamento.Rows[1].Cells[1].Value = DispAtu.Dados.BombaPressurizadora.ComandoAtuar;
grdSensoriamento.Rows[2].Cells[1].Value = DispAtu.Dados.BombaPressurizadora.LeituraEstado;
grdSensoriamento.Rows[3].Cells[1].Value = DispAtu.Dados.BombaPressurizadora.Potencia;
grdSensoriamento.Rows[4].Cells[1].Value = DispAtu.Dados.PressaoLinha.ToString("0.00000");
grdSensoriamento.Rows[5].Cells[1].Value = DispAtu.Dados.PressaoLinhaCalc.ToString("0.00000");
@ -157,7 +157,7 @@ namespace AgroBase.Forms.Atuador
private void nudPressaoSP_ValueChanged(object sender, EventArgs e)
{
Variaveis.OperacaoEmAndamento.Controle.PressaoLinha = Convert.ToInt32(((NumericUpDown)sender).Value);
GeneralJoystick.EnviarComandoAtuador(S_Code.sBMB, Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombaPressurizadora.BombaAtuada);
GeneralJoystick.EnviarComandoAtuador(S_Code.sBMB, Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombaPressurizadora.ComandoAtuar);
}
private void btnLigarBomba_Click(object sender, EventArgs e)
@ -181,7 +181,7 @@ namespace AgroBase.Forms.Atuador
int circleY = pnl.Height / 4; // Posição Y do círculo (mais próximo ao topo)
// Desenhar o círculo
if (DispAtu.Dados.BicosPulverizadores.First(x => x.ID == ID).StatusBico)
if (DispAtu.Dados.BicosPulverizadores.First(x => x.ID == ID).LeituraStatusBico)
g.FillEllipse(Brushes.Green, circleX, circleY, circleDiameter, circleDiameter); // LED aceso (círculo preenchido)
else
g.DrawEllipse(Pens.Black, circleX, circleY, circleDiameter, circleDiameter); // LED apagado (círculo vazio)
@ -293,7 +293,7 @@ namespace AgroBase.Forms.Atuador
private void tmrCalibragemVazao_Tick(object sender, EventArgs e)
{
_CalibragemVazao.QtdPulsos = DispAtu.Dados._LeituraPulsos;
/*_CalibragemVazao.QtdPulsos = DispAtu.Dados._LeituraPulsos;
_CalibragemVazao.Periodo = DispAtu.Dados._LeituraPeriodo;
_CalibragemVazao.PressoesAferidas.Add(DispAtu.Dados.PressaoLinha);
_CalibragemVazao.MassaFinal = DispAtu.Dados.MassaReservatorio;
@ -309,7 +309,7 @@ namespace AgroBase.Forms.Atuador
btnCalibrarVazao.Text = "Calcular";
btnCalibrarVazao.Enabled = true;
}
}*/
}
}

View File

@ -419,42 +419,42 @@ namespace AgroBase.Forms.IHM
double Fluxo = FluxoInicializado ? Dispositivo.Dados.VazaoFluxoMLpS : -1;
idx = PreencheDadosLinha(grid, Testes, idx, Fluxo);
bool statusB01_1 = B01 != null && B01.StatusBico;
bool statusB01_1 = B01 != null && B01.LeituraStatusBico;
idx = PreencheDadosLinha(grid, Testes, idx, statusB01_1 ? 1 : 0);
await EnviarComandoBico(B01, false, 1000);
bool statusB01_0 = B01 != null && B01.StatusBico;
bool statusB01_0 = B01 != null && B01.LeituraStatusBico;
idx = PreencheDadosLinha(grid, Testes, idx, !statusB01_0 ? 0 : 1);
await EnviarComandoBico(B02, true, 1000);
bool statusB02_1 = B02 != null && B02.StatusBico;
bool statusB02_1 = B02 != null && B02.LeituraStatusBico;
idx = PreencheDadosLinha(grid, Testes, idx, statusB02_1 ? 1 : 0);
await EnviarComandoBico(B02, false, 1000);
bool statusB02_0 = B02 != null && B02.StatusBico;
bool statusB02_0 = B02 != null && B02.LeituraStatusBico;
idx = PreencheDadosLinha(grid, Testes, idx, !statusB02_0 ? 0 : 1);
await EnviarComandoBico(B03, true, 1000);
bool statusB03_1 = B03 != null && B03.StatusBico;
bool statusB03_1 = B03 != null && B03.LeituraStatusBico;
idx = PreencheDadosLinha(grid, Testes, idx, statusB03_1 ? 1 : 0);
await EnviarComandoBico(B03, false, 1000);
bool statusB03_0 = B03 != null && B03.StatusBico;
bool statusB03_0 = B03 != null && B03.LeituraStatusBico;
idx = PreencheDadosLinha(grid, Testes, idx, !statusB03_0 ? 0 : 1);
await EnviarComandoBico(B04, true, 1000);
bool statusB04_1 = B04 != null && B04.StatusBico;
bool statusB04_1 = B04 != null && B04.LeituraStatusBico;
idx = PreencheDadosLinha(grid, Testes, idx, statusB04_1 ? 1 : 0);
await EnviarComandoBico(B04, false, 1000);
bool statusB04_0 = B04 != null && B04.StatusBico;
bool statusB04_0 = B04 != null && B04.LeituraStatusBico;
idx = PreencheDadosLinha(grid, Testes, idx, !statusB04_0 ? 0 : 1);

View File

@ -482,10 +482,10 @@ namespace AgroBase.Forms.Operacoes
var Bico = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BicosPulverizadores.FirstOrDefault(x => x.ID == ID);
if (Bico != null)
{
GeneralJoystick.EnviarComandoAtuador(S_Code.sBIC, !Bico.Atuado, Bico.ID);
GeneralJoystick.EnviarComandoAtuador(S_Code.sBIC, !Bico.ComandoAtuar, Bico.ID);
pnlAtuadores.Controls.OfType<Label>().First(x => x.Name == "lblCmd_" + ID).Text = "Comando: " + (Bico.Atuado ? "Ligado" : "Desligado");
btn.Text = Bico.Atuado ? "Desligar" : "Ligar";
pnlAtuadores.Controls.OfType<Label>().First(x => x.Name == "lblCmd_" + ID).Text = "Comando: " + (Bico.ComandoAtuar ? "Ligado" : "Desligado");
btn.Text = Bico.ComandoAtuar ? "Desligar" : "Ligar";
}
}
@ -502,7 +502,7 @@ namespace AgroBase.Forms.Operacoes
private void nudPressaoSP_ValueChanged(object sender, EventArgs e)
{
Variaveis.OperacaoEmAndamento.Controle.PressaoLinha = Convert.ToInt32(((NumericUpDown)sender).Value);
GeneralJoystick.EnviarComandoAtuador(S_Code.sBMB, Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombaPressurizadora.BombaAtuada);
GeneralJoystick.EnviarComandoAtuador(S_Code.sBMB, Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombaPressurizadora.ComandoAtuar);
}
private void pnlAtuadores_Paint(object sender, PaintEventArgs e)
@ -513,14 +513,14 @@ namespace AgroBase.Forms.Operacoes
{
ID = x.ID,
Atuacoes = x.Atuacoes,
Atuado = x.Atuado,
Atuado = x.ComandoAtuar,
Comandar = x.Comandar,
Inicializado = x.Inicializado,
MediaNivelFluxo = x.MediaNivelFluxo,
Posicao = x.Posicao,
StatusBico = x.StatusBico,
StatusBico = x.LeituraStatusBico,
TempoAtuado = x.TempoAtuado,
}).ToList(), Atuador.BombaPressurizadora.BombaAtuada, Atuador.PressaoLinha, Atuador.TempoAtuado);
}).ToList(), Atuador.BombaPressurizadora.ComandoAtuar, Atuador.PressaoLinha, Atuador.TempoAtuado);
}

View File

@ -175,14 +175,14 @@ namespace AgroBase.Forms.Operacoes
{
ID = x.ID,
Atuacoes = x.Atuacoes,
Atuado = x.Atuado,
Atuado = x.ComandoAtuar,
Comandar = x.Comandar,
Inicializado = x.Inicializado,
MediaNivelFluxo = x.MediaNivelFluxo,
Posicao = x.Posicao,
StatusBico = x.StatusBico,
StatusBico = x.LeituraStatusBico,
TempoAtuado = x.TempoAtuado,
}).ToList(), Atuador.BombaPressurizadora.BombaAtuada, Atuador.PressaoLinha, Atuador.TempoAtuado);
}).ToList(), Atuador.BombaPressurizadora.ComandoAtuar, Atuador.PressaoLinha, Atuador.TempoAtuado);
}
private void pnlCaminho_Paint(object sender, PaintEventArgs e)

View File

@ -394,49 +394,49 @@ namespace AgroBase.Forms.Operacoes
new GraficoInterativoSerieModel()
{
Titulo = "V 3v3",
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("3v")).BusVoltage ?? 0).ToList(),
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("3v"))?.BusVoltage ?? 0).ToList(),
Visivel = false,
},
new GraficoInterativoSerieModel()
{
Titulo = "A 3v3",
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("3v")).Current ?? 0).ToList(),
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("3v"))?.Current ?? 0).ToList(),
Visivel = false,
},
new GraficoInterativoSerieModel()
{
Titulo = "V 5v0",
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("5v")).BusVoltage ?? 0).ToList(),
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("5v"))?.BusVoltage ?? 0).ToList(),
Visivel = false,
},
new GraficoInterativoSerieModel()
{
Titulo = "A 5v0",
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("5v")).Current ?? 0).ToList(),
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("5v"))?.Current ?? 0).ToList(),
Visivel = false,
},
new GraficoInterativoSerieModel()
{
Titulo = "V 7v2",
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("7v2")).BusVoltage ?? 0).ToList(),
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("7v2"))?.BusVoltage ?? 0).ToList(),
Visivel = false,
},
new GraficoInterativoSerieModel()
{
Titulo = "A 7v2",
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("7v2")).Current ?? 0).ToList(),
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("7v2"))?.Current ?? 0).ToList(),
Visivel = false,
},
new GraficoInterativoSerieModel()
{
Titulo = "V 12v",
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("12v")).BusVoltage ?? 0).ToList(),
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("12v"))?.BusVoltage ?? 0).ToList(),
Visivel = true,
},
new GraficoInterativoSerieModel()
{
Titulo = "A 12v",
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("12v")).Current ?? 0).ToList(),
Valores = LogsSensoriamento.Select(x => x?.SensoresCorrente?.FirstOrDefault(y => y.ID.Contains("12v"))?.Current ?? 0).ToList(),
Visivel = true,
},
new GraficoInterativoSerieModel()

View File

@ -561,7 +561,7 @@ namespace AgroBase
Pressionado = true;
}
// Controle dos Bicos Pulverizadores (ATU)
else if ((Comando.Comando == Keys.D1 || Comando.Comando == Keys.D2 || Comando.Comando == Keys.D3 || Comando.Comando == Keys.D4) && Variaveis.OperacaoEmAndamento.DispAtu.Dados.BicosPulverizadores.Any(x => x.ID == Comando.IDcontrolar && !x.Atuado))
else if ((Comando.Comando == Keys.D1 || Comando.Comando == Keys.D2 || Comando.Comando == Keys.D3 || Comando.Comando == Keys.D4) && Variaveis.OperacaoEmAndamento.DispAtu.Dados.BicosPulverizadores.Any(x => x.ID == Comando.IDcontrolar && !x.ComandoAtuar))
{
Comando.Dispositivo = T_Code.Atu;
Pressionado = true;
@ -663,7 +663,7 @@ namespace AgroBase
switch (Componente)
{
case S_Code.sBMB:
DispAtu.Dados.BombaPressurizadora.BombaAtuada = Status;
DispAtu.Dados.BombaPressurizadora.ComandoAtuar = Status;
string ProtocoloBomba = DispAtu.Dados.BombaPressurizadora.ProtocoloComando();
DispAtu.AdicionarMensagemFila(DispAtu.Dados.Modulo_ID, ProtocoloBomba, true, true);
break;
@ -671,7 +671,7 @@ namespace AgroBase
var Bico = DispAtu.Dados.BicosPulverizadores.FirstOrDefault(x => x.ID == ID);
if (Bico != null)
{
Bico.Atuado = Status;
Bico.ComandoAtuar = Status;
string ProtocoloBico = Bico.ProtocoloComando();
DispAtu.AdicionarMensagemFila(DispAtu.Dados.Modulo_ID, ProtocoloBico, true, false);
}

View File

@ -13,11 +13,10 @@ namespace AgroBase.Models.Modules
public class AtuadorModel : DispositivoBaseModel
{
public string Modulo_ID { get; set; } = T_Code.Atu.ToString();
public string IP { get; set; } = "192.168.105.13";
public string IP { get; set; } = Variaveis.FaixaIPwifi + ".13";
public bool RequisitarDados { get; set; } = false;
public static int _TaxaAmostragem { get; set; } = 1000;
public bool Conectado { get; set; } = false;
public DateTime UltimoProtocoloRecebido { get; set; } = DateTime.MaxValue.AddDays(-1);
public static PinoutDataModel Pinout { get; set; }
public static List<FuncoesPinout> Funcoes { get; set; } = new List<FuncoesPinout>()
{
@ -40,7 +39,7 @@ namespace AgroBase.Models.Modules
public string ScriptDeteccaoErvas { get; set; } = PythonService.ScriptWeedDetector;
public AsyncTaskTimerModel tmrRegistrador;
private int _TempoReconexaoComponentes = 60;
private int _TempoReconexaoComponentes = 15;
private int _VezesLeituraReconexao = 0;
public AtuadorMensagemJsonModel DadosLeitura { get; set; } = new AtuadorMensagemJsonModel();
@ -48,18 +47,11 @@ namespace AgroBase.Models.Modules
public double _MassaRef { get; set; } = 0.8;
public double _MassaLeituraRef { get; set; } = 40876.37;
public double _MassaLeituraExtra { get; set; } = 1895800; // 2015000.0;
public double _MassaLeitura { get; set; }
public double MassaReservatorio
{
get
{
double leituraMassa = _MassaLeitura * -1;
leituraMassa += _MassaLeituraExtra;
double FatorLeitura = _MassaRef / _MassaLeituraRef;
double Massa = FatorLeitura * leituraMassa;
return Massa;
return ((FirmwareSensorMassa)Sensores.FirstOrDefault(x => x.Componente == S_Code.sMAS)?.Leitura)?.Massa ?? 0;
}
}
public double VolumeReservatorio
@ -82,37 +74,11 @@ namespace AgroBase.Models.Modules
public double VolumeVazaoAferido { get; set; } = 0;
public double _FluxoMlRef { get; set; } = 600;
public double _FluxoPulsoRef { get; set; } = 538;
public int _LeituraPulsos { get; set; }
public int _LeituraPeriodo { get; set; }
public double VazaoFluxoMLpS
{
get
{
if (_LeituraPeriodo == 0)
{
return 0;
}
else
{
double FatorLeitura = (double)_FluxoMlRef / (double)_FluxoPulsoRef;
double Frequencia = ((double)_LeituraPulsos / (double)_LeituraPeriodo * 1000);
//double vazao = (_LeituraPulsos * FatorLeitura) / ((double)_LeituraPeriodo / 1000);
//double vazao = ((double)1 / FatorLeitura) * (60 * 1000 / _LeituraPeriodo);
//double vazao = ((double)_LeituraPulsos / (((double)_LeituraPeriodo / 1000) * 8.1)) + 3;
//double Fator = (double)_LeituraPulsos / (double)_LeituraPeriodo;
//double vazao = ((double)_LeituraPulsos / (double)_LeituraPeriodo * 1000) * ;
//double vazao = Frequencia * 1.22;
double Rh = 0.0047;
double Rt = 0.0037;
double vazao = (Frequencia * 2 * Math.PI * Rh * Math.PI * (Rt * Rt)) * 1000000;
Console.WriteLine("Pulsos: " + _LeituraPulsos + " - Periodo: " + _LeituraPeriodo + " ms - Vazão: " + vazao.ToString("0.00000"));
return vazao;
}
return ((FirmwareSensorFluxo)Sensores.FirstOrDefault(x => x.Componente == S_Code.sFLX)?.Leitura)?.Vazao ?? 0;
}
}
public double VolumeVazaoML { get; set; }
@ -120,7 +86,7 @@ namespace AgroBase.Models.Modules
public double TempoAtuado { get; set; } = 0;
public void AtualizaTempoAtuadoGeral()
{
bool algumBicoAtivo = BicosPulverizadores.Any(x => x.Atuado);
bool algumBicoAtivo = BicosPulverizadores.Any(x => x.ComandoAtuar);
if (algumBicoAtivo)
{
@ -163,12 +129,18 @@ namespace AgroBase.Models.Modules
public double _PressaoVmin { get; set; } = 0.0;
public double _PressaoVmax { get; set; } = 4.5;
public double _PressaoMax { get; set; } = 174.045; // 1,2 MPa
public double _LeituraPressao { get; set; }
public double PressaoLinha { get; set; } = 0;
public double PressaoLinha
{
get
{
return ((FirmwareSensorPressao)Sensores.FirstOrDefault(x => x.Componente == S_Code.sPRS)?.Leitura)?.Pressao ?? 0;
}
}
public double PressaoLinhaCalc
{
get
{
double _LeituraPressao = ((FirmwareSensorPressao)Sensores.FirstOrDefault(x => x.Componente == S_Code.sPRS)?.Leitura)?.Leitura ?? 0;
double tensao = FuncoesMatematicas.Map(_LeituraPressao, 0, 4095, 0, 3300) / 1000.0;
double pressao = FuncoesMatematicas.Map(tensao, _PressaoVmin, _PressaoVmax, 0, _PressaoMax);
@ -183,7 +155,7 @@ namespace AgroBase.Models.Modules
{
AtuadorModel Atuador = new AtuadorModel()
{
QuantidadeBicos = 10,
QuantidadeBicos = 4,
Conectado = false,
BicosPulverizadores = new List<AtuadorBicoModel>(),
BombasPressurizadoras = new List<AtuadorBombaModel>()
@ -193,8 +165,6 @@ namespace AgroBase.Models.Modules
ID = "BOMBA",
Componente = S_Code.sBMB,
Comandar = false,
Ligado = false,
Pressao = 0,
Testando = false,
Funcoes = new List<FuncoesPinout>()
{
@ -272,31 +242,30 @@ namespace AgroBase.Models.Modules
Componente = S_Code.sBIC,
Posicao = i + 1,
Comandar = false,
Atuado = false,
ComandoAtuar = false,
Funcoes = new List<FuncoesPinout>()
{
FuncoesPinout.Solenoide,
},
StatusBico = false,
MediaNivelFluxo = 0
});
}
return Atuador;
}
public static void LimparDados(AtuadorModel Dados)
public void LimparDados<T>(T _dados)
{
var Dados = _dados as AtuadorModel;
Dados.Conectado = false;
Dados.DadosLeitura = new AtuadorMensagemJsonModel();
Dados.DadosLeitura.Momento = DateTime.MinValue;
Dados.BombasPressurizadoras.ForEach(x => x.Funcoes = x.Funcoes.Distinct().ToList());
ReiniciarLeituras(Dados);
}
public static void ReiniciarLeituras(AtuadorModel Dados)
public void ReiniciarLeituras(AtuadorModel Dados)
{
Dados.PressaoLinha = 0;
Dados.Sensores.ForEach(x =>
{
x.Leitura = null;
@ -304,8 +273,7 @@ namespace AgroBase.Models.Modules
Dados.BicosPulverizadores.ForEach(x =>
{
x.Atuado = false;
x.StatusBico = false;
x.ComandoAtuar = false;
x.Atuacoes = 0;
x.TempoAtuado = 0;
x.InicioAtuacao = DateTime.MinValue;
@ -315,20 +283,13 @@ namespace AgroBase.Models.Modules
Dados.BombasPressurizadoras.ForEach(x =>
{
x.Leitura = null;
x.Pressao = 0;
x.BombaAtuada = false;
x.Ligado = false;
x.Potencia = 0;
x.ComandoAtuar = false;
});
Dados.VolumeVazaoAferido = 0;
Dados.VolumeVazaoML = 0;
Dados.TempoAtuado = 0;
Dados.InicioAtuacao = DateTime.MinValue;
Dados._LeituraPeriodo = 0;
Dados._LeituraPressao = 0;
Dados._LeituraPulsos = 0;
Dados._MassaLeitura = Dados._MassaLeituraExtra;
}
public Dictionary<string, List<string>> ProtocoloConfiguracao(bool Conectar)
@ -348,9 +309,12 @@ namespace AgroBase.Models.Modules
var bombasConfig = BombasConfig(Conectar);
configDictionary[Modulo_ID].AddRange(bombasConfig);
// Adicionar configuração do ProtocoloMOD
var protocoloMOD = ModConfig(Conectar);
configDictionary[Modulo_ID].Add(protocoloMOD);
if (!Conectado || configDictionary.Count() > 0)
{
// Adicionar configuração do ProtocoloMOD
var protocoloMOD = ModConfig(Conectar);
configDictionary[Modulo_ID].Add(protocoloMOD);
}
return configDictionary;
}
@ -624,7 +588,7 @@ namespace AgroBase.Models.Modules
public S_Code Componente { get; set; } = S_Code.sBIC;
public bool AtuacaoNivelAlto { get; set; }
private bool _atuado;
public bool Atuado
public bool ComandoAtuar
{
get
{
@ -640,7 +604,13 @@ namespace AgroBase.Models.Modules
public bool Comandar { get; set; }
public bool Testando { get; set; }
public List<FuncoesPinout> Funcoes { get; set; }
public bool StatusBico { get; set; }
public bool LeituraStatusBico
{
get
{
return (Leitura?.Leitura ?? Estado.Desligado) == Estado.Ligado;
}
}
public double MediaNivelFluxo { get; set; }
private FirmwareRele _leitura = null;
public FirmwareRele Leitura
@ -688,7 +658,7 @@ namespace AgroBase.Models.Modules
((int)F_Code.Cmd).ToString() + SerialService.SplitMessage +
ID + SerialService.SplitParams +
((int)Componente) + SerialService.SplitParams +
(int)(StatusBico ? Estado.Ligado : Estado.Desligado);
(int)(ComandoAtuar ? Estado.Ligado : Estado.Desligado);
return ProtocoloRele;
}
@ -730,11 +700,10 @@ namespace AgroBase.Models.Modules
{
ID = this.ID,
Posicao = this.Posicao,
Atuado = this.Atuado,
ComandoAtuar = this.ComandoAtuar,
Comandar = this.Comandar,
Testando = this.Testando,
Funcoes = this.Funcoes,
StatusBico = this.StatusBico,
MediaNivelFluxo = this.MediaNivelFluxo,
};
@ -745,15 +714,25 @@ namespace AgroBase.Models.Modules
public class AtuadorBombaModel
{
public string ID { get; set; }
public bool BombaAtuada { get; set; }
public bool ComandoAtuar { get; set; }
public S_Code Componente { get; set; } = S_Code.sBMB;
public bool Ligado { get; set; }
public bool LeituraEstado
{
get
{
return (Leitura?.Estado ?? Estado.Desligado) == Estado.Ligado;
}
}
public bool Comandar { get; set; }
public bool Testando { get; set; }
public List<FuncoesPinout> Funcoes { get; set; } = new List<FuncoesPinout>();
//public double PressaoSP { get; set; }
public double Pressao { get; set; }
public double Potencia { get; set; }
public double Potencia
{
get
{
return Leitura?.Potencia ?? 0;
}
}
private FirmwareBombaPressurizadora _leitura = null;
public FirmwareBombaPressurizadora Leitura
@ -787,11 +766,11 @@ namespace AgroBase.Models.Modules
Pinos = Pinout.Pinos.ToList(),
};
_pinout.Pinos = _pinout.Pinos.Where(x => x.ComponenteID == ID).ToList();
string Protocolo = ((int)F_Code.Cfg).ToString() + SerialService.SplitMessage +
ID + SerialService.SplitParams +
(Conectar ? "1" : "0") + SerialService.SplitParams +
Variaveis.OperacaoEmAndamento.Controle.PressaoLinha.ToString() + SerialService.SplitParams +
PinoutModel.PinoProtocolo(_pinout, Funcoes, SerialService.SplitParams);
string Protocolo =
ID + SerialService.SplitSubParams +
(Conectar ? "1" : "0") + SerialService.SplitSubParams +
Variaveis.OperacaoEmAndamento.Controle.PressaoLinha.ToString() + SerialService.SplitSubParams +
PinoutModel.PinoProtocolo(_pinout, Funcoes, SerialService.SplitSubParams);
return Protocolo;
}
@ -802,7 +781,7 @@ namespace AgroBase.Models.Modules
((int)F_Code.Cmd).ToString() + SerialService.SplitMessage +
ID + SerialService.SplitParams +
((int)Componente) + SerialService.SplitParams +
(int)(BombaAtuada ? Estado.Ligado : Estado.Desligado) + SerialService.SplitParams +
(int)(ComandoAtuar ? Estado.Ligado : Estado.Desligado) + SerialService.SplitParams +
Variaveis.OperacaoEmAndamento.Controle.PressaoLinha;
return ProtocoloBomba;
@ -814,12 +793,9 @@ namespace AgroBase.Models.Modules
AtuadorBombaModel clone = new AtuadorBombaModel()
{
ID = this.ID,
Ligado = this.Ligado,
Comandar = this.Comandar,
Testando = this.Testando,
Funcoes = this.Funcoes,
Pressao = this.Pressao,
//PressaoSP = this.PressaoSP,
};
return clone;
@ -1005,7 +981,6 @@ namespace AgroBase.Models.Modules
public bool Iniciado { get; set; }
public Estado Estado { get; set; }
public double Potencia { get; set; }
public double Pressao { get; set; }
}
public class AtuadorMensagemJsonModel

View File

@ -14,6 +14,7 @@ namespace AgroBase.Models
void IniciarRegistrador();
void PararRegistrador();
string GetIP();
void LimparDados<T>(T Dados);
}
}

View File

@ -31,8 +31,8 @@ namespace AgroBase.Models.Modules
public double ReducaoMotorBLDC { get; set; } = 5;
public double RPM_Max_MotorBLDC { get; set; } = 500;
public string IP_Bld { get; set; } = "192.168.105.10";
public string IP_Mks { get; set; } = "192.168.105.11";
public string IP_Bld { get; set; } = Variaveis.FaixaIPethernet + ".10";
public string IP_Mks { get; set; } = Variaveis.FaixaIPethernet + ".11";
public static int LogsManter { get; set; } = 60;
public AsyncTaskTimerModel tmrRegistrador;
@ -112,8 +112,9 @@ namespace AgroBase.Models.Modules
};
}
public static void LimparDados(MovimentacaoUnificadaModel Dados)
public void LimparDados<T>(T _dados)
{
var Dados = _dados as MovimentacaoUnificadaModel;
Dados.Modulos.ForEach(x =>
{
x.MovMotor.Inicializado = false;
@ -125,7 +126,7 @@ namespace AgroBase.Models.Modules
ReiniciarLeituras(Dados);
}
public static void ReiniciarLeituras(MovimentacaoUnificadaModel Dados)
public void ReiniciarLeituras(MovimentacaoUnificadaModel Dados)
{
Dados.DistanciaPercorridaParcial = 0;
Dados.DistanciaPercorridaTotal = 0;
@ -1335,7 +1336,7 @@ namespace AgroBase.Models.Modules
EstadoAnterior = _ref;
Console.WriteLine($"Ref {Addr}: Angulo SP = {_angulo}, Angulo Atual = {Angulo}, Sentido SP = {_sentido.ToString()}, Passou = {inverterGiro}, Sucesso = {Sucesso}");
Console.WriteLine($"Ref {Addr}: Angulo SP = {_angulo}, Angulo Atual = {Angulo}, Sentido SP = {_sentido.ToString()}, Passou = {inverterGiro}, Sucesso = {Sucesso}, Entrada: {_ref}");
if (Sucesso)
{

View File

@ -11,7 +11,7 @@ namespace AgroBase.Models.Modules
public class SensoriamentoModel : DispositivoBaseModel
{
public string Modulo_ID { get; set; } = T_Code.Sen.ToString();
public string IP { get; set; } = "192.168.105.12";
public string IP { get; set; } = Variaveis.FaixaIPwifi + ".12";
public bool RequisitarDados { get; set; } = false;
private bool _MensagemConexaoRecebida { get; set; } = false;
public bool MensagemConexaoRecebida(bool Reset = false)
@ -55,7 +55,7 @@ namespace AgroBase.Models.Modules
};
public AsyncTaskTimerModel tmrRegistrador;
private int _TempoReconexaoComponentes = 60;
private int _TempoReconexaoComponentes = 15;
private int _VezesLeituraReconexao = 0;
public static SensoriamentoModel CarregarParametrosIniciais()
@ -433,8 +433,9 @@ namespace AgroBase.Models.Modules
};
}
public static void LimparDados(SensoriamentoModel Dados)
public void LimparDados<T>(T _dados)
{
var Dados = _dados as SensoriamentoModel;
Dados.Conectado = false;
Dados.DadosLeitura = new SensoriamentoMensagemJsonModel();
Dados.DadosLeitura.Momento = DateTime.MinValue;
@ -450,7 +451,7 @@ namespace AgroBase.Models.Modules
ReiniciarLeituras(Dados);
}
public static void ReiniciarLeituras(SensoriamentoModel Dados)
public void ReiniciarLeituras(SensoriamentoModel Dados)
{
Dados.Reles.ForEach(x =>
{
@ -491,9 +492,12 @@ namespace AgroBase.Models.Modules
var servosConfig = ServosConfig(Conectar);
configDictionary[Modulo_ID].AddRange(servosConfig);
// Adicionar configuração do ProtocoloMOD
var protocoloMOD = ModConfig(Conectar);
configDictionary[Modulo_ID].Add(protocoloMOD);
if (!Conectado || configDictionary.Count() > 0)
{
// Adicionar configuração do ProtocoloMOD
var protocoloMOD = ModConfig(Conectar);
configDictionary[Modulo_ID].Add(protocoloMOD);
}
return configDictionary;
}
@ -1277,22 +1281,166 @@ namespace AgroBase.Models.Modules
{
public string ID { get; set; }
public bool Iniciado { get; set; }
public int Pulsos { get; set; }
private int _pulsos;
public int Pulsos
{
get { return _pulsos; }
set
{
_pulsos = value;
AtualizarVazao();
}
}
public int Periodo { get; set; }
private double _atual;
public double Vazao { get { return _atual; } }
public double ValorMaximo { get; set; }
public double ValorMinimo { get; set; }
public double LimiteMaximo
{
get
{
var sensor = Variaveis.OperacaoEmAndamento.DispAtu.Dados.Sensores.FirstOrDefault(x => x.ID == ID);
if (sensor != null)
{
return sensor.LimiteMaximo;
}
return 0;
}
}
public double LimiteMinimo
{
get
{
var sensor = Variaveis.OperacaoEmAndamento.DispAtu.Dados.Sensores.FirstOrDefault(x => x.ID == ID);
if (sensor != null)
{
return sensor.LimiteMinimo;
}
return 0;
}
}
private void AtualizarVazao()
{
//_atual = Variaveis.OperacaoEmAndamento.DispAtu.Dados.VazaoFluxoMLpS;
if (Periodo == 0)
{
_atual = 0;
}
else
{
double Frequencia = ((double)_pulsos / (double)Periodo * 1000);
//double vazao = (_LeituraPulsos * FatorLeitura) / ((double)_LeituraPeriodo / 1000);
//double vazao = ((double)1 / FatorLeitura) * (60 * 1000 / _LeituraPeriodo);
//double vazao = ((double)_LeituraPulsos / (((double)_LeituraPeriodo / 1000) * 8.1)) + 3;
//double Fator = (double)_LeituraPulsos / (double)_LeituraPeriodo;
//double vazao = ((double)_LeituraPulsos / (double)_LeituraPeriodo * 1000) * ;
//double vazao = Frequencia * 1.22;
double Rh = 0.0047;
double Rt = 0.0037;
double vazao = (Frequencia * 2 * Math.PI * Rh * Math.PI * (Rt * Rt)) * 1000000;
Console.WriteLine("Pulsos: " + _pulsos + " - Periodo: " + Periodo + " ms - Vazão: " + vazao.ToString("0.00000"));
_atual = vazao;
}
AtualizarExtremos();
}
private void AtualizarExtremos()
{
if (_atual > ValorMaximo)
{
ValorMaximo = _atual;
}
if (_atual < ValorMinimo || ValorMinimo == 0)
{
ValorMinimo = _atual;
}
}
}
public class FirmwareSensorMassa
{
public string ID { get; set; }
public bool Iniciado { get; set; }
public int Leitura { get; set; }
private int _leitura;
public int Leitura
{
get { return _leitura; }
set
{
_leitura = value;
AtualizarMassa();
}
}
private double _atual;
public double Massa { get { return _atual; } }
public double ValorMaximo { get; set; }
public double ValorMinimo { get; set; }
public double LimiteMaximo
{
get
{
var sensor = Variaveis.OperacaoEmAndamento.DispAtu.Dados.Sensores.FirstOrDefault(x => x.ID == ID);
if (sensor != null)
{
return sensor.LimiteMaximo;
}
return 0;
}
}
public double LimiteMinimo
{
get
{
var sensor = Variaveis.OperacaoEmAndamento.DispAtu.Dados.Sensores.FirstOrDefault(x => x.ID == ID);
if (sensor != null)
{
return sensor.LimiteMinimo;
}
return 0;
}
}
private void AtualizarMassa()
{
if (Variaveis.OperacaoEmAndamento.DispAtu != null)
{
double leituraMassa = _leitura * -1;
leituraMassa += Variaveis.OperacaoEmAndamento.DispAtu.Dados._MassaLeituraExtra;
double FatorLeitura = Variaveis.OperacaoEmAndamento.DispAtu.Dados._MassaRef / Variaveis.OperacaoEmAndamento.DispAtu.Dados._MassaLeituraRef;
_atual = FatorLeitura * leituraMassa;
AtualizarExtremos();
}
}
private void AtualizarExtremos()
{
if (_atual > ValorMaximo)
{
ValorMaximo = _atual;
}
if (_atual < ValorMinimo || ValorMinimo == 0)
{
ValorMinimo = _atual;
}
}
}
public class FirmwareSensorPressao
{
public string ID { get; set; }
public bool Iniciado { get; set; }
public int Leitura { get; set; }
public double Leitura { get; set; }
public double Pressao { get; set; }
}

View File

@ -194,7 +194,7 @@ namespace AgroBase.Models.Operacoes
if (statusAtual == StatusCarroMapa.Parado)
{
var BicosNaoAtuados = new List<AtuadorBicoModel>(Variaveis.OperacaoEmAndamento.DispAtu.Dados.BicosPulverizadores);
BicosNaoAtuados.ForEach(x => x.Atuado = false);
BicosNaoAtuados.ForEach(x => x.ComandoAtuar = false);
Controle.BicosAtuados = BicosNaoAtuados.ToList();
Controle.PercentualVelocidadeSP = 0;
Controle.Angulo = 0;

View File

@ -559,7 +559,7 @@ namespace AgroBase.Models
RPM_Min = 15,
Angulo_Max = 25,
Angulo_Min = -25,
VelocidadeMP = 75,
VelocidadeMP = 30,
TiposControle = new List<OperacaoControleTipoModel>()
{
new OperacaoControleTipoModel()
@ -623,7 +623,7 @@ namespace AgroBase.Models
RPM_Min = 15,
Angulo_Max = 30,
Angulo_Min = -30,
VelocidadeMP = 50,
VelocidadeMP = 40,
TiposControle = new List<OperacaoControleTipoModel>()
{
new OperacaoControleTipoModel()
@ -685,6 +685,11 @@ namespace AgroBase.Models
{
Dispositivo = T_Code.Pzm,
Mandatorio = true,
},
new OperacaoModulosMandatoriosModel()
{
Dispositivo = T_Code.Lra,
Mandatorio = true,
}
};
Variaveis.OperacaoEmAndamento.ParametrosMandatorios = new List<OperacaoParametrosMandatoriosModel>()
@ -795,15 +800,15 @@ namespace AgroBase.Models
if (DispMvd != null)
{
MovimentacaoUnificadaModel.ReiniciarLeituras(DispMvd.Dados);
DispMvd.Dados.ReiniciarLeituras(DispMvd.Dados);
}
if (DispAtu != null)
{
AtuadorModel.ReiniciarLeituras(DispAtu.Dados);
DispAtu.Dados.ReiniciarLeituras(DispAtu.Dados);
}
if (DispSen != null)
{
SensoriamentoModel.ReiniciarLeituras(DispSen.Dados);
DispSen.Dados.ReiniciarLeituras(DispSen.Dados);
}
Sensoriamento.ReiniciarLeituras();
@ -927,15 +932,15 @@ namespace AgroBase.Models
if (DispMvd != null)
{
MovimentacaoUnificadaModel.ReiniciarLeituras(DispMvd.Dados);
DispMvd.Dados.ReiniciarLeituras(DispMvd.Dados);
}
if (DispAtu != null)
{
AtuadorModel.ReiniciarLeituras(DispAtu.Dados);
DispAtu.Dados.ReiniciarLeituras(DispAtu.Dados);
}
if (DispSen != null)
{
SensoriamentoModel.ReiniciarLeituras(DispSen.Dados);
DispSen.Dados.ReiniciarLeituras(DispSen.Dados);
}
Sensoriamento.ReiniciarLeituras();
@ -1185,7 +1190,7 @@ namespace AgroBase.Models
_ControleAnterior.Angulo = _Controle.Angulo;
}
if (ControleAtu != null && !_Controle.BicosAtuados.Select(x => x.Atuado).SequenceEqual(_ControleAnterior.BicosAtuados.Select(x => x.Atuado)) && (Agora - ControleAtu.UltimoComando).TotalMilliseconds > ControleAtu.DelayEnvioComando)
if (ControleAtu != null && !_Controle.BicosAtuados.Select(x => x.ComandoAtuar).SequenceEqual(_ControleAnterior.BicosAtuados.Select(x => x.ComandoAtuar)) && (Agora - ControleAtu.UltimoComando).TotalMilliseconds > ControleAtu.DelayEnvioComando)
{
// Enviar comando ATU
var Protocolos = EnviarProtocoloComando(Variaveis.OperacaoEmAndamento.DispAtu, T_Code.Atu, ForcarEnvio);
@ -1281,15 +1286,15 @@ namespace AgroBase.Models
{
for (int i = 0; i < _Controle.BicosAtuados.Count; i++)
{
if (_Controle.BicosAtuados[i].Atuado != _ControleAnterior.BicosAtuados[i].Atuado)
if (_Controle.BicosAtuados[i].ComandoAtuar != _ControleAnterior.BicosAtuados[i].ComandoAtuar)
{
GeneralJoystick.EnviarComandoAtuador(S_Code.sBIC, _Controle.BicosAtuados[i].Atuado, _Controle.BicosAtuados[i].ID);
GeneralJoystick.EnviarComandoAtuador(S_Code.sBIC, _Controle.BicosAtuados[i].ComandoAtuar, _Controle.BicosAtuados[i].ID);
}
}
Protocolos = new List<string>()
{
Tipo.ToString() + ";" + string.Join(";", _Controle.BicosAtuados.Select(x => x.Atuado ? "1" : "0"))
Tipo.ToString() + ";" + string.Join(";", _Controle.BicosAtuados.Select(x => x.ComandoAtuar ? "1" : "0"))
};
}
@ -1438,11 +1443,11 @@ namespace AgroBase.Models
int intervaloPorBico = Convert.ToInt32(CameraSolo.Leitura.x_max) / BicosPorCamera;
int inicioBarraPulverizadora = Convert.ToInt32(CameraSolo.Leitura.y_max * (1 - Variaveis.OperacaoEmAndamento.Controle.PercentualInicioPulverizacao));
List<string> BicosJaAtuados = Atuador.Dados.BicosPulverizadores.Where(x => x.Atuado).Select(x => x.ID).ToList();
List<string> BicosJaAtuados = Atuador.Dados.BicosPulverizadores.Where(x => x.ComandoAtuar).Select(x => x.ID).ToList();
if (Variaveis.OperacaoEmAndamento.Modo != ModoOperacao.Manual)
{
// Inicialize todos os bicos como inativos antes de verificar os objetos verdes
Atuador.Dados.BicosPulverizadores.ForEach(x => x.Atuado = false);
Atuador.Dados.BicosPulverizadores.ForEach(x => x.ComandoAtuar = false);
foreach (var verde in Verdes)
{
@ -1468,7 +1473,7 @@ namespace AgroBase.Models
{
if (Variaveis.OperacaoEmAndamento.Sensoriamento.StatusOperacao == StatusOperacao.EmAndamento)
{
Atuador.Dados.BicosPulverizadores[iBico].Atuado = true;
Atuador.Dados.BicosPulverizadores[iBico].ComandoAtuar = true;
}
}
}
@ -1483,7 +1488,7 @@ namespace AgroBase.Models
{
int iBico = i + (CameraSolo.Posicao * BicosPorCamera);
var Bico = Atuador.Dados.BicosPulverizadores[iBico];
if (Bico.Atuado && !BicosJaAtuados.Contains(Bico.ID))
if (Bico.ComandoAtuar && !BicosJaAtuados.Contains(Bico.ID))
{
var atuacao = Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.AtuacoesPorBico[iBico];
@ -1721,7 +1726,7 @@ namespace AgroBase.Models
{
Variaveis.OperacaoEmAndamento.Controle.PercentualVelocidadeSP = 0; // Velocidade Zero (parado)
Variaveis.OperacaoEmAndamento.Controle.Angulo = 0; // Angulo Zero (direcional reto)
Variaveis.OperacaoEmAndamento.Controle.BicosAtuados.ForEach(x => x.Atuado = false); // Bicos desatuados
Variaveis.OperacaoEmAndamento.Controle.BicosAtuados.ForEach(x => x.ComandoAtuar = false); // Bicos desatuados
AtualizarDadosControle(true);
Variaveis.OperacaoEmAndamento.Controle.TiposControle.ForEach(x => x.UltimaDirecao = Direcao.Parado);
}
@ -1956,11 +1961,10 @@ namespace AgroBase.Models
MassaReservatorio = Variaveis.OperacaoEmAndamento.DispAtu.Dados.MassaReservatorio,
PercentualReservatorio = Variaveis.OperacaoEmAndamento.DispAtu.Dados.PercentualReservatorio,
VolumeReservatorio = Variaveis.OperacaoEmAndamento.DispAtu.Dados.VolumeReservatorio,
//PressaoLinha_SP = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombaPressurizadora.PressaoSP,
PressaoLinha_SP = Variaveis.OperacaoEmAndamento.Controle.PressaoLinha,
PressaoLinha = Variaveis.OperacaoEmAndamento.DispAtu.Dados.PressaoLinha,
PotenciaBomba = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombaPressurizadora.Potencia,
BombaLigada = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombaPressurizadora.BombaAtuada,
BombaLigada = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombaPressurizadora.ComandoAtuar,
VazaoFluxoMLpS = Variaveis.OperacaoEmAndamento.DispAtu.Dados.VazaoFluxoMLpS,
VolumeVazaoML = Variaveis.OperacaoEmAndamento.DispAtu.Dados.VolumeVazaoML,
QuantidadeBicos = Variaveis.OperacaoEmAndamento.DispAtu.Dados.QuantidadeBicos,
@ -1970,10 +1974,10 @@ namespace AgroBase.Models
ID = Bico.ID,
Inicializado = Bico.Inicializado,
Comandar = Bico.Comandar,
Atuado = Bico.Atuado,
Atuado = Bico.ComandoAtuar,
MediaNivelFluxo = Bico.MediaNivelFluxo,
Posicao = Bico.Posicao,
StatusBico = Bico.StatusBico,
StatusBico = Bico.LeituraStatusBico,
Atuacoes = Bico.Atuacoes,
TempoAtuado = Bico.TempoAtuado,
}).ToList()

View File

@ -48,6 +48,8 @@ namespace AgroBase.Models
public static OperacaoModel OperacaoEmAndamento { get; set; } = new OperacaoModel(ModoOperacao.Manual);
public static MqttService MqttService { get; set; } = new MqttService("localhost", 1883);
public static LoRaService ConexaoLoRa = new LoRaService();
public static string FaixaIPwifi { get; set; } = "192.168.99";
public static string FaixaIPethernet { get; set; } = "192.168.105";
public static bool IsAgroMonitor
{
get

View File

@ -579,6 +579,7 @@ namespace AgroBase.Comum
File.WriteAllText(nomeArquivo, JsonConvert.SerializeObject(newConfig));
}
var configText = File.ReadAllText(nomeArquivo);
Console.WriteLine(configText);
var Parametros = JsonConvert.DeserializeObject<T>(configText);
return Parametros;
@ -599,6 +600,8 @@ namespace AgroBase.Comum
nomeArquivo = arquivo.CaminhoCompleto;
}
newConfig.LimparDados(Dados);
File.WriteAllText(nomeArquivo, JsonConvert.SerializeObject(newConfig));
}
@ -608,7 +611,6 @@ namespace AgroBase.Comum
{
case T_Code.Sen:
Dados = CarregarParametros(SensoriamentoModel.CarregarParametrosIniciais());
SensoriamentoModel.LimparDados(Dados as SensoriamentoModel);
frmConfig = new frmSenConfig();
((frmSenConfig)frmConfig).Dispositivo = T_Code.Sen;
@ -616,14 +618,12 @@ namespace AgroBase.Comum
break;
case T_Code.Atu:
Dados = CarregarParametros(AtuadorModel.CarregarParametrosIniciais());
AtuadorModel.LimparDados(Dados as AtuadorModel);
frmConfig = new frmAtuConfig();
AtuadorModel.Pinout = PinoutModel.CarregarPinout(Dispositivo);
break;
case T_Code.Mvd:
Dados = CarregarParametros(MovimentacaoUnificadaModel.CarregarParametrosIniciais());
MovimentacaoUnificadaModel.LimparDados(Dados as MovimentacaoUnificadaModel);
frmConfig = new frmMvdConfig();
ModuloMvdModel.Pinout = PinoutModel.CarregarPinout(Dispositivo);
@ -632,6 +632,8 @@ namespace AgroBase.Comum
Dados = default(T);
break;
}
Dados.LimparDados(Dados);
}
}

View File

@ -165,6 +165,59 @@ public class EthernetService
}
}
public async Task<byte[]> ReceiveDataAsync2(int bufferSize = 1024, int timeoutMilliseconds = 1000)
{
if (_networkStream == null || !_networkStream.CanRead)
{
Console.WriteLine("O NetworkStream não está disponível para leitura.");
return null;
}
Console.WriteLine("Iniciando teste de leitura do stream...");
try
{
var buffer = new byte[bufferSize];
var cancellationTokenSource = new CancellationTokenSource(timeoutMilliseconds);
while (!cancellationTokenSource.Token.IsCancellationRequested)
{
if (_networkStream.DataAvailable)
{
int bytesRead = await _networkStream.ReadAsync(buffer, 0, buffer.Length, cancellationTokenSource.Token);
if (bytesRead > 0)
{
// Exibe os dados lidos no console
Console.WriteLine($"Dados recebidos ({bytesRead} bytes): {BitConverter.ToString(buffer, 0, bytesRead)}");
return buffer;
}
else
{
Console.WriteLine("Nenhum dado foi lido.");
break;
}
}
else
{
await Task.Delay(10); // Aguarda brevemente antes de verificar novamente
}
}
Console.WriteLine("Leitura do stream finalizada ou timeout atingido.");
}
catch (OperationCanceledException)
{
Console.WriteLine("Timeout atingido durante o teste de leitura do stream.");
}
catch (Exception ex)
{
Console.WriteLine($"Erro ao ler do stream: {ex.Message}");
}
return null;
}
public async Task FlushBufferAsync()
{
try

View File

@ -108,7 +108,8 @@ namespace AgroBase.Services
continue;
}
var resposta = await _ethernetService.ReceiveDataAsync(11);
//var resposta = await _ethernetService.ReceiveDataAsync(8);
var resposta = await _ethernetService.ReceiveDataAsync2(8);
SerialService.MostrarComandoResposta(T_Code.Mks, comando, resposta);
@ -212,16 +213,12 @@ namespace AgroBase.Services
TaxaAmostragem = 1000;
if (Referenciando)
{
//AdicionarComandoNaFila(MontarComandoRequisicaoPulsos(AddrRef));
//AdicionarComandoNaFila(MontarComandoRequisicaoIO(AddrRef));
}
else if (Variaveis.OperacaoEmAndamento.DispMvd != null)
if (Variaveis.OperacaoEmAndamento.DispMvd != null)
{
foreach (var Modulo in Variaveis.OperacaoEmAndamento.DispMvd.Dados.Modulos.Where(x => x.DirMotor.MKS_Inicializado))
{
AdicionarComandoNaFila(MontarComandoRequisicaoPulsos(Convert.ToByte(Modulo.DirMotor.Endereco, 16)));
AdicionarComandoNaFila(MontarComandoRequisicaoIO(Convert.ToByte(Modulo.DirMotor.Endereco, 16)));
}
}
}
@ -412,7 +409,8 @@ namespace AgroBase.Services
static byte[] Kd;
static byte[] ACC;
static byte[] MaxT;
static byte[] Start_ACC = { 0x10 }, Stop_ACC = { 0x10 };
//static byte[] Start_ACC = { 0x10 }, Stop_ACC = { 0x10 };
static byte[] Start_ACC = { 0x00 }, Stop_ACC = { 0x00 };
static byte[] Speed_1, Speed_2;
static byte[] Current;
static ushort Max_Current;
@ -556,9 +554,9 @@ namespace AgroBase.Services
Comando.Enviado = !Comando.AguardaResposta;
// Recebe a resposta via Ethernet, independentemente de precisar processá-la ou não
byte[] resposta = await _ethernetService.ReceiveDataAsync(7, Comando.TimeoutResposta); // Timeout ajustável, aqui 1 segundo
byte[] resposta = await _ethernetService.ReceiveDataAsync(8, Comando.TimeoutResposta); // Timeout ajustável, aqui 1 segundo
SerialService.MostrarComandoResposta(T_Code.Bld, comando, resposta);
//SerialService.MostrarComandoResposta(T_Code.Mks, comando, resposta);
if (Comando.AguardaResposta)
{

View File

@ -93648,3 +93648,378 @@ Parameter name: values
28/11/2024 12:43:00:907 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
28/11/2024 12:57:07:475 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
28/11/2024 12:58:33:438 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 10:36:41:127 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
02/12/2024 10:36:41:156 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
02/12/2024 10:36:41:205 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
02/12/2024 10:36:41:219 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
02/12/2024 10:36:41:231 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
02/12/2024 10:36:41:244 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
02/12/2024 10:36:41:257 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
02/12/2024 10:36:41:271 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
02/12/2024 10:36:41:315 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
02/12/2024 10:36:41:332 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
02/12/2024 10:36:41:348 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
02/12/2024 10:36:41:364 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
02/12/2024 10:36:41:408 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
02/12/2024 10:36:41:425 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
02/12/2024 10:36:41:442 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
02/12/2024 10:36:41:457 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
02/12/2024 13:55:25:424 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:25:638 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:25:856 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:26:071 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:26:288 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:26:503 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:26:706 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:26:922 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:27:139 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:27:352 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:27:555 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:27:771 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:27:985 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:28:201 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:28:416 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:28:621 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:28:835 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:29:054 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:29:271 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:29:487 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:29:998 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 13:55:30:510 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 13:55:30:729 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:30:947 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:31:149 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:31:353 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:31:570 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:31:788 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:32:006 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:32:224 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:32:439 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:32:656 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:32:873 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:33:090 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:33:295 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:33:499 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:33:718 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:33:934 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:34:150 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:34:353 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:34:555 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:34:758 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:35:286 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 13:55:35:798 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 13:55:36:016 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:36:219 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:36:424 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:36:643 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:36:859 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:37:075 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:37:295 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:37:499 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:37:704 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:37:922 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:38:124 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:38:342 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:38:558 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:38:762 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:38:964 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:39:166 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:39:397 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:39:611 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:39:812 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:40:016 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:40:527 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 13:55:41:028 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 13:55:41:243 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:41:443 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:41:648 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:41:864 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:42:067 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:42:282 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:42:496 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:42:711 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:42:912 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:43:113 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:43:328 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:43:531 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:43:747 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:43:947 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:44:150 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:44:365 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:44:566 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:44:782 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:44:997 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:45:201 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:45:717 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 13:55:46:233 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 13:55:46:437 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:46:653 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:46:854 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:47:068 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:47:270 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:47:485 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:47:689 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:47:891 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:48:110 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:48:311 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:48:516 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:48:720 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:48:921 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:49:130 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:49:341 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:49:555 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:49:773 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:49:988 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:50:204 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:50:407 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:50:918 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 13:55:51:432 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 13:55:51:650 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:51:852 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:52:054 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:52:257 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:52:458 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:52:661 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:52:864 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:53:074 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:53:282 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:53:485 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:55:53:701 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:55:53:920 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:55:54:124 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:55:54:341 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:55:59:658 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:55:59:998 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:56:00:217 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:56:00:436 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:56:00:654 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:56:00:868 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:56:01:379 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 13:56:01:892 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 13:56:02:108 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:56:02:325 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:56:02:542 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:56:02:759 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:56:02:973 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:56:03:187 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 13:56:03:404 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 13:56:03:607 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 13:56:03:823 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 13:56:04:037 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 13:56:04:238 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 13:56:04:264 - Endereço 2 (192.168.105.10): Resposta inválida. 03
02/12/2024 13:56:04:264 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:20:427 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:20:640 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:20:843 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:21:059 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:21:274 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:21:493 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:21:710 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:21:928 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:22:138 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:22:348 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:22:568 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:22:786 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:22:991 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:23:208 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:23:425 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:23:629 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:23:846 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:24:049 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:24:265 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:24:483 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:24:997 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:06:25:505 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:06:25:723 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:25:928 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:26:146 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:26:362 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:26:566 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:26:783 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:27:000 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:27:203 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:27:421 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:27:637 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:27:854 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:28:070 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:28:273 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:28:476 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:28:691 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:28:908 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:29:111 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:29:316 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:29:532 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:29:746 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:30:260 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:06:30:786 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:06:30:989 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:31:207 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:31:412 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:31:614 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:31:831 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:32:034 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:32:253 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:32:470 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:32:687 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:32:905 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:33:124 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:33:343 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:33:556 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:33:762 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:33:978 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:34:181 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:34:398 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:34:614 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:34:831 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:35:046 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:35:562 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:06:36:078 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:06:36:296 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:36:515 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:36:730 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:36:932 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:37:133 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:37:334 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:37:549 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:37:764 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:37:970 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:38:185 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:38:403 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:38:618 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:38:821 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:39:039 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:39:243 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:39:459 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:39:664 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:39:878 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:40:082 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:40:284 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:40:799 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:06:41:310 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:06:41:513 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:41:729 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:41:946 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:42:149 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:42:366 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:42:574 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:42:785 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:42:987 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:43:202 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:43:422 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:43:641 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:43:852 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:44:063 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:44:268 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:44:483 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:44:702 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:44:920 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:45:134 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:45:349 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:45:552 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:46:067 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:06:46:583 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:06:46:802 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:47:017 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:47:235 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:47:449 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:47:667 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:47:883 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:48:098 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:48:316 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:48:534 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:48:751 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:48:954 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:49:158 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:49:375 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:49:580 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:49:794 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:49:999 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:50:201 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:50:403 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:50:619 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:50:835 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:51:347 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:06:51:856 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:06:52:074 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:52:280 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:52:497 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:52:716 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:52:933 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:53:137 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:53:351 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:53:570 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:53:787 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:53:993 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:54:207 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:54:421 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:54:622 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:54:825 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:55:041 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:55:258 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:55:475 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:55:677 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:55:881 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:56:095 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:56:611 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:06:57:123 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:06:57:324 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:57:541 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:57:756 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:57:972 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:58:188 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:58:393 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:58:608 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:06:58:825 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:06:59:039 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:06:59:255 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:06:59:471 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:06:59:674 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:06:59:892 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:07:00:093 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:07:00:312 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:07:00:527 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:07:00:743 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:07:00:946 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:07:01:163 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:07:01:378 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:07:01:888 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:07:02:401 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
02/12/2024 15:07:02:609 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:07:02:816 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:07:03:019 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:07:03:235 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:07:03:453 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:07:03:668 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:07:03:870 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:07:04:073 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:07:04:277 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:07:04:478 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:07:04:693 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:07:04:908 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
02/12/2024 15:07:05:123 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
02/12/2024 15:07:05:151 - Endereço 2 (192.168.105.10): Resposta inválida. E6
02/12/2024 15:07:05:151 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
02/12/2024 15:20:33:312 - Endereço 1 (192.168.105.10): Resposta inválida. 2E-47
02/12/2024 15:20:33:345 - Endereço 4 (192.168.105.10): Resposta inválida. 01-03-82
02/12/2024 15:20:33:346 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
02/12/2024 15:20:33:904 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
02/12/2024 15:20:33:932 - Endereço 2 (192.168.105.10): Resposta inválida. DF
02/12/2024 15:20:33:933 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:22:11:694 - Endereço 2 (192.168.105.10): Resposta inválida. 33-92
02/12/2024 15:24:04:542 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Versao, Valor=0
02/12/2024 15:24:05:546 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Versao, Valor=0
02/12/2024 15:24:06:548 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Versao, Valor=0
02/12/2024 15:24:06:751 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:24:06:953 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
02/12/2024 15:24:06:980 - Endereço 1 (192.168.105.10): Resposta inválida. 24
02/12/2024 15:24:06:980 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
02/12/2024 15:33:45:991 - Endereço 1 (192.168.105.10): Resposta inválida. 2E-6D
02/12/2024 15:33:46:631 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
02/12/2024 15:33:46:658 - Endereço 3 (192.168.105.10): Resposta inválida. 0E
02/12/2024 15:33:46:659 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:38:26:108 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
02/12/2024 15:38:26:618 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
02/12/2024 15:38:26:833 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
02/12/2024 15:38:26:865 - Endereço 1 (192.168.105.10): Resposta inválida. 10
02/12/2024 15:38:26:865 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0

View File

@ -17,3 +17,4 @@
21/11/2024 13:26:00:651 - Porta COM90 - 0: Erro ao processar fila de comandos. Erro=The port is closed.
22/11/2024 08:24:14:797 - Porta COM88 - 0: Erro ao processar fila de comandos. Erro=The port is closed.
22/11/2024 15:31:48:366 - Porta COM - 0: Erro ao processar fila de comandos. Erro=The port is closed.
02/12/2024 15:45:31:555 - Porta COM95 - 0: Erro ao processar fila de comandos. Erro=The port is closed.

View File

@ -8751,3 +8751,179 @@
28/11/2024 12:37:16:789 - Endereço 6 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
28/11/2024 12:37:16:802 - Endereço 8 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
28/11/2024 12:54:39:677 - Endereço 32 (192.168.105.11): Dados recebidos de um endereço inválido: [251 32 130 255]
02/12/2024 13:23:38:458 - Endereço 3 (192.168.105.11): Erro ao enviar comando: Value cannot be null.
Parameter name: source
02/12/2024 13:23:38:494 - Endereço 0 (192.168.105.11): Dados recebidos de um endereço inválido: [88 0 0 0 0 0 0 0]
02/12/2024 13:23:38:618 - Endereço 0 (192.168.105.11): Dados recebidos de um endereço inválido: [49 0 0 0 0 0 0 0]
02/12/2024 13:23:39:493 - Endereço 0 (192.168.105.11): Dados recebidos de um endereço inválido: [49 0 0 0 0 0 0 0]
02/12/2024 13:30:05:982 - Endereço 0 (192.168.105.11): Dados recebidos de um endereço inválido: [0 0 0 0 0 0 0 0 0 0 0]
02/12/2024 13:50:17:546 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:50:17:548 - Endereço 3 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 13:50:17:615 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:50:17:616 - Endereço 4 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 13:50:17:640 - Endereço 2 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 13:50:17:664 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:50:17:665 - Endereço 4 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 13:50:17:682 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:51:25:488 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:51:25:492 - Endereço 1 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 13:51:25:512 - Endereço 3 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 13:51:25:534 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:51:25:535 - Endereço 2 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 13:51:25:551 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:51:25:551 - Endereço 4 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 13:51:25:600 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:03:173 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:04:186 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:05:194 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:06:206 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:07:324 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:08:338 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:09:349 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:10:365 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:11:482 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:12:491 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:13:499 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:14:536 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:15:657 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:16:668 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:17:682 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:18:697 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:19:204 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:19:206 - Endereço 3 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 13:55:19:221 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:19:221 - Endereço 2 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 13:55:19:236 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:19:236 - Endereço 4 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 13:55:19:249 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:29:412 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:30:417 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:31:429 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:32:439 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:33:561 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:34:571 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:35:581 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:36:595 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:37:705 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:38:714 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:39:718 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:40:728 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:41:848 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:42:850 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:43:855 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:44:859 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:45:968 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:46:975 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:47:985 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:48:997 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:50:111 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:51:122 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:52:132 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:53:143 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:54:263 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:55:59:658 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:56:00:807 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:56:01:816 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:56:02:942 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:57:08:945 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:57:09:950 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:57:10:964 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 13:57:14:426 - Endereço 159 (192.168.105.11): Dados recebidos de um endereço inválido: [80 159 244]
02/12/2024 13:57:36:753 - Endereço 1 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
02/12/2024 13:57:44:712 - Endereço 3 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
02/12/2024 14:01:38:813 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 14:01:39:825 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 14:01:39:855 - Endereço 82 (192.168.105.11): Dados recebidos de um endereço inválido: [255 82 191 144 31 0 0 48]
02/12/2024 14:01:47:563 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 14:01:48:571 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 14:01:48:598 - Endereço 238 (192.168.105.11): Dados recebidos de um endereço inválido: [251 238 166 125 40 63 48]
02/12/2024 14:32:37:407 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 14:51:58:295 - Endereço 245 (192.168.105.11): Dados recebidos de um endereço inválido: [3 245 2 245]
02/12/2024 14:52:20:458 - Endereço 3 (192.168.105.11): Erro ao enviar comando: The given key was not present in the dictionary.
02/12/2024 15:05:37:642 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:05:37:643 - Endereço 1 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:05:37:708 - Endereço 1 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:05:37:774 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:05:37:774 - Endereço 3 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:05:37:788 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:05:37:789 - Endereço 3 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:05:37:848 - Endereço 3 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:05:37:858 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:05:37:858 - Endereço 2 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:05:37:871 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:05:37:872 - Endereço 2 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:05:37:927 - Endereço 2 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:05:37:937 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:05:37:937 - Endereço 4 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:05:37:949 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:05:37:950 - Endereço 4 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:05:38:004 - Endereço 4 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:05:38:015 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:13:141 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:13:142 - Endereço 1 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:06:13:206 - Endereço 1 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:06:13:235 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:13:235 - Endereço 3 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:06:13:249 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:13:249 - Endereço 3 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:06:13:313 - Endereço 3 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:06:13:324 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:13:325 - Endereço 2 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:06:13:339 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:13:340 - Endereço 2 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:06:13:406 - Endereço 2 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:06:13:419 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:13:420 - Endereço 4 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:06:13:432 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:13:433 - Endereço 4 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:06:13:483 - Endereço 4 (192.168.105.11): Conexão Ethernet não está definida ou não está conectada
02/12/2024 15:06:13:496 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:21:883 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:22:897 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:23:986 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:25:107 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:26:177 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:27:204 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:28:273 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:29:283 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:30:353 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:31:365 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:32:438 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:33:556 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:34:629 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:35:639 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:36:714 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:37:719 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:38:791 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:39:802 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:40:876 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:41:993 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:43:064 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:44:079 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:45:151 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:46:161 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:47:235 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:48:253 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:49:328 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:50:448 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:51:517 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:52:528 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:53:616 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:54:622 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:55:693 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:56:704 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:57:772 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:06:58:886 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:06:59:954 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
02/12/2024 15:07:00:166 - Endereço 251 (192.168.105.11): Dados recebidos de um endereço inválido: [64 251 4 51 0 0 0 0]
02/12/2024 15:10:33:921 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:10:56:694 - Endereço 245 (192.168.105.11): Dados recebidos de um endereço inválido: [4 245 2 246]
02/12/2024 15:12:00:246 - Endereço 1 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
02/12/2024 15:12:33:241 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:20:43:309 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:20:52:947 - Endereço 246 (192.168.105.11): Dados recebidos de um endereço inválido: [2 246]
02/12/2024 15:20:57:977 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
02/12/2024 15:21:51:921 - Endereço 133 (192.168.105.11): Dados recebidos de um endereço inválido: [251 133 247 2 244 128 0 49]
02/12/2024 15:26:42:706 - Endereço 3 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
02/12/2024 15:28:52:959 - Endereço 252 (192.168.105.11): Dados recebidos de um endereço inválido: [251 252]
02/12/2024 15:32:30:636 - Endereço 191 (192.168.105.11): Dados recebidos de um endereço inválido: [251 191 179 159 247 1 48]

View File

@ -1 +1 @@
{"tmrRegistrador":{"State":2,"IsRunning":false,"IsStopped":true,"IsCreated":false,"Interval":2000,"StackTrace":"AtuadorModel.IniciarRegistrador","Id":"tmrRegistrador_Atu","TimeTick":"00:00:00"},"Modulo_ID":"Atu","IP":"192.168.99.113","RequisitarDados":true,"Conectado":true,"UltimoProtocoloRecebido":"9999-12-30T23:59:59.9999999","QuantidadeBicos":4,"DensidadeHerbicida":1.05,"AtuacaoNivelAlto":true,"BicosPulverizadores":[{"ID":"B01","Posicao":1,"Componente":422,"AtuacaoNivelAlto":false,"Atuado":false,"Comandar":true,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0,"Leitura":{"ID":"B01","Iniciado":true,"Leitura":0},"Inicializado":true,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0},{"ID":"B02","Posicao":2,"Componente":422,"AtuacaoNivelAlto":false,"Atuado":false,"Comandar":true,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0,"Leitura":{"ID":"B02","Iniciado":true,"Leitura":0},"Inicializado":true,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0},{"ID":"B03","Posicao":3,"Componente":422,"AtuacaoNivelAlto":false,"Atuado":false,"Comandar":true,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0,"Leitura":{"ID":"B03","Iniciado":true,"Leitura":0},"Inicializado":true,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0},{"ID":"B04","Posicao":4,"Componente":422,"AtuacaoNivelAlto":false,"Atuado":false,"Comandar":true,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0,"Leitura":{"ID":"B04","Iniciado":true,"Leitura":0},"Inicializado":true,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0}],"BombasPressurizadoras":[],"Sensores":[{"LogGrafico":[],"ID":"FLXLN","Prioridade":23,"Descricao":"Fluxo na linha principal","Componente":198,"Aferir":true,"DelayAmostragem":300,"Leitura":{"ID":"FLXLN","Iniciado":true,"Pulsos":0,"Periodo":0},"Inicializado":true,"Testando":false,"Funcoes":[25],"Parametros":[],"UnidadeMedida":"mL/s","LimiteMaximo":0.0,"LimiteMinimo":0.0},{"LogGrafico":[],"ID":"MASRS","Prioridade":3,"Descricao":"Massa do reservatório de herbicida","Componente":532,"Aferir":true,"DelayAmostragem":1000,"Leitura":{"ID":"MASRS","Iniciado":true,"Leitura":0},"Inicializado":true,"Testando":false,"Funcoes":[22,23],"Parametros":[],"UnidadeMedida":"Kg","LimiteMaximo":50.0,"LimiteMinimo":5.0},{"LogGrafico":[],"ID":"PRSLN","Prioridade":3,"Descricao":"Pressão na linha principal","Componente":333,"Aferir":true,"DelayAmostragem":1000,"Leitura":{"ID":"PRSLN","Iniciado":true,"Leitura":179,"Pressao":5.074508},"Inicializado":true,"Testando":false,"Funcoes":[24],"Parametros":[["Vmin","000.00"],["Vmax","004.50"],["Pmax","174.04"]],"UnidadeMedida":"psi","LimiteMaximo":120.0,"LimiteMinimo":60.0}],"BombaPressurizadora":null,"ScriptDeteccaoErvas":"weed_detector-1_0.py","DadosLeitura":{"Conectado":true,"Mod_ID":"Atu","Momento":"2024-11-29T17:26:36.3024846-03:00","BicosPulverizadores":[{"ID":"B01","Iniciado":true,"Leitura":0},{"ID":"B02","Iniciado":true,"Leitura":0},{"ID":"B03","Iniciado":true,"Leitura":0},{"ID":"B04","Iniciado":true,"Leitura":0}],"BombasPressurizadoras":[],"SensoresFluxo":[{"ID":"FLXLN","Iniciado":true,"Pulsos":0,"Periodo":0}],"SensoresMassa":[{"ID":"MASRS","Iniciado":true,"Leitura":0}],"SensoresPressao":[{"ID":"PRSLN","Iniciado":true,"Leitura":179,"Pressao":5.074508}]},"_MassaRef":0.8,"_MassaLeituraRef":40876.37,"_MassaLeituraExtra":1895800.0,"_MassaLeitura":1895800.0,"MassaReservatorio":0.0,"VolumeReservatorio":0.0,"PercentualReservatorio":0.0,"VolumeVazaoAferido":0.0,"_FluxoMlRef":102.0,"_FluxoPulsoRef":80.0,"_LeituraPulsos":0,"_LeituraPeriodo":0,"VazaoFluxoMLpS":0.0,"VolumeVazaoML":0.0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0,"_PressaoVmin":0.0,"_PressaoVmax":4.5,"_PressaoMax":174.045,"_LeituraPressao":0.0,"PressaoLinha":0.0,"PressaoLinhaCalc":0.0}
{"tmrRegistrador":{"State":2,"IsRunning":false,"IsStopped":true,"IsCreated":false,"Interval":2000,"StackTrace":"AtuadorModel.IniciarRegistrador","Id":"tmrRegistrador_Atu","TimeTick":"00:00:00.0009998"},"Modulo_ID":"Atu","IP":"192.168.99.113","RequisitarDados":true,"Conectado":false,"QuantidadeBicos":4,"DensidadeHerbicida":1.05,"AtuacaoNivelAlto":true,"BicosPulverizadores":[{"ID":"B01","Posicao":1,"Componente":422,"AtuacaoNivelAlto":false,"ComandoAtuar":false,"Comandar":true,"Testando":false,"Funcoes":[21],"LeituraStatusBico":false,"MediaNivelFluxo":0.0,"Leitura":null,"Inicializado":false,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0},{"ID":"B02","Posicao":2,"Componente":422,"AtuacaoNivelAlto":false,"ComandoAtuar":false,"Comandar":true,"Testando":false,"Funcoes":[21],"LeituraStatusBico":false,"MediaNivelFluxo":0.0,"Leitura":null,"Inicializado":false,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0},{"ID":"B03","Posicao":3,"Componente":422,"AtuacaoNivelAlto":false,"ComandoAtuar":false,"Comandar":true,"Testando":false,"Funcoes":[21],"LeituraStatusBico":false,"MediaNivelFluxo":0.0,"Leitura":null,"Inicializado":false,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0},{"ID":"B04","Posicao":4,"Componente":422,"AtuacaoNivelAlto":false,"ComandoAtuar":false,"Comandar":true,"Testando":false,"Funcoes":[21],"LeituraStatusBico":false,"MediaNivelFluxo":0.0,"Leitura":null,"Inicializado":false,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0}],"BombasPressurizadoras":[{"ID":"BOMBA","ComandoAtuar":false,"Componente":325,"LeituraEstado":false,"Comandar":true,"Testando":false,"Funcoes":[14,35,36,37,5],"Potencia":0.0,"Leitura":null,"Inicializado":false}],"Sensores":[{"LogGrafico":[],"ID":"FLXLN","Prioridade":23,"Descricao":"Fluxo na linha principal","Componente":198,"Aferir":true,"DelayAmostragem":300,"Leitura":null,"Inicializado":false,"Testando":false,"Funcoes":[25],"Parametros":[],"UnidadeMedida":"mL/s","LimiteMaximo":0.0,"LimiteMinimo":0.0},{"LogGrafico":[],"ID":"MASRS","Prioridade":3,"Descricao":"Massa do reservatório de herbicida","Componente":532,"Aferir":true,"DelayAmostragem":1000,"Leitura":null,"Inicializado":false,"Testando":false,"Funcoes":[22,23],"Parametros":[],"UnidadeMedida":"Kg","LimiteMaximo":50.0,"LimiteMinimo":5.0},{"LogGrafico":[],"ID":"PRSLN","Prioridade":3,"Descricao":"Pressão na linha principal","Componente":333,"Aferir":true,"DelayAmostragem":1000,"Leitura":null,"Inicializado":false,"Testando":false,"Funcoes":[24],"Parametros":[["Vmin","000.00"],["Vmax","004.50"],["Pmax","174.04"]],"UnidadeMedida":"psi","LimiteMaximo":120.0,"LimiteMinimo":60.0}],"BombaPressurizadora":{"ID":"BOMBA","ComandoAtuar":false,"Componente":325,"LeituraEstado":false,"Comandar":true,"Testando":false,"Funcoes":[14,35,36,37,5],"Potencia":0.0,"Leitura":null,"Inicializado":false},"ScriptDeteccaoErvas":"weed_detector-1_0.py","DadosLeitura":{"Conectado":false,"Mod_ID":null,"Momento":"0001-01-01T00:00:00","BicosPulverizadores":[],"BombasPressurizadoras":[],"SensoresFluxo":[],"SensoresMassa":[],"SensoresPressao":[]},"_MassaRef":0.8,"_MassaLeituraRef":40876.37,"_MassaLeituraExtra":1895800.0,"MassaReservatorio":0.0,"VolumeReservatorio":0.0,"PercentualReservatorio":0.0,"VolumeVazaoAferido":0.0,"_FluxoMlRef":102.0,"_FluxoPulsoRef":80.0,"VazaoFluxoMLpS":0.0,"VolumeVazaoML":0.0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0,"_PressaoVmin":0.0,"_PressaoVmax":4.5,"_PressaoMax":174.045,"PressaoLinha":0.0,"PressaoLinhaCalc":0.0}

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 +1 @@
{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"Id":"1517","Name":"28_11_2024_15_35_23","Length":0.0,"Dist1":0.0,"Dist2":0.0},"geometry":{"id":null,"type":"LineString","coordinates":[[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]]}}]}
{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"Id":"1517","Name":"02_12_2024_14_51_38","Length":0.0,"Dist1":0.0,"Dist2":0.0},"geometry":{"id":null,"type":"LineString","coordinates":[[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]]}}]}

View File

@ -1,60 +1,60 @@
[
{
"timestamp": 1732895725.747677,
"timestamp": 1733164993.5545306,
"x_max": 640.0,
"y_max": 480.0,
"objetos": []
},
{
"timestamp": 1732895725.784762,
"timestamp": 1733164993.5875115,
"x_max": 640.0,
"y_max": 480.0,
"objetos": []
},
{
"timestamp": 1732895725.816886,
"timestamp": 1733164993.623485,
"x_max": 640.0,
"y_max": 480.0,
"objetos": []
},
{
"timestamp": 1732895725.8538463,
"timestamp": 1733164993.6574829,
"x_max": 640.0,
"y_max": 480.0,
"objetos": []
},
{
"timestamp": 1732895725.886399,
"timestamp": 1733164993.6915174,
"x_max": 640.0,
"y_max": 480.0,
"objetos": []
},
{
"timestamp": 1732895725.9184465,
"timestamp": 1733164993.724287,
"x_max": 640.0,
"y_max": 480.0,
"objetos": []
},
{
"timestamp": 1732895725.9584076,
"timestamp": 1733164993.758253,
"x_max": 640.0,
"y_max": 480.0,
"objetos": []
},
{
"timestamp": 1732895726.024402,
"timestamp": 1733164993.7932355,
"x_max": 640.0,
"y_max": 480.0,
"objetos": []
},
{
"timestamp": 1732895726.0578566,
"timestamp": 1733164993.8287163,
"x_max": 640.0,
"y_max": 480.0,
"objetos": []
},
{
"timestamp": 1732895726.0988536,
"timestamp": 1733164993.86821,
"x_max": 640.0,
"y_max": 480.0,
"objetos": []

View File

@ -25,7 +25,7 @@
<meta name="viewport" content="width=device-width,
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<style>
#map_dc6a670eee0d32ea276e81aef291c321 {
#map_c0a5b8b94387d9cfe32ff1a870dcfc93 {
position: relative;
width: 100.0%;
height: 100.0%;
@ -39,14 +39,14 @@
<body>
<div class="folium-map" id="map_dc6a670eee0d32ea276e81aef291c321" ></div>
<div class="folium-map" id="map_c0a5b8b94387d9cfe32ff1a870dcfc93" ></div>
</body>
<script>
var map_dc6a670eee0d32ea276e81aef291c321 = L.map(
"map_dc6a670eee0d32ea276e81aef291c321",
var map_c0a5b8b94387d9cfe32ff1a870dcfc93 = L.map(
"map_c0a5b8b94387d9cfe32ff1a870dcfc93",
{
center: [0.0, 0.0],
crs: L.CRS.EPSG3857,
@ -60,13 +60,13 @@
var tile_layer_30270c49899730f99704b9b12149c283 = L.tileLayer(
var tile_layer_25d47e42b5225c1d55453f85875cf674 = L.tileLayer(
"https://tile.openstreetmap.org/{z}/{x}/{y}.png",
{"attribution": "\u0026copy; \u003ca href=\"https://www.openstreetmap.org/copyright\"\u003eOpenStreetMap\u003c/a\u003e contributors", "detectRetina": false, "maxNativeZoom": 19, "maxZoom": 19, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}
);
tile_layer_30270c49899730f99704b9b12149c283.addTo(map_dc6a670eee0d32ea276e81aef291c321);
tile_layer_25d47e42b5225c1d55453f85875cf674.addTo(map_c0a5b8b94387d9cfe32ff1a870dcfc93);
</script>
@ -87,7 +87,7 @@
}
trajeto_json_add({"features": []});
trajeto_json.addTo(map_dc6a670eee0d32ea276e81aef291c321);
trajeto_json.addTo(map_c0a5b8b94387d9cfe32ff1a870dcfc93);
function adicionarGeometria(novaGeometria) {
trajeto_json.addData(novaGeometria);
@ -145,7 +145,7 @@
var marcadorDinamico = L.marker([0, 0], {
icon: customIcon
}).addTo(map_dc6a670eee0d32ea276e81aef291c321);
}).addTo(map_c0a5b8b94387d9cfe32ff1a870dcfc93);
// Conectar ao broker MQTT
const client = mqtt.connect('ws://localhost:9001'); // Use wss para conexão segura
@ -183,7 +183,7 @@
marcadorDinamico.setRotationAngle(angulo);
adicionarCoordenada("Tj", [novaLongitude, novaLatitude]);
map_dc6a670eee0d32ea276e81aef291c321.setView(novaPosicao, map_dc6a670eee0d32ea276e81aef291c321.getZoom());
map_c0a5b8b94387d9cfe32ff1a870dcfc93.setView(novaPosicao, map_c0a5b8b94387d9cfe32ff1a870dcfc93.getZoom());
});
function calcularOrientacao(P1latitude, P1longitude, P2latitude, P2longitude) {

View File

@ -25,7 +25,7 @@
<meta name="viewport" content="width=device-width,
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<style>
#map_53ce8720218d52238cdd29ed0f14d1d7 {
#map_d93656f48cf0fc62aabfb6733eedbeb9 {
position: relative;
width: 100.0%;
height: 100.0%;
@ -39,14 +39,14 @@
<body>
<div class="folium-map" id="map_53ce8720218d52238cdd29ed0f14d1d7" ></div>
<div class="folium-map" id="map_d93656f48cf0fc62aabfb6733eedbeb9" ></div>
</body>
<script>
var map_53ce8720218d52238cdd29ed0f14d1d7 = L.map(
"map_53ce8720218d52238cdd29ed0f14d1d7",
var map_d93656f48cf0fc62aabfb6733eedbeb9 = L.map(
"map_d93656f48cf0fc62aabfb6733eedbeb9",
{
center: [0.0, 0.0],
crs: L.CRS.EPSG3857,
@ -60,13 +60,13 @@
var tile_layer_3df9392fccfe2147fc64ffe6284be957 = L.tileLayer(
var tile_layer_0e9f5d7ac204b251018035d5715261fe = L.tileLayer(
"https://tile.openstreetmap.org/{z}/{x}/{y}.png",
{"attribution": "\u0026copy; \u003ca href=\"https://www.openstreetmap.org/copyright\"\u003eOpenStreetMap\u003c/a\u003e contributors", "detectRetina": false, "maxNativeZoom": 19, "maxZoom": 19, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}
);
tile_layer_3df9392fccfe2147fc64ffe6284be957.addTo(map_53ce8720218d52238cdd29ed0f14d1d7);
tile_layer_0e9f5d7ac204b251018035d5715261fe.addTo(map_d93656f48cf0fc62aabfb6733eedbeb9);
@ -82,7 +82,7 @@
}*/
});
}
function geo_json_7d887aeb2bc37f011af812f038ebb19a_onEachFeature(feature, layer) {
function geo_json_f0304c58aba8f2f2f02cf25e58ee9f91_onEachFeature(feature, layer) {
layer.on({
click: function(e) {
@ -118,20 +118,20 @@
}*/
});
};
var geo_json_7d887aeb2bc37f011af812f038ebb19a = L.geoJson(null, {
onEachFeature: geo_json_7d887aeb2bc37f011af812f038ebb19a_onEachFeature,
var geo_json_f0304c58aba8f2f2f02cf25e58ee9f91 = L.geoJson(null, {
onEachFeature: geo_json_f0304c58aba8f2f2f02cf25e58ee9f91_onEachFeature,
});
function geo_json_7d887aeb2bc37f011af812f038ebb19a_add (data) {
geo_json_7d887aeb2bc37f011af812f038ebb19a
function geo_json_f0304c58aba8f2f2f02cf25e58ee9f91_add (data) {
geo_json_f0304c58aba8f2f2f02cf25e58ee9f91
.addData(data);
}
geo_json_7d887aeb2bc37f011af812f038ebb19a_add({"features": [{"geometry": {"coordinates": [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], "id": null, "type": "LineString"}, "id": 0, "properties": {"Dist1": 0.0, "Dist2": 0.0, "Id": "1517", "Length": 0.0, "Name": "28_11_2024_15_35_23"}, "type": "Feature"}], "type": "FeatureCollection"});
geo_json_f0304c58aba8f2f2f02cf25e58ee9f91_add({"features": [{"geometry": {"coordinates": [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], "id": null, "type": "LineString"}, "id": 0, "properties": {"Dist1": 0.0, "Dist2": 0.0, "Id": "1517", "Length": 0.0, "Name": "02_12_2024_14_51_38"}, "type": "Feature"}], "type": "FeatureCollection"});
geo_json_7d887aeb2bc37f011af812f038ebb19a.addTo(map_53ce8720218d52238cdd29ed0f14d1d7);
geo_json_f0304c58aba8f2f2f02cf25e58ee9f91.addTo(map_d93656f48cf0fc62aabfb6733eedbeb9);
</script>
@ -152,7 +152,7 @@
}
trajeto_json_add({"features": []});
trajeto_json.addTo(map_53ce8720218d52238cdd29ed0f14d1d7);
trajeto_json.addTo(map_d93656f48cf0fc62aabfb6733eedbeb9);
function adicionarGeometria(novaGeometria) {
trajeto_json.addData(novaGeometria);
@ -210,7 +210,7 @@
}
trajeto_dinamico_json_add({"features": []});
trajeto_dinamico_json.addTo(map_53ce8720218d52238cdd29ed0f14d1d7);
trajeto_dinamico_json.addTo(map_d93656f48cf0fc62aabfb6733eedbeb9);
function adicionarGeometriaDinamica(novaGeometria) {
trajeto_dinamico_json.addData(novaGeometria);
@ -263,9 +263,9 @@
var marcadorEquipamento = L.marker([0, 0], {
icon: customIcon
}).addTo(map_53ce8720218d52238cdd29ed0f14d1d7);
}).addTo(map_d93656f48cf0fc62aabfb6733eedbeb9);
var marcadorBase = L.marker([0, 0], {}).addTo(map_53ce8720218d52238cdd29ed0f14d1d7);
var marcadorBase = L.marker([0, 0], {}).addTo(map_d93656f48cf0fc62aabfb6733eedbeb9);
var icon = L.AwesomeMarkers.icon(
{"extraClasses": "fa-rotate-0", "icon": "info-sign", "iconColor": "white", "markerColor": "red", "prefix": "glyphicon"}
);
@ -347,7 +347,7 @@
}
if (foco) {
map_53ce8720218d52238cdd29ed0f14d1d7.setView(novaPosicao, map_53ce8720218d52238cdd29ed0f14d1d7.getZoom());
map_d93656f48cf0fc62aabfb6733eedbeb9.setView(novaPosicao, map_d93656f48cf0fc62aabfb6733eedbeb9.getZoom());
}
}
@ -364,7 +364,7 @@
function atualizarSelecaoRuas(selecionadas) {
selecionadas = JSON.parse(selecionadas);
RuasSelecionadas = Array.isArray(selecionadas) ? [...selecionadas] : [];
geo_json_7d887aeb2bc37f011af812f038ebb19a.eachLayer(function (layer) {
geo_json_f0304c58aba8f2f2f02cf25e58ee9f91.eachLayer(function (layer) {
if (RuasSelecionadas.includes(parseInt(layer.feature.id))) {
layer.setStyle({ color: 'blue' });
} else {

View File

@ -40,9 +40,6 @@ bool Verificando = false;
int _TaxaAmostragem = 500;
volatile bool RequisitarDados = false;
static double _PressaoAtual = 0.0;
std::vector<Rele*> listaBicos;
std::vector<BombaPressurizadora*> listaBombas;
@ -178,8 +175,7 @@ String MontarMensagemSensores() {
sensorData["Id"] = sensor->_ID;
sensorData["Iniciado"] = sensor->Iniciado;
sensorData["Estado"] = sensor->EstadoLeitura;
sensorData["Potencia"] = sensor->PotenciaLeitura;
sensorData["Pressao"] = sensor->_PressaoAtual;
sensorData["Potencia"] = sensor->PercentualPotenciaLeitura;
}
// Array JSON para sensores de fluxo
@ -277,7 +273,7 @@ void ProcessarCfg(ProtocoloSerial Mensagem) {
break;
}
case sBMB: {
BombaPressurizadora::InicializarLista(listaBombas, config, Mod_ID);
BombaPressurizadora::InicializarLista(listaBombas, config, Mod_ID, listaSensoresPressao);
break;
}
case sFLX: {

View File

@ -1,4 +1,5 @@
#include "SerialService.h"
#include "SensorPressaoModel.h"
#include "Pinout.h"
#include "Utils.h"
#include <PID_v1.h>
@ -9,7 +10,7 @@
class BombaPressurizadora {
public:
static void InicializarLista(std::vector<BombaPressurizadora*>& lista, const String& parametros, const String& Mod_ID);
static void InicializarLista(std::vector<BombaPressurizadora*>& lista, const String& parametros, const String& Mod_ID, std::vector<SensorPressao*>& sensoresPressao);
BombaPressurizadora(String _modID, String _id) {
Mod_ID = _modID;
@ -32,6 +33,8 @@ class BombaPressurizadora {
bool bombaDesligadaPorPressao = false;
PID* _PID = nullptr;
SensorPressao* sensorPressao;
int ZeroRampa = 0;
int RampaMax = 1023;
@ -40,7 +43,7 @@ class BombaPressurizadora {
// Consumo
Estado EstadoLeitura = Desligado;
double PotenciaLeitura = 0;
double _PressaoAtual = 0.0;
double PercentualPotenciaLeitura = 0;
// Entrada de dados
Estado _EstadoControle = Desligado;
@ -66,7 +69,7 @@ class BombaPressurizadora {
ledcWrite(_canal, _PressaoSP);
}
_PID = new PID(&_PressaoAtual, &PotenciaLeitura, &_PressaoSP, _Kp, _Ki, _Kd, DIRECT);
_PID = new PID(&sensorPressao->Pressao, &PotenciaLeitura, &_PressaoSP, _Kp, _Ki, _Kd, DIRECT);
_PID->SetOutputLimits(ZeroRampa, RampaMax);
_PID->SetMode(AUTOMATIC);
@ -99,6 +102,7 @@ class BombaPressurizadora {
void AtualizarLeitura() {
EstadoLeitura = _pinoEN.get() == 1 ? Ligado : Desligado;
PercentualPotenciaLeitura = (PotenciaLeitura / RampaMax) * 100;
}
void AlterarStatusBomba() {
@ -110,26 +114,31 @@ class BombaPressurizadora {
}
void Loop() {
if (Iniciado) {
// Supondo que PressaoAtual seja atualizado em AtualizarStatusSensor()
if (_PressaoAtual >= (_PressaoSP + histerese)) {
// Desliga a bomba se a pressão estiver acima do set point + histerese
bombaDesligadaPorPressao = true;
} else if (_PressaoAtual <= (_PressaoSP - histerese) && bombaDesligadaPorPressao) {
// Permite que o PID atue novamente se a pressão cair abaixo do set point - histerese
bombaDesligadaPorPressao = false;
if (sensorPressao != nullptr) {
sensorPressao->AferirPressao();
double _PressaoAtual = sensorPressao->Pressao; // Obtém a leitura mais recente
if (Iniciado) {
// Supondo que PressaoAtual seja atualizado em AtualizarStatusSensor()
if (_PressaoAtual >= (_PressaoSP + histerese)) {
// Desliga a bomba se a pressão estiver acima do set point + histerese
bombaDesligadaPorPressao = true;
} else if (_PressaoAtual <= (_PressaoSP - histerese) && bombaDesligadaPorPressao) {
// Permite que o PID atue novamente se a pressão cair abaixo do set point - histerese
bombaDesligadaPorPressao = false;
}
if (_EstadoControle == Desligado || bombaDesligadaPorPressao) {
PotenciaLeitura = ZeroRampa;
} else {
_PID->Compute();
// Ajusta PotenciaAtual com base no PID
}
ledcWrite(_canal, PotenciaLeitura);
AtualizarLeitura();
}
if (_EstadoControle == Desligado || bombaDesligadaPorPressao) {
PotenciaLeitura = ZeroRampa;
} else {
_PID->Compute();
// Ajusta PotenciaAtual com base no PID
}
ledcWrite(_canal, PotenciaLeitura);
AtualizarLeitura();
}
}
@ -138,7 +147,7 @@ class BombaPressurizadora {
// Função para inicializar as bombas pressurizadoras com IDs e pinos específicos
void BombaPressurizadora::InicializarLista(std::vector<BombaPressurizadora*>& lista, const String& parametros, const String& Mod_ID) {
void BombaPressurizadora::InicializarLista(std::vector<BombaPressurizadora*>& lista, const String& parametros, const String& Mod_ID, std::vector<SensorPressao*>& sensoresPressao) {
// Verifica se há sensores já na lista
if (!lista.empty()) {
PrintTela("Limpando lista de bombas pressurizadoras existente...");
@ -152,47 +161,58 @@ void BombaPressurizadora::InicializarLista(std::vector<BombaPressurizadora*>& li
lista.clear(); // Limpa a lista após desligar todos os itens
}
int idx = 0;
if (parametros.length() > 0) {
std::vector<String> _config = SplitString(parametros, SplitConfig); // Divide a configuração por vírgulas
for (const String& config : _config) {
std::vector<String> partes = SplitString(config, SplitSubParams); // Divide cada configuração pelo '-'
if (idx < sensoresPressao.size()) {
std::vector<String> _config = SplitString(parametros, SplitConfig); // Divide a configuração por *
if (partes.size() == 13) {
String id = partes[0];
bool conectar = partes[1] == "1";
double pressaoSP = partes[2].toDouble();
TiposBarramentos enB = (TiposBarramentos)partes[3].toInt();
int pinoEN = partes[4].toInt();
TiposBarramentos csB = (TiposBarramentos)partes[5].toInt();
int pinoCS = partes[6].toInt();
TiposBarramentos inaB = (TiposBarramentos)partes[7].toInt();
int pinoINA = partes[8].toInt();
TiposBarramentos inbB = (TiposBarramentos)partes[9].toInt();
int pinoINB = partes[10].toInt();
TiposBarramentos pwmB = (TiposBarramentos)partes[11].toInt();
int pinoPWM = partes[12].toInt();
for (const String& config : _config) {
std::vector<String> partes = SplitString(config, SplitSubParams); // Divide cada configuração pelo '~'
if (conectar) {
BombaPressurizadora* bomba = new BombaPressurizadora(Mod_ID, id);
bomba->_PressaoSP = pressaoSP;
bomba->_pinoEN = PinoModel(pinoEN, enB, _OUTPUT);
bomba->_pinoCS = PinoModel(pinoCS, csB, _INPUT, DIGITAL);
bomba->_pinoINA = PinoModel(pinoINA, inaB, _OUTPUT);
bomba->_pinoINB = PinoModel(pinoINB, inbB, _OUTPUT);
bomba->_pinoPWM = PinoModel(pinoPWM, pwmB, _PWM);
bomba->Inicializar();
lista.push_back(bomba);
PrintTela("Bomba " + id + " inicializado com pressao SP" + String(pressaoSP));
if (partes.size() == 13) {
String id = partes[0];
bool conectar = partes[1] == "1";
double pressaoSP = partes[2].toDouble();
TiposBarramentos enB = (TiposBarramentos)partes[3].toInt();
int pinoEN = partes[4].toInt();
TiposBarramentos csB = (TiposBarramentos)partes[5].toInt();
int pinoCS = partes[6].toInt();
TiposBarramentos inaB = (TiposBarramentos)partes[7].toInt();
int pinoINA = partes[8].toInt();
TiposBarramentos inbB = (TiposBarramentos)partes[9].toInt();
int pinoINB = partes[10].toInt();
TiposBarramentos pwmB = (TiposBarramentos)partes[11].toInt();
int pinoPWM = partes[12].toInt();
if (conectar) {
BombaPressurizadora* bomba = new BombaPressurizadora(Mod_ID, id);
bomba->_PressaoSP = pressaoSP;
bomba->_pinoEN = PinoModel(pinoEN, enB, _OUTPUT);
bomba->_pinoCS = PinoModel(pinoCS, csB, _INPUT, DIGITAL);
bomba->_pinoINA = PinoModel(pinoINA, inaB, _OUTPUT);
bomba->_pinoINB = PinoModel(pinoINB, inbB, _OUTPUT);
bomba->_pinoPWM = PinoModel(pinoPWM, pwmB, _PWM);
bomba->sensorPressao = sensoresPressao[idx];
bomba->Inicializar();
lista.push_back(bomba);
PrintTela("Bomba " + id + " inicializado com pressao SP " + String(pressaoSP) + " e sensor de pressao " + sensoresPressao[idx]->_ID);
}
} else {
PrintTela("Configuração inválida para bomba pressurizadora: " + config);
}
} else {
PrintTela("Configuração inválida para bomba pressurizadora: " + config);
idx++;
}
} else {
PrintTela("Impossivel inicializar Bomba sem um sensor de pressao inicializado.");
}
} else {
PrintTela("Configuração de bomba pressurizadora não encontrada.");
}
}

View File

@ -107,6 +107,7 @@ void Rele::InicializarLista(std::vector<Rele*>& lista, const String& parametros,
if (conectar) {
Rele* sensor = new Rele(Mod_ID, id);
sensor->_pino = PinoModel(pino, pinoB, _OUTPUT);
sensor->AtuacaoNivelAlto = atuacaoAlto;
sensor->Inicializar();
lista.push_back(sensor);
PrintTela("Rele " + id + " inicializado no pino " + String(pino));

View File

@ -106,7 +106,7 @@ void SensorMassa::InicializarLista(std::vector<SensorMassa*>& lista, const Strin
if (conectar) {
SensorMassa* sensor = new SensorMassa(Mod_ID, id);
sensor->_pinoDT = PinoModel(pinoDt, pinoDtB, _INPUT, DIGITAL);
sensor->_pinoSCK = PinoModel(pinoSck, pinoSckB, _INPUT, DIGITAL);
sensor->_pinoSCK = PinoModel(pinoSck, pinoSckB, _OUTPUT);
sensor->Inicializar();
lista.push_back(sensor);

View File

@ -1,6 +1,7 @@
#include "SerialService.h"
#include "Pinout.h"
#include "Utils.h"
#include <SimpleKalmanFilter.h>
#ifndef SensorPressaoModel
#define SensorPressaoModel