@@ -47,7 +47,8 @@ public class ExecuteTheRecipe { | |||||
/** | /** | ||||
* 等待超时时间 | * 等待超时时间 | ||||
*/ | */ | ||||
public static int whileTime = 40; | |||||
//public static int whileTime = 40; | |||||
public static int whileTime = 2; | |||||
/** | /** | ||||
* 监听变量值 | * 监听变量值 | ||||
@@ -145,6 +146,11 @@ public class ExecuteTheRecipe { | |||||
ExecuteOperationSteps(data3.processname, data3.processvalue); | ExecuteOperationSteps(data3.processname, data3.processvalue); | ||||
} | } | ||||
ExecuteOperationSteps(recipe.processname, recipe.processvalue); | ExecuteOperationSteps(recipe.processname, recipe.processvalue); | ||||
if (recipe.processname.equals("出菜")) { | |||||
BPA_GOODSRECIPE data4 = Get位置("最高", "炒菜位1"); | |||||
ExecuteOperationSteps(data4.processname, data4.processvalue); | |||||
} | |||||
} | } | ||||
} catch (Exception ex) { | } catch (Exception ex) { | ||||
ToastUtils.error("异常信息:" + ex.getMessage()); | ToastUtils.error("异常信息:" + ex.getMessage()); | ||||
@@ -282,6 +288,9 @@ public class ExecuteTheRecipe { | |||||
case "出菜": | case "出菜": | ||||
Write_PLC_Outdishes(formulation); | Write_PLC_Outdishes(formulation); | ||||
break; | break; | ||||
case "清洗": | |||||
Write_PLC_CleanPan(formulation); | |||||
break; | |||||
} | } | ||||
@@ -792,7 +801,50 @@ public class ExecuteTheRecipe { | |||||
Thread.sleep(100);//10 *6 | Thread.sleep(100);//10 *6 | ||||
} | } | ||||
ToastUtils.info("出菜完成,结束制作!"); | |||||
ToastUtils.info("出菜完成,锅体准备回到原位!"); | |||||
} catch (Exception ex) { | |||||
ToastUtils.error("异常信息:" + ex.getMessage()); | |||||
} | |||||
} | |||||
/** | |||||
* 写PLC 清洗 | |||||
* | |||||
* @param data | |||||
*/ | |||||
private static void Write_PLC_CleanPan(HashMap<String, String> data) { | |||||
try { | |||||
ToastUtils.info("准备清洗!"); | |||||
//先延迟 | |||||
for (HashMap.Entry<String, String> entry : data.entrySet()) { | |||||
String key = entry.getKey(); | |||||
String value = entry.getValue(); | |||||
ToastUtils.info("工序:" + key + "," + value); | |||||
if (key.contains("(秒)")) { | |||||
int val = Integer.parseInt(value); | |||||
Thread.sleep(val * 1000); | |||||
} | |||||
} | |||||
BottomClick("炒锅清洗"); | |||||
//一直等待机器移动到该位置,否则就一直等待 6s超时 | |||||
String name = "炒锅清洗反馈"; | |||||
final boolean[] IsComplete = {false}; | |||||
long a = System.currentTimeMillis(); | |||||
while (!IsComplete[0]) { | |||||
if ((System.currentTimeMillis() - a) > 1000 * (whileTime*5)) { | |||||
break; | |||||
} else { | |||||
Object sb = ReadPLC(name);//ListeningValue.get(name); | |||||
if (sb != null) { | |||||
IsComplete[0] = (boolean) (sb); | |||||
} | |||||
} | |||||
Thread.sleep(100);//10 *6 | |||||
} | |||||
ToastUtils.info("炒锅清洗完成!"); | |||||
} catch (Exception ex) { | } catch (Exception ex) { | ||||
ToastUtils.error("异常信息:" + ex.getMessage()); | ToastUtils.error("异常信息:" + ex.getMessage()); | ||||
} | } | ||||
@@ -385,6 +385,7 @@ public class ConfigName { | |||||
add(new ProcessT("液体料", new ArrayList<>())); | add(new ProcessT("液体料", new ArrayList<>())); | ||||
add(new ProcessT("延迟", Arrays.asList("延迟(秒)"))); | add(new ProcessT("延迟", Arrays.asList("延迟(秒)"))); | ||||
add(new ProcessT("出菜", Arrays.asList("等待(秒)"))); | add(new ProcessT("出菜", Arrays.asList("等待(秒)"))); | ||||
add(new ProcessT("清洗", Arrays.asList("等待(秒)"))); | |||||
}}; | }}; | ||||
/** | /** | ||||
@@ -604,6 +605,8 @@ public class ConfigName { | |||||
add(new ProcessT("液体料", new ArrayList<>())); | add(new ProcessT("液体料", new ArrayList<>())); | ||||
add(new ProcessT("延迟", Arrays.asList("延迟(秒)"))); | add(new ProcessT("延迟", Arrays.asList("延迟(秒)"))); | ||||
add(new ProcessT("出菜", Arrays.asList("等待(秒)"))); | add(new ProcessT("出菜", Arrays.asList("等待(秒)"))); | ||||
add(new ProcessT("清洗", Arrays.asList("等待(秒)"))); | |||||
}}; | }}; | ||||
/** | /** | ||||
* 小炒基础PLC模型 | * 小炒基础PLC模型 | ||||
@@ -821,6 +824,8 @@ public class ConfigName { | |||||
add(new ProcessT("液体料", new ArrayList<>())); | add(new ProcessT("液体料", new ArrayList<>())); | ||||
add(new ProcessT("延迟", Arrays.asList("延迟(秒)"))); | add(new ProcessT("延迟", Arrays.asList("延迟(秒)"))); | ||||
add(new ProcessT("出菜", Arrays.asList("等待(秒)"))); | add(new ProcessT("出菜", Arrays.asList("等待(秒)"))); | ||||
add(new ProcessT("清洗", Arrays.asList("等待(秒)"))); | |||||
}}; | }}; | ||||
/** | /** | ||||
@@ -1077,10 +1077,13 @@ public class DishTestActivity extends BaseActivity { | |||||
int time_c = time - ClikTime; | int time_c = time - ClikTime; | ||||
BPA_GOODSRECIPE data = Get出菜(time_c); | BPA_GOODSRECIPE data = Get出菜(time_c); | ||||
DataBus.getInstance().bpa_goodsrecipes.add(data); | DataBus.getInstance().bpa_goodsrecipes.add(data); | ||||
BPA_GOODSRECIPE data2 = Get清洗(0); | |||||
DataBus.getInstance().bpa_goodsrecipes.add(data); | |||||
new Thread(new Runnable() { | new Thread(new Runnable() { | ||||
@Override | @Override | ||||
public void run() { | public void run() { | ||||
ExecuteTheRecipe.ExecuteOperationSteps(data.processname, data.processvalue); | ExecuteTheRecipe.ExecuteOperationSteps(data.processname, data.processvalue); | ||||
ExecuteTheRecipe.ExecuteOperationSteps(data2.processname, data2.processvalue); | |||||
} | } | ||||
}).start(); | }).start(); | ||||
} | } | ||||
@@ -1225,6 +1228,20 @@ public class DishTestActivity extends BaseActivity { | |||||
return pf; | return pf; | ||||
} | } | ||||
/** | |||||
* 获取清洗 | |||||
* | |||||
* @return | |||||
*/ | |||||
public BPA_GOODSRECIPE Get清洗(int k) { | |||||
BPA_GOODSRECIPE pf = new BPA_GOODSRECIPE(); | |||||
pf.materialType = 1; | |||||
pf.processname = "清洗"; | |||||
pf.processms = "清洗(" + k + ")"; | |||||
pf.processvalue = "等待(秒)," + k; | |||||
return pf; | |||||
} | |||||
/** | /** | ||||
* 获取选中行的变量 | * 获取选中行的变量 | ||||
* | * | ||||
@@ -300,6 +300,8 @@ public class DiyMemoryActivity extends BaseActivity { | |||||
{ | { | ||||
BPA_GOODSRECIPE data1=Get出菜(time_c); | BPA_GOODSRECIPE data1=Get出菜(time_c); | ||||
DataBus.getInstance().bpa_goodsrecipes.add(data1); | DataBus.getInstance().bpa_goodsrecipes.add(data1); | ||||
BPA_GOODSRECIPE data2 = Get清洗(0); | |||||
DataBus.getInstance().bpa_goodsrecipes.add(data2); | |||||
MakeRecipe(data1); | MakeRecipe(data1); | ||||
ClikTime=time; | ClikTime=time; | ||||
} | } | ||||
@@ -401,11 +403,18 @@ public class DiyMemoryActivity extends BaseActivity { | |||||
{ | { | ||||
BPA_GOODSRECIPE data1=Get位置("最高","炒菜位1"); | BPA_GOODSRECIPE data1=Get位置("最高","炒菜位1"); | ||||
ExecuteTheRecipe.ExecuteOperationSteps(data1.processname,data1.processvalue); | ExecuteTheRecipe.ExecuteOperationSteps(data1.processname,data1.processvalue); | ||||
ExecuteTheRecipe.ExecuteOperationSteps(recipe.processname,recipe.processvalue); | ExecuteTheRecipe.ExecuteOperationSteps(recipe.processname,recipe.processvalue); | ||||
}else | }else | ||||
{ | { | ||||
ExecuteTheRecipe.ExecuteOperationSteps(recipe.processname,recipe.processvalue); | |||||
if(recipe.processname.equals("出菜")) | |||||
{ | |||||
ExecuteTheRecipe.ExecuteOperationSteps(recipe.processname,recipe.processvalue); | |||||
BPA_GOODSRECIPE data2 = Get清洗(0); | |||||
ExecuteTheRecipe.ExecuteOperationSteps(data2.processname,data2.processvalue); | |||||
}else | |||||
{ | |||||
ExecuteTheRecipe.ExecuteOperationSteps(recipe.processname,recipe.processvalue); | |||||
} | |||||
} | } | ||||
} | } | ||||
isMake=false; | isMake=false; | ||||
@@ -471,7 +480,19 @@ public class DiyMemoryActivity extends BaseActivity { | |||||
pf.processvalue="延迟(秒),"+time; | pf.processvalue="延迟(秒),"+time; | ||||
return pf; | return pf; | ||||
} | } | ||||
/** | |||||
* 获取清洗 | |||||
* | |||||
* @return | |||||
*/ | |||||
public BPA_GOODSRECIPE Get清洗(int k) { | |||||
BPA_GOODSRECIPE pf = new BPA_GOODSRECIPE(); | |||||
pf.materialType = 1; | |||||
pf.processname = "清洗"; | |||||
pf.processms = "清洗(" + k + ")"; | |||||
pf.processvalue = "等待(秒)," + k; | |||||
return pf; | |||||
} | |||||
/** | /** | ||||
* 获取主料 | * 获取主料 | ||||
* @param wz | * @param wz | ||||