|
|
@ -24,6 +24,9 @@ import lombok.RequiredArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.List; |
|
|
|
import java.util.concurrent.CompletableFuture; |
|
|
|
|
|
|
|
/** |
|
|
@ -41,7 +44,6 @@ public class MoveTestCommand extends BaseCommandHandler { |
|
|
|
private final DeviceStateService deviceStateService; |
|
|
|
private final WebSocketSender webSocketService; |
|
|
|
private final DeviceSensorService deviceSensorService; |
|
|
|
private final SystemConfigService systemConfigService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public CompletableFuture<Void> handle(CmdDTO cmdDTO) { |
|
|
@ -77,27 +79,13 @@ public class MoveTestCommand extends BaseCommandHandler { |
|
|
|
transferModuleService.transferZMove(cmdDTO.getCommandId(), cmdDTO.getCommand(), feedAreaTrayPoint3D.getZ());//Z轴下降至夹取点,使托盘落入上料区 |
|
|
|
transferModuleService.transferZMoveZero(cmdDTO.getCommandId(), cmdDTO.getCommand());//Z轴抬升至最高 |
|
|
|
webSocketService.pushSelfMoveTest(SelfMoveTestGenerator.generateJson(cmdDTO.getCommandId(), cmdDTO.getCommand(), "4、z轴电机检测完毕", 100, "success")); |
|
|
|
CompletableFuture.runAsync(() -> { |
|
|
|
HeatModuleCode[] heatModuleCodes = HeatModuleCode.values(); |
|
|
|
Arrays.stream(heatModuleCodes).toList().forEach(heatModuleCode -> {//关闭所有的加热和风扇 |
|
|
|
try { |
|
|
|
boolean preFillFlag = systemConfigService.getSystemConfigBooleanByCode(SystemConfigCode.pre_fill_when_open_service); |
|
|
|
Point3D heatArea1TrayClawPoint = devicePositionService.getPosition(DevicePositionCode.heatArea1TrayClawPoint).getPoint3D();//加热位1坐标 |
|
|
|
Double liquidAreaPreFillPoint = devicePositionService.getPosition(DevicePositionCode.liquidAreaPreFillPoint).getPositon(); //预充时加液臂下降位置 |
|
|
|
Double preFillDistance = systemConfigService.getSystemConfigDoubleByCode(SystemConfigCode.pre_fill_distance_when_open_service);//预充距离 |
|
|
|
if (preFillFlag) { |
|
|
|
transferModuleService.transferXMove(heatArea1TrayClawPoint.getX());//转运模块移动至加热位1 |
|
|
|
solutionModuleService.solutionMotorMove(liquidAreaPreFillPoint);//加液机械臂下降至至预充点位 |
|
|
|
solutionModuleService.liquidValveSwitch(SolutionCode.waste);//电磁阀对应通道打开 |
|
|
|
solutionModuleService.liquidPumpMove(-preFillDistance);//排空 |
|
|
|
solutionModuleService.liquidValveSwitch(SolutionCode.thin);//电磁阀对应通道打开 |
|
|
|
solutionModuleService.liquidPumpMove(preFillDistance);//预充 |
|
|
|
solutionModuleService.liquidValveSwitch(SolutionCode.thick);//电磁阀对应通道打开 |
|
|
|
solutionModuleService.liquidPumpMove(preFillDistance);//预充 |
|
|
|
solutionModuleService.liquidValveSwitch(SolutionCode.water);//电磁阀对应通道打开 |
|
|
|
solutionModuleService.liquidPumpMove(preFillDistance);//预充 |
|
|
|
solutionModuleService.solutionMotorMoveZero();//回原点 |
|
|
|
} |
|
|
|
heatModuleService.fanClose(heatModuleCode);//关闭风扇 |
|
|
|
heatModuleService.heatRodClose(heatModuleCode);//打开加热棒 |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("设备开机预充失败"); |
|
|
|
log.error("自检关闭风扇和加热棒{},{}", heatModuleCode, e.getMessage()); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|