@@ -142,24 +142,23 @@ namespace BPASmartClient.DRCoffee | |||||
public void ProcessPackage(DrCoffeePackage package) | public void ProcessPackage(DrCoffeePackage package) | ||||
{ | { | ||||
if (((DrCoffeeStatus)status["Status"]) == DrCoffeeStatus.Running && package.Status != DrCoffeeStatus.Running) | |||||
if (((DrCoffeeStatus)status["CoffeeStatus"]) == DrCoffeeStatus.Running && package.Status != DrCoffeeStatus.Running) | |||||
{ | { | ||||
status["Status"] = package.Status; | |||||
status["CoffeeStatus"] = package.Status; | |||||
lastRefreshTime = DateTime.Now; | lastRefreshTime = DateTime.Now; | ||||
IsConnected = OnLine; | IsConnected = OnLine; | ||||
status["CoffeConnected"] = OnLine; | status["CoffeConnected"] = OnLine; | ||||
new DRCoffee_CoffeEndCookEvent() { DeviceId = DeviceId }.Publish(); | new DRCoffee_CoffeEndCookEvent() { DeviceId = DeviceId }.Publish(); | ||||
} | } | ||||
else status["Status"] = package.Status; | |||||
status["AppStatus"] = package.ApplicationStatus; | |||||
status["Warning"] = package.Warning; | |||||
status["Fault"] = package.Fault; | |||||
else status["CoffeeStatus"] = package.Status; | |||||
status["CoffeeAppStatus"] = package.ApplicationStatus; | |||||
status["CoffeeWarning"] = package.Warning; | |||||
status["CoffeeFault"] = package.Fault; | |||||
if ((DrCoffeeStatus)status["Status"] == DrCoffeeStatus.Warning | |||||
|| (DrCoffeeStatus)status["Status"] == DrCoffeeStatus.Fault | |||||
|| (DrCoffeeWarning)status["Warning"] != DrCoffeeWarning.无警告 | |||||
|| (DrCoffeeFault)status["Fault"] != DrCoffeeFault.无故障 | |||||
if ((DrCoffeeStatus)status["CoffeeStatus"] == DrCoffeeStatus.Warning | |||||
|| (DrCoffeeStatus)status["CoffeeStatus"] == DrCoffeeStatus.Fault | |||||
|| (DrCoffeeWarning)status["CoffeeWarning"] != DrCoffeeWarning.无警告 | |||||
|| (DrCoffeeFault)status["CoffeeFault"] != DrCoffeeFault.无故障 | |||||
) | ) | ||||
{ | { | ||||
IsWork = false; | IsWork = false; | ||||
@@ -170,10 +169,10 @@ namespace BPASmartClient.DRCoffee | |||||
protected override void InitStatus() | protected override void InitStatus() | ||||
{ | { | ||||
status["Status"] = DrCoffeeStatus.Wait; | |||||
status["AppStatus"] = DrCoffeeAppStatus.应用无状态; | |||||
status["Warning"] = DrCoffeeWarning.无警告; | |||||
status["Fault"] = DrCoffeeFault.无故障; | |||||
status["CoffeeStatus"] = DrCoffeeStatus.Wait; | |||||
status["CoffeeAppStatus"] = DrCoffeeAppStatus.应用无状态; | |||||
status["CoffeeWarning"] = DrCoffeeWarning.无警告; | |||||
status["CoffeeFault"] = DrCoffeeFault.无故障; | |||||
} | } | ||||
public override void Init() | public override void Init() | ||||
@@ -178,21 +178,21 @@ namespace BPASmartClient.GSIceCream | |||||
{ | { | ||||
IsConnected = OnLine; | IsConnected = OnLine; | ||||
status["IceCreamIsConnected"] = OnLine; | status["IceCreamIsConnected"] = OnLine; | ||||
status["CurrentMode"] = heartUpMsg.MS; | |||||
status["YLWD"] = BitConverter.ToInt16(new byte[] { heartUpMsg.YLWD_L,heartUpMsg.YLWD_H },0); | |||||
status["HQWD"] = BitConverter.ToInt16(new byte[] { heartUpMsg.HQWD_L,heartUpMsg.HQWD_H },0); | |||||
status["HJWD"] = BitConverter.ToInt16(new byte[] { heartUpMsg.HJWD_L,heartUpMsg.HJWD_H },0); | |||||
status["DL"] = BitConverter.ToInt16(new byte[] { heartUpMsg.DL_L, heartUpMsg.DL_H }, 0); | |||||
status["Fault"] = (MORKI_FAULT)BitConverter.ToInt16(new byte[] { heartUpMsg.GZ_L,heartUpMsg.GZ_H },0); | |||||
status["CXB"] = heartUpMsg.CXB; | |||||
status["DLCompleted"] = (heartUpMsg.DLTJ >> 4 & 1) == 1; | |||||
status["IceCreamCurrentMode"] = heartUpMsg.MS; | |||||
status["IceCreamYLWD"] = BitConverter.ToInt16(new byte[] { heartUpMsg.YLWD_L,heartUpMsg.YLWD_H },0); | |||||
status["IceCreamHQWD"] = BitConverter.ToInt16(new byte[] { heartUpMsg.HQWD_L,heartUpMsg.HQWD_H },0); | |||||
status["IceCreamHJWD"] = BitConverter.ToInt16(new byte[] { heartUpMsg.HJWD_L,heartUpMsg.HJWD_H },0); | |||||
status["IceCreamDL"] = BitConverter.ToInt16(new byte[] { heartUpMsg.DL_L, heartUpMsg.DL_H }, 0); | |||||
status["IceCreamFault"] = (MORKI_FAULT)BitConverter.ToInt16(new byte[] { heartUpMsg.GZ_L,heartUpMsg.GZ_H },0); | |||||
status["IceCreamCXB"] = heartUpMsg.CXB; | |||||
status["IceCreamDLCompleted"] = (heartUpMsg.DLTJ >> 4 & 1) == 1; | |||||
if (RTrig.GetInstance("打料完成检测").Start((bool)status["DLCompleted"])) | |||||
if (RTrig.GetInstance("打料完成检测").Start((bool)status["IceCreamDLCompleted"])) | |||||
{ | { | ||||
MessageLog.GetInstance.Show("打料完成"); | MessageLog.GetInstance.Show("打料完成"); | ||||
} | } | ||||
if (RTrig.GetInstance("打料中检测").Start(!(bool)status["DLCompleted"])) | |||||
if (RTrig.GetInstance("打料中检测").Start(!(bool)status["IceCreamDLCompleted"])) | |||||
{ | { | ||||
MessageLog.GetInstance.Show("打料中"); | MessageLog.GetInstance.Show("打料中"); | ||||
} | } | ||||
@@ -231,16 +231,17 @@ namespace BPASmartClient.GSIceCream | |||||
protected override void InitStatus() | protected override void InitStatus() | ||||
{ | { | ||||
status["YLWD"] = (short)0; | |||||
status["HQWD"] = (short)0; | |||||
status["HJWD"] = (short)0; | |||||
status["DL"] = (short)0; | |||||
status["DY"] = (short)0; | |||||
status["CurrentMode"] = MORKI_MODE.待机模式; | |||||
status["Fault"] = MORKI_FAULT.未发生故障; | |||||
status["CXB"] = (byte)0; | |||||
status["CXB_Threshold"] = (byte)0; | |||||
status["DLCompleted"] = true; | |||||
status["IceCreamYLWD"] = (short)0; | |||||
status["IceCreamHQWD"] = (short)0; | |||||
status["IceCreamHJWD"] = (short)0; | |||||
status["IceCreamDL"] = (short)0; | |||||
status["IceCreamDY"] = (short)0; | |||||
status["IceCreamCurrentMode"] = MORKI_MODE.待机模式; | |||||
status["IceCreamFault"] = MORKI_FAULT.未发生故障; | |||||
status["IceCreamCXB"] = (byte)0; | |||||
status["IceCreamCXB_Threshold"] = (byte)0; | |||||
status["IceCreamDLCompleted"] = true; | |||||
status["IceCreamIsConnected"] = false; | |||||
} | } | ||||
public override void Init() | public override void Init() | ||||
@@ -272,20 +273,22 @@ namespace BPASmartClient.GSIceCream | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
if ((MORKI_FAULT)status["Fault"] != MORKI_FAULT.未发生故障) | |||||
if ((MORKI_FAULT)status["IceCreamFault"] != MORKI_FAULT.未发生故障) | |||||
{ | { | ||||
MessageLog.GetInstance.Show(string.Format("当前存在故障[{0}%],不允许制作",(MORKI_FAULT)status["Fault"])); | |||||
MessageLog.GetInstance.Show(string.Format("当前存在故障[{0}%],不允许制作",(MORKI_FAULT)status["IceCreamFault"])); | |||||
new GSIceCream_EndCookEvent() { DeviceId = DeviceId,Status = false }.Publish(); | new GSIceCream_EndCookEvent() { DeviceId = DeviceId,Status = false }.Publish(); | ||||
callBack?.Invoke(false); | |||||
return; | return; | ||||
} | } | ||||
if ((byte)status["CXB"] <= 86) | |||||
if ((byte)status["IceCreamCXB"] <= 86) | |||||
{ | { | ||||
MessageLog.GetInstance.Show(string.Format("当前成型比[{0}%],低于86%,不允许制作",(byte)status["CXB"])); | |||||
MessageLog.GetInstance.Show(string.Format("当前成型比[{0}%],低于86%,不允许制作",(byte)status["IceCreamCXB"])); | |||||
new GSIceCream_EndCookEvent() { DeviceId = DeviceId,Status = false }.Publish(); | new GSIceCream_EndCookEvent() { DeviceId = DeviceId,Status = false }.Publish(); | ||||
callBack?.Invoke(false ); | |||||
return; | return; | ||||
} | } | ||||
bool modeRight = (MORKI_MODE)status["CurrentMode"] == MORKI_MODE.制冷模式; | |||||
bool modeRight = (MORKI_MODE)status["IceCreamCurrentMode"] == MORKI_MODE.制冷模式; | |||||
if (!modeRight) | if (!modeRight) | ||||
{ | { | ||||
@@ -303,7 +306,7 @@ namespace BPASmartClient.GSIceCream | |||||
while (DateTime.Now < freeTime) | while (DateTime.Now < freeTime) | ||||
{ | { | ||||
Thread.Sleep(10); | Thread.Sleep(10); | ||||
modeRight = (MORKI_MODE)status["CurrentMode"] == MORKI_MODE.制冷模式; | |||||
modeRight = (MORKI_MODE)status["IceCreamCurrentMode"] == MORKI_MODE.制冷模式; | |||||
if (modeRight) | if (modeRight) | ||||
break; | break; | ||||
} | } | ||||
@@ -319,16 +322,19 @@ namespace BPASmartClient.GSIceCream | |||||
free = false; | free = false; | ||||
new GSIceCream_EndCookEvent() { DeviceId = DeviceId,Status =true}.Publish(); | new GSIceCream_EndCookEvent() { DeviceId = DeviceId,Status =true}.Publish(); | ||||
MessageLog.GetInstance.Show(string.Format("出料操作->设置模式[{0}]",MORKI_MODE.打料)); | MessageLog.GetInstance.Show(string.Format("出料操作->设置模式[{0}]",MORKI_MODE.打料)); | ||||
callBack?.Invoke(true); | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.Show(string.Format("出料操作->模式切换失败,当前模式[{0}],不允许出料",(MORKI_MODE)status["CurrentMode"])); | |||||
MessageLog.GetInstance.Show(string.Format("出料操作->模式切换失败,当前模式[{0}],不允许出料",(MORKI_MODE)status["IceCreamCurrentMode"])); | |||||
new GSIceCream_EndCookEvent() { DeviceId = DeviceId,Status = false }.Publish(); | new GSIceCream_EndCookEvent() { DeviceId = DeviceId,Status = false }.Publish(); | ||||
callBack?.Invoke(false); | |||||
} | } | ||||
} | } | ||||
catch (Exception ex) | catch (Exception ex) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowEx($"BPASmartClient.GSIceCream 中引发错误,IceCreamMachine 类,描述:[{ex.Message}]"); | MessageLog.GetInstance.ShowEx($"BPASmartClient.GSIceCream 中引发错误,IceCreamMachine 类,描述:[{ex.Message}]"); | ||||
callBack?.Invoke(false); | |||||
} | } | ||||
}); | }); | ||||
InitStatus(); | InitStatus(); | ||||
@@ -91,6 +91,23 @@ namespace BPASmartClient.IoT | |||||
#region API调用 | #region API调用 | ||||
/// <summary> | /// <summary> | ||||
/// 刷新店铺列表 | |||||
/// </summary> | |||||
public void RefreshTheListOfStores() | |||||
{ | |||||
try | |||||
{ | |||||
if (DeviceDataV != null && DeviceDataV.GetIsConnected() && DeviceDataV.deviceTable != null) | |||||
{ | |||||
DeviceDataV.IOT_Publish(BroadcastPubTopic, Tools.JsonConvertTools("刷新店铺列表")); | |||||
} | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
MessageLog.GetInstance.Show(ex.Message); | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 增加告警信息 | /// 增加告警信息 | ||||
/// </summary> | /// </summary> | ||||
/// <param name="alarmTable"></param> | /// <param name="alarmTable"></param> | ||||
@@ -46,8 +46,8 @@ namespace BPASmartClient.Lebai | |||||
{ | { | ||||
IsConnected = LebaiHelper.GetInstance().IsConnected; | IsConnected = LebaiHelper.GetInstance().IsConnected; | ||||
status["RobotIsConnected"] = LebaiHelper.GetInstance().IsConnected; | status["RobotIsConnected"] = LebaiHelper.GetInstance().IsConnected; | ||||
status["OK"] = LebaiHelper.GetInstance().GetValueAsync().Ok; | |||||
status["Value"] = LebaiHelper.GetInstance().GetValueAsync().Value; | |||||
status["RobotOK"] = LebaiHelper.GetInstance().GetValueAsync().Ok; | |||||
status["RobotValue"] = LebaiHelper.GetInstance().GetValueAsync().Value; | |||||
if (LebaiHelper.GetInstance().robotData != null) status["RobotMode"] = LebaiHelper.GetInstance().robotData.RobotMode.Mode; | if (LebaiHelper.GetInstance().robotData != null) status["RobotMode"] = LebaiHelper.GetInstance().robotData.RobotMode.Mode; | ||||
LebaiHelper.GetInstance().GetRobotModeStatus(); | LebaiHelper.GetInstance().GetRobotModeStatus(); | ||||
Thread.Sleep(10); | Thread.Sleep(10); | ||||
@@ -76,12 +76,12 @@ namespace BPASmartClient.Lebai | |||||
} | } | ||||
}); | }); | ||||
//获取Tcp信号 | //获取Tcp信号 | ||||
EventBus.EventBus.GetInstance().Subscribe<Demo_MakeCoffeeEvent>(DeviceId, delegate (IEvent @event, EventCallBackHandle callBack) | |||||
EventBus.EventBus.GetInstance().Subscribe<LebaiRobot_GetTCPInputEvent>(DeviceId, delegate (IEvent @event, EventCallBackHandle callBack) | |||||
{ | { | ||||
if (@event == null) return; | if (@event == null) return; | ||||
if (@event is LebaiRobot_GetInputEvent getTCPInput) | |||||
if (@event is LebaiRobot_GetTCPInputEvent getTCPInput) | |||||
{ | { | ||||
callBack.Invoke(LebaiHelper.GetInstance().GetTcpInput(getTCPInput.Pin)); | |||||
callBack?.Invoke(LebaiHelper.GetInstance().GetTcpInput(getTCPInput.Pin)); | |||||
} | } | ||||
}); | }); | ||||
//机器人输入信号 | //机器人输入信号 | ||||
@@ -14,10 +14,10 @@ namespace BPASmartClient.Model.单片机.Enum | |||||
/// <summary> | /// <summary> | ||||
/// 冰淇淋杯 | /// 冰淇淋杯 | ||||
/// </summary> | /// </summary> | ||||
CUP_ICECREAM = 0x01, | |||||
CUP_ICECREAM = 0x02, | |||||
/// <summary> | /// <summary> | ||||
/// 咖啡杯 | /// 咖啡杯 | ||||
/// </summary> | /// </summary> | ||||
CUP_COFFEE = 0x02 | |||||
CUP_COFFEE = 0x01 | |||||
} | } | ||||
} | } |
@@ -1,5 +1,6 @@ | |||||
using BPA.Message.Enum; | using BPA.Message.Enum; | ||||
using BPASmartClient.Device; | using BPASmartClient.Device; | ||||
using BPASmartClient.DRCoffee; | |||||
using BPASmartClient.EventBus; | using BPASmartClient.EventBus; | ||||
using BPASmartClient.GSIceCream; | using BPASmartClient.GSIceCream; | ||||
using BPASmartClient.Helper; | using BPASmartClient.Helper; | ||||
@@ -31,6 +32,10 @@ namespace BPASmartClient.MorkT | |||||
public override void DoMain() | public override void DoMain() | ||||
{ | { | ||||
if(Json<KeepDataBase>.Data.IsVerify) | |||||
{ | |||||
IsHealth = true; | |||||
} | |||||
IsHealth = true; | IsHealth = true; | ||||
ServerInit(); | ServerInit(); | ||||
DataParse(); | DataParse(); | ||||
@@ -84,9 +89,132 @@ namespace BPASmartClient.MorkT | |||||
public override void ReadData() | public override void ReadData() | ||||
{ | { | ||||
GetStatus("IsConnected", new Action<object>((o) => | |||||
GetStatus("RobotIsConnected", new Action<object>((o) => | |||||
{ | { | ||||
if (o is bool b) | |||||
{ | |||||
morkT.RobotIsConnected = b; | |||||
} | |||||
})); | |||||
GetStatus("RobotMode", new Action<object>((o) => | |||||
{ | |||||
if (o is ELebaiRModel eLebaiRModel) | |||||
{ | |||||
morkT.RobotMode = eLebaiRModel; | |||||
} | |||||
})); | |||||
GetStatus("IceCreamIsConnected", new Action<object>((o) => | |||||
{ | |||||
if (o is bool b) | |||||
{ | |||||
morkT.IceCreamIsConnected = b; | |||||
} | |||||
})); | |||||
GetStatus("IceCreamYLWD", new Action<object>((o) => | |||||
{ | |||||
if (o is short s) | |||||
{ | |||||
morkT.YLWD = s; | |||||
} | |||||
})); | |||||
GetStatus("IceCreamHQWD", new Action<object>((o) => | |||||
{ | |||||
if (o is short s) | |||||
{ | |||||
morkT.HQWD = s; | |||||
} | |||||
})); | |||||
GetStatus("IceCreamDL", new Action<object>((o) => | |||||
{ | |||||
if (o is short s) | |||||
{ | |||||
morkT.DL = s; | |||||
} | |||||
})); | |||||
GetStatus("IceCreamDY", new Action<object>((o) => | |||||
{ | |||||
if (o is short s) | |||||
{ | |||||
morkT.DY = s; | |||||
} | |||||
})); | |||||
GetStatus("IceCreamCXB", new Action<object>((o) => | |||||
{ | |||||
if (o is byte bt) | |||||
{ | |||||
morkT.CBX = bt; | |||||
} | |||||
})); | |||||
GetStatus("IceCreamCurrentMode", new Action<object>((o) => | |||||
{ | |||||
if (o is MORKI_MODE mORKI_MODE) | |||||
{ | |||||
morkT.IceCreamMode = mORKI_MODE; | |||||
} | |||||
})); | |||||
GetStatus("IceCreamFault", new Action<object>((o) => | |||||
{ | |||||
if (o is MORKI_FAULT mORKI_FAULT) | |||||
{ | |||||
morkT.IceCreamFault = mORKI_FAULT; | |||||
} | |||||
})); | |||||
GetStatus("IceCreamDLCompleted", new Action<object>((o) => | |||||
{ | |||||
if (o is bool b) | |||||
{ | |||||
morkT.DLCompleted = b; | |||||
} | |||||
})); | |||||
GetStatus("CoffeeIsConnected", new Action<object>((o) => | |||||
{ | |||||
if (o is bool b) | |||||
{ | |||||
morkT.CoffeeIsConnected = b; | |||||
} | |||||
})); | |||||
GetStatus("CoffeeStatus", new Action<object>((o) => | |||||
{ | |||||
if (o is DrCoffeeStatus coffeeStatus) | |||||
{ | |||||
morkT.DrCoffeeStatus = coffeeStatus; | |||||
} | |||||
})); | |||||
GetStatus("CoffeeAppStatus", new Action<object>((o) => | |||||
{ | |||||
if (o is DrCoffeeAppStatus appStatus) | |||||
{ | |||||
morkT.CoffeeAppStatus = appStatus; | |||||
} | |||||
})); | |||||
GetStatus("CoffeeWarning", new Action<object>((o) => | |||||
{ | |||||
if (o is DrCoffeeWarning coffeeWarning) | |||||
{ | |||||
morkT.CoffeeWarning = coffeeWarning; | |||||
} | |||||
})); | |||||
GetStatus("CoffeeFault", new Action<object>((o) => | |||||
{ | |||||
if (o is DrCoffeeFault coffeeFault) | |||||
{ | |||||
morkT.CaffeeFault = coffeeFault; | |||||
} | |||||
})); | })); | ||||
} | } | ||||
@@ -137,7 +265,7 @@ namespace BPASmartClient.MorkT | |||||
morkT.batchings = PolymerBatching.BuildAll(); | morkT.batchings = PolymerBatching.BuildAll(); | ||||
//商品类型 | //商品类型 | ||||
GOODS_TYPE currentGoodsType = GOODS_TYPE.NEITHER; | GOODS_TYPE currentGoodsType = GOODS_TYPE.NEITHER; | ||||
string loc_Goods = string.Empty; | |||||
foreach (var item in order.MorkOrder.GoodBatchings) | foreach (var item in order.MorkOrder.GoodBatchings) | ||||
{ | { | ||||
var res = orderMaterialDelivery?.BatchingInfo?.FirstOrDefault(p => p.BatchingId == item.BatchingId); | var res = orderMaterialDelivery?.BatchingInfo?.FirstOrDefault(p => p.BatchingId == item.BatchingId); | ||||
@@ -149,42 +277,45 @@ namespace BPASmartClient.MorkT | |||||
//获取当前物料所属商品类型 | //获取当前物料所属商品类型 | ||||
currentGoodsType = ValidateGoodsByBatching(res.BatchingLoc); | currentGoodsType = ValidateGoodsByBatching(res.BatchingLoc); | ||||
} | } | ||||
string loc_Goods = string.Empty; | |||||
//获取主料和容器位置 | //获取主料和容器位置 | ||||
if (morkT.batchings[res.BatchingLoc].BatchingClass == BATCHING_CLASS.MAIN_MATERIAL) loc_Goods = res.BatchingLoc; | if (morkT.batchings[res.BatchingLoc].BatchingClass == BATCHING_CLASS.MAIN_MATERIAL) loc_Goods = res.BatchingLoc; | ||||
switch (currentGoodsType) | |||||
if (!string.IsNullOrEmpty(loc_Goods)) | |||||
{ | { | ||||
case GOODS_TYPE.COFFEE: | |||||
if (morkT.morkOrderPushesCoffee.FirstOrDefault(p => p.SuborderId == order.MorkOrder.SuborderId) == null) | |||||
{ | |||||
morkT.morkOrderPushesCoffee.Enqueue(new OrderLocInfo() | |||||
switch (currentGoodsType) | |||||
{ | |||||
case GOODS_TYPE.COFFEE: | |||||
if (morkT.morkOrderPushesCoffee.FirstOrDefault(p => p.SuborderId == order.MorkOrder.SuborderId) == null) | |||||
{ | { | ||||
SuborderId = order.MorkOrder.SuborderId, | |||||
BatchingId = res.BatchingId, | |||||
Loc = loc_Goods, | |||||
GoodsName = order.MorkOrder.GoodsName, | |||||
SortNum = order.MorkOrder.SortNum | |||||
}) ; | |||||
} | |||||
break; | |||||
case GOODS_TYPE.ICECREAM: | |||||
if (morkT.morkOrderPushesIceCream.FirstOrDefault(p => p.SuborderId == order.MorkOrder.SuborderId) == null) | |||||
{ | |||||
morkT.morkOrderPushesIceCream.Enqueue(new OrderLocInfo() | |||||
morkT.morkOrderPushesCoffee.Enqueue(new OrderLocInfo() | |||||
{ | |||||
SuborderId = order.MorkOrder.SuborderId, | |||||
BatchingId = res.BatchingId, | |||||
Loc = loc_Goods, | |||||
GoodsName = order.MorkOrder.GoodsName, | |||||
SortNum = order.MorkOrder.SortNum | |||||
}); | |||||
} | |||||
break; | |||||
case GOODS_TYPE.ICECREAM: | |||||
if (morkT.morkOrderPushesIceCream.FirstOrDefault(p => p.SuborderId == order.MorkOrder.SuborderId) == null) | |||||
{ | { | ||||
SuborderId = order.MorkOrder.SuborderId, | |||||
BatchingId = res.BatchingId, | |||||
Loc = loc_Goods, | |||||
GoodsName = order.MorkOrder.GoodsName, | |||||
SortNum = order.MorkOrder.SortNum | |||||
}); | |||||
} | |||||
break; | |||||
case GOODS_TYPE.NEITHER: | |||||
DeviceProcessLogShow("未知的商品类型"); | |||||
break; | |||||
morkT.morkOrderPushesIceCream.Enqueue(new OrderLocInfo() | |||||
{ | |||||
SuborderId = order.MorkOrder.SuborderId, | |||||
BatchingId = res.BatchingId, | |||||
Loc = loc_Goods, | |||||
GoodsName = order.MorkOrder.GoodsName, | |||||
SortNum = order.MorkOrder.SortNum | |||||
}); | |||||
} | |||||
break; | |||||
case GOODS_TYPE.NEITHER: | |||||
DeviceProcessLogShow("未知的商品类型"); | |||||
break; | |||||
} | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -212,7 +343,7 @@ namespace BPASmartClient.MorkT | |||||
private void Wait(int value = 101) | private void Wait(int value = 101) | ||||
{ | { | ||||
while (!((bool)peripheralStatus["OK"] && (int)peripheralStatus["Value"] == value)) | |||||
while (!((bool)peripheralStatus["RobotOK"] && (int)peripheralStatus["RobotValue"] == value)) | |||||
{ | { | ||||
Thread.Sleep(5); | Thread.Sleep(5); | ||||
} | } | ||||
@@ -239,11 +370,11 @@ namespace BPASmartClient.MorkT | |||||
if (morkT.morkOrderPushesCoffee.TryDequeue(out OrderLocInfo orderLoc)) | if (morkT.morkOrderPushesCoffee.TryDequeue(out OrderLocInfo orderLoc)) | ||||
{ | { | ||||
DeviceProcessLogShow($"开始制作 [咖啡] 订单[{orderLoc.SortNum}]"); | DeviceProcessLogShow($"开始制作 [咖啡] 订单[{orderLoc.SortNum}]"); | ||||
GetAndCheeckCoffe(orderLoc); | |||||
GetAndCheeckCoffe(orderLoc);//取咖啡杯 | |||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_LebaiSenceEvent { DeviceId = DeviceId, LebaiSence = 10051}); //接咖啡后回原点 | EventBus.EventBus.GetInstance().Publish(new LebaiRobot_LebaiSenceEvent { DeviceId = DeviceId, LebaiSence = 10051}); //接咖啡后回原点 | ||||
Wait(); | Wait(); | ||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_SetValueEvent { DeviceId = DeviceId, RobotSetValue = 1 }); | EventBus.EventBus.GetInstance().Publish(new LebaiRobot_SetValueEvent { DeviceId = DeviceId, RobotSetValue = 1 }); | ||||
new DRCoffee_MakeCoffeeEvent() { DrinkCode = (Model.咖啡机.Enum.DrCoffeeDrinksCode)int.Parse(orderLoc.Loc) }.Publish(); //接咖啡控制 | |||||
EventBus.EventBus.GetInstance().Publish(new DRCoffee_MakeCoffeeEvent() {DeviceId = DeviceId, DrinkCode = (Model.咖啡机.Enum.DrCoffeeDrinksCode)int.Parse(orderLoc.Loc) });//接咖啡控制 | |||||
DeviceProcessLogShow($"发送咖啡机制作{orderLoc.Loc}!"); | DeviceProcessLogShow($"发送咖啡机制作{orderLoc.Loc}!"); | ||||
morkT.IsCoffeeMake = true; morkT.MakeCoffeeOrder = orderLoc; | morkT.IsCoffeeMake = true; morkT.MakeCoffeeOrder = orderLoc; | ||||
} | } | ||||
@@ -296,7 +427,7 @@ namespace BPASmartClient.MorkT | |||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_LebaiSenceEvent { DeviceId = DeviceId, LebaiSence = 10031 }); //SENCE_取咖啡杯 | EventBus.EventBus.GetInstance().Publish(new LebaiRobot_LebaiSenceEvent { DeviceId = DeviceId, LebaiSence = 10031 }); //SENCE_取咖啡杯 | ||||
Wait(); | Wait(); | ||||
new SCChip_TakeCupEvent() { Cup = IC_CUP.CUP_COFFEE }.Publish();//落碗控制 | |||||
EventBus.EventBus.GetInstance().Publish(new SCChip_TakeCupEvent { DeviceId= DeviceId ,Cup = IC_CUP.CUP_COFFEE});//落碗控制 | |||||
Thread.Sleep(500); | Thread.Sleep(500); | ||||
DeviceProcessLogShow("尝试取咖啡杯!"); | DeviceProcessLogShow("尝试取咖啡杯!"); | ||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_SetValueEvent { DeviceId = DeviceId, RobotSetValue = 1 }); | EventBus.EventBus.GetInstance().Publish(new LebaiRobot_SetValueEvent { DeviceId = DeviceId, RobotSetValue = 1 }); | ||||
@@ -328,7 +459,7 @@ namespace BPASmartClient.MorkT | |||||
DeviceProcessLogShow("执行二次取咖啡杯"); | DeviceProcessLogShow("执行二次取咖啡杯"); | ||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_LebaiSenceEvent { DeviceId = DeviceId, LebaiSence = 10035 }); //SENCE_二次取咖啡杯 | EventBus.EventBus.GetInstance().Publish(new LebaiRobot_LebaiSenceEvent { DeviceId = DeviceId, LebaiSence = 10035 }); //SENCE_二次取咖啡杯 | ||||
Wait(); | Wait(); | ||||
new SCChip_TakeCupEvent() { Cup = IC_CUP.CUP_COFFEE }.Publish();//落碗控制 | |||||
EventBus.EventBus.GetInstance().Equals(new SCChip_TakeCupEvent { DeviceId = DeviceId, Cup = IC_CUP.CUP_COFFEE });//落碗控制 | |||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_SetValueEvent { DeviceId = DeviceId, RobotSetValue = 1 }); | EventBus.EventBus.GetInstance().Publish(new LebaiRobot_SetValueEvent { DeviceId = DeviceId, RobotSetValue = 1 }); | ||||
count++; | count++; | ||||
goto p; | goto p; | ||||
@@ -353,14 +484,14 @@ namespace BPASmartClient.MorkT | |||||
{ | { | ||||
if (IceCreamCanMake()) | if (IceCreamCanMake()) | ||||
{ | { | ||||
if(peripheralStatus.ContainsKey("CurrentMode")) | |||||
if(peripheralStatus.ContainsKey("IceCreamCurrentMode")) | |||||
{ | { | ||||
if ((MORKI_MODE)peripheralStatus["CurrentMode"] != MORKI_MODE.制冷模式) new GSIceCream_ModeSetEvent() { Mode = MORKI_MODE.制冷模式 }.Publish(); | |||||
if ((MORKI_MODE)peripheralStatus["IceCreamCurrentMode"] != MORKI_MODE.制冷模式) new GSIceCream_ModeSetEvent() { Mode = MORKI_MODE.制冷模式 }.Publish(); | |||||
} | } | ||||
if(peripheralStatus.ContainsKey(".CBX")) | |||||
if(peripheralStatus.ContainsKey("IceCreamCXB")) | |||||
{ | { | ||||
if ((short)peripheralStatus["CBX"] >= 86 && morkT.morkOrderPushesIceCream.Count > 0)//成型比大于86才可以制作 | |||||
if ((byte)peripheralStatus["IceCreamCXB"] >= 86 && morkT.morkOrderPushesIceCream.Count > 0)//成型比大于86才可以制作 | |||||
{ | { | ||||
bool result = true; | bool result = true; | ||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_GetInputEvent { DeviceId = DeviceId, Pin = 3 }, (res) => | EventBus.EventBus.GetInstance().Publish(new LebaiRobot_GetInputEvent { DeviceId = DeviceId, Pin = 3 }, (res) => | ||||
@@ -407,7 +538,7 @@ namespace BPASmartClient.MorkT | |||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_SetValueEvent { DeviceId = DeviceId, RobotSetValue = 0 }); | EventBus.EventBus.GetInstance().Publish(new LebaiRobot_SetValueEvent { DeviceId = DeviceId, RobotSetValue = 0 }); | ||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_LebaiSenceEvent { DeviceId = DeviceId, LebaiSence = 10032 }); //SENCE_取冰淇淋杯 | EventBus.EventBus.GetInstance().Publish(new LebaiRobot_LebaiSenceEvent { DeviceId = DeviceId, LebaiSence = 10032 }); //SENCE_取冰淇淋杯 | ||||
Wait(); | Wait(); | ||||
new SCChip_TakeCupEvent() { Cup = IC_CUP.CUP_ICECREAM }.Publish();//落碗控制 | |||||
EventBus.EventBus.GetInstance().Publish(new SCChip_TakeCupEvent { DeviceId = DeviceId, Cup = IC_CUP.CUP_ICECREAM });//落碗控制 | |||||
Thread.Sleep(500); | Thread.Sleep(500); | ||||
DeviceProcessLogShow("尝试取冰淇淋杯!"); | DeviceProcessLogShow("尝试取冰淇淋杯!"); | ||||
@@ -445,7 +576,7 @@ namespace BPASmartClient.MorkT | |||||
} | } | ||||
DeviceProcessLogShow($"执行{count}次取冰淇淋杯!"); | DeviceProcessLogShow($"执行{count}次取冰淇淋杯!"); | ||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_LebaiSenceEvent { DeviceId = DeviceId, LebaiSence = 10036 }); //SENCE_二次取冰淇淋杯 | EventBus.EventBus.GetInstance().Publish(new LebaiRobot_LebaiSenceEvent { DeviceId = DeviceId, LebaiSence = 10036 }); //SENCE_二次取冰淇淋杯 | ||||
new SCChip_TakeCupEvent() { Cup = IC_CUP.CUP_ICECREAM }.Publish();//落碗控制 | |||||
EventBus.EventBus.GetInstance().Equals(new SCChip_TakeCupEvent { DeviceId = DeviceId, Cup = IC_CUP.CUP_ICECREAM });//落碗控制 | |||||
Wait(); | Wait(); | ||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_SetValueEvent { DeviceId = DeviceId, RobotSetValue = 1 }); | EventBus.EventBus.GetInstance().Publish(new LebaiRobot_SetValueEvent { DeviceId = DeviceId, RobotSetValue = 1 }); | ||||
count++; | count++; | ||||
@@ -461,17 +592,17 @@ namespace BPASmartClient.MorkT | |||||
private void GetIceCream(OrderLocInfo order) | private void GetIceCream(OrderLocInfo order) | ||||
{ | { | ||||
//制冷模式 | //制冷模式 | ||||
new GSIceCream_ModeSetEvent() { Mode = MORKI_MODE.制冷模式 }.Publish(); | |||||
EventBus.EventBus.GetInstance().Publish(new GSIceCream_ModeSetEvent {DeviceId = DeviceId, Mode = MORKI_MODE.制冷模式 }); | |||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_SetValueEvent { DeviceId = DeviceId, RobotSetValue = 0 }); | EventBus.EventBus.GetInstance().Publish(new LebaiRobot_SetValueEvent { DeviceId = DeviceId, RobotSetValue = 0 }); | ||||
OrderChange(order.SuborderId, ORDER_STATUS.COOKING); | OrderChange(order.SuborderId, ORDER_STATUS.COOKING); | ||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_LebaiSenceEvent { DeviceId = DeviceId, LebaiSence = 10039 }); //SENCE_接1号冰淇淋 | EventBus.EventBus.GetInstance().Publish(new LebaiRobot_LebaiSenceEvent { DeviceId = DeviceId, LebaiSence = 10039 }); //SENCE_接1号冰淇淋 | ||||
Wait(); | Wait(); | ||||
bool doItResult = true; | bool doItResult = true; | ||||
//出料 | //出料 | ||||
new GSIceCream_DischargeEvent().Publish(delegate (object[] args) | |||||
EventBus.EventBus.GetInstance().Publish(new GSIceCream_DischargeEvent { DeviceId = DeviceId },(o)=> | |||||
{ | { | ||||
doItResult = (bool)args[0]; | |||||
}); | |||||
doItResult = (bool)o[0]; | |||||
}); | |||||
if (doItResult) | if (doItResult) | ||||
{ | { | ||||
IceCreamCookCheck(); | IceCreamCookCheck(); | ||||
@@ -480,7 +611,7 @@ namespace BPASmartClient.MorkT | |||||
{ | { | ||||
int count_1 = 0; | int count_1 = 0; | ||||
while ((short)peripheralStatus["CBX"] <= 86) | |||||
while ((byte)peripheralStatus["IceCreamCXB"] <= 86) | |||||
{ | { | ||||
Thread.Sleep(5); | Thread.Sleep(5); | ||||
count_1++; | count_1++; | ||||
@@ -523,19 +654,20 @@ namespace BPASmartClient.MorkT | |||||
/// </summary> | /// </summary> | ||||
public void IceCreamCookCheck() | public void IceCreamCookCheck() | ||||
{ | { | ||||
bool result = true; | |||||
bool result = false; | |||||
int retry = 3; | int retry = 3; | ||||
DateTime beginTime = DateTime.Now; | DateTime beginTime = DateTime.Now; | ||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_GetInputEvent { DeviceId = DeviceId, Pin = 3 } ,(res)=> | |||||
{ | |||||
if (res[0] is bool resultValue) | |||||
{ | |||||
result = resultValue; | |||||
} | |||||
} ); | |||||
while (!result) | while (!result) | ||||
{ | { | ||||
if (retry <= 0 && DateTime.Now.Subtract(beginTime).TotalSeconds >= 10) | |||||
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_GetInputEvent { DeviceId = DeviceId, Pin = 3 }, (res) => | |||||
{ | |||||
if (res[0] is bool resultValue) | |||||
{ | |||||
result = resultValue; | |||||
} | |||||
}); | |||||
if (retry <= 0 || DateTime.Now.Subtract(beginTime).TotalSeconds >= 10) | |||||
{ | { | ||||
DeviceProcessLogShow("超时未出料,重试次数用尽"); | DeviceProcessLogShow("超时未出料,重试次数用尽"); | ||||
break; | break; | ||||
@@ -543,7 +675,7 @@ namespace BPASmartClient.MorkT | |||||
if (DateTime.Now.Subtract(beginTime).TotalSeconds > 5) | if (DateTime.Now.Subtract(beginTime).TotalSeconds > 5) | ||||
{ | { | ||||
DeviceProcessLogShow("超时未出料,重新发送打料指令"); | DeviceProcessLogShow("超时未出料,重新发送打料指令"); | ||||
new GSIceCream_ModeSetEvent() { Mode = MORKI_MODE.打料 }.Publish(); | |||||
EventBus.EventBus.GetInstance().Publish( new GSIceCream_ModeSetEvent() { DeviceId =DeviceId, Mode = MORKI_MODE.打料 }); | |||||
beginTime = DateTime.Now; | beginTime = DateTime.Now; | ||||
retry--; | retry--; | ||||
} | } | ||||
@@ -48,55 +48,55 @@ namespace BPASmartClient.MorkT | |||||
#region | #region | ||||
[VariableMonitor("机器人连接状态")] | [VariableMonitor("机器人连接状态")] | ||||
public bool RobotIsConnected; | |||||
public bool RobotIsConnected { get; set; } | |||||
[VariableMonitor("机器人状态")] | [VariableMonitor("机器人状态")] | ||||
public ELebaiRModel RobotMode; | |||||
public ELebaiRModel RobotMode { get; set; } | |||||
[VariableMonitor("冰淇淋连接状态")] | [VariableMonitor("冰淇淋连接状态")] | ||||
public bool IceCreamIsConnected; | |||||
public bool IceCreamIsConnected { get; set; } | |||||
[VariableMonitor("冰淇淋机器预冷温度")] | [VariableMonitor("冰淇淋机器预冷温度")] | ||||
public short YLWD; | |||||
public short YLWD { get; set; } | |||||
[VariableMonitor("冰淇淋机器回气温度")] | [VariableMonitor("冰淇淋机器回气温度")] | ||||
public short HQWD; | |||||
public short HQWD { get; set; } | |||||
[VariableMonitor("冰淇淋机器环境温度")] | [VariableMonitor("冰淇淋机器环境温度")] | ||||
public short HJWD; | |||||
public short HJWD { get; set; } | |||||
[VariableMonitor("冰淇淋机器电流")] | [VariableMonitor("冰淇淋机器电流")] | ||||
public short DL; | |||||
public short DL { get; set; } | |||||
[VariableMonitor("冰淇淋机器电压")] | [VariableMonitor("冰淇淋机器电压")] | ||||
public bool DY; | |||||
public short DY { get; set; } | |||||
[VariableMonitor("冰淇淋机器成型比")] | [VariableMonitor("冰淇淋机器成型比")] | ||||
public byte CBX; | |||||
public byte CBX { get; set; } | |||||
[VariableMonitor("冰淇淋机器模式")] | [VariableMonitor("冰淇淋机器模式")] | ||||
public MORKI_MODE IceCreamMode; | |||||
public MORKI_MODE IceCreamMode { get; set; } | |||||
[VariableMonitor("冰淇淋机器故障")] | [VariableMonitor("冰淇淋机器故障")] | ||||
public MORKI_FAULT IceCreamFault; | |||||
public MORKI_FAULT IceCreamFault { get; set; } | |||||
[VariableMonitor("冰淇淋机器打料是否完成")] | |||||
public bool DLCompleted; | |||||
[VariableMonitor("冰淇淋机器打料完成")] | |||||
public bool DLCompleted { get; set; } | |||||
[VariableMonitor("咖啡机连接状态")] | [VariableMonitor("咖啡机连接状态")] | ||||
public bool CoffeeIsConnected; | |||||
public bool CoffeeIsConnected { get; set; } | |||||
[VariableMonitor("咖啡机状态")] | [VariableMonitor("咖啡机状态")] | ||||
public DrCoffeeStatus DrCoffeeStatus; | |||||
public DrCoffeeStatus DrCoffeeStatus { get; set; } | |||||
[VariableMonitor("咖啡机应用状态")] | [VariableMonitor("咖啡机应用状态")] | ||||
public DrCoffeeAppStatus CoffeeAppStatus; | |||||
public DrCoffeeAppStatus CoffeeAppStatus { get; set; } | |||||
[VariableMonitor("咖啡机告警")] | [VariableMonitor("咖啡机告警")] | ||||
public DrCoffeeWarning CoffeeWarning; | |||||
public DrCoffeeWarning CoffeeWarning { get; set; } | |||||
[VariableMonitor("咖啡机故障")] | [VariableMonitor("咖啡机故障")] | ||||
public DrCoffeeFault CaffeeFault; | |||||
public DrCoffeeFault CaffeeFault { get; set; } | |||||
#endregion | #endregion | ||||
} | } | ||||
@@ -1,4 +1,5 @@ | |||||
using BPASmartClient.Business; | using BPASmartClient.Business; | ||||
using BPASmartClient.Device; | |||||
using BPASmartClient.DRCoffee; | using BPASmartClient.DRCoffee; | ||||
using BPASmartClient.EventBus; | using BPASmartClient.EventBus; | ||||
using BPASmartClient.GSIceCream; | using BPASmartClient.GSIceCream; | ||||
@@ -13,16 +14,15 @@ using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | using Microsoft.Toolkit.Mvvm.Input; | ||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Collections.ObjectModel; | |||||
using System.Linq; | |||||
using System.Threading; | using System.Threading; | ||||
namespace BPASmartClient.MorkT.ViewModel | namespace BPASmartClient.MorkT.ViewModel | ||||
{ | { | ||||
public class DebugViewModel : ObservableObject | public class DebugViewModel : ObservableObject | ||||
{ | { | ||||
/// <summary> | |||||
/// 设备ID | |||||
/// </summary> | |||||
int DeviceId { get; set; } | |||||
#region 乐白机器人 | #region 乐白机器人 | ||||
/// <summary> | /// <summary> | ||||
/// 乐白机器人连接状态 | /// 乐白机器人连接状态 | ||||
@@ -32,8 +32,8 @@ namespace BPASmartClient.MorkT.ViewModel | |||||
/// <summary> | /// <summary> | ||||
/// 乐白机器人的模式状态 | /// 乐白机器人的模式状态 | ||||
/// </summary> | /// </summary> | ||||
public ELebaiRModel RobotMode { get { return _robotMode; } set { _robotMode = value; OnPropertyChanged(); } } | |||||
private ELebaiRModel _robotMode { get; set; } | |||||
public string RobotMode { get { return _robotMode; } set { _robotMode = value; OnPropertyChanged(); } } | |||||
private string _robotMode { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 机器人控制指令 | /// 机器人控制指令 | ||||
/// </summary> | /// </summary> | ||||
@@ -67,43 +67,43 @@ namespace BPASmartClient.MorkT.ViewModel | |||||
/// <summary> | /// <summary> | ||||
/// 预冷温度 | /// 预冷温度 | ||||
/// </summary> | /// </summary> | ||||
public short YLWD { get { return _yLWD; } set { _yLWD = value; OnPropertyChanged(); } } | |||||
private short _yLWD { get; set; } | |||||
public string YLWD { get { return _yLWD; } set { _yLWD = value; OnPropertyChanged(); } } | |||||
private string _yLWD { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 回气温度 | /// 回气温度 | ||||
/// </summary> | /// </summary> | ||||
public short HQWD { get { return _hQWD; } set { _hQWD = value; OnPropertyChanged(); } } | |||||
private short _hQWD { get; set; } | |||||
public string HQWD { get { return _hQWD; } set { _hQWD = value; OnPropertyChanged(); } } | |||||
private string _hQWD { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 环境温度 | /// 环境温度 | ||||
/// </summary> | /// </summary> | ||||
public short HJWD { get { return _hJWD; } set { _hJWD = value; OnPropertyChanged(); } } | |||||
private short _hJWD { get; set; } | |||||
public string HJWD { get { return _hJWD; } set { _hJWD = value; OnPropertyChanged(); } } | |||||
private string _hJWD { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 电流 | /// 电流 | ||||
/// </summary> | /// </summary> | ||||
public short DL { get { return _DL; } set { _DL = value; OnPropertyChanged(); } } | |||||
private short _DL { get; set; } | |||||
public string DL { get { return _DL; } set { _DL = value; OnPropertyChanged(); } } | |||||
private string _DL { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 电压 | /// 电压 | ||||
/// </summary> | /// </summary> | ||||
public short DY { get { return _dy; } set { _dy = value; OnPropertyChanged(); } } | |||||
private short _dy { get; set; } | |||||
public string DY { get { return _dy; } set { _dy = value; OnPropertyChanged(); } } | |||||
private string _dy { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 当前模式 | /// 当前模式 | ||||
/// </summary> | /// </summary> | ||||
public MORKI_MODE CurrentMode { get { return _CurrentMode; } set { _CurrentMode = value; OnPropertyChanged(); } } | |||||
private MORKI_MODE _CurrentMode; | |||||
public string CurrentMode { get { return _CurrentMode; } set { _CurrentMode = value; OnPropertyChanged(); } } | |||||
private string _CurrentMode; | |||||
/// <summary> | /// <summary> | ||||
/// 故障 | /// 故障 | ||||
/// </summary> | /// </summary> | ||||
public MORKI_FAULT IceCreamFault { get { return _IceCreamFault; } set { _IceCreamFault = value; OnPropertyChanged(); } } | |||||
private MORKI_FAULT _IceCreamFault { get; set; } | |||||
public string IceCreamFault { get { return _IceCreamFault; } set { _IceCreamFault = value; OnPropertyChanged(); } } | |||||
private string _IceCreamFault { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 成型比 | /// 成型比 | ||||
/// </summary> | /// </summary> | ||||
public byte CXB { get { return _cXB; } set { _cXB = value; OnPropertyChanged(); } } | |||||
private byte _cXB { get; set; } | |||||
public string CXB { get { return _cXB; } set { _cXB = value; OnPropertyChanged(); } } | |||||
private string _cXB { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 打料完成状态 | /// 打料完成状态 | ||||
/// </summary> | /// </summary> | ||||
@@ -133,23 +133,23 @@ namespace BPASmartClient.MorkT.ViewModel | |||||
/// <summary> | /// <summary> | ||||
/// 咖啡机状态 | /// 咖啡机状态 | ||||
/// </summary> | /// </summary> | ||||
public DrCoffeeStatus CoffeeStatus { get { return _coffeeStatus; } set { _coffeeStatus = value; OnPropertyChanged(); } } | |||||
private DrCoffeeStatus _coffeeStatus { get; set; } | |||||
public string CoffeeStatus { get { return _coffeeStatus; } set { _coffeeStatus = value; OnPropertyChanged(); } } | |||||
private string _coffeeStatus { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 应用状态 | /// 应用状态 | ||||
/// </summary> | /// </summary> | ||||
public DrCoffeeAppStatus AppStatus { get { return _appStatus; } set { _appStatus = value; OnPropertyChanged(); } } | |||||
private DrCoffeeAppStatus _appStatus { get; set; } | |||||
public string AppStatus { get { return _appStatus; } set { _appStatus = value; OnPropertyChanged(); } } | |||||
private string _appStatus { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 告警 | /// 告警 | ||||
/// </summary> | /// </summary> | ||||
public DrCoffeeWarning Warning { get { return _warning; } set { _warning = value; OnPropertyChanged(); } } | |||||
public DrCoffeeWarning _warning { get; set; } | |||||
public string Warning { get { return _warning; } set { _warning = value; OnPropertyChanged(); } } | |||||
public string _warning { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 故障信息 | /// 故障信息 | ||||
/// </summary> | /// </summary> | ||||
public DrCoffeeFault CaffeeFault { get { return _caffeeFault; } set { _caffeeFault = value; OnPropertyChanged(); } } | |||||
public DrCoffeeFault _caffeeFault { get; set; } | |||||
public string CaffeeFault { get { return _caffeeFault; } set { _caffeeFault = value; OnPropertyChanged(); } } | |||||
public string _caffeeFault { get; set; } | |||||
public List<string> Coffees { get; set; } = new List<string>(); | public List<string> Coffees { get; set; } = new List<string>(); | ||||
public string SelectedCoffee { get; set; } | public string SelectedCoffee { get; set; } | ||||
@@ -158,9 +158,13 @@ namespace BPASmartClient.MorkT.ViewModel | |||||
public string SelectedCoffeeCmd { get; set; } | public string SelectedCoffeeCmd { get; set; } | ||||
#endregion | #endregion | ||||
/// <summary> | |||||
/// 设备ID | |||||
/// </summary> | |||||
public int DeviceId { get; set; } | |||||
public ObservableCollection<VariableMonitor> variableMonitors { get; set; } | |||||
Dictionary<string, object> CurrentData { get; set; } | |||||
public DebugViewModel() | public DebugViewModel() | ||||
{ | { | ||||
Button_RobotControlCommand = new RelayCommand<object>(Button_RobotControl); | Button_RobotControlCommand = new RelayCommand<object>(Button_RobotControl); | ||||
@@ -184,38 +188,41 @@ namespace BPASmartClient.MorkT.ViewModel | |||||
} | } | ||||
SelecteIceCreamdMode = IceCreamModes[0]; | SelecteIceCreamdMode = IceCreamModes[0]; | ||||
Plugin.GetInstance()?.GetPlugin<DeviceMgr>()?.GetDevices().ForEach(device => | |||||
{ | |||||
if (device.Name == "MorkT") DeviceId = device.DeviceId | |||||
; | |||||
}); | |||||
ThreadManage.GetInstance().StartLong(new Action(() => | ThreadManage.GetInstance().StartLong(new Action(() => | ||||
{ | { | ||||
Plugin.GetInstance()?.GetPlugin<DeviceMgr>()?.GetDevices().ForEach(device => | |||||
{ | |||||
CurrentData?.Clear(); | |||||
if (device.Name == "MorkT") CurrentData = device.Status.GetStatus(); | |||||
DeviceId = device.DeviceId; | |||||
}); | |||||
if (CurrentData != null && CurrentData.Count != 0) | |||||
variableMonitors = Plugin.GetInstance()?.GetPlugin<DeviceMgr>()?.GetDevices()?.FirstOrDefault(p => p.DeviceId == DeviceId)?.variableMonitors; | |||||
if (variableMonitors != null && variableMonitors.Count > 0) | |||||
{ | { | ||||
RobotConnected = (bool)CurrentData["Lebai.LebaiRobot.IsConnected"] ? "已连接" : "未连接"; | |||||
//IceCreamConnected = (bool)CurrentData["GSIceCream.IceCreamMachine.IsConnected"] ? "已连接" : "未连接"; | |||||
//CoffeeConnected = (bool)CurrentData["GSIceCream.IceCreamMachine.IsConnected"] ? "已连接" : "未连接"; | |||||
RobotMode = (ELebaiRModel)CurrentData["Lebai.LebaiRobot.RobotMode"]; | |||||
//CoffeeStatus = (DrCoffeeStatus)CurrentData["DRCoffee.CoffeeMachine.Status"]; | |||||
//AppStatus = (DrCoffeeAppStatus)CurrentData["DRCoffee.CoffeeMachine.AppStatus"]; | |||||
//Warning = (DrCoffeeWarning)CurrentData["DRCoffee.CoffeeMachine.Warning"]; | |||||
//CaffeeFault = (DrCoffeeFault)CurrentData["DRCoffee.CoffeeMachine.Fault"]; | |||||
//YLWD = (short)CurrentData["GSIceCream.IceCreamMachine.YLWD"]; | |||||
//HQWD = (short)CurrentData["GSIceCream.IceCreamMachine.HQWD"]; | |||||
//HJWD = (short)CurrentData["GSIceCream.IceCreamMachine.HJWD"]; | |||||
//DL = (short)CurrentData["GSIceCream.IceCreamMachine.DL"]; | |||||
//DY = (short)CurrentData["GSIceCream.IceCreamMachine.DY"]; | |||||
//CurrentMode = (MORKI_MODE)CurrentData["GSIceCream.IceCreamMachine.CurrentMode"]; | |||||
//IceCreamFault = (MORKI_FAULT)CurrentData["GSIceCream.IceCreamMachine.Fault"]; | |||||
//CXB = (byte)CurrentData["GSIceCream.IceCreamMachine.CXB"]; | |||||
//DLCompleted = (bool)CurrentData["GSIceCream.IceCreamMachine.DLCompleted"] ? "打料完成" : "打料中"; | |||||
RobotConnected = variableMonitors.FirstOrDefault(p=>p.Notes == "机器人连接状态").CurrentValue == "True" ? "已连接" : "未连接"; | |||||
IceCreamConnected = variableMonitors.FirstOrDefault(p => p.Notes == "冰淇淋连接状态").CurrentValue == "True" ? "已连接" : "未连接"; | |||||
CoffeeConnected = variableMonitors.FirstOrDefault(p => p.Notes == "咖啡机连接状态").CurrentValue == "True" ? "已连接" : "未连接"; | |||||
RobotMode = variableMonitors.FirstOrDefault(p => p.Notes == "机器人状态").CurrentValue; | |||||
CoffeeStatus = variableMonitors.FirstOrDefault(p => p.Notes == "咖啡机状态").CurrentValue; | |||||
AppStatus = variableMonitors.FirstOrDefault(p => p.Notes == "咖啡机应用状态").CurrentValue; | |||||
Warning = variableMonitors.FirstOrDefault(p => p.Notes == "咖啡机告警").CurrentValue; | |||||
CaffeeFault = variableMonitors.FirstOrDefault(p => p.Notes == "咖啡机故障").CurrentValue; | |||||
YLWD = variableMonitors.FirstOrDefault(p => p.Notes == "冰淇淋机器预冷温度").CurrentValue; | |||||
HQWD = variableMonitors.FirstOrDefault(p => p.Notes == "冰淇淋机器回气温度").CurrentValue; | |||||
HJWD = variableMonitors.FirstOrDefault(p => p.Notes == "冰淇淋机器环境温度").CurrentValue; | |||||
DL = variableMonitors.FirstOrDefault(p => p.Notes == "冰淇淋机器电流").CurrentValue; | |||||
DY = variableMonitors.FirstOrDefault(p => p.Notes == "冰淇淋机器电压").CurrentValue; | |||||
CurrentMode = variableMonitors.FirstOrDefault(p => p.Notes == "冰淇淋机器模式").CurrentValue; | |||||
IceCreamFault = variableMonitors.FirstOrDefault(p => p.Notes == "冰淇淋机器故障").CurrentValue; | |||||
CXB = variableMonitors.FirstOrDefault(p => p.Notes == "冰淇淋机器成型比").CurrentValue; | |||||
DLCompleted = variableMonitors.FirstOrDefault(p => p.Notes == "冰淇淋机器打料完成")?.CurrentValue == "True" ? "打料完成" : "打料中"; | |||||
} | } | ||||
Thread.Sleep(500); | Thread.Sleep(500); | ||||
@@ -85,7 +85,9 @@ | |||||
<Button Margin="80,0,0,0" Tag="Save" Click="Button_Click" >保存text</Button> | <Button Margin="80,0,0,0" Tag="Save" Click="Button_Click" >保存text</Button> | ||||
<Button Margin="20,0,0,0" Tag="Insert" Click="Button_Click" >导入text</Button> | <Button Margin="20,0,0,0" Tag="Insert" Click="Button_Click" >导入text</Button> | ||||
</StackPanel> | </StackPanel> | ||||
<StackPanel Orientation="Horizontal" Margin="0,20,0,0" > | |||||
<Button Margin="80,0,0,0" Tag="刷新" Click="Button_Click" >刷新大屏列表</Button> | |||||
</StackPanel> | |||||
</StackPanel> | </StackPanel> | ||||
<Grid Grid.Column="1" Margin="10"> | <Grid Grid.Column="1" Margin="10"> | ||||
@@ -134,6 +134,9 @@ namespace BPASmartClient.Control | |||||
else | else | ||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Warn, MainViewModel.GetInstance().window, "提示", $"密码输入错误!"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Warn, MainViewModel.GetInstance().window, "提示", $"密码输入错误!"); | ||||
break; | break; | ||||
case "刷新": | |||||
DataVClient.GetInstance().RefreshTheListOfStores(); | |||||
break; | |||||
} | } | ||||
} | } | ||||
} | } | ||||