213 lines
9.3 KiB
C#
213 lines
9.3 KiB
C#
using AgroBase.Models;
|
|
using AgroBase.Services;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using static AgroBase.Services.BLD300RService;
|
|
|
|
namespace AgroBase.Forms
|
|
{
|
|
public partial class frmBLD : Form
|
|
{
|
|
byte Addr = 0x02;
|
|
|
|
public frmBLD()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void frmBLD_Load(object sender, EventArgs e)
|
|
{
|
|
btnAtualizar_Click(sender, e);
|
|
//LoopAtualizacao().ConfigureAwait(false);
|
|
|
|
this.Text += " - "; // + BLD300RService._PortaBLD.PortName;
|
|
}
|
|
|
|
private async Task LoopAtualizacao()
|
|
{
|
|
/*if (BLD300RService.Iniciado)
|
|
{
|
|
if (btnSalvar.Text == "Editar")
|
|
{
|
|
AtualizarDadosTela();
|
|
}
|
|
|
|
btnAtivar.Text = BLD300RService.UltimaLeitura.Ativado ? "Desligar" : "Ligar";
|
|
btnSentido.Text = BLD300RService.UltimaLeitura.Direcao == Enuns.Sentido.Horario ? "Antihorário" : "Horário";
|
|
btnFrear.Text = BLD300RService.UltimaLeitura.Freado ? "Desligar" : "Ligar";
|
|
|
|
lblRPM.Text = BLD300RService.UltimaLeitura.RPM.ToString();
|
|
lblRPMSP.Text = BLD300RService.UltimaLeitura.RPM_SP.ToString();
|
|
|
|
FuncoesGlobais.PreencheValorProgressBar(pgbRPM, BLD300RService.UltimaLeitura.RPM);
|
|
FuncoesGlobais.PreencheValorProgressBar(pgbRPMSP, BLD300RService.UltimaLeitura.RPM_SP);
|
|
|
|
txtCodAlarme.Text = BLD300RService.UltimaLeitura.CodigoAlarme.ToString();
|
|
}*/
|
|
|
|
btnAtivar.Enabled = btnSalvar.Text == "Editar";
|
|
btnSentido.Enabled = btnSalvar.Text == "Editar";
|
|
btnFrear.Enabled = btnSalvar.Text == "Editar";
|
|
trbRPMSP.Enabled = btnSalvar.Text == "Editar";
|
|
chbControleSerial.Enabled = btnSalvar.Text != "Editar";
|
|
nudEndereco.Enabled = btnSalvar.Text != "Editar";
|
|
nudNumPolos.Enabled = btnSalvar.Text != "Editar";
|
|
nudRPMMax.Enabled = btnSalvar.Text != "Editar";
|
|
nudRampa.Enabled = btnSalvar.Text != "Editar";
|
|
|
|
await Task.Delay(200);
|
|
await LoopAtualizacao();
|
|
}
|
|
|
|
private void AtualizarDadosTela()
|
|
{
|
|
/*nudEndereco.Value = BLD300RService.slaveAddress;
|
|
|
|
trbRPMSP.Maximum = BLD300RService.UltimaLeitura.RPM_Max;
|
|
pgbRPM.Maximum = trbRPMSP.Maximum;
|
|
pgbRPMSP.Maximum = trbRPMSP.Maximum;
|
|
|
|
chbControleSerial.Checked = BLD300RService.UltimaLeitura.ControleRS485;
|
|
|
|
nudNumPolos.Value = BLD300RService.UltimaLeitura.NumeroPolos;
|
|
nudRPMMax.Value = BLD300RService.UltimaLeitura.RPM_Max;
|
|
nudRampa.Value = BLD300RService.UltimaLeitura.Rampa;
|
|
|
|
txtTensao.Text = BLD300RService.UltimaLeitura.Tensao.ToString("0.00");
|
|
txtTemperatura.Text = BLD300RService.UltimaLeitura.Temperatura.ToString("0.00");
|
|
txtCorrente.Text = BLD300RService.UltimaLeitura.CorrenteMax.ToString("0.00");*/
|
|
}
|
|
|
|
private void btnAtualizar_Click(object sender, EventArgs e)
|
|
{
|
|
/*if (BLD300RService.Iniciado)
|
|
{
|
|
BLD300RService.AtualizarDadosDriver().ConfigureAwait(false);
|
|
}*/
|
|
}
|
|
|
|
private void btnSalvar_Click(object sender, EventArgs e)
|
|
{
|
|
/*if (btnSalvar.Text == "Editar")
|
|
{
|
|
btnSalvar.Text = "Salvar";
|
|
}
|
|
else
|
|
{
|
|
BLD300RService.slaveAddress = (byte)nudEndereco.Value;
|
|
|
|
if (chbControleSerial.Checked != BLD300RService.UltimaLeitura.ControleRS485)
|
|
{
|
|
var parametro = BLD300RService.Parametros.First(x => x.Chave == "ControleRS485");
|
|
var comando = ModbusService.ComandoSetParametro(BLD300RService.slaveAddress, parametro, chbControleSerial.Checked ? 1 : 0);
|
|
ModbusService.EnviarComando(comando).ConfigureAwait(false);
|
|
}
|
|
|
|
if (Convert.ToInt32(nudNumPolos.Value) != BLD300RService.UltimaLeitura.NumeroPolos)
|
|
{
|
|
var parametro = BLD300RService.Parametros.First(x => x.Chave == "NumPolos");
|
|
var comando = ModbusService.ComandoSetParametro(BLD300RService.slaveAddress, parametro, Convert.ToInt32(nudNumPolos.Value));
|
|
ModbusService.EnviarComando(comando).ConfigureAwait(false);
|
|
}
|
|
|
|
if (Convert.ToInt32(nudRPMMax.Value) != BLD300RService.UltimaLeitura.RPM_Max)
|
|
{
|
|
var parametro = BLD300RService.Parametros.First(x => x.Chave == "RPM_Max");
|
|
var comando = ModbusService.ComandoSetParametro(BLD300RService.slaveAddress, parametro, Convert.ToInt32(nudRPMMax.Value));
|
|
ModbusService.EnviarComando(comando).ConfigureAwait(false);
|
|
}
|
|
|
|
if (Convert.ToInt32(nudRampa.Value) != BLD300RService.UltimaLeitura.Rampa)
|
|
{
|
|
var parametro = BLD300RService.Parametros.First(x => x.Chave == "Rampa");
|
|
var comando = ModbusService.ComandoSetParametro(BLD300RService.slaveAddress, parametro, Convert.ToInt32(nudRampa.Value));
|
|
ModbusService.EnviarComando(comando).ConfigureAwait(false);
|
|
}
|
|
|
|
btnSalvar.Text = "Editar";
|
|
}*/
|
|
}
|
|
|
|
private void btnAtivar_Click(object sender, EventArgs e)
|
|
{
|
|
/*var parametro = BLD300RService.Parametros.First(x => x.Chave == "Enabled");
|
|
var comando = ModbusService.ComandoSetParametro(BLD300RService.slaveAddress, parametro, BLD300RService.UltimaLeitura.Ativado ? 0 : 1);
|
|
ModbusService.EnviarComando(comando).ConfigureAwait(false);*/
|
|
|
|
var Leitura = BLD300RService.DadosLeitura.FirstOrDefault(x => x.Endereco == Addr && x.parametros.Any(y => y.Registro == 0x0066));
|
|
BLD300RService.AdicionarComandoNaFila(new BLDComandoModel()
|
|
{
|
|
Endereco = Addr,
|
|
Parametro = BLD300RService.Parametros.First(x => x.Chave == "Enabled"),
|
|
Valor = Leitura != null ? (Leitura.Ativado ? 0 : 1) : 0,
|
|
Get = false,
|
|
AguardaResposta = true,
|
|
TimeoutResposta = 200,
|
|
});
|
|
}
|
|
|
|
private void btnSentido_Click(object sender, EventArgs e)
|
|
{
|
|
/*var parametro = BLD300RService.Parametros.First(x => x.Chave == "Direction");
|
|
var comando = ModbusService.ComandoSetParametro(BLD300RService.slaveAddress, parametro, BLD300RService.UltimaLeitura.Direcao == Enuns.Sentido.Horario ? 0 : 1);
|
|
ModbusService.EnviarComando(comando).ConfigureAwait(false);*/
|
|
|
|
var Leitura = BLD300RService.DadosLeitura.FirstOrDefault(x => x.Endereco == Addr && x.parametros.Any(y => y.Registro == 0x006D));
|
|
BLD300RService.AdicionarComandoNaFila(new BLDComandoModel()
|
|
{
|
|
Endereco = Addr,
|
|
Parametro = BLD300RService.Parametros.First(x => x.Chave == "Direction"),
|
|
Valor = Leitura != null ? (Leitura.Direcao == Enums.Sentido.Horario ? 0 : 1) : 0,
|
|
Get = false,
|
|
AguardaResposta = true,
|
|
TimeoutResposta = 200,
|
|
});
|
|
}
|
|
|
|
private void btnFrear_Click(object sender, EventArgs e)
|
|
{
|
|
/*var parametro = BLD300RService.Parametros.First(x => x.Chave == "Breaked");
|
|
var comando = ModbusService.ComandoSetParametro(BLD300RService.slaveAddress, parametro, BLD300RService.UltimaLeitura.Freado ? 0 : 1);
|
|
ModbusService.EnviarComando(comando).ConfigureAwait(false);*/
|
|
|
|
var Leitura = BLD300RService.DadosLeitura.FirstOrDefault(x => x.Endereco == Addr && x.parametros.Any(y => y.Registro == 0x006A));
|
|
BLD300RService.AdicionarComandoNaFila(new BLDComandoModel()
|
|
{
|
|
Endereco = Addr,
|
|
Parametro = BLD300RService.Parametros.First(x => x.Chave == "Breaked"),
|
|
Valor = Leitura != null ? (Leitura.Freado ? 0 : 1) : 0,
|
|
Get = false,
|
|
AguardaResposta = true,
|
|
TimeoutResposta = 200,
|
|
});
|
|
}
|
|
|
|
private void trbRPMSP_MouseUp(object sender, MouseEventArgs e)
|
|
{
|
|
/*var parametro = BLD300RService.Parametros.First(x => x.Chave == "RPM_SP");
|
|
var comando = ModbusService.ComandoSetParametro(BLD300RService.slaveAddress, parametro, trbRPMSP.Value);
|
|
ModbusService.EnviarComando(comando).ConfigureAwait(false);*/
|
|
|
|
var Leitura = BLD300RService.DadosLeitura.FirstOrDefault(x => x.Endereco == Addr && x.parametros.Any(y => y.Registro == 0x0056));
|
|
float rpm = (float)((Leitura != null ? Leitura.RPM_Max : 800.0) * (trbRPMSP.Value / 10.0));
|
|
BLD300RService.AdicionarComandoNaFila(new BLDComandoModel()
|
|
{
|
|
Endereco = Addr,
|
|
Parametro = BLD300RService.Parametros.First(x => x.Chave == "RPM_SP"),
|
|
Valor = rpm,
|
|
Get = false,
|
|
AguardaResposta = true,
|
|
TimeoutResposta = 200,
|
|
});
|
|
}
|
|
}
|
|
}
|