ajustado ultimos timers

This commit is contained in:
Diego Freitas 2024-11-25 14:49:02 -03:00
parent fb7ad9684f
commit 1c2eec141d
25 changed files with 604 additions and 285 deletions

Binary file not shown.

View File

@ -12,7 +12,7 @@ namespace AgroBase.Forms.IHM
{
public partial class frmDialogoMapa : Form
{
System.Timers.Timer tmrLeitura = new System.Timers.Timer() { Interval = 500 };
AsyncTaskTimerModel tmrLeitura;
private ulong CodigoFalha = 0;
public frmDialogoMapa()
@ -28,8 +28,6 @@ namespace AgroBase.Forms.IHM
pnlJoystick.GetType().GetMethod("SetStyle", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).Invoke(pnlJoystick, new object[] { ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true });
pnlFreio.GetType().GetMethod("SetStyle", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).Invoke(pnlFreio, new object[] { ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true });
tmrLeitura.Elapsed += tmrLeitura_Elapsed;
cmbModoControle.Items.Clear();
cmbModoControle.Items.AddRange(Enum.GetNames(typeof(Enums.TipoMovimentoDirecional)));
cmbModoControle.SelectedIndexChanged += CmbModoControle_SelectedIndexChanged;
@ -58,14 +56,13 @@ namespace AgroBase.Forms.IHM
private void frmDialogoMapa_Load(object sender, EventArgs e)
{
tmrLeitura = new AsyncTaskTimerModel(tmrLeitura_Tick, 500, this);
tmrLeitura.Start();
}
private void frmDialogoMapa_FormClosing(object sender, FormClosingEventArgs e)
{
tmrLeitura.Stop();
tmrLeitura.Elapsed -= tmrLeitura_Elapsed;
tmrLeitura.Dispose();
Variaveis.OperacaoEmAndamento.DesligarCameras();
}
@ -86,61 +83,59 @@ namespace AgroBase.Forms.IHM
});
}
private void tmrLeitura_Elapsed(object sender, EventArgs e)
private async Task tmrLeitura_Tick()
{
pnlOrientacao.Invoke((MethodInvoker)delegate {
pnlOrientacao.Invalidate();
pnlInclinacao.Invalidate();
pnlOrientacao.Invalidate();
pnlInclinacao.Invalidate();
var ultimaLeitura = Variaveis.OperacaoEmAndamento.CamerasSolo.OrderByDescending(x => x.Leitura.timestamp).FirstOrDefault();
if (ultimaLeitura != null)
{
lblUltimaLeituraSolo.Text = "Última Leitura Solo: " + FuncoesGlobais.TimestampToDate(ultimaLeitura.Leitura.timestamp);
}
if (Variaveis.OperacaoEmAndamento.CameraCaminhoKinect != null)
{
lblUltimaLeituraCaminho.Text = "Última Leitura Caminho: " + FuncoesGlobais.TimestampToDate(Variaveis.OperacaoEmAndamento.CameraCaminhoKinect.Leitura.timestamp);
}
lblPerformance.Text = Variaveis.OperacaoEmAndamento.PerformanceStr;
var ultimaLeitura = Variaveis.OperacaoEmAndamento.CamerasSolo.OrderByDescending(x => x.Leitura.timestamp).FirstOrDefault();
if (ultimaLeitura != null)
{
lblUltimaLeituraSolo.Text = "Última Leitura Solo: " + FuncoesGlobais.TimestampToDate(ultimaLeitura.Leitura.timestamp);
}
if (Variaveis.OperacaoEmAndamento.CameraCaminhoKinect != null)
{
lblUltimaLeituraCaminho.Text = "Última Leitura Caminho: " + FuncoesGlobais.TimestampToDate(Variaveis.OperacaoEmAndamento.CameraCaminhoKinect.Leitura.timestamp);
}
lblPerformance.Text = Variaveis.OperacaoEmAndamento.PerformanceStr;
lblMapaCarregado.Text = "Operação: " + Variaveis.OperacaoEmAndamento.Descricao;
lblMapaCarregado.Text = "Operação: " + Variaveis.OperacaoEmAndamento.Descricao;
txtModoOperacao.Text = Variaveis.OperacaoEmAndamento.Modo.ToString();
bool opLiberada = Variaveis.OperacaoEmAndamento.OperacaoLiberada;
txtOperacaoLiberada.Text = opLiberada ? "Sim" : "Não";
txtOperacaoLiberada.ForeColor = opLiberada ? Color.Black : Color.Red;
CodigoFalha = Variaveis.OperacaoEmAndamento.RetornaCodigoFalha();
btnCodFalha.Text = CodigoFalha.ToString();
txtStatusAtual.Text = Variaveis.OperacaoEmAndamento.StatusAtual.ToString();
txtIniciadoEm.Text = Variaveis.OperacaoEmAndamento.TimestampInicio == 0 ? "Aguardando" : new DateTime(Variaveis.OperacaoEmAndamento.TimestampInicio).ToString("dd/MM HH:mm:ss");
txtConcluidoEm.Text = Variaveis.OperacaoEmAndamento.TimestampFim == 0 ? "-" : new DateTime(Variaveis.OperacaoEmAndamento.TimestampFim).ToString("dd/MM HH:mm:ss");
txtDistanciaPercorrida.Text = Variaveis.OperacaoEmAndamento.Sensoriamento.DistanciaPercorrida.Sum().ToString("0.00") + " m";
txtTempoOperacao.Text = Variaveis.OperacaoEmAndamento.Tempo.Hours.ToString("00") + ":" + Variaveis.OperacaoEmAndamento.Tempo.Minutes.ToString("00") + ":" + Variaveis.OperacaoEmAndamento.Tempo.Seconds.ToString("00");
txtErvasIdentificadas.Text = Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.ErvasIdentificadas.ToString();
txtHerbicidaAplicado.Text = Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.HerbicidaConsumido.ToString("0.000") + " L";
txtBateriaConsumida.Text = Variaveis.OperacaoEmAndamento.Sensoriamento.BateriaConsumida.ToString("0.00") + " %";
txtModoOperacao.Text = Variaveis.OperacaoEmAndamento.Modo.ToString();
bool opLiberada = Variaveis.OperacaoEmAndamento.OperacaoLiberada;
txtOperacaoLiberada.Text = opLiberada ? "Sim" : "Não";
txtOperacaoLiberada.ForeColor = opLiberada ? Color.Black : Color.Red;
CodigoFalha = Variaveis.OperacaoEmAndamento.RetornaCodigoFalha();
btnCodFalha.Text = CodigoFalha.ToString();
txtStatusAtual.Text = Variaveis.OperacaoEmAndamento.StatusAtual.ToString();
txtIniciadoEm.Text = Variaveis.OperacaoEmAndamento.TimestampInicio == 0 ? "Aguardando" : new DateTime(Variaveis.OperacaoEmAndamento.TimestampInicio).ToString("dd/MM HH:mm:ss");
txtConcluidoEm.Text = Variaveis.OperacaoEmAndamento.TimestampFim == 0 ? "-" : new DateTime(Variaveis.OperacaoEmAndamento.TimestampFim).ToString("dd/MM HH:mm:ss");
txtDistanciaPercorrida.Text = Variaveis.OperacaoEmAndamento.Sensoriamento.DistanciaPercorrida.Sum().ToString("0.00") + " m";
txtTempoOperacao.Text = Variaveis.OperacaoEmAndamento.Tempo.Hours.ToString("00") + ":" + Variaveis.OperacaoEmAndamento.Tempo.Minutes.ToString("00") + ":" + Variaveis.OperacaoEmAndamento.Tempo.Seconds.ToString("00");
txtErvasIdentificadas.Text = Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.ErvasIdentificadas.ToString();
txtHerbicidaAplicado.Text = Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.HerbicidaConsumido.ToString("0.000") + " L";
txtBateriaConsumida.Text = Variaveis.OperacaoEmAndamento.Sensoriamento.BateriaConsumida.ToString("0.00") + " %";
FuncoesGlobais.PreencheValorProgressBar(pgbReservatorio, Variaveis.OperacaoEmAndamento.DispAtu.Dados.PercentualReservatorio);
lblReservatorio.Text = "Reservatório: " + (Variaveis.OperacaoEmAndamento.DispAtu.Dados.PercentualReservatorio < 0 ? 0 : Variaveis.OperacaoEmAndamento.DispAtu.Dados.PercentualReservatorio).ToString("0.00") + "%";
FuncoesGlobais.PreencheValorProgressBar(pgbReservatorio, Variaveis.OperacaoEmAndamento.DispAtu.Dados.PercentualReservatorio);
lblReservatorio.Text = "Reservatório: " + (Variaveis.OperacaoEmAndamento.DispAtu.Dados.PercentualReservatorio < 0 ? 0 : Variaveis.OperacaoEmAndamento.DispAtu.Dados.PercentualReservatorio).ToString("0.00") + "%";
FuncoesGlobais.PreencheValorProgressBar(pgbBateria, Variaveis.OperacaoEmAndamento.Sensoriamento.PorcentagemBateria);
lblBateria.Text = "Bateria: " + (PZEMService.Iniciado && PZEMService.UltimaLeitura != null ? PZEMService.UltimaLeitura.Tensao.ToString("0.00") + "v " + PZEMService.UltimaLeitura.Corrente.ToString("0.00") + "A " : "") + (Variaveis.OperacaoEmAndamento.Sensoriamento.PorcentagemBateria < 0 ? 0 : Variaveis.OperacaoEmAndamento.Sensoriamento.PorcentagemBateria).ToString("0.00") + "%";
FuncoesGlobais.PreencheValorProgressBar(pgbBateria, Variaveis.OperacaoEmAndamento.Sensoriamento.PorcentagemBateria);
lblBateria.Text = "Bateria: " + (PZEMService.Iniciado && PZEMService.UltimaLeitura != null ? PZEMService.UltimaLeitura.Tensao.ToString("0.00") + "v " + PZEMService.UltimaLeitura.Corrente.ToString("0.00") + "A " : "") + (Variaveis.OperacaoEmAndamento.Sensoriamento.PorcentagemBateria < 0 ? 0 : Variaveis.OperacaoEmAndamento.Sensoriamento.PorcentagemBateria).ToString("0.00") + "%";
FuncoesGlobais.PreencheValorProgressBar(pgbOperacao, Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.ProgressoTrajeto);
lblOperacao.Text = "Operação: " + (Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.ProgressoTrajeto < 0 ? 0 : Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.ProgressoTrajeto).ToString("0.00") + "%";
FuncoesGlobais.PreencheValorProgressBar(pgbRuaAtual, Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.ProgressoRua);
lblRuaAtual.Text = "Rua Atual: " + (Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.ProgressoRua < 0 ? 0 : Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.ProgressoRua).ToString("0.00") + "%";
FuncoesGlobais.PreencheValorProgressBar(pgbOperacao, Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.ProgressoTrajeto);
lblOperacao.Text = "Operação: " + (Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.ProgressoTrajeto < 0 ? 0 : Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.ProgressoTrajeto).ToString("0.00") + "%";
FuncoesGlobais.PreencheValorProgressBar(pgbRuaAtual, Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.ProgressoRua);
lblRuaAtual.Text = "Rua Atual: " + (Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.ProgressoRua < 0 ? 0 : Variaveis.OperacaoEmAndamento.OpMapaGPS.Sensoriamento.ProgressoRua).ToString("0.00") + "%";
if (Variaveis.OperacaoEmAndamento.Modo != Enums.ModoOperacao.Manual)
{
cmbModoControle.SelectedIndex = (int)Variaveis.OperacaoEmAndamento.Controle.TipoMovimento;
if (Variaveis.OperacaoEmAndamento.Modo != Enums.ModoOperacao.Manual)
{
cmbModoControle.SelectedIndex = (int)Variaveis.OperacaoEmAndamento.Controle.TipoMovimento;
double Percentual = (Variaveis.OperacaoEmAndamento.Controle.RPM_SP / VariaveisEquipamento.RPM_Max_Roda) * 100.0;
tkbVelocidade.Value = Convert.ToInt32(Percentual);
double Percentual = (Variaveis.OperacaoEmAndamento.Controle.RPM_SP / VariaveisEquipamento.RPM_Max_Roda) * 100.0;
tkbVelocidade.Value = Convert.ToInt32(Percentual);
tkbAnguloDirecional.Value = Math.Abs(Convert.ToInt32(Variaveis.OperacaoEmAndamento.Controle.Angulo));
}
});
tkbAnguloDirecional.Value = Math.Abs(Convert.ToInt32(Variaveis.OperacaoEmAndamento.Controle.Angulo));
}
}
private void pnlOrientacao_Paint(object sender, PaintEventArgs e)

View File

@ -106,30 +106,20 @@ namespace AgroBase
{
AtualizaDadosGerais();
lstDisponiveis.Items.Clear();
lstDisponiveis.Items.AddRange(
SerialService.DispositivosMapeados
.GroupBy(x => x.Dispositivo)
.Select(x => new ListViewItem()
{
Text =
x.FirstOrDefault().Endereco + " - " + Enum.GetName(typeof(T_Code), x.Key) + " v" + x.FirstOrDefault().Versao +
(SerialService.DispositivosMultiplos.Contains(x.FirstOrDefault().Dispositivo) ? (" (" + string.Join(", ", x.Where(y => y.Conectado).Select(y => y.Mod_ID)) + ")") :
"") + " - " +
(x.Any(y => y.Conectado) ? "Conectado" : "Desconectado")
}).ToArray()
);
if (SerialService.DispositivosMapeados.Count == 0)
{
Variaveis.DispositivosConectados.Where(x => x.Dados.GetStatusConexao()).ToList().ForEach(x => x.AcaoDesconectar());
}
Variaveis.DispositivosConectados.ForEach(x =>
else
{
x.AcaoConexao();
});
Variaveis.DispositivosConectados.ForEach(x =>
{
if (x.Dados.GetStatusConexao())
{
x.AcaoConexao();
}
});
}
lblStripMqtt.Text = "MQTT: " + (Variaveis.MqttService.StatusConexao() ? "Conectado" : "Desconectado");
@ -147,6 +137,22 @@ namespace AgroBase
public void AtualizaDadosGerais()
{
lstDisponiveis.Items.Clear();
lstDisponiveis.Items.AddRange(
SerialService.DispositivosMapeados
.GroupBy(x => x.Dispositivo)
.Select(x => new ListViewItem()
{
Text =
x.FirstOrDefault().Endereco + " - " + Enum.GetName(typeof(T_Code), x.Key) + " v" + x.FirstOrDefault().Versao +
(SerialService.DispositivosMultiplos.Contains(x.FirstOrDefault().Dispositivo) ? (" (" + string.Join(", ", x.Where(y => y.Conectado).Select(y => y.Mod_ID)) + ")") :
"") + " - " +
(x.Any(y => y.Conectado) ? "Conectado" : "Desconectado")
}).ToArray()
);
tkbVelocidade.Minimum = 0;
tkbVelocidade.Maximum = 100;
FuncoesGlobais.PreencheValorTrackBar(tkbVelocidade, Variaveis.OperacaoEmAndamento.Controle.VelocidadeMP);

View File

@ -1,4 +1,5 @@
using System;
using AgroBase.Services;
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
@ -10,9 +11,12 @@ namespace AgroBase.Models
private CancellationTokenSource _cancellationTokenSource;
private Func<Task> _taskToExecute;
private int _interval; // Intervalo em milissegundos
private string _id;
public int Interval { get { return _interval; } }
private Control _uiControl;
private bool DebugMessages = true;
/// <summary>
/// Inicializa uma nova instância do AsyncTaskTimerService.
/// </summary>
@ -24,6 +28,7 @@ namespace AgroBase.Models
if (taskToExecute == null) throw new ArgumentNullException(nameof(taskToExecute));
if (interval <= 0) throw new ArgumentException("Interval must be greater than zero.", nameof(interval));
_id = ObterIdDoChamador();
_taskToExecute = taskToExecute;
_interval = interval;
_uiControl = uiControl;
@ -37,6 +42,7 @@ namespace AgroBase.Models
if (_cancellationTokenSource != null) return;
_cancellationTokenSource = new CancellationTokenSource();
ExibirConsole($"START");
Task.Run(() => TimerLoopAsync(_cancellationTokenSource.Token));
}
@ -49,6 +55,8 @@ namespace AgroBase.Models
_cancellationTokenSource.Cancel();
_cancellationTokenSource = null;
ExibirConsole($"STOP");
}
/// <summary>
@ -58,6 +66,8 @@ namespace AgroBase.Models
{
Stop();
Start();
ExibirConsole($"RESTART");
}
/// <summary>
@ -73,6 +83,8 @@ namespace AgroBase.Models
{
Start();
}
ExibirConsole($"TOOGLE");
}
/// <summary>
@ -97,6 +109,8 @@ namespace AgroBase.Models
{
while (!cancellationToken.IsCancellationRequested)
{
//ExibirConsole($"TICK");
try
{
if (_uiControl != null)
@ -116,16 +130,35 @@ namespace AgroBase.Models
catch (OperationCanceledException)
{
// Cancelamento solicitado
ExibirConsole($"CANCEL");
break;
}
catch (Exception ex)
{
// Tratar erros inesperados
ExibirConsole($"ERROR");
Console.WriteLine($"Erro no timer: {ex.Message}");
}
}
Console.WriteLine("Timer encerrado.");
ExibirConsole($"ENCERRADO");
}
private string ObterIdDoChamador()
{
var stackTrace = new System.Diagnostics.StackTrace();
var frame = stackTrace.GetFrame(2); // Obter o chamador que instanciou este objeto
var method = frame.GetMethod();
return $"{method.DeclaringType?.Name}.{method.Name}";
}
private void ExibirConsole(string msg)
{
if (DebugMessages)
{
Console.WriteLine($"AsyncTaskTimer id = {_id} - {msg}");
}
}

View File

@ -14,8 +14,8 @@ namespace AgroBase.Models
{
public class CameraCaminhoModel
{
public System.Timers.Timer tmrProcesso;
public System.Timers.Timer tmrLeitura;
public AsyncTaskTimerModel tmrProcesso;
public AsyncTaskTimerModel tmrLeitura;
public Bitmap bitmapSegmentado;
public string ID { get; set; }
@ -59,17 +59,13 @@ namespace AgroBase.Models
{
if (tmrProcesso == null)
{
tmrProcesso = new System.Timers.Timer();
tmrProcesso.Interval = 500;
tmrProcesso.Elapsed += TmrProcesso_Elapsed;
tmrProcesso = new AsyncTaskTimerModel(tmrProcesso_Tick, 500);
tmrProcesso.Start();
}
if (tmrLeitura == null)
{
tmrLeitura = new System.Timers.Timer();
tmrLeitura.Interval = 100;
tmrLeitura.Elapsed += TmrLeitura_Elapsed;
tmrLeitura = new AsyncTaskTimerModel(tmrLeitura_Tick, 100);
tmrLeitura.Start();
}
}
@ -106,14 +102,14 @@ namespace AgroBase.Models
}
}
private void TmrProcesso_Elapsed(object sender, EventArgs e)
private async Task tmrProcesso_Tick()
{
if (camera._mqttTopico != null)
{
var Mensagem = camera._mqttTopico.Mensagens.FirstOrDefault(y => y.Momento > camera.IniciadoEm && y.Mensagem == "OK");
if (Mensagem != null)
{
((System.Timers.Timer)sender).Stop();
tmrProcesso.Stop();
camera.ProntoEm = Mensagem.Momento;
@ -133,10 +129,8 @@ namespace AgroBase.Models
}
}
private async void TmrLeitura_Elapsed(object sender, EventArgs e)
private async Task tmrLeitura_Tick()
{
((System.Timers.Timer)sender).Stop();
if (Iniciada)
{
DateTime Agora = DateTime.Now;
@ -151,8 +145,6 @@ namespace AgroBase.Models
await EnviarBitmapParaProcessamento(bitmap);
}
}
((System.Timers.Timer)sender).Start();
}
public async Task EnviarBitmapParaProcessamento(Bitmap bitmap)

View File

@ -2,45 +2,39 @@
using CefSharp.WinForms;
using System;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AgroBase.Models
{
public class CameraSoloModel
{
public System.Timers.Timer tmrProcesso = new System.Timers.Timer() { Interval = 500, Enabled = false };
public AsyncTaskTimerModel tmrProcesso;
public CameraSoloModel()
{
tmrProcesso.Elapsed += TmrProcesso_Elapsed;
tmrProcesso = new AsyncTaskTimerModel(tmrProcesso_Tick, 500);
tmrProcesso.Start();
}
private void TmrProcesso_Elapsed(object sender, EventArgs e)
private async Task tmrProcesso_Tick()
{
if (camera._mqttTopico != null)
{
var Mensagem = camera._mqttTopico.Mensagens.FirstOrDefault(y => y.Momento > camera.IniciadoEm && y.Mensagem == "OK");
if (Mensagem != null)
{
((System.Timers.Timer)sender).Stop();
tmrProcesso.Stop();
camera.ProntoEm = Mensagem.Momento;
Func<bool> func = new Func<bool>(() =>
if (browser == null)
{
if (browser == null)
{
Iniciada = true;
browser = new ChromiumWebBrowser(camera.URLcamera);
panel.Controls.Add(browser);
browser.Dock = DockStyle.Fill;
}
return true;
});
FuncoesGlobais.ExecutarMetodoComVerificacaoCrossThread(panel, func);
Iniciada = true;
browser = new ChromiumWebBrowser(camera.URLcamera);
panel.Controls.Add(browser);
browser.Dock = DockStyle.Fill;
}
}
}
}

View File

@ -537,7 +537,7 @@ namespace AgroBase.Models
picLoading.Visible = true;
pnlMapa.Controls.Add(picLoading);
tmrCarregamento = new AsyncTaskTimerModel(tmrCarregamento_Tick, 500);
tmrCarregamento = new AsyncTaskTimerModel(tmrCarregamento_Tick, 500, pnlMapa);
tmrCarregamento.Start();
}
}

View File

@ -572,24 +572,24 @@ namespace AgroBase.Models.Modules
string[] Dados = mensagem.Replace(SerialService.BeginSensor, "").Split(SerialService.EndLine[0])[0].Split(';');
int cod = 0;
int.TryParse(Dados[0], out cod);
if (cod == 0)
int.TryParse((Dados[0] ?? ""), out cod);
if (cod == 0 || Dados.Length < 3)
{
return;
}
S_Code TipoSensor = (S_Code)(cod);
SensorModel Sensor = Sensores.FirstOrDefault(x => x.ID == Dados[1]);
SensorSinaleiroModel Sinaleiro = Sinaleiros.FirstOrDefault(x => x.ID == Dados[1]);
SensorReleModel Rele = Reles.FirstOrDefault(x => x.ID == Dados[1]);
SensorServoModel Servo = Servos.FirstOrDefault(x => x.ID == Dados[1]);
SensorModel Sensor = Sensores.FirstOrDefault(x => x.ID == (Dados[1] ?? ""));
SensorSinaleiroModel Sinaleiro = Sinaleiros.FirstOrDefault(x => x.ID == (Dados[1] ?? ""));
SensorReleModel Rele = Reles.FirstOrDefault(x => x.ID == (Dados[1] ?? ""));
SensorServoModel Servo = Servos.FirstOrDefault(x => x.ID == (Dados[1] ?? ""));
if (Sensor == null && Sinaleiro == null && Rele == null && Servo == null)
{
if (Dados[1] == "MD")
if ((Dados[1] ?? "") == "MD")
{
Conectado = Dados[2] == "1";
Conectado = (Dados[2] ?? "") == "1";
_MensagemConexaoRecebida = true;
}
return;
@ -601,7 +601,7 @@ namespace AgroBase.Models.Modules
switch (TipoSensor)
{
case S_Code.sCFG:
bool iniciado = Dados[2] == "1";
bool iniciado = (Dados[2] ?? "") == "1";
if (Sensor != null)
{
Sensor.Inicializado = iniciado;
@ -622,13 +622,13 @@ namespace AgroBase.Models.Modules
case S_Code.sCOR:
{
double vBarramento = -1;
double.TryParse(Dados[2].Replace(".", ","), out vBarramento);
double.TryParse((Dados[2] ?? "").Replace(".", ","), out vBarramento);
double vShunt = -1;
double.TryParse(Dados[3].Replace(".", ","), out vShunt);
double.TryParse((Dados[3] ?? "").Replace(".", ","), out vShunt);
double corrente = -1;
double.TryParse(Dados[4].Replace(".", ","), out corrente);
double.TryParse((Dados[4] ?? "").Replace(".", ","), out corrente);
double potencia = -1;
double.TryParse(Dados[5].Replace(".", ","), out potencia);
double.TryParse((Dados[5] ?? "").Replace(".", ","), out potencia);
Sensor.Leituras = new List<double>()
{
@ -644,7 +644,7 @@ namespace AgroBase.Models.Modules
case S_Code.sTEN:
{
double leitura = -1;
double.TryParse(Dados[2].Replace(".", ","), out leitura);
double.TryParse((Dados[2] ?? "").Replace(".", ","), out leitura);
double Vcc = 3.3;
double Voffset = double.Parse(Sensor.Parametros[0][1]);
@ -678,7 +678,7 @@ namespace AgroBase.Models.Modules
case S_Code.sTMP:
{
double temp = -1;
double.TryParse(Dados[2].Replace(".", ","), out temp);
double.TryParse((Dados[2] ?? "").Replace(".", ","), out temp);
double Tc = FuncoesMatematicas.CalcularTemperatura(temp, double.Parse(Sensor.Parametros[0][1].Replace(".", ",")));
@ -695,9 +695,9 @@ namespace AgroBase.Models.Modules
case S_Code.sULT:
{
double distancia = -1;
double.TryParse(Dados[2].Replace(".", ","), out distancia);
double.TryParse((Dados[2] ?? "").Replace(".", ","), out distancia);
int duracao = -1;
int.TryParse(Dados[3], out duracao);
int.TryParse((Dados[3] ?? ""), out duracao);
Sensor.Leituras = new List<double>()
{
@ -720,13 +720,13 @@ namespace AgroBase.Models.Modules
case S_Code.sMAG:
{
int x = -1;
int.TryParse(Dados[2], out x);
int.TryParse((Dados[2] ?? ""), out x);
int y = -1;
int.TryParse(Dados[3], out y);
int.TryParse((Dados[3] ?? ""), out y);
int z = -1;
int.TryParse(Dados[4], out z);
int.TryParse((Dados[4] ?? ""), out z);
double angulo = -1;
double.TryParse(Dados[5].Replace(".", ","), out angulo);
double.TryParse((Dados[5] ?? "").Replace(".", ","), out angulo);
Sensor.Leituras = new List<double>()
{
@ -744,11 +744,11 @@ namespace AgroBase.Models.Modules
case S_Code.sSNR:
{
int distancia = -1;
int.TryParse(Dados[2], out distancia);
int.TryParse((Dados[2] ?? ""), out distancia);
int angulo = -1;
int.TryParse(Dados[3], out angulo);
int.TryParse((Dados[3] ?? ""), out angulo);
int posicao = -1;
int.TryParse(Dados[4], out posicao);
int.TryParse((Dados[4] ?? ""), out posicao);
Sensor.Leituras = new List<double>()
{
@ -834,16 +834,16 @@ namespace AgroBase.Models.Modules
break;
}
case S_Code.sLED:
Sinaleiro.Inicializado = Dados[2] == "1";
Sinaleiro.Inicializado = (Dados[2] ?? "") == "1";
Sinaleiro.StatusLED = (StatusLED)Enum.Parse(typeof(StatusLED), Dados[3]);
break;
case S_Code.sRLE:
Rele.Inicializado = Dados[2] == "1";
Rele.Inicializado = (Dados[2] ?? "") == "1";
Rele.StatusLeitura = (Estado)Enum.Parse(typeof(Estado), Dados[3]);
break;
case S_Code.sFRO:
Servo.Inicializado = Dados[2] == "1";
int.TryParse(Dados[3], out int _angulo);
Servo.Inicializado = (Dados[2] ?? "") == "1";
int.TryParse((Dados[3] ?? ""), out int _angulo);
Servo._AnguloLeitura = _angulo;
break;

View File

@ -26,21 +26,11 @@ namespace AgroBase.Models
public OperacaoModel(ModoOperacao Modo)
{
this.Modo = Modo;
if (tmrLogs == null)
{
tmrLogs = new System.Timers.Timer() { Interval = 1000, Enabled = false };
tmrLogs.Elapsed -= TmrLogs_Elapsed;
tmrLogs.Elapsed += TmrLogs_Elapsed;
}
tmrLogs = new AsyncTaskTimerModel(tmrLogs_Tick, 1000);
tmrLogs.Start();
if (tmrLeituras == null)
{
tmrLeituras = new System.Timers.Timer() { Interval = 500, Enabled = false };
tmrLeituras.Elapsed -= TmrLeituras_Elapsed;
tmrLeituras.Elapsed += TmrLeituras_Elapsed;
}
tmrLeituras = new AsyncTaskTimerModel(tmrLeituras_Tick, 500, chartGraficos);
tmrLeituras.Start();
if (computer == null)
@ -292,11 +282,11 @@ namespace AgroBase.Models
}
set
{
tmrLogs.Interval = value;
tmrLogs.SetInterval((int)value);
}
}
private static System.Timers.Timer tmrLogs = null;
private static System.Timers.Timer tmrLeituras = null;
private static AsyncTaskTimerModel tmrLogs;
private static AsyncTaskTimerModel tmrLeituras;
public Chart chartGraficos = new Chart();
private static Computer computer;
public string PerformanceStr
@ -1300,13 +1290,10 @@ namespace AgroBase.Models
Controle.BicosAtuados = new List<AtuadorBicoModel>(Variaveis.OperacaoEmAndamento.DispAtu.Dados.BicosPulverizadores);
}
private void TmrLeituras_Elapsed(object sender, EventArgs e)
private async Task tmrLeituras_Tick()
{
((System.Timers.Timer)sender).Stop();
if (Variaveis.IsAgroMonitor)
{
((System.Timers.Timer)sender).Start();
return;
}
@ -1315,8 +1302,6 @@ namespace AgroBase.Models
if (!Variaveis.OperacaoEmAndamento.OperacaoLiberada && Variaveis.OperacaoEmAndamento.Iniciado)
{
PararCarroOperacaoInterrompida();
((System.Timers.Timer)sender).Start();
return;
}
@ -1352,7 +1337,7 @@ namespace AgroBase.Models
try
{
AtualizarGrafico();
//AtualizarGrafico();
}
catch (Exception ex)
{
@ -1363,8 +1348,6 @@ namespace AgroBase.Models
{
AtualizaInformacoesControleOperacao();
}
((System.Timers.Timer)sender).Start();
}
private void AtualizaLeituraCameraSolo(CameraSoloModel CameraSolo)
@ -1574,76 +1557,69 @@ namespace AgroBase.Models
double Maximo = 0;
Chart chart = Variaveis.OperacaoEmAndamento.chartGraficos;
Func<bool> funcAttGrafico = new Func<bool>(() =>
try
{
try
if (chart.IsDisposed)
{
if (chart.IsDisposed)
{
return false;
}
chart.Titles.Clear();
chart.Titles.Add("Acompanhamento");
//var Logs = (Motor.LogGrafico.Count > MovimentacaoModel.LogsManter ? Motor.LogGrafico.Skip(Math.Max(0, Motor.LogGrafico.Count - MovimentacaoModel.LogsManter)).Take(MovimentacaoModel.LogsManter).ToList() : Motor.LogGrafico).Where(log => log.Modulo_ID == Modulo.Modulo_ID).ToList();
chart.Series.Clear();
List<string> Momentos = Logs.Select(x => x.Momento.ToString("mm:ss:fff")).ToList();
var serieVelocidade = new Series("Velocidade: " + (Log != null ? Log.Velocidade : 0));
serieVelocidade.Points.DataBindXY(Momentos, Logs.Select(x => x.Velocidade).ToList());
serieVelocidade.ChartType = SeriesChartType.Line;
chart.Series.Add(serieVelocidade);
Minimo = !Logs.Any() ? 0 : Logs.Min(x => x.Velocidade) < Minimo ? Logs.Min(x => x.Velocidade) : Minimo;
Maximo = !Logs.Any() ? 0 : Logs.Min(x => x.Velocidade) > Maximo ? Logs.Min(x => x.Velocidade) : Maximo;
var serieRPMsp = new Series("RPM SP: " + (Log != null ? Log.RPM_SP : 0));
serieRPMsp.Points.DataBindXY(Momentos, Logs.Select(x => x.RPM_SP).ToList());
serieRPMsp.ChartType = SeriesChartType.Spline;
chart.Series.Add(serieRPMsp);
Minimo = !Logs.Any() ? 0 : Logs.Min(x => x.RPM_SP) < Minimo ? Logs.Min(x => x.RPM_SP) : Minimo;
Maximo = !Logs.Any() ? 0 : Logs.Max(x => x.RPM_SP) > Maximo ? Logs.Max(x => x.RPM_SP) : Maximo;
var serieRPM = new Series("RPM Roda: " + (Log != null ? Log.RPM_Roda : 0));
serieRPM.Points.DataBindXY(Momentos, Logs.Select(x => x.RPM_Roda).ToList());
serieRPM.ChartType = SeriesChartType.Spline;
chart.Series.Add(serieRPM);
Minimo = !Logs.Any() ? 0 : Logs.Min(x => x.RPM_Roda) < Minimo ? Logs.Min(x => x.RPM_Roda) : Minimo;
Maximo = !Logs.Any() ? 0 : Logs.Max(x => x.RPM_Roda) > Maximo ? Logs.Max(x => x.RPM_Roda) : Maximo;
var serieMotor = new Series("RPM Motor: " + (Log != null ? Log.RPM_Motor : 0));
serieMotor.Points.DataBindXY(Momentos, Logs.Select(x => x.RPM_Motor).ToList());
serieMotor.ChartType = SeriesChartType.Spline;
chart.Series.Add(serieMotor);
Minimo = !Logs.Any() ? 0 : Logs.Min(x => x.RPM_Motor) < Minimo ? Logs.Min(x => x.RPM_Motor) : Minimo;
Maximo = !Logs.Any() ? 0 : Logs.Max(x => x.RPM_Motor) > Maximo ? Logs.Max(x => x.RPM_Motor) : Maximo;
var serieTemperatura = new Series("Temperatura: " + (Log != null ? Log.Temperatura : 0));
serieTemperatura.Points.DataBindXY(Momentos, Logs.Select(x => x.Temperatura).ToList());
serieTemperatura.ChartType = SeriesChartType.Line;
chart.Series.Add(serieTemperatura);
Minimo = !Logs.Any() ? 0 : Logs.Min(x => x.Temperatura) < Minimo ? Logs.Min(x => x.Temperatura) : Minimo;
Maximo = !Logs.Any() ? 0 : Logs.Max(x => x.Temperatura) > Maximo ? Logs.Max(x => x.Temperatura) : Maximo;
foreach (var legend in chart.Legends)
{
legend.Docking = Docking.Bottom;
}
if (chart.ChartAreas.Any())
{
chart.ChartAreas[0].AxisY.Minimum = Minimo - 5;
chart.ChartAreas[0].AxisY.Maximum = Maximo + 5;
}
}
catch (Exception ex)
{
Console.WriteLine("Erro ao atualizar gráficos da operação: " + ex.Message);
return;
}
return true;
});
chart.Titles.Clear();
chart.Titles.Add("Acompanhamento");
//var Logs = (Motor.LogGrafico.Count > MovimentacaoModel.LogsManter ? Motor.LogGrafico.Skip(Math.Max(0, Motor.LogGrafico.Count - MovimentacaoModel.LogsManter)).Take(MovimentacaoModel.LogsManter).ToList() : Motor.LogGrafico).Where(log => log.Modulo_ID == Modulo.Modulo_ID).ToList();
chart.Series.Clear();
List<string> Momentos = Logs.Select(x => x.Momento.ToString("mm:ss:fff")).ToList();
FuncoesGlobais.ExecutarMetodoComVerificacaoCrossThread(chart, funcAttGrafico);
var serieVelocidade = new Series("Velocidade: " + (Log != null ? Log.Velocidade : 0));
serieVelocidade.Points.DataBindXY(Momentos, Logs.Select(x => x.Velocidade).ToList());
serieVelocidade.ChartType = SeriesChartType.Line;
chart.Series.Add(serieVelocidade);
Minimo = !Logs.Any() ? 0 : Logs.Min(x => x.Velocidade) < Minimo ? Logs.Min(x => x.Velocidade) : Minimo;
Maximo = !Logs.Any() ? 0 : Logs.Min(x => x.Velocidade) > Maximo ? Logs.Min(x => x.Velocidade) : Maximo;
var serieRPMsp = new Series("RPM SP: " + (Log != null ? Log.RPM_SP : 0));
serieRPMsp.Points.DataBindXY(Momentos, Logs.Select(x => x.RPM_SP).ToList());
serieRPMsp.ChartType = SeriesChartType.Spline;
chart.Series.Add(serieRPMsp);
Minimo = !Logs.Any() ? 0 : Logs.Min(x => x.RPM_SP) < Minimo ? Logs.Min(x => x.RPM_SP) : Minimo;
Maximo = !Logs.Any() ? 0 : Logs.Max(x => x.RPM_SP) > Maximo ? Logs.Max(x => x.RPM_SP) : Maximo;
var serieRPM = new Series("RPM Roda: " + (Log != null ? Log.RPM_Roda : 0));
serieRPM.Points.DataBindXY(Momentos, Logs.Select(x => x.RPM_Roda).ToList());
serieRPM.ChartType = SeriesChartType.Spline;
chart.Series.Add(serieRPM);
Minimo = !Logs.Any() ? 0 : Logs.Min(x => x.RPM_Roda) < Minimo ? Logs.Min(x => x.RPM_Roda) : Minimo;
Maximo = !Logs.Any() ? 0 : Logs.Max(x => x.RPM_Roda) > Maximo ? Logs.Max(x => x.RPM_Roda) : Maximo;
var serieMotor = new Series("RPM Motor: " + (Log != null ? Log.RPM_Motor : 0));
serieMotor.Points.DataBindXY(Momentos, Logs.Select(x => x.RPM_Motor).ToList());
serieMotor.ChartType = SeriesChartType.Spline;
chart.Series.Add(serieMotor);
Minimo = !Logs.Any() ? 0 : Logs.Min(x => x.RPM_Motor) < Minimo ? Logs.Min(x => x.RPM_Motor) : Minimo;
Maximo = !Logs.Any() ? 0 : Logs.Max(x => x.RPM_Motor) > Maximo ? Logs.Max(x => x.RPM_Motor) : Maximo;
var serieTemperatura = new Series("Temperatura: " + (Log != null ? Log.Temperatura : 0));
serieTemperatura.Points.DataBindXY(Momentos, Logs.Select(x => x.Temperatura).ToList());
serieTemperatura.ChartType = SeriesChartType.Line;
chart.Series.Add(serieTemperatura);
Minimo = !Logs.Any() ? 0 : Logs.Min(x => x.Temperatura) < Minimo ? Logs.Min(x => x.Temperatura) : Minimo;
Maximo = !Logs.Any() ? 0 : Logs.Max(x => x.Temperatura) > Maximo ? Logs.Max(x => x.Temperatura) : Maximo;
foreach (var legend in chart.Legends)
{
legend.Docking = Docking.Bottom;
}
if (chart.ChartAreas.Any())
{
chart.ChartAreas[0].AxisY.Minimum = Minimo - 5;
chart.ChartAreas[0].AxisY.Maximum = Maximo + 5;
}
}
catch (Exception ex)
{
Console.WriteLine("Erro ao atualizar gráficos da operação: " + ex.Message);
}
}
public void ExecutaComandoDaBase(OperacaoControleBaseModel controleBase)
@ -1781,18 +1757,14 @@ namespace AgroBase.Models
private int idxLog = 0;
private void TmrLogs_Elapsed(object sender, EventArgs e)
private async Task tmrLogs_Tick()
{
((System.Timers.Timer)sender).Stop();
if (Variaveis.OperacaoEmAndamento.Iniciado)
{
SalvarLogs(false);
}
AtualizarSinaleiroOperacao();
((System.Timers.Timer)sender).Start();
}
public void SalvarLogs(bool Fim)

View File

@ -25,7 +25,7 @@ namespace AgroBase.Services
public string URLcamera = "";
public void IniciarCamera(string Script, string[] Argumentos, string FlaskPorta, string FlaskUrl, string MqttTopico, System.Timers.Timer tmrProcesso)
public void IniciarCamera(string Script, string[] Argumentos, string FlaskPorta, string FlaskUrl, string MqttTopico, AsyncTaskTimerModel tmrProcesso)
{
if (_mqttTopico == null)
{

View File

@ -473,7 +473,7 @@ namespace AgroBase.Comum
Size = new System.Drawing.Size() { Height = 141, Width = 300 },
ReadOnly = true
};
tmrLimpeza = new AsyncTaskTimerModel(tmrLimpeza_Tick, 1000);
tmrLimpeza = new AsyncTaskTimerModel(tmrLimpeza_Tick, 1000, frmInstancial.frmPrincipal);
Button btnConfig = new Button()
{

View File

@ -519,45 +519,38 @@ namespace AgroBase.Services
public static void AtualizarDispositivos()
{
Func<bool> funcao = new Func<bool>(() =>
bool PrimeiraExecucao = !Variaveis.DispositivosConectados.Any();
DispositivosConexaoInicial.ForEach(Dispositivo =>
{
bool PrimeiraExecucao = !Variaveis.DispositivosConectados.Any();
DispositivosConexaoInicial.ForEach(Dispositivo =>
IDispositivosService dispositivoService = Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == Dispositivo);
if (dispositivoService == null)
{
IDispositivosService dispositivoService = Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == Dispositivo);
if (dispositivoService == null)
{
dispositivoService = DispositivosServiceFactory.CreateDispositivoService(
Dispositivo,
"Nome: " + Enum.GetName(typeof(T_Code), Dispositivo),
"Descrição: " + string.Join(", ", DispositivosMapeados.Where(x => x.Dispositivo == Dispositivo).Select(x => x.Mod_ID).ToArray()),
new SerialPort()
);
Variaveis.DispositivosConectados.Add(dispositivoService);
dispositivoService = DispositivosServiceFactory.CreateDispositivoService(
Dispositivo,
"Nome: " + Enum.GetName(typeof(T_Code), Dispositivo),
"Descrição: " + string.Join(", ", DispositivosMapeados.Where(x => x.Dispositivo == Dispositivo).Select(x => x.Mod_ID).ToArray()),
new SerialPort()
);
Variaveis.DispositivosConectados.Add(dispositivoService);
Control controle = dispositivoService.InstanciarDispositivo(Variaveis.DispositivosConectados.Count - 1);
controle.Location = new System.Drawing.Point(controle.Location.X, controle.Location.Y + (Variaveis.DispositivosConectados.Count * 50));
frmInstancial.frmPrincipal.pnlLateral.Controls.Add(controle);
frmInstancial.frmPrincipal.cmbDispositivos.Items.Add(dispositivoService._Descricao);
}
dispositivoService.AtualizarPortas();
if (dispositivoService.PortaCOM() != "" && !dispositivoService._Porta.IsOpen && (frmInstancial.frmPrincipal.chbConexaoautomatica.Checked || !frmInstancial.DebugMode))
{
dispositivoService.btnConectar_Click(new object(), new EventArgs());
}
});
if (PrimeiraExecucao)
{
Variaveis.OperacaoEmAndamento = OperacaoModel.CarregarParametrosOperacaoPadrao(ModoOperacao.Manual);
Control controle = dispositivoService.InstanciarDispositivo(Variaveis.DispositivosConectados.Count - 1);
controle.Location = new System.Drawing.Point(controle.Location.X, controle.Location.Y + (Variaveis.DispositivosConectados.Count * 50));
frmInstancial.frmPrincipal.pnlLateral.Controls.Add(controle);
frmInstancial.frmPrincipal.cmbDispositivos.Items.Add(dispositivoService._Descricao);
}
return true;
dispositivoService.AtualizarPortas();
if (dispositivoService.PortaCOM() != "" && !dispositivoService._Porta.IsOpen && (frmInstancial.frmPrincipal.chbConexaoautomatica.Checked || !frmInstancial.DebugMode))
{
dispositivoService.btnConectar_Click(new object(), new EventArgs());
}
});
FuncoesGlobais.ExecutarMetodoComVerificacaoCrossThread(frmInstancial.frmPrincipal, funcao);
if (PrimeiraExecucao)
{
Variaveis.OperacaoEmAndamento = OperacaoModel.CarregarParametrosOperacaoPadrao(ModoOperacao.Manual);
}
}
private static async Task<bool> TentarIdentificarDispositivo(SerialPort porta)

View File

@ -91839,3 +91839,344 @@ Parameter name: values
22/11/2024 17:19:25:086 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
22/11/2024 17:19:25:099 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
22/11/2024 17:19:25:112 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 13:31:26:116 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
25/11/2024 13:31:26:631 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
25/11/2024 13:31:27:145 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
25/11/2024 13:31:27:646 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
25/11/2024 13:31:28:166 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
25/11/2024 13:31:28:585 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
25/11/2024 13:31:28:604 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
25/11/2024 13:31:28:617 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
25/11/2024 13:31:28:630 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
25/11/2024 13:31:28:644 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
25/11/2024 13:31:28:657 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
25/11/2024 13:31:28:670 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
25/11/2024 13:31:28:684 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
25/11/2024 13:31:28:697 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
25/11/2024 13:31:28:709 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
25/11/2024 13:31:28:723 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
25/11/2024 13:31:28:737 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
25/11/2024 13:31:28:749 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
25/11/2024 13:31:28:763 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
25/11/2024 13:31:28:776 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
25/11/2024 13:31:28:788 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
25/11/2024 13:31:28:802 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
25/11/2024 13:31:28:814 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
25/11/2024 13:31:28:828 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
25/11/2024 13:31:28:841 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
25/11/2024 13:31:28:853 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
25/11/2024 13:31:28:866 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
25/11/2024 13:31:28:880 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
25/11/2024 13:34:03:974 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
25/11/2024 13:34:04:490 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
25/11/2024 13:34:05:006 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
25/11/2024 13:34:05:522 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
25/11/2024 13:34:06:038 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
25/11/2024 13:34:06:478 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
25/11/2024 13:34:06:526 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
25/11/2024 13:34:06:549 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
25/11/2024 13:34:06:575 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
25/11/2024 13:34:06:602 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
25/11/2024 13:34:06:619 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
25/11/2024 13:34:06:634 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
25/11/2024 13:34:06:645 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
25/11/2024 13:34:06:658 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
25/11/2024 13:34:06:673 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
25/11/2024 13:34:06:685 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
25/11/2024 13:34:06:700 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
25/11/2024 13:34:06:713 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
25/11/2024 13:34:06:727 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
25/11/2024 13:34:06:740 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
25/11/2024 13:34:06:752 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
25/11/2024 13:34:06:766 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
25/11/2024 13:34:06:778 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
25/11/2024 13:34:06:791 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
25/11/2024 13:34:06:805 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
25/11/2024 13:34:06:817 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
25/11/2024 13:34:06:831 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
25/11/2024 13:34:06:844 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
25/11/2024 14:03:30:916 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:31:134 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:31:338 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:31:541 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:31:743 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:31:962 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:32:165 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:32:367 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:32:572 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:32:775 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:32:990 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:33:192 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:33:394 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:33:613 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:33:814 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:34:016 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:34:235 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:34:440 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:34:644 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:34:860 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:35:374 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:03:35:891 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:03:36:095 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:36:316 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:36:533 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:36:738 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:36:940 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:37:144 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:37:348 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:37:552 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:37:755 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:37:972 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:38:178 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:38:394 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:38:597 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:38:799 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:39:005 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:39:208 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:39:410 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:39:613 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:39:816 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:40:021 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:40:539 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:03:41:051 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:03:41:256 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:41:471 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:41:686 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:41:890 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:42:096 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:42:299 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:42:504 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:42:709 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:42:913 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:43:128 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:43:346 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:43:548 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:43:751 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:43:958 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:44:174 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:44:380 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:44:583 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:44:789 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:44:994 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:45:197 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:45:712 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:03:46:239 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:03:46:443 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:46:650 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:46:865 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:47:076 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:47:290 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:47:494 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:47:709 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:47:911 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:48:117 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:48:318 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:48:521 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:48:724 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:48:943 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:49:162 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:49:380 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:49:584 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:49:787 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:49:990 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:50:194 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:50:397 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:50:910 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:03:51:424 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:03:51:628 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:51:831 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:52:034 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:52:235 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:52:452 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:52:656 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:52:873 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:53:077 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:53:296 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:53:513 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:53:715 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:53:931 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:54:134 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:54:338 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:54:543 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:54:747 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:54:951 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:55:169 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:55:373 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:55:591 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:56:096 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:03:56:611 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:03:56:816 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:57:020 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:57:225 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:57:441 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:57:645 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:57:849 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:58:052 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:58:258 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:58:462 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:58:672 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:03:58:885 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:03:59:086 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:03:59:303 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:03:59:506 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:03:59:710 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:03:59:912 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:04:00:115 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:04:00:320 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:04:00:521 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:04:00:724 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:04:01:225 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:04:01:736 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:04:01:942 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:04:02:145 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:04:02:349 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:04:02:554 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:04:02:757 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:04:02:963 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:04:03:165 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:04:03:366 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:04:03:567 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:04:03:771 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:04:03:975 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:04:04:180 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:04:04:382 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:04:04:584 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:04:04:802 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:04:05:004 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:04:05:208 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:04:05:411 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:04:05:612 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:04:05:816 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:04:06:319 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:04:06:828 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:04:07:048 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:04:07:265 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:04:07:466 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:04:07:681 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=AlarmeCode, Valor=0
25/11/2024 14:04:07:899 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=NumPolos, Valor=10
25/11/2024 14:04:08:101 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=RPM_Max, Valor=500
25/11/2024 14:04:08:308 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Rampa, Valor=0
25/11/2024 14:04:08:525 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:04:08:739 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=ControleRS485, Valor=1
25/11/2024 14:08:31:881 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
25/11/2024 14:08:32:397 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
25/11/2024 14:08:32:941 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
25/11/2024 14:08:32:998 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
25/11/2024 14:08:33:034 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
25/11/2024 14:08:33:075 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
25/11/2024 14:08:33:087 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
25/11/2024 14:08:33:100 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
25/11/2024 14:08:33:114 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
25/11/2024 14:08:33:126 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
25/11/2024 14:08:33:140 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
25/11/2024 14:08:33:152 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
25/11/2024 14:08:33:165 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
25/11/2024 14:08:33:178 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
25/11/2024 14:08:33:190 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
25/11/2024 14:08:33:203 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
25/11/2024 14:08:33:218 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
25/11/2024 14:08:33:231 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
25/11/2024 14:08:33:244 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
25/11/2024 14:08:33:258 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
25/11/2024 14:08:33:270 - Endereço 3 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
25/11/2024 14:08:33:283 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=AlarmeCode, Valor=0
25/11/2024 14:08:33:297 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
25/11/2024 14:08:33:311 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
25/11/2024 14:08:33:324 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Breaked, Valor=0
25/11/2024 14:08:33:340 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Direction, Valor=0
25/11/2024 14:08:33:352 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Tensao, Valor=0
25/11/2024 14:08:33:365 - Endereço 4 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Temperatura, Valor=0
25/11/2024 14:08:44:913 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=RPM, Valor=0
25/11/2024 14:08:45:428 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=True, Parametro=Enabled, Valor=0
25/11/2024 14:08:45:943 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:08:46:461 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:08:46:976 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:08:47:491 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:08:48:007 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:08:48:507 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:08:49:025 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:08:49:538 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:08:50:054 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:08:50:567 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:08:51:070 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:08:51:585 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:08:52:088 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:08:52:602 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:08:53:116 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:08:53:630 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:08:54:134 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:08:54:648 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:08:55:149 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:08:55:662 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:08:56:164 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:08:56:677 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:08:57:191 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:08:57:706 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:08:58:220 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:08:58:721 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:08:59:237 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:08:59:751 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:00:261 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:00:765 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:01:275 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:01:790 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:02:305 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:02:820 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:03:336 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:03:853 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:04:368 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:04:882 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:05:398 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:05:913 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:06:429 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:06:959 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:07:474 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:07:976 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:08:478 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:08:992 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:09:506 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:10:022 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:10:536 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:11:054 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:11:570 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:12:085 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:12:587 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:13:101 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:13:617 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:14:117 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:14:633 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:15:149 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:15:660 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:16:176 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:16:678 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:17:188 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:17:696 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:18:210 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:18:724 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:19:235 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:19:736 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:20:241 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:20:752 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:21:253 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:21:771 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:22:275 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:22:791 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:23:304 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:23:819 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:24:336 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:24:849 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:25:352 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:25:868 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:26:380 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:26:897 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:27:400 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:27:913 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:28:413 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:28:927 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:29:442 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:29:954 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:30:458 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:30:976 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:31:506 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=0
25/11/2024 14:09:32:020 - Endereço 1 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Direction, Valor=1
25/11/2024 14:09:32:522 - Endereço 2 (192.168.105.10): Timeout ou erro ao receber resposta. GET=False, Parametro=Enabled, Valor=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

@ -25,7 +25,7 @@
<meta name="viewport" content="width=device-width,
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<style>
#map_07a098740876f040ece2bf1f6f913e03 {
#map_c0646fcc30e5ebc340aad57d9997eeaa {
position: relative;
width: 100.0%;
height: 100.0%;
@ -39,14 +39,14 @@
<body>
<div class="folium-map" id="map_07a098740876f040ece2bf1f6f913e03" ></div>
<div class="folium-map" id="map_c0646fcc30e5ebc340aad57d9997eeaa" ></div>
</body>
<script>
var map_07a098740876f040ece2bf1f6f913e03 = L.map(
"map_07a098740876f040ece2bf1f6f913e03",
var map_c0646fcc30e5ebc340aad57d9997eeaa = L.map(
"map_c0646fcc30e5ebc340aad57d9997eeaa",
{
center: [0.0, 0.0],
crs: L.CRS.EPSG3857,
@ -60,13 +60,13 @@
var tile_layer_ebd09008a2ea454b658d8ddf7b42809d = L.tileLayer(
var tile_layer_a54cbd724f392a4729cd1021017950dd = 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_ebd09008a2ea454b658d8ddf7b42809d.addTo(map_07a098740876f040ece2bf1f6f913e03);
tile_layer_a54cbd724f392a4729cd1021017950dd.addTo(map_c0646fcc30e5ebc340aad57d9997eeaa);
</script>
@ -87,7 +87,7 @@
}
trajeto_json_add({"features": []});
trajeto_json.addTo(map_07a098740876f040ece2bf1f6f913e03);
trajeto_json.addTo(map_c0646fcc30e5ebc340aad57d9997eeaa);
function adicionarGeometria(novaGeometria) {
trajeto_json.addData(novaGeometria);
@ -145,7 +145,7 @@
var marcadorDinamico = L.marker([0, 0], {
icon: customIcon
}).addTo(map_07a098740876f040ece2bf1f6f913e03);
}).addTo(map_c0646fcc30e5ebc340aad57d9997eeaa);
// 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_07a098740876f040ece2bf1f6f913e03.setView(novaPosicao, map_07a098740876f040ece2bf1f6f913e03.getZoom());
map_c0646fcc30e5ebc340aad57d9997eeaa.setView(novaPosicao, map_c0646fcc30e5ebc340aad57d9997eeaa.getZoom());
});
function calcularOrientacao(P1latitude, P1longitude, P2latitude, P2longitude) {

View File

@ -58,21 +58,14 @@ namespace AgroMonitor
private async Task tmrDispositivos_Tick()
{
Func<bool> funcao = new Func<bool>(() =>
{
lblMqtt.Text = "MQTT: " + (Variaveis.MqttService.StatusConexao() ? "Conectado" : "Desconectado");
lblMqtt.ForeColor = Variaveis.MqttService.StatusConexao() ? Color.Green : Color.Red;
lblMqtt.Text = "MQTT: " + (Variaveis.MqttService.StatusConexao() ? "Conectado" : "Desconectado");
lblMqtt.ForeColor = Variaveis.MqttService.StatusConexao() ? Color.Green : Color.Red;
lblLoRa.Text = "LoRa: " + (LoRaService.Iniciado ? "Conectado" : "Desconectado");
lblLoRa.ForeColor = LoRaService.Iniciado ? Color.Green : Color.Red;
lblLoRa.Text = "LoRa: " + (LoRaService.Iniciado ? "Conectado" : "Desconectado");
lblLoRa.ForeColor = LoRaService.Iniciado ? Color.Green : Color.Red;
lblGps.Text = "GPS: " + (GPSService.Iniciado ? "Conectado" : "Desconectado");
lblGps.ForeColor = GPSService.Iniciado ? Color.Green : Color.Red;
return true;
});
FuncoesGlobais.ExecutarMetodoComVerificacaoCrossThread(this, funcao);
lblGps.Text = "GPS: " + (GPSService.Iniciado ? "Conectado" : "Desconectado");
lblGps.ForeColor = GPSService.Iniciado ? Color.Green : Color.Red;
if (!GPSService.Iniciado || !LoRaService.Iniciado)
{