using BPASmartClient.Device;
using BPASmartClient.Model.大炒;
using BPASmartClient.MorkBF.Model;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BPASmartClient.MorkBF
{
internal class GVL_MorkBF : IStatus
{
///
/// 炒锅1订单队列
///
public ConcurrentQueue FirePan1_Order { get; set; } = new ConcurrentQueue();
///
/// 炒锅2订单队列
///
public ConcurrentQueue FirePan2_Order { get; set; } = new ConcurrentQueue();
///
/// 机器人队列
///
public ConcurrentQueue RobotActinQueue { get; set; } = new ConcurrentQueue();
///
/// 炒锅1忙碌
///
public bool FirePan1_Busy = false;
///
/// 炒锅2忙碌
///
public bool FirePan2_Busy = false;
#region 炒锅1读取数据
///
/// 炒锅1锅低温度
///
[VariableMonitor("炒锅1锅低温度", "VW120","160")]
public int FirePot1_Temperature { get; set; }
///
/// 炒锅1脉冲值
///
[VariableMonitor("炒锅1脉冲值", "VW122", "161")]
public int FirePot1_Pulse { get; set; }
///
/// 炒锅1初始化完成
///
[VariableMonitor("炒锅1初始化完成", "M20.0", "480")]
public bool FirePot1_InitCompleted { get; set; } = false;
///
/// 炒锅1手动自动模式
///
[VariableMonitor("炒锅1手动自动模式", "M20.1", "481")]
public bool FirePot1_IsAuto { get; set; }
///
/// 炒锅1急停
///
[VariableMonitor("炒锅1急停", "M20.2", "482")]
public bool FirePot1_Emergencystop{ get; set; }
///
/// 1#炒锅荤菜盆有无检测
///
[VariableMonitor("1#炒锅1锅低温度", "M20.3", "483")]
public bool FirePot1_MealTubExist{ get; set; }
///
/// 1#炒锅素菜盆1有无检测
///
[VariableMonitor("炒锅素菜盆1有无检测", "M20.4", "484")]
public bool FirePot1_VegetablesTub1Exist{ get; set; }
///
/// 1#炒锅素菜盆2有无检测
///
[VariableMonitor("1#炒锅素菜盆2有无检测", "M20.5", "485")]
public bool FirePot1_VegetablesTub2Exist{ get; set; }
///
/// 1#炒锅调料盆1有无检测
///
[VariableMonitor("1#炒锅调料盆1有无检测", "M20.6", "486")]
public bool FirePot1_Seasoning1Exist{ get; set; }
///
/// 1#炒锅调料盆2有无检测
///
[VariableMonitor("1#炒锅调料盆2有无检测", "M20.7", "487")]
public bool FirePot1_Seasoning2Exist{ get; set; }
///
/// 1#炒锅辅料盆1有无检测
///
[VariableMonitor("1#炒锅辅料盆1有无检测", "M21.0", "488")]
public bool FirePot1_Accessories1Exist{ get; set; }
///
/// 1#炒锅辅料盆2有无检测
///
[VariableMonitor("1#炒锅辅料盆2有无检测", "M21.1", "489")]
public bool FirePot1_Accessories2Exist{ get; set; }
///
/// 1#炒锅出餐空盆有无检测
///
[VariableMonitor("1#炒锅出餐空盆有无检测", "M21.2", "490")]
public bool FirePot1_OutFoodTubExist{ get; set; }
///
/// 1#炒锅在原点反馈
///
[VariableMonitor("1#炒锅在原点反馈", "M21.3", "491")]
public bool FirePot1_OnOrigin{ get; set; }
///
/// 1#炒制位置1反馈
///
[VariableMonitor("1#炒制位置1反馈", "M21.4", "492")]
public bool FirePot1_FirePosition1{ get; set; }
///
/// 1#炒制位置2反馈
///
[VariableMonitor("1#炒制位置2反馈", "M21.5", "493")]
public bool FirePot1_FirePosition2{ get; set; }
///
/// 1#炒制位置3反馈
///
[VariableMonitor("1#炒制位置3反馈", "M21.6", "494")]
public bool FirePot1_FirePosition3{ get; set; }
///
/// 1#炒制位置4反馈
///
[VariableMonitor("1#炒制位置4反馈", "M21.7", "495")]
public bool FirePot1_FirePosition4{ get; set; }
///
/// 1#炒锅在出餐倒料位置反馈
///
[VariableMonitor("1#炒锅在出餐倒料位置反馈", "M22.0", "496")]
public bool FirePot1_PotOnOutFoodPosition{ get; set; }
///
/// 1#炒锅在投料位置反馈、
///
[VariableMonitor("1#炒锅在投料位置反馈", "M22.1", "497")]
public bool FirePot1_PotOnIntoFoodPosition{ get; set; }
///
/// 1#炒锅在洗锅位置反馈
///
[VariableMonitor("1#炒锅在洗锅位置反馈", "M22.2", "498")]
public bool FirePot1_PotOnCleanPosition{ get; set; }
#endregion
#region 炒锅2读取数据
///
/// 炒锅2锅低温度
///
[VariableMonitor("炒锅2锅低温度", "VW150", "175")]
public int FirePot2_Temperature{ get; set; }
///
/// 炒锅2脉冲值
///
[VariableMonitor("炒锅2脉冲值", "VW152", "176")]
public int FirePot2_Pulse{ get; set; }
///
/// 炒锅2初始化完成
///
[VariableMonitor("炒锅2初始化完成", "M25.0", "520")]
public bool FirePot2_InitCompleted { get; set; } = false;
///
/// 炒锅2手动自动模式
///
[VariableMonitor("炒锅2手动自动模式", "M25.1", "521")]
public bool FirePot2_IsAuto{ get; set; }
///
/// 炒锅2急停
///
[VariableMonitor("炒锅2急停", "M25.2", "522")]
public bool FirePot2_Emergencystop{ get; set; }
///
/// 2#炒锅荤菜盆有无检测
///
[VariableMonitor("2#炒锅荤菜盆有无检测", "M25.3", "523")]
public bool FirePot2_MealTubExist{ get; set; }
///
/// 2#炒锅素菜盆1有无检测
///
[VariableMonitor("2#炒锅素菜盆1有无检测", "M25.4", "524")]
public bool FirePot2_VegetablesTub1Exist{ get; set; }
///
/// 2#炒锅素菜盆2有无检测
///
[VariableMonitor("2#炒锅素菜盆2有无检测", "M25.5", "525")]
public bool FirePot2_VegetablesTub2Exist{ get; set; }
///
/// 2#炒锅调料盆1有无检测
///
[VariableMonitor("2#炒锅调料盆1有无检测", "M25.6", "526")]
public bool FirePot2_Seasoning1Exist{ get; set; }
///
/// 2#炒锅调料盆2有无检测
///
[VariableMonitor("2#炒锅调料盆2有无检测", "M25.7", "527")]
public bool FirePot2_Seasoning2Exist{ get; set; }
///
/// 2#炒锅辅料盆1有无检测
///
[VariableMonitor("2#炒锅1锅低温度", "M26.0", "528")]
public bool FirePot2_Accessories1Exist{ get; set; }
///
/// 2#炒锅辅料盆2有无检测
///
[VariableMonitor("2#炒锅辅料盆2有无检测", "M26.1", "529")]
public bool FirePot2_Accessories2Exist{ get; set; }
///
/// 2#炒锅出餐空盆有无检测
///
[VariableMonitor("2#炒锅出餐空盆有无检测", "M26.2", "530")]
public bool FirePot2_OutFoodTubExist{ get; set; }
///
/// 2#炒锅在原点反馈
///
[VariableMonitor("2#炒锅在原点反馈", "M26.3", "531")]
public bool FirePot2_OnOrigin{ get; set; }
///
/// 2#炒制位置1反馈
///
[VariableMonitor("2#炒制位置1反馈", "M26.4", "532")]
public bool FirePot2_FirePosition1{ get; set; }
///
/// 2#炒制位置2反馈
///
[VariableMonitor("2#炒制位置2反馈", "M26.5", "533")]
public bool FirePot2_FirePosition2{ get; set; }
///
/// 2#炒制位置3反馈
///
[VariableMonitor("2#炒制位置3反馈", "M26.6", "534")]
public bool FirePot2_FirePosition3{ get; set; }
///
/// 2#炒制位置4反馈
///
[VariableMonitor("2#炒制位置4反馈", "M26.7", "535")]
public bool FirePot2_FirePosition4{ get; set; }
///
/// 2#炒锅在出餐倒料位置反馈
///
[VariableMonitor("2#炒锅在出餐倒料位置反馈", "M27.0", "536")]
public bool FirePot2_PotOnOutFoodPosition{ get; set; }
///
/// 2#炒锅在投料位置反馈、
///
[VariableMonitor("2#炒锅在投料位置反馈", "M27.1", "537")]
public bool FirePot2_PotOnIntoFoodPosition{ get; set; }
///
/// 2#炒锅在洗锅位置反馈
///
[VariableMonitor("2#炒锅在洗锅位置反馈", "M27.2", "538")]
public bool FirePot2_PotOnCleanPosition{ get; set; }
#endregion
#region 机器人数据读取
public bool Robot_IsBusy;
///
/// 机器人在原点位
///
[VariableMonitor("机器人在原点位", "GM105", "4201")]
public bool Robot_Origin { get; set; }
///
/// 1号锅倒荤菜完成
///
[VariableMonitor("机器人#1号锅倒荤菜完成", "GM500", "4596")]
public bool Robot_FirePot1OutMeal{ get; set; }
///
/// 1号炒锅倒素菜1完成
///
[VariableMonitor("机器人#1号炒锅倒素菜1完成", "GM501", "4597")]
public bool Robot_FirePot1OutVegetables1{ get; set; }
///
/// 1号炒锅倒素菜2完成
///
[VariableMonitor("机器人#1号炒锅倒素菜2完成", "GM502", "4598")]
public bool Robot_FirePot1OutVegetables2{ get; set; }
///
/// 1号炒锅倒调料完成
///
[VariableMonitor("机器人#1号炒锅倒调料完成", "GM503", "4599")]
public bool Robot_FirePot1OutSeasoning{ get; set; }
///
/// 1号炒锅倒辅料完成
///
[VariableMonitor("机器人#1号炒锅倒辅料完成", "GM504", "4600")]
public bool Robot_FirePot1OutAccessories{ get; set; }
///
/// 机器人到位,请求1#炒锅倒菜
///
[VariableMonitor("机器人到位,请求1#炒锅倒菜", "GM505", "4601")]
public bool Robot_ArriveFirePot1{ get; set; }
///
/// 1号炒锅出餐完成
///
[VariableMonitor("机器人#1号炒锅出餐完成", "GM506", "4602")]
public bool Robot_FirePot1OutFoodComplete{ get; set; }
///
/// 2号锅倒荤菜完成
///
[VariableMonitor("机器人#2号锅倒荤菜完成", "GM510", "4606")]
public bool Robot_FirePot2OutMeal { get; set; }
///
/// 2号炒锅倒素菜1完成
///
[VariableMonitor("机器人#2号炒锅倒素菜1完成", "GM511", "4607")]
public bool Robot_FirePot2OutVegetables1{ get; set; }
///
/// 2号炒锅倒素菜2完成
///
[VariableMonitor("2号炒锅倒素菜2完成", "GM512", "4608")]
public bool Robot_FirePot2OutVegetables2{ get; set; }
///
/// 2号炒锅倒调料完成
///
[VariableMonitor("机器人#2号炒锅倒调料完成", "GM513", "4609")]
public bool Robot_FirePot2OutSeasoning{ get; set; }
///
/// 2号炒锅倒辅料完成
///
[VariableMonitor("机器人#2号炒锅倒辅料完成", "GM514", "4610")]
public bool Robot_FirePot2OutAccessories{ get; set; }
///
/// 机器人到位,请求1#炒锅倒菜
///
[VariableMonitor("机器人#机器人到位,请求1#炒锅倒菜", "GM515", "4611")]
public bool Robot_ArriveFirePot2{ get; set; }
///
/// 2号炒锅出餐完成
///
[VariableMonitor("机器人#2号炒锅出餐完成", "GM516", "4612")]
public bool Robot_FirePot2OutFoodComplete{ get; set; }
///
/// 机器人动作反馈
///
[VariableMonitor("机器人动作反馈", "GI5", "5")]
public int Robot_ActionCallback{ get; set; }
#endregion
public Dictionary FirePot1_CompleteSingle { get; set; }
public Dictionary FirePot2_CompleteSingle { get; set; }
public GVL_MorkBF()
{
FirePot1_CompleteSingle = new Dictionary
{
{1,Robot_FirePot1OutMeal },
{2,Robot_FirePot1OutVegetables1 },
{3,Robot_FirePot1OutVegetables2 },
};
FirePot2_CompleteSingle = new Dictionary
{
{1,Robot_FirePot2OutMeal },
{2,Robot_FirePot2OutVegetables1 },
{3,Robot_FirePot2OutVegetables2 },
};
}
public DateTime FirePan1_Date;
public DateTime FirePan2_Date;
}
}