|
@ -2,12 +2,15 @@ package com.iflytop.gd.app.service.crafts; |
|
|
|
|
|
|
|
|
import cn.hutool.json.JSONArray; |
|
|
import cn.hutool.json.JSONArray; |
|
|
import cn.hutool.json.JSONObject; |
|
|
import cn.hutool.json.JSONObject; |
|
|
|
|
|
import cn.hutool.json.JSONUtil; |
|
|
|
|
|
import com.iflytop.gd.app.core.CraftsContext; |
|
|
import com.iflytop.gd.app.core.CraftsDebugGenerator; |
|
|
import com.iflytop.gd.app.core.CraftsDebugGenerator; |
|
|
import com.iflytop.gd.app.model.bo.CraftsStep; |
|
|
import com.iflytop.gd.app.model.bo.CraftsStep; |
|
|
import com.iflytop.gd.app.model.bo.Point3D; |
|
|
import com.iflytop.gd.app.model.bo.Point3D; |
|
|
import com.iflytop.gd.app.model.bo.status.device.TrayState; |
|
|
import com.iflytop.gd.app.model.bo.status.device.TrayState; |
|
|
import com.iflytop.gd.app.model.bo.status.device.TubeState; |
|
|
import com.iflytop.gd.app.model.bo.status.device.TubeState; |
|
|
import com.iflytop.gd.app.model.entity.Container; |
|
|
import com.iflytop.gd.app.model.entity.Container; |
|
|
|
|
|
import com.iflytop.gd.app.model.entity.Crafts; |
|
|
import com.iflytop.gd.app.service.api.ContainerService; |
|
|
import com.iflytop.gd.app.service.api.ContainerService; |
|
|
import com.iflytop.gd.app.service.api.DevicePositionService; |
|
|
import com.iflytop.gd.app.service.api.DevicePositionService; |
|
|
import com.iflytop.gd.app.service.device.DeviceCommandTempUtilService; |
|
|
import com.iflytop.gd.app.service.device.DeviceCommandTempUtilService; |
|
@ -68,6 +71,39 @@ public class CraftsStepService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
|
|
|
* 工艺开始执行前 |
|
|
|
|
|
*/ |
|
|
|
|
|
public void start(CraftsContext craftsContext) throws Exception { |
|
|
|
|
|
HeatModuleCode heatModuleCode = craftsContext.getHeatModuleCode(); |
|
|
|
|
|
Crafts craft = craftsContext.getCraft(); |
|
|
|
|
|
List<CraftsStep> craftsStepList = JSONUtil.parseArray(craft.getSteps()).toList(CraftsStep.class); |
|
|
|
|
|
Double targetTemperature = null; |
|
|
|
|
|
for (CraftsStep craftsStep : craftsStepList) { |
|
|
|
|
|
if ("startHeating".equals(craftsStep.getMethod())) { |
|
|
|
|
|
targetTemperature = craftsStep.getParams().getDouble("temperature"); |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if (targetTemperature != null) {//工艺执行前动态调节温度 |
|
|
|
|
|
Double temperature = deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).getTemperature(); |
|
|
|
|
|
if (temperature > targetTemperature) { |
|
|
|
|
|
heatModuleService.fanStart(heatModuleCode); |
|
|
|
|
|
} else { |
|
|
|
|
|
heatModuleService.heatRodOpen(heatModuleCode, targetTemperature); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 工艺执行完毕 |
|
|
|
|
|
*/ |
|
|
|
|
|
public void finish(CraftsContext craftsContext) throws Exception { |
|
|
|
|
|
moveToSolutionModule(craftsContext.getHeatModuleCode()); |
|
|
|
|
|
//蜂鸣器提示 |
|
|
|
|
|
// otherModuleService.craftsFinishBeepRemind(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
* 将托盘从加热区移动至加液区并且添加溶液 |
|
|
* 将托盘从加热区移动至加液区并且添加溶液 |
|
|
*/ |
|
|
*/ |
|
|
private boolean addLiquid(HeatModuleCode heatModuleCode, JSONObject params) throws Exception { |
|
|
private boolean addLiquid(HeatModuleCode heatModuleCode, JSONObject params) throws Exception { |
|
@ -132,22 +168,38 @@ public class CraftsStepService { |
|
|
double trayLift = devicePositionService.getPosition(DevicePositionCode.trayLift).getDistance(); //获取加热位抬升托盘位置 |
|
|
double trayLift = devicePositionService.getPosition(DevicePositionCode.trayLift).getDistance(); //获取加热位抬升托盘位置 |
|
|
double trayLower = devicePositionService.getPosition(DevicePositionCode.trayLower).getDistance(); //获取托盘升降下降距离位置 |
|
|
double trayLower = devicePositionService.getPosition(DevicePositionCode.trayLower).getDistance(); //获取托盘升降下降距离位置 |
|
|
moveToHeatModule(heatModuleCode); |
|
|
moveToHeatModule(heatModuleCode); |
|
|
Double temperature = params.getDouble("temperature"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Double targetTemperature = params.getDouble("temperature"); |
|
|
Integer second = params.getInt("second"); |
|
|
Integer second = params.getInt("second"); |
|
|
log.info("工艺{},加热中",heatModuleCode); |
|
|
|
|
|
heatModuleService.heatRodOpen(heatModuleCode, temperature);//开始加热 |
|
|
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.thermostatic); |
|
|
|
|
|
//达到目标温度后才算开始加热 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Double temperature = deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).getTemperature(); |
|
|
|
|
|
if (temperature > targetTemperature) { |
|
|
|
|
|
log.info("工艺{},开启风扇降温中", heatModuleCode); |
|
|
|
|
|
heatModuleService.fanStart(heatModuleCode); |
|
|
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.cooling); |
|
|
|
|
|
log.info("工艺{},等待降温", heatModuleCode); |
|
|
|
|
|
while (deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).getTemperature() - 1 > targetTemperature) { |
|
|
|
|
|
delay(1); |
|
|
|
|
|
} |
|
|
|
|
|
heatModuleService.fanClose(heatModuleCode); |
|
|
|
|
|
heatModuleService.heatRodOpen(heatModuleCode, targetTemperature); |
|
|
|
|
|
} else { |
|
|
|
|
|
log.info("工艺{},开启加热棒", heatModuleCode); |
|
|
|
|
|
heatModuleService.heatRodOpen(heatModuleCode, targetTemperature); |
|
|
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.warm_up); |
|
|
log.info("工艺{},等待升温", heatModuleCode); |
|
|
log.info("工艺{},等待升温", heatModuleCode); |
|
|
while (deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).getTemperature() + 1 < temperature) { |
|
|
|
|
|
|
|
|
while (deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).getTemperature() + 1 < targetTemperature) { |
|
|
delay(1); |
|
|
delay(1); |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
log.info("工艺{},恒温中", heatModuleCode); |
|
|
log.info("工艺{},恒温中", heatModuleCode); |
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.constant); |
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.constant); |
|
|
log.info("工艺{},降下托盘",heatModuleCode); |
|
|
|
|
|
heatModuleService.heaterMotorMove(heatModuleCode, trayLower);//降下托盘 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.info("工艺{},温度合适,下降加热模块托盘", heatModuleCode); |
|
|
|
|
|
heatModuleService.heaterMotorMove(heatModuleCode, trayLower);//下降加热模块托盘 |
|
|
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTrayUp(0);//加热模块托盘升降状态 |
|
|
delay(second); |
|
|
delay(second); |
|
|
log.info("工艺{},停止加热",heatModuleCode); |
|
|
|
|
|
|
|
|
log.info("工艺{},加热完成", heatModuleCode); |
|
|
heatModuleService.heatRodClose(heatModuleCode);//停止加热 |
|
|
heatModuleService.heatRodClose(heatModuleCode);//停止加热 |
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.finish); |
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.finish); |
|
|
log.info("工艺{},抬升加热位托盘", heatModuleCode); |
|
|
log.info("工艺{},抬升加热位托盘", heatModuleCode); |
|
@ -184,15 +236,6 @@ public class CraftsStepService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 工艺执行完毕 |
|
|
|
|
|
*/ |
|
|
|
|
|
public void finish(HeatModuleCode heatModuleCode) throws Exception { |
|
|
|
|
|
moveToSolutionModule(heatModuleCode); |
|
|
|
|
|
//蜂鸣器提示 |
|
|
|
|
|
// otherModuleService.craftsFinishBeepRemind(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 将托盘移至加热 |
|
|
* 将托盘移至加热 |
|
|
*/ |
|
|
*/ |
|
|
private void moveToHeatModule(HeatModuleCode heatModuleCode) throws Exception { |
|
|
private void moveToHeatModule(HeatModuleCode heatModuleCode) throws Exception { |
|
@ -213,6 +256,7 @@ public class CraftsStepService { |
|
|
Point3D heatAreaCapClawPointPoint3D = heatModuleService.getHeatAreaCapClawPointPoint3D(heatModuleCode);//获取指定加热模块拍子上方点位 |
|
|
Point3D heatAreaCapClawPointPoint3D = heatModuleService.getHeatAreaCapClawPointPoint3D(heatModuleCode);//获取指定加热模块拍子上方点位 |
|
|
Point3D capStorageCapClawPoint3D = devicePositionService.getPosition(DevicePositionCode.capStorageCapClawPoint).getPoint3D();//获取拍子存放区上方点位; |
|
|
Point3D capStorageCapClawPoint3D = devicePositionService.getPosition(DevicePositionCode.capStorageCapClawPoint).getPoint3D();//获取拍子存放区上方点位; |
|
|
|
|
|
|
|
|
|
|
|
TrayState trayState = deviceStateService.getDeviceState().getTrayInSolutionModule(); |
|
|
log.info("工艺{},提升拍子存放区至拍子夹取的高度", heatModuleCode); |
|
|
log.info("工艺{},提升拍子存放区至拍子夹取的高度", heatModuleCode); |
|
|
capModuleService.capUpBalanceNoWait();//提升拍子存放区至拍子夹取的高度 |
|
|
capModuleService.capUpBalanceNoWait();//提升拍子存放区至拍子夹取的高度 |
|
|
log.info("工艺{},将机械臂移动至加液模块上方", heatModuleCode); |
|
|
log.info("工艺{},将机械臂移动至加液模块上方", heatModuleCode); |
|
@ -224,19 +268,20 @@ public class CraftsStepService { |
|
|
log.info("工艺{},将夹爪收紧,夹住托盘", heatModuleCode); |
|
|
log.info("工艺{},将夹爪收紧,夹住托盘", heatModuleCode); |
|
|
gantryModuleService.clawMove(clawTrayGrip);//将夹爪收紧,夹住托盘 |
|
|
gantryModuleService.clawMove(clawTrayGrip);//将夹爪收紧,夹住托盘 |
|
|
log.info("工艺{},抬升z轴", heatModuleCode); |
|
|
log.info("工艺{},抬升z轴", heatModuleCode); |
|
|
|
|
|
deviceCommandTempUtilService.moveTrayHeatModuleAvoidDownNoWait(null);//TODO 结构有问题临时避让 开始,移动托盘之前先降下所有加热模块 |
|
|
gantryModuleService.gantryZMove(0);//抬升z轴 |
|
|
gantryModuleService.gantryZMove(0);//抬升z轴 |
|
|
deviceStateService.getDeviceState().getSolutionModule().setTrayStatus(0);//加液模块是否有托盘 |
|
|
deviceStateService.getDeviceState().getSolutionModule().setTrayStatus(0);//加液模块是否有托盘 |
|
|
deviceStateService.getDeviceState().getTrayStateByHeatModuleCode(heatModuleCode).setInSolutionModule(false); |
|
|
deviceStateService.getDeviceState().getTrayStateByHeatModuleCode(heatModuleCode).setInSolutionModule(false); |
|
|
// deviceCommandTempUtilService.moveTrayHeatModuleAvoidDown(null);//TODO 结构有问题临时避让 开始,移动托盘之前先降下所有加热模块 |
|
|
|
|
|
log.info("工艺{},将携带托盘的机械臂移动至4号加热模块上方", heatModuleCode); |
|
|
log.info("工艺{},将携带托盘的机械臂移动至4号加热模块上方", heatModuleCode); |
|
|
gantryModuleService.gantryMove(heatArea4TrayClawPoint3D);//将携带托盘的机械臂移动至4号加热模块上方 |
|
|
gantryModuleService.gantryMove(heatArea4TrayClawPoint3D);//将携带托盘的机械臂移动至4号加热模块上方 |
|
|
log.info("工艺{},将携带托盘的机械臂移动至加热模块上方", heatModuleCode); |
|
|
log.info("工艺{},将携带托盘的机械臂移动至加热模块上方", heatModuleCode); |
|
|
gantryModuleService.gantryMove(heatAreaTrayClawPoint3D);//将携带托盘的机械臂移动至加热模块上方 |
|
|
gantryModuleService.gantryMove(heatAreaTrayClawPoint3D);//将携带托盘的机械臂移动至加热模块上方 |
|
|
// deviceCommandUtilService.heaterMotorMove( heatModuleId, trayLift);//抬升加热位托盘 TODO 结构有问题临时避让 屏蔽 |
|
|
|
|
|
log.info("工艺{},临时避让完毕,升起", heatModuleCode); |
|
|
log.info("工艺{},临时避让完毕,升起", heatModuleCode); |
|
|
deviceCommandTempUtilService.moveTrayHeatModuleAvoidUpNoWait(heatModuleCode);Thread.sleep(3200);//TODO 结构有问题临时避让 完毕,可以升起了,顺带提升目标加热模块 |
|
|
|
|
|
|
|
|
deviceCommandTempUtilService.moveTrayHeatModuleAvoidUpNoWait(heatModuleCode); |
|
|
|
|
|
Thread.sleep(3200);//TODO 结构有问题临时避让 完毕,可以升起了,顺带提升目标加热模块 |
|
|
log.info("工艺{},下降z轴,使托盘落入加热模块", heatModuleCode); |
|
|
log.info("工艺{},下降z轴,使托盘落入加热模块", heatModuleCode); |
|
|
gantryModuleService.gantryZMove(heatModuleTrayMoveHeight);//下降z轴,使托盘落入加热模块 |
|
|
gantryModuleService.gantryZMove(heatModuleTrayMoveHeight);//下降z轴,使托盘落入加热模块 |
|
|
|
|
|
|
|
|
log.info("工艺{},将夹爪打开,释放托盘", heatModuleCode); |
|
|
log.info("工艺{},将夹爪打开,释放托盘", heatModuleCode); |
|
|
gantryModuleService.clawMove(clawTrayPick);//将夹爪打开,释放托盘 |
|
|
gantryModuleService.clawMove(clawTrayPick);//将夹爪打开,释放托盘 |
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTrayStatus(1);//加热模块是否存在托盘 |
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTrayStatus(1);//加热模块是否存在托盘 |
|
@ -246,6 +291,7 @@ public class CraftsStepService { |
|
|
|
|
|
|
|
|
log.info("工艺{},移动机械臂至拍子存放区上方", heatModuleCode); |
|
|
log.info("工艺{},移动机械臂至拍子存放区上方", heatModuleCode); |
|
|
gantryModuleService.gantryMove(capStorageCapClawPoint3D);//移动机械臂至拍子存放区上方 |
|
|
gantryModuleService.gantryMove(capStorageCapClawPoint3D);//移动机械臂至拍子存放区上方 |
|
|
|
|
|
deviceCommandTempUtilService.moveTrayHeatModuleAvoidDownNoWait(null);//TODO 结构有问题临时避让 开始,移动托盘之前先降下所有加热模块 |
|
|
log.info("工艺{},将夹爪打开,准备夹取拍子", heatModuleCode); |
|
|
log.info("工艺{},将夹爪打开,准备夹取拍子", heatModuleCode); |
|
|
gantryModuleService.clawMove(clawCapPick);//将夹爪打开,准备夹取拍子 |
|
|
gantryModuleService.clawMove(clawCapPick);//将夹爪打开,准备夹取拍子 |
|
|
log.info("工艺{},下降z轴,使夹爪落入拍子升降模块拍子孔位", heatModuleCode); |
|
|
log.info("工艺{},下降z轴,使夹爪落入拍子升降模块拍子孔位", heatModuleCode); |
|
@ -258,6 +304,8 @@ public class CraftsStepService { |
|
|
gantryModuleService.gantryMove(heatAreaCapClawPointPoint3D);//将携带拍子的机械臂移动至加热模块拍子上方 |
|
|
gantryModuleService.gantryMove(heatAreaCapClawPointPoint3D);//将携带拍子的机械臂移动至加热模块拍子上方 |
|
|
log.info("工艺{},提升拍子存放区", heatModuleCode); |
|
|
log.info("工艺{},提升拍子存放区", heatModuleCode); |
|
|
capModuleService.capUpBalanceNoWait(); //提升拍子存放区 |
|
|
capModuleService.capUpBalanceNoWait(); //提升拍子存放区 |
|
|
|
|
|
deviceCommandTempUtilService.moveTrayHeatModuleAvoidUpNoWait(heatModuleCode); |
|
|
|
|
|
Thread.sleep(4000);//TODO 结构有问题临时避让 完毕,可以升起了,顺带提升目标加热模块 |
|
|
log.info("工艺{},下降z轴,使夹拍子落入加热模块", heatModuleCode); |
|
|
log.info("工艺{},下降z轴,使夹拍子落入加热模块", heatModuleCode); |
|
|
gantryModuleService.gantryZMove(heatModuleCapMoveHeight);//下降z轴,使夹拍子落入加热模块 |
|
|
gantryModuleService.gantryZMove(heatModuleCapMoveHeight);//下降z轴,使夹拍子落入加热模块 |
|
|
log.info("工艺{},将夹爪打开,释放拍子", heatModuleCode); |
|
|
log.info("工艺{},将夹爪打开,释放拍子", heatModuleCode); |
|
@ -265,11 +313,6 @@ public class CraftsStepService { |
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setCapExist(true);//加热模块是否存在拍子 |
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setCapExist(true);//加热模块是否存在拍子 |
|
|
log.info("工艺{},抬升z轴", heatModuleCode); |
|
|
log.info("工艺{},抬升z轴", heatModuleCode); |
|
|
gantryModuleService.gantryZMove(0);//抬升z轴 |
|
|
gantryModuleService.gantryZMove(0);//抬升z轴 |
|
|
// trayState.setHeatModuleId(heatModuleId); |
|
|
|
|
|
// trayState.setInHeatModule(true); |
|
|
|
|
|
log.info("工艺{},下降加热模块托盘",heatModuleCode); |
|
|
|
|
|
heatModuleService.heaterMotorMove(heatModuleCode, trayLower);//下降加热模块托盘 |
|
|
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTrayUp(0);//加热模块托盘升降状态 |
|
|
|
|
|
log.info("工艺{},移动机械臂至拍子存放区上方", heatModuleCode); |
|
|
log.info("工艺{},移动机械臂至拍子存放区上方", heatModuleCode); |
|
|
gantryModuleService.gantryMove(capStorageCapClawPoint3D);//移动机械臂至拍子存放区上方 |
|
|
gantryModuleService.gantryMove(capStorageCapClawPoint3D);//移动机械臂至拍子存放区上方 |
|
|
log.info("工艺{},释放加液区", heatModuleCode); |
|
|
log.info("工艺{},释放加液区", heatModuleCode); |
|
@ -298,13 +341,14 @@ public class CraftsStepService { |
|
|
Point3D capStorageCapClawPoint3D = devicePositionService.getPosition(DevicePositionCode.capStorageCapClawPoint).getPoint3D();//获取拍子存放区上方点位; |
|
|
Point3D capStorageCapClawPoint3D = devicePositionService.getPosition(DevicePositionCode.capStorageCapClawPoint).getPoint3D();//获取拍子存放区上方点位; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TrayState trayState = deviceStateService.getTrayInSolutionModule(); |
|
|
|
|
|
|
|
|
TrayState trayState = deviceStateService.getDeviceState().getTrayStateByHeatModuleCode(heatModuleCode); |
|
|
log.info("工艺{},申请使用加液区并等待", heatModuleCode); |
|
|
log.info("工艺{},申请使用加液区并等待", heatModuleCode); |
|
|
solutionModuleService.requestSolutionModule();//申请使用加液区并等待 |
|
|
solutionModuleService.requestSolutionModule();//申请使用加液区并等待 |
|
|
log.info("工艺{},提升拍子存放区至拍子夹取的高度", heatModuleCode); |
|
|
log.info("工艺{},提升拍子存放区至拍子夹取的高度", heatModuleCode); |
|
|
capModuleService.capUpBalanceNoWait(); //提升拍子存放区至拍子夹取的高度 |
|
|
capModuleService.capUpBalanceNoWait(); //提升拍子存放区至拍子夹取的高度 |
|
|
log.info("工艺{},将机械臂移动至加热模块拍子上方", heatModuleCode); |
|
|
log.info("工艺{},将机械臂移动至加热模块拍子上方", heatModuleCode); |
|
|
gantryModuleService.gantryMove(heatAreaCapClawPointPoint3D);//将机械臂移动至加热模块拍子上方 |
|
|
gantryModuleService.gantryMove(heatAreaCapClawPointPoint3D);//将机械臂移动至加热模块拍子上方 |
|
|
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTrayUp(1);//将加热模块托盘状态改为抬起 |
|
|
log.info("工艺{},抬升指定加热位托盘", heatModuleCode); |
|
|
log.info("工艺{},抬升指定加热位托盘", heatModuleCode); |
|
|
heatModuleService.heaterMotorMove(heatModuleCode, trayLift);//抬升指定加热位托盘 |
|
|
heatModuleService.heaterMotorMove(heatModuleCode, trayLift);//抬升指定加热位托盘 |
|
|
log.info("工艺{},将夹爪打开,准备夹取拍子", heatModuleCode); |
|
|
log.info("工艺{},将夹爪打开,准备夹取拍子", heatModuleCode); |
|
@ -316,10 +360,13 @@ public class CraftsStepService { |
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setCapExist(false);//加热模块是否存在拍子 |
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setCapExist(false);//加热模块是否存在拍子 |
|
|
log.info("工艺{},拍子存放模块下降1个拍子位置", heatModuleCode); |
|
|
log.info("工艺{},拍子存放模块下降1个拍子位置", heatModuleCode); |
|
|
capModuleService.capMotorMoveByNumNoWait(-1);//拍子存放模块下降1个拍子位置 |
|
|
capModuleService.capMotorMoveByNumNoWait(-1);//拍子存放模块下降1个拍子位置 |
|
|
|
|
|
deviceCommandTempUtilService.moveTrayHeatModuleAvoidDownNoWait(null);//TODO 结构有问题临时避让 开始,移动托盘之前先降下所有加热模块 |
|
|
log.info("工艺{},抬升z轴", heatModuleCode); |
|
|
log.info("工艺{},抬升z轴", heatModuleCode); |
|
|
gantryModuleService.gantryZMove(0); Thread.sleep(2000);//抬升z轴 |
|
|
|
|
|
|
|
|
gantryModuleService.gantryZMove(0); |
|
|
|
|
|
Thread.sleep(4000);//抬升z轴 |
|
|
log.info("工艺{},将携带拍子的机械臂移动至存放区上方", heatModuleCode); |
|
|
log.info("工艺{},将携带拍子的机械臂移动至存放区上方", heatModuleCode); |
|
|
gantryModuleService.gantryMove(capStorageCapClawPoint3D);//将携带拍子的机械臂移动至存放区上方 |
|
|
gantryModuleService.gantryMove(capStorageCapClawPoint3D);//将携带拍子的机械臂移动至存放区上方 |
|
|
|
|
|
deviceCommandTempUtilService.moveTrayHeatModuleAvoidUpNoWait(null);//TODO 临时避 恢复抬起状态 |
|
|
log.info("工艺{},下降z轴,使夹拍子落入存放区", heatModuleCode); |
|
|
log.info("工艺{},下降z轴,使夹拍子落入存放区", heatModuleCode); |
|
|
gantryModuleService.gantryZMove(capModuleCapMoveHeight);//下降z轴,使夹拍子落入存放区 |
|
|
gantryModuleService.gantryZMove(capModuleCapMoveHeight);//下降z轴,使夹拍子落入存放区 |
|
|
log.info("工艺{},将夹爪打开,释放夹取的拍子", heatModuleCode); |
|
|
log.info("工艺{},将夹爪打开,释放夹取的拍子", heatModuleCode); |
|
@ -327,10 +374,8 @@ public class CraftsStepService { |
|
|
log.info("工艺{},抬升z轴", heatModuleCode); |
|
|
log.info("工艺{},抬升z轴", heatModuleCode); |
|
|
gantryModuleService.gantryZMove(0);//抬升z轴 |
|
|
gantryModuleService.gantryZMove(0);//抬升z轴 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.info("工艺{},将机械臂移动至加热模块上方", heatModuleCode); |
|
|
log.info("工艺{},将机械臂移动至加热模块上方", heatModuleCode); |
|
|
gantryModuleService.gantryMove(heatAreaTrayClawPoint3D);//将机械臂移动至加热模块上方 |
|
|
gantryModuleService.gantryMove(heatAreaTrayClawPoint3D);//将机械臂移动至加热模块上方 |
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTrayUp(1);//将加热模块托盘状态改为抬起 |
|
|
|
|
|
log.info("工艺{},将夹爪打开,准备夹取托盘", heatModuleCode); |
|
|
log.info("工艺{},将夹爪打开,准备夹取托盘", heatModuleCode); |
|
|
gantryModuleService.clawMove(clawTrayPick);//将夹爪打开,准备夹取托盘 |
|
|
gantryModuleService.clawMove(clawTrayPick);//将夹爪打开,准备夹取托盘 |
|
|
log.info("工艺{},下降z轴,使夹爪落入托盘孔位", heatModuleCode); |
|
|
log.info("工艺{},下降z轴,使夹爪落入托盘孔位", heatModuleCode); |
|
@ -338,14 +383,12 @@ public class CraftsStepService { |
|
|
log.info("工艺{},将夹爪收紧,夹住托盘", heatModuleCode); |
|
|
log.info("工艺{},将夹爪收紧,夹住托盘", heatModuleCode); |
|
|
gantryModuleService.clawMove(clawTrayGrip);//将夹爪收紧,夹住托盘 |
|
|
gantryModuleService.clawMove(clawTrayGrip);//将夹爪收紧,夹住托盘 |
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTrayStatus(0);//加热模块是否存在托盘 |
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTrayStatus(0);//加热模块是否存在托盘 |
|
|
deviceStateService.getDeviceState().getTrayStateByHeatModuleCode(heatModuleCode).setInHeatModule(false); |
|
|
|
|
|
// trayState.setInHeatModule(false);//托盘是否在加热模块中 |
|
|
|
|
|
|
|
|
trayState.setInHeatModule(false); |
|
|
log.info("工艺{},临时避让下降", heatModuleCode); |
|
|
log.info("工艺{},临时避让下降", heatModuleCode); |
|
|
deviceCommandTempUtilService.moveTrayHeatModuleAvoidDownNoWait(heatModuleCode);//TODO 临时避让下降 |
|
|
deviceCommandTempUtilService.moveTrayHeatModuleAvoidDownNoWait(heatModuleCode);//TODO 临时避让下降 |
|
|
log.info("工艺{},抬升z轴", heatModuleCode); |
|
|
log.info("工艺{},抬升z轴", heatModuleCode); |
|
|
gantryModuleService.gantryZMove(0);Thread.sleep(2500);//抬升z轴 |
|
|
|
|
|
// deviceCommandUtilService.heaterMotorMove( heatModuleId, trayLower);//下降加热模块托盘 |
|
|
|
|
|
// deviceStateService.setHeatModuleStateTrayUp(heatModuleId, 0);//加热模块托盘升降状态 |
|
|
|
|
|
|
|
|
gantryModuleService.gantryZMove(0); |
|
|
|
|
|
Thread.sleep(2500);//抬升z轴 |
|
|
log.info("工艺{},将携带托盘的机械臂移动至4号加热模块上方", heatModuleCode); |
|
|
log.info("工艺{},将携带托盘的机械臂移动至4号加热模块上方", heatModuleCode); |
|
|
gantryModuleService.gantryMove(heatArea4TrayClawPoint3D);//将携带托盘的机械臂移动至4号加热模块上方 |
|
|
gantryModuleService.gantryMove(heatArea4TrayClawPoint3D);//将携带托盘的机械臂移动至4号加热模块上方 |
|
|
log.info("工艺{},将携带托盘的机械臂移动至加液模块上方", heatModuleCode); |
|
|
log.info("工艺{},将携带托盘的机械臂移动至加液模块上方", heatModuleCode); |
|
@ -354,9 +397,8 @@ public class CraftsStepService { |
|
|
deviceCommandTempUtilService.moveTrayHeatModuleAvoidUp(null, heatModuleCode);//TODO 临时避 恢复抬起状态 |
|
|
deviceCommandTempUtilService.moveTrayHeatModuleAvoidUp(null, heatModuleCode);//TODO 临时避 恢复抬起状态 |
|
|
log.info("工艺{},下降z轴,使托盘落入加液模块", heatModuleCode); |
|
|
log.info("工艺{},下降z轴,使托盘落入加液模块", heatModuleCode); |
|
|
gantryModuleService.gantryZMove(solutionModuleTrayMoveHeight);//下降z轴,使托盘落入加液模块 |
|
|
gantryModuleService.gantryZMove(solutionModuleTrayMoveHeight);//下降z轴,使托盘落入加液模块 |
|
|
// trayState.setInSolutionModule(true);//托盘是否在加液模块中 |
|
|
|
|
|
deviceStateService.getDeviceState().getSolutionModule().setTrayStatus(1);//加液模块是否存在托盘 |
|
|
deviceStateService.getDeviceState().getSolutionModule().setTrayStatus(1);//加液模块是否存在托盘 |
|
|
deviceStateService.getDeviceState().getTrayStateByHeatModuleCode(heatModuleCode).setInSolutionModule(true); |
|
|
|
|
|
|
|
|
trayState.setInSolutionModule(true); |
|
|
log.info("工艺{},将夹爪打开,释放托盘", heatModuleCode); |
|
|
log.info("工艺{},将夹爪打开,释放托盘", heatModuleCode); |
|
|
gantryModuleService.clawMove(clawTrayPick);//将夹爪打开,释放托盘 |
|
|
gantryModuleService.clawMove(clawTrayPick);//将夹爪打开,释放托盘 |
|
|
log.info("工艺{},抬升z轴", heatModuleCode); |
|
|
log.info("工艺{},抬升z轴", heatModuleCode); |
|
|