Ajustes para atualizacoes de firmware
This commit is contained in:
parent
c15d78d382
commit
b3b64a9aed
|
|
@ -834,7 +834,7 @@ namespace AgroBase.Forms.IHM
|
|||
Dispositivo.Dados.Servos.ForEach(x => x.Controlar = false);
|
||||
ServoFreio.Controlar = true;
|
||||
|
||||
GeneralJoystick.EnviarComandoSensoriamento(S_Code.sFRO, ServoFreio.ID, Angulo);
|
||||
GeneralJoystick.EnviarComandoSensoriamento(ServoFreio.Componente, ServoFreio.ID, Angulo);
|
||||
//Dispositivo.AdicionarMensagemFila(Dispositivo.Dados.Modulo_ID, ServoFreio.ProtocoloComando(), true, false);
|
||||
|
||||
DateTime Inicio = DateTime.Now;
|
||||
|
|
|
|||
|
|
@ -69,8 +69,8 @@
|
|||
this.lblD_Sen_sNTC_ET = new System.Windows.Forms.Label();
|
||||
this.lblD_Sen_sNTC_EF = new System.Windows.Forms.Label();
|
||||
this.lblD_Sen_sNTC_DF = new System.Windows.Forms.Label();
|
||||
this.lblD_Sen_sFRO_DT = new System.Windows.Forms.Label();
|
||||
this.lblD_Sen_sFRO_ET = new System.Windows.Forms.Label();
|
||||
this.lblD_Sen_sSRV_DT = new System.Windows.Forms.Label();
|
||||
this.lblD_Sen_sSRV_ET = new System.Windows.Forms.Label();
|
||||
this.lblD_Sen_sCOR_3V = new System.Windows.Forms.Label();
|
||||
this.lblD_Sen_sCOR_5V = new System.Windows.Forms.Label();
|
||||
this.lblD_Sen_sCOR_7V2 = new System.Windows.Forms.Label();
|
||||
|
|
@ -549,29 +549,29 @@
|
|||
this.lblD_Sen_sNTC_DF.Text = "TMP";
|
||||
this.lblD_Sen_sNTC_DF.Click += new System.EventHandler(this.lblModulo_Click);
|
||||
//
|
||||
// lblD_Sen_sFRO_DT
|
||||
// lblD_Sen_sSRV_DT
|
||||
//
|
||||
this.lblD_Sen_sFRO_DT.AutoSize = true;
|
||||
this.lblD_Sen_sFRO_DT.BackColor = System.Drawing.Color.Lavender;
|
||||
this.lblD_Sen_sFRO_DT.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.lblD_Sen_sFRO_DT.Location = new System.Drawing.Point(346, 318);
|
||||
this.lblD_Sen_sFRO_DT.Name = "lblD_Sen_sFRO_DT";
|
||||
this.lblD_Sen_sFRO_DT.Size = new System.Drawing.Size(50, 24);
|
||||
this.lblD_Sen_sFRO_DT.TabIndex = 52;
|
||||
this.lblD_Sen_sFRO_DT.Text = "FRO";
|
||||
this.lblD_Sen_sFRO_DT.Click += new System.EventHandler(this.lblModulo_Click);
|
||||
this.lblD_Sen_sSRV_DT.AutoSize = true;
|
||||
this.lblD_Sen_sSRV_DT.BackColor = System.Drawing.Color.Lavender;
|
||||
this.lblD_Sen_sSRV_DT.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.lblD_Sen_sSRV_DT.Location = new System.Drawing.Point(346, 318);
|
||||
this.lblD_Sen_sSRV_DT.Name = "lblD_Sen_sSRV_DT";
|
||||
this.lblD_Sen_sSRV_DT.Size = new System.Drawing.Size(50, 24);
|
||||
this.lblD_Sen_sSRV_DT.TabIndex = 52;
|
||||
this.lblD_Sen_sSRV_DT.Text = "FRO";
|
||||
this.lblD_Sen_sSRV_DT.Click += new System.EventHandler(this.lblModulo_Click);
|
||||
//
|
||||
// lblD_Sen_sFRO_ET
|
||||
// lblD_Sen_sSRV_ET
|
||||
//
|
||||
this.lblD_Sen_sFRO_ET.AutoSize = true;
|
||||
this.lblD_Sen_sFRO_ET.BackColor = System.Drawing.Color.Lavender;
|
||||
this.lblD_Sen_sFRO_ET.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.lblD_Sen_sFRO_ET.Location = new System.Drawing.Point(72, 318);
|
||||
this.lblD_Sen_sFRO_ET.Name = "lblD_Sen_sFRO_ET";
|
||||
this.lblD_Sen_sFRO_ET.Size = new System.Drawing.Size(50, 24);
|
||||
this.lblD_Sen_sFRO_ET.TabIndex = 53;
|
||||
this.lblD_Sen_sFRO_ET.Text = "FRO";
|
||||
this.lblD_Sen_sFRO_ET.Click += new System.EventHandler(this.lblModulo_Click);
|
||||
this.lblD_Sen_sSRV_ET.AutoSize = true;
|
||||
this.lblD_Sen_sSRV_ET.BackColor = System.Drawing.Color.Lavender;
|
||||
this.lblD_Sen_sSRV_ET.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.lblD_Sen_sSRV_ET.Location = new System.Drawing.Point(72, 318);
|
||||
this.lblD_Sen_sSRV_ET.Name = "lblD_Sen_sSRV_ET";
|
||||
this.lblD_Sen_sSRV_ET.Size = new System.Drawing.Size(50, 24);
|
||||
this.lblD_Sen_sSRV_ET.TabIndex = 53;
|
||||
this.lblD_Sen_sSRV_ET.Text = "FRO";
|
||||
this.lblD_Sen_sSRV_ET.Click += new System.EventHandler(this.lblModulo_Click);
|
||||
//
|
||||
// lblD_Sen_sCOR_3V
|
||||
//
|
||||
|
|
@ -773,8 +773,8 @@
|
|||
this.Controls.Add(this.lblD_Sen_sCOR_7V2);
|
||||
this.Controls.Add(this.lblD_Sen_sCOR_5V);
|
||||
this.Controls.Add(this.lblD_Sen_sCOR_3V);
|
||||
this.Controls.Add(this.lblD_Sen_sFRO_ET);
|
||||
this.Controls.Add(this.lblD_Sen_sFRO_DT);
|
||||
this.Controls.Add(this.lblD_Sen_sSRV_ET);
|
||||
this.Controls.Add(this.lblD_Sen_sSRV_DT);
|
||||
this.Controls.Add(this.lblD_Sen_sNTC_DF);
|
||||
this.Controls.Add(this.lblD_Sen_sNTC_EF);
|
||||
this.Controls.Add(this.lblD_Sen_sNTC_ET);
|
||||
|
|
@ -877,8 +877,8 @@
|
|||
private System.Windows.Forms.Label lblD_Sen_sNTC_ET;
|
||||
private System.Windows.Forms.Label lblD_Sen_sNTC_EF;
|
||||
private System.Windows.Forms.Label lblD_Sen_sNTC_DF;
|
||||
private System.Windows.Forms.Label lblD_Sen_sFRO_DT;
|
||||
private System.Windows.Forms.Label lblD_Sen_sFRO_ET;
|
||||
private System.Windows.Forms.Label lblD_Sen_sSRV_DT;
|
||||
private System.Windows.Forms.Label lblD_Sen_sSRV_ET;
|
||||
private System.Windows.Forms.Label lblD_Sen_sCOR_3V;
|
||||
private System.Windows.Forms.Label lblD_Sen_sCOR_5V;
|
||||
private System.Windows.Forms.Label lblD_Sen_sCOR_7V2;
|
||||
|
|
|
|||
|
|
@ -235,7 +235,7 @@ namespace AgroBase.Forms.IHM
|
|||
{
|
||||
S_Code Sensor = string.IsNullOrEmpty(Mod_ID) ? S_Code.sVZO : (S_Code)Enum.Parse(typeof(S_Code), Mod_ID);
|
||||
string modId = lbl.Name.Split('_').Length == 4 ? lbl.Name.Split('_')[3] : "";
|
||||
if (Sensor == S_Code.sFRO)
|
||||
if (Sensor == S_Code.sSRV)
|
||||
{
|
||||
var freio = Variaveis.OperacaoEmAndamento.DispSen.Dados.Servos.FirstOrDefault(x => x.Componente == Sensor && x.ID.Contains(modId));
|
||||
lbl.ForeColor = modDesconectado || freio == null
|
||||
|
|
@ -368,7 +368,7 @@ namespace AgroBase.Forms.IHM
|
|||
{
|
||||
S_Code Sensor = string.IsNullOrEmpty(Mod_ID) ? S_Code.sVZO : (S_Code)Enum.Parse(typeof(S_Code), Mod_ID);
|
||||
string modId = lbl.Name.Split('_').Length == 4 ? lbl.Name.Split('_')[3] : "";
|
||||
if (Sensor == S_Code.sFRO)
|
||||
if (Sensor == S_Code.sSRV)
|
||||
{
|
||||
var freio = Variaveis.OperacaoEmAndamento.DispSen.Dados.Servos.FirstOrDefault(x => x.Componente == Sensor && x.ID.Contains(modId));
|
||||
saudeIndividual = saudeGeral.saude_individual.FirstOrDefault(x => x.id == freio.ID_Num.ToString());
|
||||
|
|
|
|||
|
|
@ -481,6 +481,7 @@ namespace AgroBase.Forms.Operacoes
|
|||
gridDados.Rows.Add("Barramento 24V", "", "V");
|
||||
gridDados.Rows.Add("Barramento 24V", "", "mA");
|
||||
gridDados.Rows.Add("Nível do Reservatório", "", "%");
|
||||
gridDados.Rows.Add("Massa do Reservatório", "", "Kg");
|
||||
gridDados.Rows.Add("Volume do Reservatório", "", "L");
|
||||
gridDados.Rows.Add("Litro por Metro", "", "L");
|
||||
gridDados.Rows.Add("Litro por Minuto", "", "L");
|
||||
|
|
@ -539,26 +540,27 @@ namespace AgroBase.Forms.Operacoes
|
|||
gridDados.Rows[19].Cells[1].Value = (_Barramentos.FirstOrDefault(x => x.ID == "AB24V").Tensao).ToString("0.00");
|
||||
gridDados.Rows[20].Cells[1].Value = (_Barramentos.FirstOrDefault(x => x.ID == "AB24V").Corrente).ToString("0.00");
|
||||
gridDados.Rows[21].Cells[1].Value = _Sensoriamento.Atuador.PercentualReservatorio.ToString("0.00");
|
||||
gridDados.Rows[22].Cells[1].Value = $"{_Sensoriamento.Atuador.VolumeReservatorio:0.000} ({Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.ContadorCarga?.MassaAtual_Kg_Calc ?? 0:0.000} Kg)";
|
||||
gridDados.Rows[23].Cells[1].Value = _Sensoriamento.Atuador.LPorMetro.ToString("0.000");
|
||||
gridDados.Rows[24].Cells[1].Value = _Sensoriamento.Atuador.LPorMinuto.ToString("0.000");
|
||||
gridDados.Rows[25].Cells[1].Value = TimeSpan.FromMinutes(_Sensoriamento.Atuador.TempoEstimadoRestanteMinutos).ToString(@"hh\:mm\:ss");
|
||||
gridDados.Rows[26].Cells[1].Value = _Sensoriamento.Atuador.DistanciaEstimadaRestanteMetros.ToString("0.00");
|
||||
gridDados.Rows[27].Cells[1].Value = _Sensoriamento.Atuador.PressaoLinha.ToString("0.00");
|
||||
gridDados.Rows[28].Cells[1].Value = _Sensoriamento.Atuador.LeituraPotenciaBomba.ToString("0.00");
|
||||
gridDados.Rows[29].Cells[1].Value = _Sensoriamento.Atuador.VazaoInstantanea.ToString("0.00");
|
||||
gridDados.Rows[30].Cells[1].Value = $"{_Sensoriamento.Atuador.VazaoMedia:0.000} ({Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.VazaoFluxoMLpSInstantaneaCalc:0.000})";
|
||||
gridDados.Rows[31].Cells[1].Value = _Sensoriamento.Atuador.VolumeVazaoMl.ToString("0.00");
|
||||
gridDados.Rows[32].Cells[1].Value = _Sensoriamento.Atuador.AnguloBarraEsquerda.ToString("0.00");
|
||||
gridDados.Rows[33].Cells[1].Value = _Sensoriamento.Atuador.AnguloBarraDireita.ToString("0.00");
|
||||
gridDados.Rows[34].Cells[1].Value = _Sensoriamento.Atuador.AnguloBarraAltura.ToString("0.00");
|
||||
gridDados.Rows[35].Cells[1].Value = "";
|
||||
gridDados.Rows[36].Cells[1].Value = (_Sensoriamento.IMU.InclinacaoLateral).ToString("0.00");
|
||||
gridDados.Rows[37].Cells[1].Value = (_Sensoriamento.IMU.InclinacaoFrontal).ToString("0.00");
|
||||
gridDados.Rows[38].Cells[1].Value = (_Sensoriamento.IMU.Rotacao).ToString("0.00");
|
||||
gridDados.Rows[39].Cells[1].Value = (_Sensoriamento.IMU.Temperatura).ToString("0.00");
|
||||
gridDados.Rows[40].Cells[1].Value = (_Sensoriamento.IMU.Pressao).ToString("0.00");
|
||||
gridDados.Rows[41].Cells[1].Value = (_Sensoriamento.IMU.Altitude).ToString("0.00");
|
||||
gridDados.Rows[22].Cells[1].Value = $"{_Sensoriamento.Atuador.MassaReservatorio:0.000} ({Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.ContadorCarga?.MassaAtual_Kg_Calc ?? 0:0.000})";
|
||||
gridDados.Rows[23].Cells[1].Value = $"{_Sensoriamento.Atuador.VolumeReservatorio:0.000}";
|
||||
gridDados.Rows[24].Cells[1].Value = _Sensoriamento.Atuador.LPorMetro.ToString("0.000");
|
||||
gridDados.Rows[25].Cells[1].Value = _Sensoriamento.Atuador.LPorMinuto.ToString("0.000");
|
||||
gridDados.Rows[26].Cells[1].Value = TimeSpan.FromMinutes(_Sensoriamento.Atuador.TempoEstimadoRestanteMinutos).ToString(@"hh\:mm\:ss");
|
||||
gridDados.Rows[27].Cells[1].Value = _Sensoriamento.Atuador.DistanciaEstimadaRestanteMetros.ToString("0.00");
|
||||
gridDados.Rows[28].Cells[1].Value = _Sensoriamento.Atuador.PressaoLinha.ToString("0.00");
|
||||
gridDados.Rows[29].Cells[1].Value = _Sensoriamento.Atuador.LeituraPotenciaBomba.ToString("0.00");
|
||||
gridDados.Rows[30].Cells[1].Value = _Sensoriamento.Atuador.VazaoInstantanea.ToString("0.00");
|
||||
gridDados.Rows[31].Cells[1].Value = $"{_Sensoriamento.Atuador.VazaoMedia:0.000} ({Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.VazaoFluxoMLpSInstantaneaCalc:0.000})";
|
||||
gridDados.Rows[32].Cells[1].Value = _Sensoriamento.Atuador.VolumeVazaoMl.ToString("0.00");
|
||||
gridDados.Rows[33].Cells[1].Value = _Sensoriamento.Atuador.AnguloBarraEsquerda.ToString("0.00");
|
||||
gridDados.Rows[34].Cells[1].Value = _Sensoriamento.Atuador.AnguloBarraDireita.ToString("0.00");
|
||||
gridDados.Rows[35].Cells[1].Value = _Sensoriamento.Atuador.AnguloBarraAltura.ToString("0.00");
|
||||
gridDados.Rows[36].Cells[1].Value = "";
|
||||
gridDados.Rows[37].Cells[1].Value = (_Sensoriamento.IMU.InclinacaoLateral).ToString("0.00");
|
||||
gridDados.Rows[38].Cells[1].Value = (_Sensoriamento.IMU.InclinacaoFrontal).ToString("0.00");
|
||||
gridDados.Rows[39].Cells[1].Value = (_Sensoriamento.IMU.Rotacao).ToString("0.00");
|
||||
gridDados.Rows[40].Cells[1].Value = (_Sensoriamento.IMU.Temperatura).ToString("0.00");
|
||||
gridDados.Rows[41].Cells[1].Value = (_Sensoriamento.IMU.Pressao).ToString("0.00");
|
||||
gridDados.Rows[42].Cells[1].Value = (_Sensoriamento.IMU.Altitude).ToString("0.00");
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
|||
|
|
@ -129,6 +129,11 @@ namespace AgroBase.Forms
|
|||
ID = x.ID,
|
||||
Funcoes = x.Funcoes
|
||||
}).ToList());
|
||||
Dispositivos.AddRange(Disp.Dados.Servos.Select(x => new DispositivoDataModel()
|
||||
{
|
||||
ID = x.ID,
|
||||
Funcoes = x.Funcoes
|
||||
}));
|
||||
break;
|
||||
}
|
||||
case T_Code.Mvd:
|
||||
|
|
|
|||
|
|
@ -772,10 +772,19 @@ namespace AgroBase
|
|||
{
|
||||
Bico.ComandoAtuar = (bool)Status;
|
||||
if (Bico.ComandoAtuar) Bico.Atuacoes++;
|
||||
Bico.AnguloControle = (int)Valor;
|
||||
}
|
||||
(id_num, posicao, data) = Bico.ProtocoloComando();
|
||||
}
|
||||
break;
|
||||
case S_Code.sSRV:
|
||||
var Servo = DispAtu?.Dados?.Servos?.FirstOrDefault(x => x.ID == ID && x.Inicializado);
|
||||
if (Servo != null)
|
||||
{
|
||||
Servo._AnguloControle = (int)Valor;
|
||||
(id_num, posicao, data) = Servo.ProtocoloComando();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
DispAtu.AdicionarMensagemFila(id_num, posicao, posicao, data, false);
|
||||
|
|
@ -791,7 +800,7 @@ namespace AgroBase
|
|||
{
|
||||
// Impede execucao de comandos que liguem componentes quando estiver marcado para nao utilizar
|
||||
if (Componente == S_Code.sRLE && ((Estado)Status) == Estado.Ligado) return;
|
||||
if (Componente == S_Code.sFRO && ((int)Status) > 0) return;
|
||||
if (Componente == S_Code.sSRV && ((int)Status) > 0) return;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -819,7 +828,7 @@ namespace AgroBase
|
|||
(id_num, posicao, data) = Rele.ProtocoloComando();
|
||||
}
|
||||
break;
|
||||
case S_Code.sFRO:
|
||||
case S_Code.sSRV:
|
||||
var ServoFreio = DispSen?.Dados?.Servos?.FirstOrDefault(x => x.ID == ID && x.Inicializado);
|
||||
if (ServoFreio != null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -105,8 +105,8 @@ namespace AgroBase.Models.Modules
|
|||
{
|
||||
get
|
||||
{
|
||||
int pulsos = SensorFluxoLinha?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.QtdPulsos)?.atual?.valor ?? 0;
|
||||
int periodo = SensorFluxoLinha?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.Periodo)?.atual?.valor ?? 0;
|
||||
int pulsos = (int)(SensorFluxoLinha?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.QtdPulsos)?.atual?.valor ?? 0.0);
|
||||
int periodo = (int)(SensorFluxoLinha?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.Periodo)?.atual?.valor ?? 0.0);
|
||||
if (pulsos <= 0 || periodo <= 0) return 0.0;
|
||||
|
||||
double frequencia = (double)pulsos / (double)periodo * 1000.0; // Hz
|
||||
|
|
@ -248,6 +248,8 @@ namespace AgroBase.Models.Modules
|
|||
{
|
||||
ID = "BOMBA",
|
||||
ID_Num = 51,
|
||||
Sensor_ID_Num = 63,
|
||||
ComandoAtuar = false,
|
||||
Componente = S_Code.sBMB,
|
||||
Comandar = true,
|
||||
Mandatorio = true,
|
||||
|
|
@ -364,7 +366,7 @@ namespace AgroBase.Models.Modules
|
|||
Enviar = true,
|
||||
Escalar = true,
|
||||
QtdBytes = 2,
|
||||
Valor = "32.5"
|
||||
Valor = "0.0"
|
||||
}
|
||||
},
|
||||
ValoresLeituras = new List<SensorValoresLeituraModel>()
|
||||
|
|
@ -1059,11 +1061,10 @@ namespace AgroBase.Models.Modules
|
|||
{
|
||||
foreach (var bico in BicosPulverizadores.Where(x => x.Comandar && x.Inicializado))
|
||||
{
|
||||
Estado leituraEstado = bico._EstadoLeitura;
|
||||
Estado comandoEstado = bico.ComandoAtuar ? Estado.Ligado : Estado.Desligado;
|
||||
if (leituraEstado != comandoEstado)
|
||||
if (bico._EstadoLeitura != comandoEstado || bico.AnguloControle != bico._AnguloBicoLeitura)
|
||||
{
|
||||
GeneralJoystick.EnviarComandoAtuador(bico.Componente, bico.ID, Status: bico.ComandoAtuar);
|
||||
GeneralJoystick.EnviarComandoAtuador(bico.Componente, bico.ID, Status: bico.ComandoAtuar, Valor: bico.AnguloControle);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1093,7 +1094,7 @@ namespace AgroBase.Models.Modules
|
|||
{
|
||||
if (servo._AnguloLeiutra != servo._AnguloControle)
|
||||
{
|
||||
GeneralJoystick.EnviarComandoSensoriamento(S_Code.sFRO, servo.ID, servo._AnguloControle);
|
||||
GeneralJoystick.EnviarComandoAtuador(servo.Componente, servo.ID, Valor: servo._AnguloControle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1304,6 +1305,7 @@ namespace AgroBase.Models.Modules
|
|||
}
|
||||
public List<SensorValoresLeituraModel> ValoresLeituras { get; set; }
|
||||
public Estado _EstadoLeitura => ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura)?.atual?.valor ?? Estado.Desligado;
|
||||
public int _AnguloBicoLeitura => ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.LeituraAngulo)?.atual?.valor ?? 0;
|
||||
|
||||
|
||||
public (CanMessagePosicaoDados, byte[]) ProtocoloConfiguracao(PinoutDataModel pinout, bool conectar)
|
||||
|
|
|
|||
|
|
@ -485,7 +485,7 @@ namespace AgroBase.Models.Modules
|
|||
Freio.AtualizarDados();
|
||||
if (Freio.EnviarComando && Freio.UltimoEnvio.AddMilliseconds(Freio.DelayEnvio) < DateTime.Now)
|
||||
{
|
||||
GeneralJoystick.EnviarComandoSensoriamento(S_Code.sFRO, Freio.Servo.ID, Freio.AnguloControle);
|
||||
GeneralJoystick.EnviarComandoSensoriamento(S_Code.sSRV, Freio.Servo.ID, Freio.AnguloControle);
|
||||
Freio.UltimoEnvio = DateTime.Now;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2299,7 +2299,7 @@ namespace AgroBase.Models.Modules
|
|||
var valOp = (int?)(ledOP?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.StatusLEDComando)?.atual?.valor) ?? 0;
|
||||
if (ledOP != null && (!ledOP.Comportamento.Equals(comportamento) || valOp != (int)comportamento.statusLED))
|
||||
{
|
||||
GeneralJoystick.EnviarComandoSensoriamento(S_Code.sLED, ledOP.ID, comportamento);
|
||||
GeneralJoystick.EnviarComandoSensoriamento(ledOP.Componente, ledOP.ID, comportamento);
|
||||
}
|
||||
|
||||
var statusLedAt = Variaveis.OperacaoEmAndamento.Parametros.Controle.MovimentoAutomatico ? StatusLED.Aceso : StatusLED.Apagado;
|
||||
|
|
@ -2307,7 +2307,7 @@ namespace AgroBase.Models.Modules
|
|||
if (ledAT != null && (!ledAT.Comportamento.statusLED.Equals(statusLedAt) || (valAt != (int)statusLedAt)))
|
||||
{
|
||||
ledAT.Comportamento.statusLED = statusLedAt;
|
||||
GeneralJoystick.EnviarComandoSensoriamento(S_Code.sLED, ledAT.ID, ledAT.Comportamento);
|
||||
GeneralJoystick.EnviarComandoSensoriamento(ledAT.Componente, ledAT.ID, ledAT.Comportamento);
|
||||
}
|
||||
|
||||
var statusLedMn = Variaveis.OperacaoEmAndamento.Modo == ModoOperacao.Manual ? StatusLED.Aceso : StatusLED.Apagado;
|
||||
|
|
@ -2315,15 +2315,14 @@ namespace AgroBase.Models.Modules
|
|||
if (ledMN != null && (!ledMN.Comportamento.statusLED.Equals(statusLedMn) || (valMn != (int)statusLedMn)))
|
||||
{
|
||||
ledMN.Comportamento.statusLED = statusLedMn;
|
||||
GeneralJoystick.EnviarComandoSensoriamento(S_Code.sLED, ledMN.ID, ledMN.Comportamento);
|
||||
GeneralJoystick.EnviarComandoSensoriamento(ledMN.Componente, ledMN.ID, ledMN.Comportamento);
|
||||
}
|
||||
|
||||
foreach (var rele in Reles.Where(x => x.Controlar && x.Inicializado))
|
||||
{
|
||||
int leituraEstado = (int?)(rele.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura)?.atual?.valor) ?? 0;
|
||||
if (leituraEstado != (int)rele.StatusControle)
|
||||
if (rele._EstadoLeitura != rele.StatusControle)
|
||||
{
|
||||
GeneralJoystick.EnviarComandoSensoriamento(S_Code.sRLE, rele.ID, rele.StatusControle);
|
||||
GeneralJoystick.EnviarComandoSensoriamento(rele.Componente, rele.ID, rele.StatusControle);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2331,7 +2330,7 @@ namespace AgroBase.Models.Modules
|
|||
{
|
||||
if (servo._AnguloLeiutra != servo._AnguloControle)
|
||||
{
|
||||
GeneralJoystick.EnviarComandoSensoriamento(S_Code.sFRO, servo.ID, servo._AnguloControle);
|
||||
GeneralJoystick.EnviarComandoSensoriamento(servo.Componente, servo.ID, servo._AnguloControle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1613,6 +1613,7 @@ namespace AgroBase.Models
|
|||
if (d_atu.BicosPulverizadores.Any(x => x.ID == id)) return S_Code.sBIC;
|
||||
if (d_atu.BombasPressurizadoras.Any(x => x.ID == id)) return S_Code.sBMB;
|
||||
if (d_atu.Sensores.Any(x => x.ID == id)) return d_atu.Sensores.First(x => x.ID == id).Componente;
|
||||
if (d_atu.Servos.Any(x => x.ID == id)) return S_Code.sSRV;
|
||||
return S_Code.sVZO;
|
||||
}
|
||||
|
||||
|
|
@ -1640,6 +1641,10 @@ namespace AgroBase.Models
|
|||
Variaveis.OperacaoEmAndamento.Controle.BombaAtuada = (bool)controleBase.Controle.Estado;
|
||||
GeneralJoystick.EnviarComandoAtuador(comp, controleBase._comp_id, Status: controleBase.Controle.Estado, Forcar: true);
|
||||
break;
|
||||
case S_Code.sSRV:
|
||||
if (controleBase.Controle == null) return;
|
||||
GeneralJoystick.EnviarComandoAtuador(comp, controleBase._comp_id, Valor: controleBase.Controle.AnguloSP, Forcar: true);
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
@ -1650,7 +1655,7 @@ namespace AgroBase.Models
|
|||
{
|
||||
var d_sen = Variaveis.OperacaoEmAndamento.DispSen.Dados;
|
||||
if (d_sen.Reles.Any(x => x.ID == id)) return S_Code.sRLE;
|
||||
if (d_sen.Servos.Any(x => x.ID == id)) return S_Code.sFRO;
|
||||
if (d_sen.Servos.Any(x => x.ID == id)) return S_Code.sSRV;
|
||||
if (d_sen.Sinaleiros.Any(x => x.ID == id)) return S_Code.sLED;
|
||||
if (d_sen.Sensores.Any(x => x.ID == id)) return d_sen.Sensores.First(x => x.ID == id).Componente;
|
||||
return S_Code.sVZO;
|
||||
|
|
@ -2380,7 +2385,9 @@ namespace AgroBase.Models
|
|||
VolumeReservatorio = _Reservatorio.VolumeAtual_L,
|
||||
MassaReservatorio = _Reservatorio.MassaAtual_Kg,
|
||||
PressaoLinha = _DispAtu.Dados.PressaoLinha,
|
||||
PressaoLinhaCalc = _DispAtu.Dados.PressaoLinhaCalc,
|
||||
VazaoInstantanea = _DispAtu.Dados.VazaoFluxoMLpSInstantanea,
|
||||
VazaoInstantaneaCalc = _DispAtu.Dados.VazaoFluxoMLpSInstantaneaCalc,
|
||||
VazaoMedia = _DispAtu.Dados.VazaoFluxoMLpSMedia,
|
||||
TempoBombaAtuada = _DispAtu.Dados.TempoAtuado,
|
||||
ComandoBomba = _DispAtu.Dados.BombasPressurizadoras.FirstOrDefault().ComandoAtuar,
|
||||
|
|
@ -2388,6 +2395,7 @@ namespace AgroBase.Models
|
|||
LeituraPotenciaBomba = FuncoesMatematicas.Clamp(_DispAtu.Dados.BombasPressurizadoras.FirstOrDefault()._Potencia, 0, 100),
|
||||
VolumeVazaoMl = _DispAtu.Dados.VolumeVazaoML,
|
||||
Iniciados = _DispAtu.Dados.Sensores.Select(s => new { s.ID, s.Inicializado }).Union(_DispAtu.Dados.BicosPulverizadores.Select(b => new { b.ID, b.Inicializado })).Union(_DispAtu.Dados.BombasPressurizadoras.Select(b => new { b.ID, b.Inicializado })).ToDictionary(x => x.ID, x => x.Inicializado),
|
||||
Servos = _DispAtu.Dados.Servos?.ToDictionary(x => x.ID, y => (y._AnguloControle, y._AnguloLeiutra, y.Incremental)),
|
||||
AnguloBarraEsquerda = _DispAtu.Dados.AnguloBarraEsquerda,
|
||||
AnguloBarraDireita = _DispAtu.Dados.AnguloBarraDireita,
|
||||
AnguloBarraAltura = _DispAtu.Dados.AnguloBarraAltura,
|
||||
|
|
@ -2686,7 +2694,9 @@ namespace AgroBase.Models
|
|||
public double MassaReservatorio { get; set; }
|
||||
public double VolumeReservatorio { get; set; }
|
||||
public double PressaoLinha { get; set; }
|
||||
public double PressaoLinhaCalc { get; set; }
|
||||
public double VazaoInstantanea { get; set; }
|
||||
public double VazaoInstantaneaCalc { get; set; }
|
||||
public double VazaoMedia { get; set; }
|
||||
public double TempoBombaAtuada { get; set; }
|
||||
public bool ComandoBomba { get; set; }
|
||||
|
|
@ -2701,6 +2711,7 @@ namespace AgroBase.Models
|
|||
public double TempoEstimadoRestanteMinutos { get; set; }
|
||||
public double DistanciaEstimadaRestanteMetros { get; set; }
|
||||
public Dictionary<string, bool> Iniciados { get; set; }
|
||||
public Dictionary<string, (int, int, bool)> Servos { get; set; }
|
||||
public List<AtuBicoSensoriamentoLogModel> Bicos { get; set; }
|
||||
public DateTime UltimoComandoRespondido { get; set; }
|
||||
|
||||
|
|
@ -2719,7 +2730,9 @@ namespace AgroBase.Models
|
|||
VolumeReservatorio = VolumeReservatorio,
|
||||
MassaReservatorio = MassaReservatorio,
|
||||
PressaoLinha = PressaoLinha,
|
||||
PressaoLinhaCalc = PressaoLinhaCalc,
|
||||
VazaoInstantanea = VazaoInstantanea,
|
||||
VazaoInstantaneaCalc = VazaoInstantaneaCalc,
|
||||
VazaoMedia = VazaoMedia,
|
||||
TempoBombaAtuada = TempoBombaAtuada,
|
||||
ComandoBomba = ComandoBomba,
|
||||
|
|
@ -2730,6 +2743,7 @@ namespace AgroBase.Models
|
|||
AnguloBarraDireita = AnguloBarraDireita,
|
||||
AnguloBarraAltura = AnguloBarraAltura,
|
||||
Iniciados = new Dictionary<string, bool>(Iniciados ?? new Dictionary<string, bool>()),
|
||||
Servos = new Dictionary<string, (int, int, bool)>(Servos ?? new Dictionary<string, (int, int, bool)>()),
|
||||
UltimoComandoRespondido = UltimoComandoRespondido,
|
||||
LPorMetro = LPorMetro,
|
||||
LPorMinuto = LPorMinuto,
|
||||
|
|
|
|||
|
|
@ -189,6 +189,12 @@ namespace AgroBase.Comum
|
|||
clbDispositivos.Items.Add(Sensor.ID.ToString());
|
||||
clbDispositivos.SetItemChecked(clbDispositivos.Items.Count - 1, Sensor.Aferir);
|
||||
}
|
||||
var Servos = atuModel.Servos;
|
||||
foreach (var Servo in Servos)
|
||||
{
|
||||
clbDispositivos.Items.Add(Servo.ID);
|
||||
clbDispositivos.SetItemChecked(clbDispositivos.Items.Count - 1, Servo.Controlar);
|
||||
}
|
||||
}
|
||||
else if (Dados is MovimentacaoUnificadaModel mvdModel && Dispositivo == T_Code.Mvd)
|
||||
{
|
||||
|
|
@ -344,6 +350,10 @@ namespace AgroBase.Comum
|
|||
{
|
||||
atuModel.BombasPressurizadoras.FirstOrDefault(x => x.ID == Item.ToString()).Comandar = true;
|
||||
}
|
||||
else if (atuModel.Servos.Any(x => x.ID == Item.ToString()))
|
||||
{
|
||||
atuModel.Servos.First(x => x.ID == Item.ToString()).Controlar = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -167,7 +167,11 @@ namespace AgroBase.Services
|
|||
bool pulverizando = Variaveis.OperacaoEmAndamento.DispAtu?.Dados?.BicosPulverizadores?.Any(x => x.Inicializado && x._EstadoLeitura == Estado.Ligado) ?? false;
|
||||
double massaLida_Kg = Sensor?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.Massa)?.atual?.valor ?? 0;
|
||||
double massaLida_Kg_bruto = Sensor?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.LeituraBruta)?.atual?.valor ?? 0;
|
||||
double volumeMedido_L = massaLida_Kg / DensidadeProduto;
|
||||
|
||||
double.TryParse(Sensor.Parametros.FirstOrDefault(x => x.Descricao == "Offset")?.Valor ?? "0", out double offset);
|
||||
double massa_calc = (massaLida_Kg_bruto * -1) + offset;
|
||||
|
||||
double volumeMedido_L = massa_calc / DensidadeProduto;
|
||||
int qtd_atuacoes = Variaveis.OperacaoEmAndamento.Controle?.BicosAtuados?.Sum(x => x.Atuacoes) ?? 0;
|
||||
|
||||
// Sanitiza volume
|
||||
|
|
@ -183,13 +187,13 @@ namespace AgroBase.Services
|
|||
_tempoTotalAnterior_s = tempoTotalSegundosAtual;
|
||||
|
||||
MassaAtual_Kg = massaLida_Kg;
|
||||
MassaAtual_Kg_Calc = massaLida_Kg_bruto;
|
||||
MassaAtual_Kg_Calc = massa_calc;
|
||||
VolumeAtual_L = volumeMedido_L;
|
||||
return;
|
||||
}
|
||||
|
||||
MassaAtual_Kg = massaLida_Kg;
|
||||
MassaAtual_Kg_Calc = massaLida_Kg_bruto;
|
||||
MassaAtual_Kg_Calc = massa_calc;
|
||||
VolumeAtual_L = volumeMedido_L;
|
||||
|
||||
// --- Cálculo de deltas básicos ---
|
||||
|
|
|
|||
|
|
@ -364,7 +364,7 @@ namespace AgroBase.Services.Operadores
|
|||
("conectado", DadosSen.Conectado),
|
||||
("freq_base", DadosSen.FrequenciaBase)
|
||||
);
|
||||
var sensoresAtualizados = new List<(string caminho, object valor)>();
|
||||
var senSensoresAtualizados = new List<(string caminho, object valor)>();
|
||||
foreach (var sensor in DadosSen.Sensores)
|
||||
{
|
||||
int tipo = (int)sensor.Componente;
|
||||
|
|
@ -399,11 +399,11 @@ namespace AgroBase.Services.Operadores
|
|||
saude = saude ?? new { }
|
||||
};
|
||||
|
||||
sensoresAtualizados.Add(($"{basePath}", sensorObj));
|
||||
senSensoresAtualizados.Add(($"{basePath}", sensorObj));
|
||||
}
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Sen), sensoresAtualizados.ToArray());
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Sen), senSensoresAtualizados.ToArray());
|
||||
|
||||
var servosAtualizados = new List<(string caminho, object valor)>();
|
||||
var senServosAtualizados = new List<(string caminho, object valor)>();
|
||||
foreach (var servo in DadosSen.Servos)
|
||||
{
|
||||
int id = servo.ID_Num;
|
||||
|
|
@ -434,11 +434,11 @@ namespace AgroBase.Services.Operadores
|
|||
saude = saude ?? new { }
|
||||
};
|
||||
|
||||
servosAtualizados.Add(($"{basePath}", servoObj));
|
||||
senServosAtualizados.Add(($"{basePath}", servoObj));
|
||||
}
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Sen), servosAtualizados.ToArray());
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Sen), senServosAtualizados.ToArray());
|
||||
|
||||
var relesAtualizados = new List<(string caminho, object valor)>();
|
||||
var senRelesAtualizados = new List<(string caminho, object valor)>();
|
||||
foreach (var rele in DadosSen.Reles)
|
||||
{
|
||||
int id = rele.ID_Num;
|
||||
|
|
@ -468,11 +468,11 @@ namespace AgroBase.Services.Operadores
|
|||
saude = saude ?? new { }
|
||||
};
|
||||
|
||||
relesAtualizados.Add(($"{basePath}", releObj));
|
||||
senRelesAtualizados.Add(($"{basePath}", releObj));
|
||||
}
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Sen), relesAtualizados.ToArray());
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Sen), senRelesAtualizados.ToArray());
|
||||
|
||||
var ledsAtualizados = new List<(string caminho, object valor)>();
|
||||
var senLedsAtualizados = new List<(string caminho, object valor)>();
|
||||
foreach (var led in DadosSen.Sinaleiros)
|
||||
{
|
||||
int id = led.ID_Num;
|
||||
|
|
@ -502,9 +502,9 @@ namespace AgroBase.Services.Operadores
|
|||
saude = saude ?? new { }
|
||||
};
|
||||
|
||||
ledsAtualizados.Add(($"{basePath}", ledObj));
|
||||
senLedsAtualizados.Add(($"{basePath}", ledObj));
|
||||
}
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Sen), ledsAtualizados.ToArray());
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Sen), senLedsAtualizados.ToArray());
|
||||
|
||||
|
||||
var DadosAtu = Variaveis.OperacaoEmAndamento.DispAtu.Dados;
|
||||
|
|
@ -552,7 +552,7 @@ namespace AgroBase.Services.Operadores
|
|||
}
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Atu), atuSensoresAtualizados.ToArray());
|
||||
|
||||
var bicosAtualizados = new List<(string caminho, object valor)>();
|
||||
var atuBicosAtualizados = new List<(string caminho, object valor)>();
|
||||
foreach (var bico in DadosAtu.BicosPulverizadores)
|
||||
{
|
||||
int tipo = (int)bico.Componente;
|
||||
|
|
@ -587,11 +587,11 @@ namespace AgroBase.Services.Operadores
|
|||
saude = saude ?? new { }
|
||||
};
|
||||
|
||||
bicosAtualizados.Add(($"{basePath}", sensorObj));
|
||||
atuBicosAtualizados.Add(($"{basePath}", sensorObj));
|
||||
}
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Atu), bicosAtualizados.ToArray());
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Atu), atuBicosAtualizados.ToArray());
|
||||
|
||||
var bombasAtualizados = new List<(string caminho, object valor)>();
|
||||
var atuBombasAtualizados = new List<(string caminho, object valor)>();
|
||||
foreach (var bomba in DadosAtu.BombasPressurizadoras)
|
||||
{
|
||||
int tipo = (int)bomba.Componente;
|
||||
|
|
@ -626,9 +626,45 @@ namespace AgroBase.Services.Operadores
|
|||
saude = saude ?? new { }
|
||||
};
|
||||
|
||||
bombasAtualizados.Add(($"{basePath}", sensorObj));
|
||||
atuBombasAtualizados.Add(($"{basePath}", sensorObj));
|
||||
}
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Atu), bombasAtualizados.ToArray());
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Atu), atuBombasAtualizados.ToArray());
|
||||
|
||||
var atuServosAtualizados = new List<(string caminho, object valor)>();
|
||||
foreach (var servo in DadosAtu.Servos)
|
||||
{
|
||||
int id = servo.ID_Num;
|
||||
string basePath = $"servos.{id}";
|
||||
|
||||
var saude = RedisService.GetField<object>(RedisService.ModKey(Enums.T_Code.Atu), $"{basePath}.saude");
|
||||
|
||||
var dados = servo.ValoresLeituras
|
||||
.Where(y => y.analise_health)
|
||||
.Select(y => new
|
||||
{
|
||||
label = y.funcao.ToString(),
|
||||
atual = y.atual.valor,
|
||||
freq = y.atual.frequencia
|
||||
})
|
||||
.ToList();
|
||||
|
||||
var servoObj = new
|
||||
{
|
||||
conectado = servo.Inicializado,
|
||||
id,
|
||||
label = servo.ID,
|
||||
controlar = servo.Controlar,
|
||||
mandatorio = servo.Mandatorio,
|
||||
angulo_sp = servo._AnguloControle,
|
||||
dados,
|
||||
timestamp = agora,
|
||||
saude = saude ?? new { }
|
||||
};
|
||||
|
||||
atuServosAtualizados.Add(($"{basePath}", servoObj));
|
||||
}
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Atu), atuServosAtualizados.ToArray());
|
||||
|
||||
|
||||
var DadosLra = Variaveis.LoraService;
|
||||
RedisService.AtualizarCampos(RedisService.ModKey(Enums.T_Code.Lra),
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
|||
{"ExpansorGPIO":false,"EnderecoGPIO":"","ExpansorADS":false,"EnderecoADS":"","Pinos":[{"Controlador":0,"Barramento":0,"Pino":99,"Descricao":"1","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":98,"Descricao":"2","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":97,"Descricao":"3","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":4,"Descricao":"4","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":5,"Descricao":"5","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":6,"Descricao":"6","Funcao":24,"Habilitado":true,"ComponenteID":"PRSLN"},{"Controlador":0,"Barramento":0,"Pino":7,"Descricao":"7","Funcao":25,"Habilitado":true,"ComponenteID":"FLXLN"},{"Controlador":0,"Barramento":0,"Pino":15,"Descricao":"8","Funcao":22,"Habilitado":true,"ComponenteID":"MASRS"},{"Controlador":0,"Barramento":0,"Pino":16,"Descricao":"9","Funcao":23,"Habilitado":true,"ComponenteID":"MASRS"},{"Controlador":0,"Barramento":0,"Pino":17,"Descricao":"10","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":18,"Descricao":"11","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":8,"Descricao":"12","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":3,"Descricao":"13","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":46,"Descricao":"14","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":9,"Descricao":"15","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":10,"Descricao":"16","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":11,"Descricao":"17","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":12,"Descricao":"18","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":13,"Descricao":"19","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":14,"Descricao":"20","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":96,"Descricao":"21","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":95,"Descricao":"22","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":94,"Descricao":"23","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":93,"Descricao":"24","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":19,"Descricao":"25","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":20,"Descricao":"26","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":21,"Descricao":"27","Funcao":21,"Habilitado":true,"ComponenteID":"B01"},{"Controlador":0,"Barramento":0,"Pino":47,"Descricao":"28","Funcao":21,"Habilitado":true,"ComponenteID":"B02"},{"Controlador":0,"Barramento":0,"Pino":48,"Descricao":"29","Funcao":21,"Habilitado":true,"ComponenteID":"B03"},{"Controlador":0,"Barramento":0,"Pino":45,"Descricao":"30","Funcao":21,"Habilitado":true,"ComponenteID":"B04"},{"Controlador":0,"Barramento":0,"Pino":0,"Descricao":"31","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":35,"Descricao":"32","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":36,"Descricao":"33","Funcao":37,"Habilitado":true,"ComponenteID":"BOMBA"},{"Controlador":0,"Barramento":0,"Pino":37,"Descricao":"34","Funcao":36,"Habilitado":true,"ComponenteID":"BOMBA"},{"Controlador":0,"Barramento":0,"Pino":38,"Descricao":"35","Funcao":35,"Habilitado":true,"ComponenteID":"BOMBA"},{"Controlador":0,"Barramento":0,"Pino":39,"Descricao":"36","Funcao":5,"Habilitado":true,"ComponenteID":"BOMBA"},{"Controlador":0,"Barramento":0,"Pino":40,"Descricao":"37","Funcao":14,"Habilitado":true,"ComponenteID":"BOMBA"},{"Controlador":0,"Barramento":0,"Pino":41,"Descricao":"38","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":42,"Descricao":"39","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":2,"Descricao":"40","Funcao":34,"Habilitado":true,"ComponenteID":"Atu"},{"Controlador":0,"Barramento":0,"Pino":1,"Descricao":"41","Funcao":33,"Habilitado":true,"ComponenteID":"Atu"},{"Controlador":0,"Barramento":0,"Pino":44,"Descricao":"42","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":43,"Descricao":"43","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":92,"Descricao":"44","Funcao":0,"Habilitado":false,"ComponenteID":""}]}
|
||||
{"ExpansorGPIO":false,"EnderecoGPIO":"","ExpansorADS":false,"EnderecoADS":"","Pinos":[{"Controlador":0,"Barramento":0,"Pino":99,"Descricao":"1","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":98,"Descricao":"2","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":97,"Descricao":"3","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":4,"Descricao":"4","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":5,"Descricao":"5","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":6,"Descricao":"6","Funcao":24,"Habilitado":true,"ComponenteID":"PRSLN"},{"Controlador":0,"Barramento":0,"Pino":7,"Descricao":"7","Funcao":25,"Habilitado":true,"ComponenteID":"FLXLN"},{"Controlador":0,"Barramento":0,"Pino":15,"Descricao":"8","Funcao":22,"Habilitado":true,"ComponenteID":"MASRS"},{"Controlador":0,"Barramento":0,"Pino":16,"Descricao":"9","Funcao":23,"Habilitado":true,"ComponenteID":"MASRS"},{"Controlador":0,"Barramento":0,"Pino":17,"Descricao":"10","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":18,"Descricao":"11","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":8,"Descricao":"12","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":3,"Descricao":"13","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":46,"Descricao":"14","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":9,"Descricao":"15","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":10,"Descricao":"16","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":11,"Descricao":"17","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":12,"Descricao":"18","Funcao":45,"Habilitado":true,"ComponenteID":"SRVB3"},{"Controlador":0,"Barramento":0,"Pino":13,"Descricao":"19","Funcao":45,"Habilitado":true,"ComponenteID":"SRVB2"},{"Controlador":0,"Barramento":0,"Pino":14,"Descricao":"20","Funcao":45,"Habilitado":true,"ComponenteID":"SRVB1"},{"Controlador":0,"Barramento":0,"Pino":96,"Descricao":"21","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":95,"Descricao":"22","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":94,"Descricao":"23","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":93,"Descricao":"24","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":19,"Descricao":"25","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":20,"Descricao":"26","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":21,"Descricao":"27","Funcao":21,"Habilitado":true,"ComponenteID":"B01"},{"Controlador":0,"Barramento":0,"Pino":47,"Descricao":"28","Funcao":21,"Habilitado":true,"ComponenteID":"B02"},{"Controlador":0,"Barramento":0,"Pino":48,"Descricao":"29","Funcao":21,"Habilitado":true,"ComponenteID":"B03"},{"Controlador":0,"Barramento":0,"Pino":45,"Descricao":"30","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":0,"Descricao":"31","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":35,"Descricao":"32","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":36,"Descricao":"33","Funcao":37,"Habilitado":true,"ComponenteID":"BOMBA"},{"Controlador":0,"Barramento":0,"Pino":37,"Descricao":"34","Funcao":36,"Habilitado":true,"ComponenteID":"BOMBA"},{"Controlador":0,"Barramento":0,"Pino":38,"Descricao":"35","Funcao":35,"Habilitado":true,"ComponenteID":"BOMBA"},{"Controlador":0,"Barramento":0,"Pino":39,"Descricao":"36","Funcao":5,"Habilitado":true,"ComponenteID":"BOMBA"},{"Controlador":0,"Barramento":0,"Pino":40,"Descricao":"37","Funcao":14,"Habilitado":true,"ComponenteID":"BOMBA"},{"Controlador":0,"Barramento":0,"Pino":41,"Descricao":"38","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":42,"Descricao":"39","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":2,"Descricao":"40","Funcao":34,"Habilitado":true,"ComponenteID":"Atu"},{"Controlador":0,"Barramento":0,"Pino":1,"Descricao":"41","Funcao":33,"Habilitado":true,"ComponenteID":"Atu"},{"Controlador":0,"Barramento":0,"Pino":44,"Descricao":"42","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":43,"Descricao":"43","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":92,"Descricao":"44","Funcao":0,"Habilitado":false,"ComponenteID":""}]}
|
||||
Loading…
Reference in New Issue