|
|
@ -23,9 +23,11 @@ import com.iflytop.sgs.app.ws.server.WebSocketSender; |
|
|
|
import com.iflytop.sgs.common.constant.WebSocketMessageType; |
|
|
|
import com.iflytop.sgs.common.enums.*; |
|
|
|
import com.iflytop.sgs.common.enums.cmd.CmdBeepMode; |
|
|
|
import com.iflytop.sgs.common.enums.cmd.CmdColor; |
|
|
|
import com.iflytop.sgs.common.enums.data.DevicePositionCode; |
|
|
|
import com.iflytop.sgs.common.exception.AppException; |
|
|
|
import com.iflytop.sgs.common.result.ResultCode; |
|
|
|
import com.iflytop.sgs.hardware.exception.HardwareException; |
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
@ -34,6 +36,7 @@ import java.time.LocalDateTime; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.List; |
|
|
|
import java.util.concurrent.CompletableFuture; |
|
|
|
|
|
|
|
/** |
|
|
|
* 工艺步骤执行服务 |
|
|
@ -470,7 +473,7 @@ public class CraftsStepService { |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTargetTemperature(temperature);//将加热温度设定为目标温度 |
|
|
|
log.info("工艺{},开始加热", heatModuleCode); |
|
|
|
heatModuleService.fanClose(heatModuleCode);//关闭风扇 |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setFanOpen(false); //设置加热区风扇打开 |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setFanOpen(false); //设置加热区风扇关闭 |
|
|
|
heatModuleService.heatRodOpen(heatModuleCode, temperature);//打开加热棒 |
|
|
|
while (!heatIsSuitable(heatModuleCode, temperature)) {//判断温度是否到达 |
|
|
|
delay(1); |
|
|
@ -701,6 +704,7 @@ public class CraftsStepService { |
|
|
|
|
|
|
|
Double temperature = params.getDouble("temperature");//秒 |
|
|
|
Integer time = params.getInt("time");//秒 |
|
|
|
Integer keepTime = systemConfigService.getSystemConfigIntegerByCode(SystemConfigCode.fan_start_keep_time); |
|
|
|
webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatModuleCode.toString(), "打开加热棒", temperature)); |
|
|
|
heatModuleService.heatRodOpen(heatModuleCode, temperature);//打开加热棒 |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.heating); //设置加热区状态 烘干中 |
|
|
@ -730,8 +734,17 @@ public class CraftsStepService { |
|
|
|
log.info("工艺{},关闭加热棒", heatModuleCode); |
|
|
|
webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatModuleCode.toString(), "关闭加热棒", "")); |
|
|
|
heatModuleService.heatRodClose(heatModuleCode);//关闭加热棒 |
|
|
|
heatModuleService.fanStart(heatModuleCode);//散热打开 |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setFanOpen(true); //设置加热区风扇打开 |
|
|
|
CompletableFuture.runAsync(() -> { |
|
|
|
try { |
|
|
|
heatModuleService.fanStart(heatModuleCode);//散热打开 |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setFanOpen(true); //设置加热区风扇打开 |
|
|
|
delay(keepTime); |
|
|
|
heatModuleService.fanClose(heatModuleCode);//散热打开 |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setFanOpen(false); //设置加热区风扇打开 |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("工艺 烘干降温失败{}", e.getMessage()); |
|
|
|
} |
|
|
|
}); |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setStartHeatTime(null);//开始加热时间 |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTargetTime(null);//加热器目标加热时间 |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.stop); //设置加热区状态 |
|
|
@ -816,10 +829,10 @@ public class CraftsStepService { |
|
|
|
} |
|
|
|
log.info("工艺{},恒温中", HeatModuleCode.heat_module_04); |
|
|
|
delay(seconds); |
|
|
|
heatModuleService.heatRodClose(HeatModuleCode.heat_module_04);//关闭加热棒 |
|
|
|
// heatModuleService.heatRodClose(HeatModuleCode.heat_module_04);//关闭加热棒 |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setStartHeatTime(null);//开始加热时间 |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTargetTime(null);//加热器目标加热时间 |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(HeatModuleCode.heat_module_04).setHeatingType(HeatingType.stop); //设置加热区状态 停止加热 |
|
|
|
//deviceStateService.getDeviceState().getHeatModuleByCode(HeatModuleCode.heat_module_04).setHeatingType(HeatingType.stop); //设置加热区状态 停止加热 |
|
|
|
|
|
|
|
log.info("工艺{},加热完毕", heatModuleCode); |
|
|
|
log.info("工艺{},获取转运模组锁", heatModuleCode); |
|
|
@ -841,7 +854,7 @@ public class CraftsStepService { |
|
|
|
log.info("工艺{},将X轴移动至目标加热模块托盘夹取点", heatModuleCode); |
|
|
|
transferModuleService.transferXMove(heatModuleTrayClawPoint3D.getX());//将X轴移动至目标加热模块托盘夹取点 |
|
|
|
log.info("工艺{},Z轴下降至夹取点,使托盘落入石墨加热盘", heatModuleCode); |
|
|
|
heatModuleTrayExist = deviceSensorService.getTrayStateByHeatModuleCode(heatModuleCode); |
|
|
|
heatModuleTrayExist = deviceSensorService.getTrayStateByHeatModuleCode(heatModuleCode); |
|
|
|
Assert.isTrue(!heatModuleTrayExist, () -> new AppException(ResultCode.CRAFT_HEAT_EXIST_TRAY));//提示加热模块存在托盘 |
|
|
|
transferModuleService.transferZMove(heatModuleTrayClawPoint3D.getZ());//Z轴下降至夹取点,使托盘落入石墨加热盘 |
|
|
|
log.info("工艺{},X轴移出卡槽", heatModuleCode); |
|
|
@ -850,6 +863,8 @@ public class CraftsStepService { |
|
|
|
transferModuleService.transferZMoveZero();//Z轴抬升至最高 |
|
|
|
log.info("工艺{},转运模组释放", heatModuleCode); |
|
|
|
transferModuleService.releaseTransferModule();//释放转运模组 |
|
|
|
heatModuleService.fanClose(heatModuleCode);//关闭风扇 |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setFanOpen(false); //设置加热区风扇关闭 |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTrayStatus(true);//加热区托盘状态 |
|
|
|
deviceStateService.getDeviceState().getHeatModuleByCode(HeatModuleCode.heat_module_04).setTrayStatus(false); |
|
|
|
deviceStateService.getDeviceState().getTrayByHeatModuleCode(heatModuleCode).setInHeatModule(true);//托盘状态 |
|
|
|