using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using HBLConsole.Interface; using System.Collections.Concurrent; namespace HBLConsole.GVL { /// /// MORKS 设备数据 /// public class MORKS : IGvl { /// /// 机器人取面 /// PLC -> M0.3 /// ModbusTcp -> 323 /// public bool RobotTakeNoodle { get; set; } /// /// 机器人出餐 /// PLC -> M0.4 /// ModbusTcp -> 324 /// public bool RobotOutMeal { get; set; } /// /// 移动转台 /// PLC -> M0.5 /// ModbusTcp -> 325 /// public bool MoveTurntable { get; set; } /// /// 初始化完成 /// PLC -> M100.0 /// ModbusTcp -> 1120 /// public bool InitComplete { get; set; } /// /// 取碗机构空闲,True:忙碌,false:空闲 /// PLC -> M100.1 /// ModbusTcp -> 1121 /// public bool TakeBowlIdle { get; set; } /// /// 温度到达,True:表示到达,false:未到达 /// PLC -> M100.2 /// ModbusTcp -> 1122 /// public bool TemperatureReached { get; set; } /// /// 允许到面,配料完成 /// PLC -> M100.3 /// ModbusTcp -> 1123 /// public bool AllowFallNoodle { get; set; } /// /// 机器人取面完成 /// PLC -> M100.4 /// ModbusTcp -> 1124 /// public bool RbTakeNoodleComplete { get; set; } /// /// 机器人倒面完成 /// PLC -> M100.5 /// ModbusTcp -> 1125 /// public bool RbFallNoodleComplete { get; set; } /// /// 机器人出餐完成,上报取餐完成 /// PLC -> M100.6 /// ModbusTcp -> 1126 /// public bool RbOutMealComplete { get; set; } /// /// 机器人空闲 /// PLC -> M100.7 /// ModbusTcp -> 1127 /// public bool RobotIdle { get; set; } /// /// 取餐口检测 /// PLC -> M101.0 /// ModbusTcp -> 1128 /// public bool TakeMealDetect { get; set; } /// /// 缺碗信号,false:缺碗,true:有碗 /// PLC -> M101.1 /// ModbusTcp -> 1129 /// public bool MissingBowl { get; set; } /// /// 转台下限检测 /// PLC -> M101.3 /// ModbusTcp -> 1131 /// public bool TurntableLowerLimit { get; set; } /// /// 煮面炉状态,True:忙碌,false:空闲 /// M102.0 - M102.5 /// 1136 - 1141 /// public bool[] NoodleCookerStatus { get; set; } = new bool[6] { false, false, false, false, false, false }; /// /// 煮面完成,上升后给信号 /// M103.0 - M103.5 /// 1144 - 1149 /// public bool[] CookNoodlesComplete { get; set; } = new bool[6] { false, false, false, false, false, false }; /// /// 配方编号 /// PLC -> VW0 /// ModbusTcp -> 100 /// public ushort RecipeNumber { get; set; } /// /// 转台位置 /// PLC -> VW2 /// ModbusTcp -> 101 /// public ushort TurntableLoc { get; set; } /// /// 到面至煮面炉位置 /// PLC -> VW4 /// ModbusTcp -> 102 /// public ushort FallNoodleLoc { get; set; } /// /// 取面位置 /// PLC -> VW6 /// ModbusTcp -> 103 /// public ushort TakeNoodleLoc { get; set; } /// /// 机器人取面位置队列 /// public ConcurrentQueue RBTakeNoodleTask { get; set; } = new ConcurrentQueue(); public ConcurrentQueue TakeBowlTask { get; set; } = new ConcurrentQueue(); } public class OrderLocInfo { public string SuborderId { get; set; } public ushort Loc { get; set; } public ushort RecipeNumber { get; set; } } }