100 lines
3.0 KiB
C#
100 lines
3.0 KiB
C#
using AgroBase.Services;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using static AgroBase.Models.Enums;
|
|
|
|
namespace AgroBase.Models
|
|
{
|
|
public class MKS057DModel
|
|
{
|
|
public byte Endereco { get; set; }
|
|
public bool Iniciado
|
|
{
|
|
get
|
|
{
|
|
// Houve comandos recebidos do driver dentro dos ultimos 10 segundos
|
|
return UltimoComandoRecebido.AddSeconds(10) > DateTime.Now;
|
|
}
|
|
}
|
|
public DateTime UltimoComandoRecebido { get; set; }
|
|
public double ErroCarregado { get; set; }
|
|
public string ErroCarregado_Hex { get; set; }
|
|
public double ErroAcumulado { get; set; }
|
|
public string ErroAcumulado_Hex { get; set; }
|
|
public double RPM { get; set; }
|
|
public string RPM_Hex { get; set; }
|
|
public int NumeroPulsos { get; set; }
|
|
public string NumeroPulsos_Hex { get; set; }
|
|
public double ErroAngulo { get; set; }
|
|
public string ErroAngulo_Hex { get; set; }
|
|
public Estado StatusDriver { get; set; }
|
|
public StatusComando StatusModoLimiteZero { get; set; }
|
|
public Estado StatusTravaMotor { get; set; }
|
|
public StatusComando StatusBloqueioMotor { get; set; }
|
|
public StatusComando StatusMovimentoMotor { get; set; }
|
|
public Sentido Direcao { get; set; }
|
|
public double Velocidade { get; set; }
|
|
public double Aceleracao { get; set; }
|
|
public string Mensagem { get; set; }
|
|
public string HV { get; set; }
|
|
public string FV { get; set; }
|
|
public List<bool> Entradas { get; set; }
|
|
public List<bool> Saidas { get; set; }
|
|
}
|
|
|
|
public class MKS057ComandoModel
|
|
{
|
|
public DateTime Momento { get; set; } = DateTime.Now;
|
|
public bool Get { get; set; }
|
|
public byte Comando { get; set; }
|
|
public byte Endereco { get; set; }
|
|
public double Angulo { get; set; }
|
|
public double Velocidade { get; set; }
|
|
public ModosControle ModoControle { get; set; } = ModosControle.AnguloAbsoluto;
|
|
public Sentido _Sentido { get; set; } = Sentido.Parado;
|
|
public bool AguardaResposta { get; set; } = false;
|
|
public int TimeoutResposta { get; set; } = 1000;
|
|
public bool Enviado { get; set; } = false;
|
|
public bool ErroEnvio { get; set; } = false;
|
|
}
|
|
|
|
public enum ModosOperacao
|
|
{
|
|
CR_OPEN = 1,
|
|
CR_CLOSE = 2,
|
|
CR_vFOC = 3,
|
|
SR_OPEN = 4,
|
|
SR_CLOSE = 5,
|
|
SR_vFOC = 6,
|
|
}
|
|
|
|
public enum ModosControle
|
|
{
|
|
Pulsos = 1,
|
|
AnguloRelativo = 2,
|
|
AnguloAbsoluto = 3,
|
|
}
|
|
|
|
public enum ModosRetornoOrigem
|
|
{
|
|
Desativado = 0,
|
|
ModoDirecao = 1,
|
|
ModoAproximacao = 2,
|
|
}
|
|
|
|
public enum StatusComando
|
|
{
|
|
Falha = 0,
|
|
Sucesso = 1,
|
|
Erro = 2,
|
|
Retornando = 3,
|
|
Completo = 4,
|
|
Movendo = 5,
|
|
Parando = 6,
|
|
Calibrando = 7,
|
|
}
|
|
}
|