Board3VM.cs 5.76 KB
namespace DataAcquisition.ViewModels.Board
{
    public class Board3VM
    {
        /// <summary>
        /// 焊接设备实时状态
        /// </summary>
        public List<RobotState> RobotStateMonitor { get; set; } = new List<RobotState>();

        /// <summary>
        /// 焊接设备实况
        /// </summary>
        public List<RobotCondition> RobotConditions { get; set; } = new List<RobotCondition>();

        /// <summary>
        /// 设备当日运行状态统计
        /// </summary>
        public List<ChartBar> RobotStateStatistics { get; set; } = new List<ChartBar>();

        /// <summary>
        /// 加工统计
        /// </summary>
        public ProcessingStatistics ProcessingStatistics { get; set; } = new ProcessingStatistics();

        /// <summary>
        /// 设备总览
        /// </summary>
        public RobotStatistics RobotStatistics { get; set; } = new RobotStatistics();
    }

    public class RobotState
    {
        /// <summary>
        /// 设备编号
        /// </summary>
        public string Code { get; set; } = null!;

        /// <summary>
        /// 设备名称
        /// </summary>
        public string Name { get; set; } = null!;

        /// <summary>
        /// 设备状态
        /// </summary>
        public int State { get; set; }

        /// <summary>
        /// 状态名称
        /// </summary>
        public string StateName { get; set; } = null!;

        /// <summary>
        /// 工作时长(近7天)
        /// </summary>
        public double WorkTime { get; set; }

        /// <summary>
        /// 燃弧时长(近7天)
        /// </summary>
        public double ArcingTime { get; set; }

        /// <summary>
        /// 开机时长(近7天)
        /// </summary>
        public double PowerTime { get; set; }
    }

    public class RobotCondition
    {
        /// <summary>
        /// 设备编号
        /// </summary>
        public string EquipmentCode { get; set; } = null!;

        /// <summary>
        /// 工作模式
        /// </summary>
        public string WorkMode { get; set; } = null!;

        /// <summary>
        /// 焊接电流
        /// </summary>
        public double Weld_I { get; set; }

        /// <summary>
        /// 焊接电压
        /// </summary>
        public double Weld_V { get; set; }

        /// <summary>
        /// 送丝速度
        /// </summary>
        public double Weld_Speed { get; set; }

        /// <summary>
        /// 清枪状态
        /// </summary>
        public bool Weld_CleanGun { get; set; }
    }

    /// <summary>
    /// 加工统计
    /// </summary>
    public class ProcessingStatistics
    {
        /// <summary>
        /// X轴日期
        /// </summary>
        public List<string> XAxisDate { get; set; } = new List<string>();

        /// <summary>
        /// 线
        /// </summary>
        public List<ChartLine> ChartLines { get; set; } = new List<ChartLine>();

    }

    public class RobotStatistics
    {
        /// <summary>
        /// 当天利用率
        /// </summary>
        public double TodayUtilizationRate { get; set; }

        /// <summary>
        /// 当天燃弧率
        /// </summary>
        public double TodayArcingRate { get; set; }

        /// <summary>
        /// 当天焊丝消耗
        /// </summary>
        public double TodayWireConsumption { get; set; }

        /// <summary>
        /// 当月焊丝消耗
        /// </summary>
        public double MonthWireConsumption { get; set; }

        /// <summary>
        /// 当日产量
        /// </summary>
        public int TodayProductionCapacity { get; set; }

        /// <summary>
        /// 当月产量
        /// </summary>
        public int MonthProductionCapacity { get; set; }

        /// <summary>
        /// 当天气体消耗
        /// </summary>
        public double TodayGasConsumption { get; set; }

        /// <summary>
        /// 当月气体消耗
        /// </summary>
        public double MonthGasConsumption { get; set; }

        /// <summary>
        /// 当天耗电量
        /// </summary>
        public double TodayPowerConsumption { get; set; }

        /// <summary>
        /// 当月耗电量
        /// </summary>
        public double MonthPowerConsumption { get; set; }

        /// <summary>
        /// 当天燃弧耗电量
        /// </summary>
        public double TodayWeldPowerConsumption { get; set; }

        /// <summary>
        /// 当月燃弧耗电量
        /// </summary>
        public double MonthWeldPowerConsumption { get; set; }
    }

    /// <summary>
    /// 折线图
    /// </summary>
    public class ChartLine
    {
        /// <summary>
        /// 设备编号
        /// </summary>
        public string Code { get; internal set; }=null!;

        /// <summary>
        /// 名称
        /// </summary>
        public string Name { get; set; } = null!;

        /// <summary>
        /// 值
        /// </summary>
        public List<int> Values { get; set; } = new List<int>();
    }

    /// <summary>
    /// 柱状图
    /// </summary>
    public class ChartBar
    {
        /// <summary>
        /// 设备编号
        /// </summary>
        public string Code { get; set; } = null!;

        /// <summary>
        /// 设备名称
        /// </summary>
        public string Name { get; set; } = null!;

        /// <summary>
        /// 运行状态占比
        /// </summary>
        public double Run { get; set; }

        /// <summary>
        /// 空闲状态占比
        /// </summary>
        public double Free { get; set; }

        /// <summary>
        /// 报警状态占比
        /// </summary>
        public double Alarm { get; set; }

        /// <summary>
        /// 离线
        /// </summary>
        public double OffLine { get; set; }
    }
}