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; }
}
}