|
@ -18,7 +18,6 @@ public class CraftsStepService { |
|
|
* @param heatId 加热区 ID |
|
|
* @param heatId 加热区 ID |
|
|
* @param step 工艺步骤,包括 method 和 params |
|
|
* @param step 工艺步骤,包括 method 和 params |
|
|
* @return true 表示执行成功,false 表示失败 |
|
|
* @return true 表示执行成功,false 表示失败 |
|
|
* @throws InterruptedException 如果延时被中断 |
|
|
|
|
|
*/ |
|
|
*/ |
|
|
public boolean executeStep(String heatId, CraftsStep step){ |
|
|
public boolean executeStep(String heatId, CraftsStep step){ |
|
|
String method = step.getMethod(); |
|
|
String method = step.getMethod(); |
|
@ -26,7 +25,8 @@ public class CraftsStepService { |
|
|
delay(3); |
|
|
delay(3); |
|
|
return switch (method) { |
|
|
return switch (method) { |
|
|
case "ADD_LIQUID" -> addLiquid(heatId, params); |
|
|
case "ADD_LIQUID" -> addLiquid(heatId, params); |
|
|
case "SHAKING" -> shaking(heatId, params); |
|
|
|
|
|
|
|
|
case "SHAKING" -> shaking(params); |
|
|
|
|
|
case "HEATING" -> heating(heatId, params); |
|
|
case "TAKE_PHOTO" -> takePhoto(heatId); |
|
|
case "TAKE_PHOTO" -> takePhoto(heatId); |
|
|
default -> true; |
|
|
default -> true; |
|
|
}; |
|
|
}; |
|
@ -36,15 +36,38 @@ public class CraftsStepService { |
|
|
* 添加溶液 |
|
|
* 添加溶液 |
|
|
*/ |
|
|
*/ |
|
|
private boolean addLiquid(String heatId, JSONObject params) { |
|
|
private boolean addLiquid(String heatId, JSONObject params) { |
|
|
// TODO: 从 params 中获取溶液类型、体积等参数并调用设备服务 |
|
|
|
|
|
|
|
|
//if 判断加液区是否空闲 |
|
|
|
|
|
//等待空闲 |
|
|
|
|
|
//if 判断托盘电机是否升起 |
|
|
|
|
|
//升起托盘 |
|
|
|
|
|
//if 判断托盘是否有拍子 |
|
|
|
|
|
//将机械臂移动至托盘上方 |
|
|
|
|
|
//下降机械臂使夹爪可以夹住拍子 |
|
|
|
|
|
//夹住拍子 |
|
|
|
|
|
//机械臂提升至安全高度 |
|
|
|
|
|
//下降拍子存放区1个位置 |
|
|
|
|
|
//将机械臂移动至拍子存放区上方 |
|
|
|
|
|
//下降机械臂 |
|
|
|
|
|
//松开夹爪 |
|
|
|
|
|
//将机械臂移动至托盘上方 |
|
|
|
|
|
//下降机械臂使夹爪可以夹住托盘 |
|
|
|
|
|
//机械臂提升至安全位置 |
|
|
|
|
|
//移动机械臂至加液区 |
|
|
|
|
|
//下降机械臂将托盘与试管落入加液区 |
|
|
|
|
|
//松开夹爪 |
|
|
|
|
|
//提升机械臂至安全高度 |
|
|
|
|
|
//for 根据工艺配置添加溶液 |
|
|
|
|
|
//加液机械臂移动至第N个试管 |
|
|
|
|
|
//启动x加液泵添加m毫升溶液 |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 摇匀操作 |
|
|
* 摇匀操作 |
|
|
*/ |
|
|
*/ |
|
|
private boolean shaking(String heatId, JSONObject params) { |
|
|
|
|
|
// TODO: 从 params 中获取速度、时长等参数并调用设备服务 |
|
|
|
|
|
|
|
|
private boolean shaking(JSONObject params) { |
|
|
|
|
|
//判断加液区是否有托盘 |
|
|
|
|
|
//进行摇匀 |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -52,7 +75,26 @@ public class CraftsStepService { |
|
|
* 加热 |
|
|
* 加热 |
|
|
*/ |
|
|
*/ |
|
|
private boolean heating(String heatId, JSONObject params) { |
|
|
private boolean heating(String heatId, JSONObject params) { |
|
|
// TODO: 从 params 中获取温度、时长等参数并调用设备服务 |
|
|
|
|
|
|
|
|
//if 判断加液区是否有托盘 |
|
|
|
|
|
//将机械臂移动至加液区托盘上方 |
|
|
|
|
|
//下降机械臂使夹爪可以夹住托盘 |
|
|
|
|
|
//夹住托盘 |
|
|
|
|
|
//将托盘提升至安全高度 |
|
|
|
|
|
//将机械臂移动至加热区上方 |
|
|
|
|
|
//下降机械臂使托盘与试管落入加热区 |
|
|
|
|
|
//将机械臂提升至安全高度 |
|
|
|
|
|
//移动机械臂至拍子存放区上方 |
|
|
|
|
|
//下降机械臂使夹爪可以夹住拍子 |
|
|
|
|
|
//提升机械臂携带拍子至安全高度 |
|
|
|
|
|
//将机械臂移动至加热区托盘上方 |
|
|
|
|
|
//降下机械臂使拍子盖住托盘试管 |
|
|
|
|
|
//松开夹爪 |
|
|
|
|
|
//提升机械臂至安全高度 |
|
|
|
|
|
//降下托盘 |
|
|
|
|
|
//根据配置开始加热 |
|
|
|
|
|
//else |
|
|
|
|
|
//根据配置开始加热 |
|
|
|
|
|
//加热结束,提升托盘 |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -60,7 +102,28 @@ public class CraftsStepService { |
|
|
* 拍照操作· |
|
|
* 拍照操作· |
|
|
*/ |
|
|
*/ |
|
|
private boolean takePhoto(String heatId) { |
|
|
private boolean takePhoto(String heatId) { |
|
|
// TODO: 调用相机或设备服务执行拍照 |
|
|
|
|
|
|
|
|
//if 判断加液位是否有托盘 |
|
|
|
|
|
//进行拍照 |
|
|
|
|
|
//else |
|
|
|
|
|
//if 判断托盘电机是否升起 |
|
|
|
|
|
//升起托盘 |
|
|
|
|
|
//if 判断托盘是否有拍子 |
|
|
|
|
|
//将机械臂移动至托盘上方 |
|
|
|
|
|
//下降机械臂使夹爪可以夹住拍子 |
|
|
|
|
|
//夹住拍子 |
|
|
|
|
|
//机械臂提升至安全高度 |
|
|
|
|
|
//下降拍子存放区1个位置 |
|
|
|
|
|
//将机械臂移动至拍子存放区上方 |
|
|
|
|
|
//下降机械臂 |
|
|
|
|
|
//松开夹爪 |
|
|
|
|
|
//将机械臂移动至托盘上方 |
|
|
|
|
|
//下降机械臂使夹爪可以夹住托盘 |
|
|
|
|
|
//机械臂提升至安全位置 |
|
|
|
|
|
//移动机械臂至加液区 |
|
|
|
|
|
//下降机械臂将托盘与试管落入加液区 |
|
|
|
|
|
//松开夹爪 |
|
|
|
|
|
//提升机械臂至安全高度 |
|
|
|
|
|
//进行拍照 |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|