using BPASmartClient.Device; using BPASmartClient.Model; using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BPASmartClient.MorkSUpgradedVer { public class GVL_MorkSUpgradedVer : IStatus { #region 临时变量 /// /// 允许运行 /// [VariableMonitor("允许运行")] public bool AllowRun { get; set; } /// /// 设备连接状态 /// //[VariableMonitor("设备连接状态")] //public bool IsConnected { get; set; } /// /// 优先级判断 /// [VariableMonitor("优先级判断条件")] public bool PriorityJudgment { get; set; } /// /// 机器人任务互锁信号,false:取面,true:出餐 /// [VariableMonitor("机器人任务互锁信号")] public bool RobotTaskInterlock { get; set; } /// /// 取碗互锁信号,False:可取碗,反之为True. /// [VariableMonitor("取碗互锁信号")] public bool TakeBowlInterlock { get; set; } /// /// 取面互锁信号 /// [VariableMonitor("取面互锁信号")] public bool TakeNoodleInterlock { get; set; } /// /// 出面中 /// [VariableMonitor("出面中")] public bool OutNoodleing { get; set; } /// /// 允许取面 /// [VariableMonitor("允许取面")] public bool AllowTakeNoodle { get; set; } /// /// 转台互锁信号 /// [VariableMonitor("转台互锁信号")] public bool TurntableInterlock { get; set; } /// /// 机器人出餐互锁 /// [VariableMonitor("机器人出餐互锁")] public bool RobotOutDinnigLock { get; set; } /// /// 煮面炉状态,True:忙碌,false:空闲 /// [VariableMonitor("煮面炉状态")] public bool[] NoodleCookerStatus { get; set; } = new bool[6]; /// /// 转台当前启动位置 /// [VariableMonitor("转台当前启动位置")] public ushort CurrentLoc { get; set; } = 0; /// /// 制作完成标志 /// [VariableMonitor("制作完成标志")] public bool CookCompleteFlatBit { get; set; } /// /// 取碗任务数量 /// [VariableMonitor("取碗任务数量")] public int TakeBowlTaskCount { get; set; } /// /// 取面任务数量 /// [VariableMonitor("取面任务数量")] public int RBTakeNoodleTaskCount { get; set; } #endregion #region 列表数据 /// /// 机器人取面位置队列 /// public ConcurrentQueue RBTakeNoodleTask { get; set; } = new ConcurrentQueue(); /// /// 出碗队列 /// public ConcurrentQueue TakeBowlTask { get; set; } = new ConcurrentQueue(); public List doOrderEvents { get; set; } = new List(); public ConcurrentDictionary doe { get; set; } = new ConcurrentDictionary(); public List HistorySuborderId { get; set; } = new List(); public NoodleShidModel[] nsm { get; set; } = new NoodleShidModel[6] { new NoodleShidModel(), new NoodleShidModel(), new NoodleShidModel(), new NoodleShidModel(), new NoodleShidModel(), new NoodleShidModel() }; #endregion #region 订单ID记录 /// /// 当前取碗大小 /// public int TakeBowSize { get; set; } /// /// 取碗订单ID /// public string TakeBowlId { get; set; } = string.Empty; /// /// 取碗订单名称 /// public string TakeBowName { get; set; } = string.Empty; /// /// 取碗完成订单排序号 /// public int TakeBowSortNum { get; set; } = 0; public ushort RandomLoc { get; set; } /// /// 允许倒面位置ID /// public string IngredientsCompleteId { get; set; } = string.Empty; /// /// 配料完成订单名称 /// public string IngredientsCompleteName { get; set; } = string.Empty; /// /// 配料完成订单排序号 /// public int IngredientsCompleteSortNum { get; set; } = 0; /// /// 煮面口对应的订单ID /// public string[] CookNodelId { get; set; } = new string[6] { string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, }; /// /// 出餐订单ID /// public string OutMealId { get; set; } = string.Empty; /// /// 出餐订单名称 /// public string OutMealName { get; set; } = string.Empty; /// /// 出餐排序号 /// public int OutMealSortNum { get; set; } = 0; /// /// 转台位置轮询 /// public List TurntableLocLists { get; set; } = new List(); #endregion #region device Data /// /// 初始化启动 /// [VariableMonitor("初始化启动", "M0.0", "320")] public bool InitStart { get; set; } /// /// 初始化完成 /// [VariableMonitor("初始化完成", "M0.1", "321")] public bool InitComplete { get; set; } /// /// 移碗丝杆初始化完成 /// [VariableMonitor("移碗丝杆初始化完成", "M0.2", "322")] public bool MoveScrewRodInitCom { get; set; } /// /// 供碗1初始化完成 /// [VariableMonitor("供碗1初始化完成", "M0.3", "323")] public bool SacrificialVesselInitCom { get; set; } /// /// 气缸推杆初始化完成 /// [VariableMonitor("气缸推杆初始化完成", "M0.4", "324")] public bool CylinderInitCom { get; set; } /// /// 煮面机初始化完成 /// [VariableMonitor("煮面机初始化完成", "M0.5", "325")] public bool NoodleCookerInitCom { get; set; } /// /// 机器人初始化完成 /// [VariableMonitor("机器人初始化完成", "M0.6", "326")] public bool RobotInitCom { get; set; } /// /// 料仓初始化完成 /// [VariableMonitor("料仓初始化完成", "M0.7", "327")] public bool SiloInitCom { get; set; } /// /// 故障复位/停止 /// [VariableMonitor("故障复位/停止", "M1.0", "328")] public bool FaultResetOrStop { get; set; } /// /// 落碗1,大碗 /// [VariableMonitor("落碗1,大碗", "M9.0", "392")] public bool DropBowlOne { get; set; } /// /// 落碗2,一次性碗 /// [VariableMonitor("落碗2,一次性碗", "M9.1", "393")] public bool DropBowlTow { get; set; } /// /// 允许倒面 /// [VariableMonitor("允许倒面", "M10.0", "400")] public bool AllowInvertedFace { get; set; } /// /// 允许倒面 /// [VariableMonitor("煮面炉状态", "M20.0", "510")] public bool[] Nsm { get; set; }=new bool[6]; /// /// 出餐完成 /// [VariableMonitor("出餐完成", "M10.1", "401")] public bool DiningComplete { get; set; } /// /// 落碗机构状态,1:忙碌 0:空闲 /// [VariableMonitor("落碗机构状态,1:忙碌 0:空闲", "M10.4", "404")] public bool DropBowlMechanismStatus { get; set; } /// /// 定位标志,1:忙碌 0:空闲 /// [VariableMonitor("定位标志,1:忙碌 0:空闲", "M12.2", "418")] public bool FixedFlag { get; set; } /// /// 定位启动 /// [VariableMonitor("定位启动", "M12.3", "419")] public bool FixedStart { get; set; } /// /// 料仓到位 /// [VariableMonitor("料仓到位", "M13.5", "429")] public bool SiloInPlace { get; set; } /// /// 机器人料仓取面完成 /// [VariableMonitor("机器人去料仓取面完成", "M16.7", "455")] public bool RobotTakeNoodleCom { get; set; } /// /// 机器人状态 /// [VariableMonitor("机器人状态", "M17.4", "460")] public bool RobotStatus { get; set; } /// /// 一次性碗有无检测 /// [VariableMonitor("一次性碗有无检测", "M18.0", "464")] public bool SmallBowlYesOrNoCheck { get; set; } /// /// 大碗有无检测 /// [VariableMonitor("大碗有无检测", "M18.1", "465")] public bool LargeBowYesOrNoCheck { get; set; } /// /// 转台高位 /// [VariableMonitor("转台高位", "M18.2", "466")] public bool TurntableHighPosition { get; set; } /// /// 转台低位 /// [VariableMonitor("转台低位", "M18.3", "467")] public bool TurntableLowPosition { get; set; } /// /// 煮面完成 /// [VariableMonitor("煮面完成")] public bool[] CookNoodleCom { get; set; } = new bool[6]; /// /// 本地/远程 /// [VariableMonitor("本地/远程")] public bool LocalOrRemote { get; set; } /// /// 温度到达 /// [VariableMonitor("温度到达")] public bool TemperatureReaches { get; set; } /// /// 加热中 /// [VariableMonitor("加热中")] public bool Heating { get; set; } /// /// 转台当前位置 /// [VariableMonitor("转台当前位置", "VW770", "870")] public ushort CurrentFeedbackLoc { get; set; } /// /// 补料完成 /// [VariableMonitor("补料完成", "M101.6", "1134")] public bool FeedComplete { get; set; } /// /// 补料中 /// [VariableMonitor("补料中", "M102.6", "1142")] public bool Feeding { get; set; } #endregion } }