|
|
@@ -161,10 +161,280 @@ namespace BPASmartClient.MorkCL |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
#region 日志修改前 |
|
|
|
//private async void FryingPanControl(EDeviceType et, ControlData cd) |
|
|
|
//{ |
|
|
|
// DeviceProcessLogShow($"【{et}】开始执行-{cd.Name} 任务"); |
|
|
|
// if (TaskList.ContainsKey(et) && TaskList[et].Cts.IsCancellationRequested) |
|
|
|
// return; |
|
|
|
// while (cd.ControlFuncs.Count > 0) |
|
|
|
// { |
|
|
|
// if (cd.ControlFuncs.TryDequeue(out FuncModel fm)) |
|
|
|
// { |
|
|
|
// var device = (FryingPanServer)devices[et]; |
|
|
|
// var robot = (RobotServer)devices[EDeviceType.机器人]; |
|
|
|
// var otherDevice = (OtherServer)devices[EDeviceType.外部设备]; |
|
|
|
// int index = (ushort)et - 1; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}。"); |
|
|
|
// switch (fm.eFunc) |
|
|
|
// { |
|
|
|
// case EFunc.搅拌启动: |
|
|
|
// device.StirStartOrStop = false; |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入搅拌频率-{fm.funcPars.ElementAt(0).ParValue.ToString()}HZ。"); |
|
|
|
// device.MixingFrequencySet(fm.funcPars.ElementAt(0).ParValue.ToString()); |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入搅拌频率-{fm.funcPars.ElementAt(0).ParValue.ToString()}HZ完成。"); |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入开始搅拌。"); |
|
|
|
// device.StirStartOrStop = true; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入开始搅拌完成。"); |
|
|
|
|
|
|
|
// break; |
|
|
|
// case EFunc.搅拌停止: |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入停止搅拌。"); |
|
|
|
// device.StirStartOrStop = false; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入停止搅拌完成。"); |
|
|
|
// break; |
|
|
|
// case EFunc.加热启动: |
|
|
|
// device.HeatStartOrStop = false; |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置加热挡位-【{fm.funcPars.ElementAt(0).ParValue.ToString()}】。"); |
|
|
|
// device.HeatingGearSet(fm.funcPars.ElementAt(0).ParValue.ToString()); |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置加热挡位完成,设置加热启动。"); |
|
|
|
|
|
|
|
// device.HeatStartOrStop = true; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置加热启动完成。"); |
|
|
|
// break; |
|
|
|
// case EFunc.加热停止: |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置加热停止。"); |
|
|
|
// device.HeatStartOrStop = false; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置加热停止完成。"); |
|
|
|
// break; |
|
|
|
// case EFunc.添加调料: |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-查找调料【{fm.funcPars.ElementAt(0).Id}】。"); |
|
|
|
// var Seasoning = SqliteHelper.GetInstance.GetSeasoning().FirstOrDefault(p => p.Id == fm.funcPars.ElementAt(0).Id); |
|
|
|
// if (Seasoning != null) |
|
|
|
// { |
|
|
|
// device.FryingPanToSeasoningLoc = false; |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅到调料投料位置。"); |
|
|
|
// device.FryingPanToSeasoningLoc = true; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅到调料投料位置完成。"); |
|
|
|
|
|
|
|
// //回到投料位置就复位。 |
|
|
|
|
|
|
|
// Thread.Sleep(50); |
|
|
|
// device.FeedingSeasoningLocFB.Wait(Cts: TaskList[et].Cts); |
|
|
|
// device.FryingPanToSeasoningLoc = false; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-炒锅已到达调料投料位置。"); |
|
|
|
|
|
|
|
// device.CuttingControl(Seasoning.Loc.ToString(), fm.funcPars.ElementAt(1).ParValue.ToString()); |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-执行下料,下料位置:{Seasoning.Loc.ToString()},下料重量:【{fm.funcPars.ElementAt(1).ParValue.ToString()}】。"); |
|
|
|
// } |
|
|
|
// else |
|
|
|
// { |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-查找调料失败,未查找到【{fm.funcPars.ElementAt(0).Id}】调料。任务取消。"); |
|
|
|
// TaskList[et].Cts.Cancel(); |
|
|
|
// } |
|
|
|
|
|
|
|
// break; |
|
|
|
// case EFunc.添加主料: |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-查找主料【{fm.funcPars.ElementAt(0).Id}】。"); |
|
|
|
|
|
|
|
// if (float.TryParse(fm.funcPars.ElementAt(1).ParValue.ToString(), out float weight)) |
|
|
|
// { |
|
|
|
// //查找主料库位符合条件的物料库位,主要根据物料ID和物料重量查找。 |
|
|
|
// var ingre_index = Array.FindIndex(Json<ItemStorageInfo>.Data.IngredientsStorage, |
|
|
|
// item => item.MaterialID == fm.funcPars.ElementAt(0).Id/* && item.Weight == weight*/); |
|
|
|
// if (ingre_index >= 0) |
|
|
|
// { |
|
|
|
// //device.CuttingControl(Seasoning.Loc.ToString(), fm.funcPars.ElementAt(1).ParValue.ToString()); |
|
|
|
// var ingredientes = Json<ItemStorageInfo>.Data.IngredientsStorage[ingre_index]; |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-执行下料,控制取{ingre_index + 1}库物料,下料名称:{ingredientes.Name.ToString()},下料重量:【{fm.funcPars.ElementAt(1).ParValue.ToString()}】。"); |
|
|
|
// device.FryingPanHome = false; |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置机器人任务【{(ingre_index + 1).ToString()}】,子任务【{et}】。"); |
|
|
|
|
|
|
|
// robot.RobotTaskControl((ingre_index + 1).ToString(), et); |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置机器人任务【{(ingre_index + 1).ToString()}】,子任务【{et}】完成。"); |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回投料位置。"); |
|
|
|
// device.FryingPanHome = true; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回投料位置完成。"); |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待炒锅到投料位置。"); |
|
|
|
// device.FeedingLocFB.Wait(Cts: TaskList[et].Cts);//等待炒锅到投料位置 |
|
|
|
// device.FryingPanHome = false; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待炒锅到投料位置完成。"); |
|
|
|
|
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待机器人到投料位置。"); |
|
|
|
// robot.MaterialPouringRequest[index].Wait(Cts: TaskList[et].Cts); //等待机器人到投料位置也就是发出倒料请求。 |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待机器人到投料位置完成。"); |
|
|
|
|
|
|
|
// //目前程序在炒锅在投料位置时,会自动发出允许倒料信息。 |
|
|
|
// //DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置允许机器人开始投料。"); |
|
|
|
// //robot.AllowPourVegetables(et);//允许机器人开始投料 |
|
|
|
// //DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置允许机器人开始投料完成。"); |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-开始等待机器人投料完成。"); |
|
|
|
// robot.MaterialPouringComplete[index].Wait(Cts: TaskList[et].Cts); //等待机器人投料完成 |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-机器人投料完成。"); |
|
|
|
|
|
|
|
// Json<ItemStorageInfo>.Data.IngredientsStorage[ingre_index] = new ItemStorage(); |
|
|
|
// Json<ItemStorageInfo>.Save(); |
|
|
|
// ActionManage.GetInstance.Send("RefreshItemStorage"); |
|
|
|
// } |
|
|
|
// else |
|
|
|
// { |
|
|
|
// //TODO:暂定为直接取消任务,后期再说。 |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-查找主料失败,未查找到【{fm.funcPars.ElementAt(0).Id}】主料。任务取消。"); |
|
|
|
// TaskList[et].Cts.Cancel(); |
|
|
|
// } |
|
|
|
// } |
|
|
|
// break; |
|
|
|
// case EFunc.添加辅料: |
|
|
|
// MaterialBase mb = SqliteHelper.GetInstance.GetAccessories().FirstOrDefault(p => p.Id == fm.funcPars.ElementAt(0).Id); |
|
|
|
// if (mb != null) |
|
|
|
// { |
|
|
|
// //先复位变量。防止上一次是异常结束,设为True时,不会响应。 |
|
|
|
// device.FryingPanHome = false; |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置机器人任务【{(mb.Loc + 12).ToString()}】,子任务【{et}】。"); |
|
|
|
// robot.RobotTaskControl((mb.Loc + 12).ToString(), et); |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置机器人任务【{(mb.Loc + 12).ToString()}】,子任务【{et}】完成。"); |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回投料位置。"); |
|
|
|
// device.FryingPanHome = true; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回投料位置完成。"); |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待炒锅到投料位置。"); |
|
|
|
// device.FeedingLocFB.Wait(Cts: TaskList[et].Cts);//等待炒锅到投料位置 |
|
|
|
// device.FryingPanHome = false; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待炒锅到投料位置完成。"); |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待机器人到投料位置。"); |
|
|
|
// robot.MaterialPouringRequest[index].Wait(Cts: TaskList[et].Cts); //等待机器人到投料位置 |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待机器人到投料位置完成。"); |
|
|
|
|
|
|
|
// //DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置允许机器人开始投料。"); |
|
|
|
// //robot.AllowPourVegetables(et);//允许机器人开始投料 |
|
|
|
// //DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置允许机器人开始投料完成。"); |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-开始等待机器人投料完成。"); |
|
|
|
// robot.MaterialPouringComplete[index].Wait(Cts: TaskList[et].Cts); //等待机器人投料完成 |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-机器人投料完成。"); |
|
|
|
|
|
|
|
// } |
|
|
|
// else |
|
|
|
// { |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-查找主料失败,未查找到【{fm.funcPars.ElementAt(0).Id}】辅料。任务取消。"); |
|
|
|
// TaskList[et].Cts.Cancel(); |
|
|
|
// } |
|
|
|
// break; |
|
|
|
// case EFunc.炒锅回原点位: |
|
|
|
// device.FryingPanFeedingLoc = false; |
|
|
|
// device.FryingPanHome = false; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回原点。"); |
|
|
|
// device.FryingPanHome = true; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回原点完成。"); |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待回原点完成。"); |
|
|
|
// device.FeedingLocFB.Wait(Cts: TaskList[et].Cts); |
|
|
|
// device.FryingPanHome = false; |
|
|
|
|
|
|
|
// break; |
|
|
|
// case EFunc.出餐启动: |
|
|
|
|
|
|
|
// device.DiningOutStart = false; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置机器人取空盆。"); |
|
|
|
// //TODO:暂时修改,后期优化。 |
|
|
|
// while (true) |
|
|
|
// { |
|
|
|
// var emptyPanIndex = Array.FindIndex(otherDevice.BoxDetection, i => i == true); |
|
|
|
// if (emptyPanIndex >= 0) |
|
|
|
// { |
|
|
|
// robot.RobotTaskControl((21 + emptyPanIndex).ToString(), et);//取空盆 |
|
|
|
// break; |
|
|
|
// } |
|
|
|
// await Task.Delay(3000); |
|
|
|
// DeviceProcessLogShow("无空盆,请添加空盆!"); |
|
|
|
// } |
|
|
|
// //robot.RobotTaskControl("21", et);//取空盆 |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置机器人取空盆完成,等待机器人到出菜位置。"); |
|
|
|
|
|
|
|
// robot.DiningOutRequest[index].Wait(Cts: TaskList[et].Cts);//等待机器人到出菜位置 |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-机器人已到出餐位置,出餐启动。"); |
|
|
|
// device.DiningOutStart = true; |
|
|
|
|
|
|
|
// device.OutDinningSlowDownFlag.Wait(Cts: TaskList[et].Cts); |
|
|
|
// robot.ModerateInPlace(et); |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-到达出餐减速位。"); |
|
|
|
|
|
|
|
// device.OutDinningFinsh.Wait(Cts: TaskList[et].Cts); |
|
|
|
// robot.DiningOutComplete(et); |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-出餐完成。"); |
|
|
|
// //回到投料位置就复位。 |
|
|
|
// Thread.Sleep(50); |
|
|
|
// device.FeedingLocFB.Wait(Cts: TaskList[et].Cts); |
|
|
|
// device.DiningOutStart = false; |
|
|
|
// break; |
|
|
|
// case EFunc.炒锅清洗: |
|
|
|
// device.FryingPanClear = false; |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅清洗。"); |
|
|
|
// device.FryingPanClear = true; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-炒锅清洗已写入。"); |
|
|
|
|
|
|
|
// Thread.Sleep(500); |
|
|
|
// device.CleanFinish.Wait(Cts: TaskList[et].Cts); |
|
|
|
// device.FryingPanClear = false; |
|
|
|
// break; |
|
|
|
// case EFunc.炒锅回调料投料位置: |
|
|
|
// device.FryingPanToSeasoningLoc = false; |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅到调料投料位置。"); |
|
|
|
// device.FryingPanToSeasoningLoc = true; |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅到调料投料位置完成。"); |
|
|
|
|
|
|
|
// //回到投料位置就复位。 |
|
|
|
|
|
|
|
// Thread.Sleep(50); |
|
|
|
// device.FeedingSeasoningLocFB.Wait(Cts: TaskList[et].Cts); |
|
|
|
// device.FryingPanToSeasoningLoc = false; |
|
|
|
// break; |
|
|
|
// case EFunc.去指定炒制位: |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置去指定炒制位。"); |
|
|
|
// device.SetStirFryingLoc(fm.funcPars.ElementAt(0).ParValue.ToString()); |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置去指定炒制位【{fm.funcPars.ElementAt(0).ParValue.ToString()}】完成。"); |
|
|
|
// break; |
|
|
|
// case EFunc.炒制: |
|
|
|
|
|
|
|
// if (int.TryParse(fm.funcPars.ElementAt(0).ParValue.ToString(), out int time)) |
|
|
|
// { |
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待炒制【{time}】秒。"); |
|
|
|
// Task.Delay(time * 1000).Wait(TaskList[et].Cts.Token); |
|
|
|
// } |
|
|
|
|
|
|
|
// DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-炒制完成。"); |
|
|
|
// break; |
|
|
|
// default: |
|
|
|
// break; |
|
|
|
// } |
|
|
|
// } |
|
|
|
// } |
|
|
|
// DeviceProcessLogShow($"【{et}】任务-{cd.Name} 执行完成"); |
|
|
|
//} |
|
|
|
#endregion |
|
|
|
|
|
|
|
#region 炒锅流程控制日志修改后 |
|
|
|
private async void FryingPanControl(EDeviceType et, ControlData cd) |
|
|
|
{ |
|
|
|
DeviceProcessLogShow($"【{et}】开始执行-{cd.Name} 任务"); |
|
|
|
if (TaskList.ContainsKey(et) && TaskList[et].Cts.IsCancellationRequested) return; |
|
|
|
if (TaskList.ContainsKey(et) && TaskList[et].Cts.IsCancellationRequested) |
|
|
|
return; |
|
|
|
while (cd.ControlFuncs.Count > 0) |
|
|
|
{ |
|
|
|
if (cd.ControlFuncs.TryDequeue(out FuncModel fm)) |
|
|
@@ -179,32 +449,32 @@ namespace BPASmartClient.MorkCL |
|
|
|
case EFunc.搅拌启动: |
|
|
|
device.StirStartOrStop = false; |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入搅拌频率-{fm.funcPars.ElementAt(0).ParValue.ToString()}HZ。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入搅拌频率-{fm.funcPars.ElementAt(0).ParValue.ToString()}HZ。"); |
|
|
|
device.MixingFrequencySet(fm.funcPars.ElementAt(0).ParValue.ToString()); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入搅拌频率-{fm.funcPars.ElementAt(0).ParValue.ToString()}HZ完成。"); |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入开始搅拌。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入开始搅拌。"); |
|
|
|
device.StirStartOrStop = true; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入开始搅拌完成。"); |
|
|
|
|
|
|
|
break; |
|
|
|
case EFunc.搅拌停止: |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入停止搅拌。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入停止搅拌。"); |
|
|
|
device.StirStartOrStop = false; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-写入停止搅拌完成。"); |
|
|
|
break; |
|
|
|
case EFunc.加热启动: |
|
|
|
device.HeatStartOrStop = false; |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置加热挡位-【{fm.funcPars.ElementAt(0).ParValue.ToString()}】。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置加热挡位-【{fm.funcPars.ElementAt(0).ParValue.ToString()}】。"); |
|
|
|
device.HeatingGearSet(fm.funcPars.ElementAt(0).ParValue.ToString()); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置加热挡位完成,设置加热启动。"); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置加热挡位-【{fm.funcPars.ElementAt(0).ParValue.ToString()}】完成,等待设置加热启动。"); |
|
|
|
|
|
|
|
device.HeatStartOrStop = true; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置加热启动完成。"); |
|
|
|
break; |
|
|
|
case EFunc.加热停止: |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置加热停止。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置加热停止。"); |
|
|
|
device.HeatStartOrStop = false; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置加热停止完成。"); |
|
|
|
break; |
|
|
@@ -215,9 +485,9 @@ namespace BPASmartClient.MorkCL |
|
|
|
{ |
|
|
|
device.FryingPanToSeasoningLoc = false; |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅到调料投料位置。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅到调料投料位置。"); |
|
|
|
device.FryingPanToSeasoningLoc = true; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅到调料投料位置完成。"); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅到调料投料位置完成,等待炒锅到达调料投料位置。"); |
|
|
|
|
|
|
|
//回到投料位置就复位。 |
|
|
|
|
|
|
@@ -252,16 +522,16 @@ namespace BPASmartClient.MorkCL |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-执行下料,控制取{ingre_index + 1}库物料,下料名称:{ingredientes.Name.ToString()},下料重量:【{fm.funcPars.ElementAt(1).ParValue.ToString()}】。"); |
|
|
|
device.FryingPanHome = false; |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置机器人任务【{(ingre_index + 1).ToString()}】,子任务【{et}】。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置机器人任务【{(ingre_index + 1).ToString()}】,子任务【{et}】。"); |
|
|
|
|
|
|
|
robot.RobotTaskControl((ingre_index + 1).ToString(), et); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置机器人任务【{(ingre_index + 1).ToString()}】,子任务【{et}】完成。"); |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回投料位置。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回投料位置。"); |
|
|
|
device.FryingPanHome = true; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回投料位置完成。"); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回投料位置完成,等待炒锅回到主料辅料投料位置"); |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待炒锅到投料位置。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待炒锅到投料位置。"); |
|
|
|
device.FeedingLocFB.Wait(Cts: TaskList[et].Cts);//等待炒锅到投料位置 |
|
|
|
device.FryingPanHome = false; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待炒锅到投料位置完成。"); |
|
|
@@ -269,14 +539,14 @@ namespace BPASmartClient.MorkCL |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待机器人到投料位置。"); |
|
|
|
robot.MaterialPouringRequest[index].Wait(Cts: TaskList[et].Cts); //等待机器人到投料位置也就是发出倒料请求。 |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待机器人到投料位置完成。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待机器人到投料位置完成。"); |
|
|
|
|
|
|
|
//目前程序在炒锅在投料位置时,会自动发出允许倒料信息。 |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置允许机器人开始投料。"); |
|
|
|
//robot.AllowPourVegetables(et);//允许机器人开始投料 |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置允许机器人开始投料完成。"); |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-开始等待机器人投料完成。"); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-机器人已到达投料位置,等待机器人投料完成。"); |
|
|
|
robot.MaterialPouringComplete[index].Wait(Cts: TaskList[et].Cts); //等待机器人投料完成 |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-机器人投料完成。"); |
|
|
|
|
|
|
@@ -299,28 +569,28 @@ namespace BPASmartClient.MorkCL |
|
|
|
//先复位变量。防止上一次是异常结束,设为True时,不会响应。 |
|
|
|
device.FryingPanHome = false; |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置机器人任务【{(mb.Loc + 12).ToString()}】,子任务【{et}】。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置机器人任务【{(mb.Loc + 12).ToString()}】,子任务【{et}】。"); |
|
|
|
robot.RobotTaskControl((mb.Loc + 12).ToString(), et); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置机器人任务【{(mb.Loc + 12).ToString()}】,子任务【{et}】完成。"); |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回投料位置。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回投料位置。"); |
|
|
|
device.FryingPanHome = true; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回投料位置完成。"); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回投料位置完成,开始等待炒锅到投料位置。"); |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待炒锅到投料位置。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待炒锅到投料位置。"); |
|
|
|
device.FeedingLocFB.Wait(Cts: TaskList[et].Cts);//等待炒锅到投料位置 |
|
|
|
device.FryingPanHome = false; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待炒锅到投料位置完成。"); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待炒锅到投料位置完成,等待机器人到投料位置。"); |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待机器人到投料位置。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待机器人到投料位置。"); |
|
|
|
robot.MaterialPouringRequest[index].Wait(Cts: TaskList[et].Cts); //等待机器人到投料位置 |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待机器人到投料位置完成。"); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-机器人到达投料位置完成,开始等待机器人投料完成。"); |
|
|
|
|
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置允许机器人开始投料。"); |
|
|
|
//robot.AllowPourVegetables(et);//允许机器人开始投料 |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置允许机器人开始投料完成。"); |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-开始等待机器人投料完成。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-开始等待机器人投料完成。"); |
|
|
|
robot.MaterialPouringComplete[index].Wait(Cts: TaskList[et].Cts); //等待机器人投料完成 |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-机器人投料完成。"); |
|
|
|
|
|
|
@@ -334,14 +604,14 @@ namespace BPASmartClient.MorkCL |
|
|
|
case EFunc.炒锅回原点位: |
|
|
|
device.FryingPanFeedingLoc = false; |
|
|
|
device.FryingPanHome = false; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回原点。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回原点。"); |
|
|
|
device.FryingPanHome = true; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回原点完成。"); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅回原点完成,等待炒锅回原点。"); |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待回原点完成。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-等待回原点完成。"); |
|
|
|
device.FeedingLocFB.Wait(Cts: TaskList[et].Cts); |
|
|
|
device.FryingPanHome = false; |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-炒锅回原点完成。"); |
|
|
|
break; |
|
|
|
case EFunc.出餐启动: |
|
|
|
|
|
|
@@ -382,31 +652,37 @@ namespace BPASmartClient.MorkCL |
|
|
|
case EFunc.炒锅清洗: |
|
|
|
device.FryingPanClear = false; |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅清洗。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅清洗。"); |
|
|
|
device.FryingPanClear = true; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-炒锅清洗已写入。"); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-炒锅清洗已写入,等待炒锅清洗完成。"); |
|
|
|
|
|
|
|
Thread.Sleep(500); |
|
|
|
device.CleanFinish.Wait(Cts: TaskList[et].Cts); |
|
|
|
device.FryingPanClear = false; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-炒锅清洗完成。"); |
|
|
|
break; |
|
|
|
case EFunc.炒锅回调料投料位置: |
|
|
|
device.FryingPanToSeasoningLoc = false; |
|
|
|
|
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅到调料投料位置。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅到调料投料位置。"); |
|
|
|
device.FryingPanToSeasoningLoc = true; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅到调料投料位置完成。"); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置炒锅到调料投料位置完成,等待回到调料投料位置。"); |
|
|
|
|
|
|
|
//回到投料位置就复位。 |
|
|
|
|
|
|
|
Thread.Sleep(50); |
|
|
|
device.FeedingSeasoningLocFB.Wait(Cts: TaskList[et].Cts); |
|
|
|
device.FryingPanToSeasoningLoc = false; |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-炒锅回到调料投料位置完成。"); |
|
|
|
break; |
|
|
|
case EFunc.去指定炒制位: |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置去指定炒制位。"); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置去指定炒制位。"); |
|
|
|
device.SetStirFryingLoc(fm.funcPars.ElementAt(0).ParValue.ToString()); |
|
|
|
DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-设置去指定炒制位【{fm.funcPars.ElementAt(0).ParValue.ToString()}】完成。"); |
|
|
|
|
|
|
|
//TODO:根据情况看是否需要等待反馈变量。 |
|
|
|
//device.StirFryingLocFB[int.Parse(fm.funcPars.ElementAt(0).ParValue.ToString())].Wait(); |
|
|
|
//DeviceProcessLogShow($"{cd.Name}-任务执行-{fm.eFunc.ToString()}-炒锅到达炒制位【{fm.funcPars.ElementAt(0).ParValue.ToString()}】。"); |
|
|
|
break; |
|
|
|
case EFunc.炒制: |
|
|
|
|
|
|
@@ -425,8 +701,7 @@ namespace BPASmartClient.MorkCL |
|
|
|
} |
|
|
|
DeviceProcessLogShow($"【{et}】任务-{cd.Name} 执行完成"); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#endregion |
|
|
|
|
|
|
|
public override void ReadData() |
|
|
|
{ |
|
|
@@ -592,6 +867,11 @@ namespace BPASmartClient.MorkCL |
|
|
|
//robot.WarehousingControl(loc); |
|
|
|
//robot.WarehousingComplete[(Convert.ToInt32(loc) - 1)].Wait(); |
|
|
|
|
|
|
|
var robot = (RobotServer)devices[EDeviceType.机器人]; |
|
|
|
robot.WarehousingControl(loc); |
|
|
|
DeviceProcessLogShow($"已下发机器人物料入{loc}号库任务,等待机器人入库操作完成"); |
|
|
|
robot.WarehousingComplete[(Convert.ToInt32(loc) - 1)].Wait(); |
|
|
|
|
|
|
|
Json<ItemStorageInfo>.Save(); |
|
|
|
|
|
|
|
ActionManage.GetInstance.Send("RefreshItemStorage"); |
|
|
|