Browse Source

当前申请到机械臂的标识

master
王梦远 2 months ago
parent
commit
5f28283ad9
  1. 6
      src/main/java/com/iflytop/sgs/app/cmd/control/OutTrayCommand.java

6
src/main/java/com/iflytop/sgs/app/cmd/control/OutTrayCommand.java

@ -56,13 +56,14 @@ public class OutTrayCommand extends BaseCommandHandler {
}
Double transferModuleXPickTrayMoveDistance = devicePositionService.getPosition(DevicePositionCode.transferModuleXPickTrayMoveDistance).getDistance();//获取转运模块X轴拿取托盘进出卡槽移动距离
Point3D feedAreaTrayPoint3D = devicePositionService.getPosition(DevicePositionCode.feedAreaTrayPoint).getPoint3D();//获取上料区托盘夹爪位置点
Point3D targetHeatModuleTrayClawPoint3D = heatModuleService.getHeatModuleTrayClawPoint3D(targetHeatModuleCode);//获取目标加热模块托盘夹取点
deviceStateService.getCommandMutexState().get().setTransferCommandExecuting(true);
return runAsync(() -> {
try {
solutionModuleService.solutionMotorMoveZero(cmdDTO.getCommandId(), cmdDTO.getCommand());//加液机械臂上升
boolean heatTrayExist = deviceSensorService.getTrayStateByHeatModuleCode(targetHeatModuleCode);//获取传感器状态
Assert.isTrue(heatTrayExist, () -> new AppException(ResultCode.TARGET_HEAT_MODULE_NO_TRAY));//加热区无托盘
Point3D targetHeatModuleTrayClawPoint3D = heatModuleService.getHeatModuleTrayClawPoint3D(targetHeatModuleCode);//获取目标加热模块托盘夹取点
deviceStateService.getDeviceState().getTrayByHeatModuleCode(targetHeatModuleCode).setUseArm(true);//使用机械臂标志
transferModuleService.transferXMove(cmdDTO.getCommandId(), cmdDTO.getCommand(), targetHeatModuleTrayClawPoint3D.getX() + transferModuleXPickTrayMoveDistance);//将X轴移动至目标加热模块托盘夹取点 + 进出卡槽移动距离
transferModuleService.transferZMove(cmdDTO.getCommandId(), cmdDTO.getCommand(), targetHeatModuleTrayClawPoint3D.getZ());//Z轴下降至夹取点使托盘落入石墨加热盘
transferModuleService.transferXMoveBy(cmdDTO.getCommandId(), cmdDTO.getCommand(), -transferModuleXPickTrayMoveDistance);//X轴进入卡槽
@ -75,8 +76,11 @@ public class OutTrayCommand extends BaseCommandHandler {
deviceStateService.getDeviceState().getTransferModule().setTrayStatus(false);//设定托盘夹爪为FALSE
deviceStateService.getDeviceState().getHeatModuleByCode(targetHeatModuleCode).setTrayStatus(false);//设定目标加热模块托盘状态
//deviceStateService.getDeviceState().getSolutionModule().setFeedAreaTrayStatus(true);//设定上料区托盘状态
List<TrayState> trayList = deviceStateService.getDeviceState().getTrays();
trayList.removeIf((tray) -> tray.getHeatModuleCode().equals(targetHeatModuleCode));
} finally {
deviceStateService.getCommandMutexState().get().setTransferCommandExecuting(false);
deviceStateService.getDeviceState().getTrayByHeatModuleCode(targetHeatModuleCode).setUseArm(false);//使用机械臂标志
}
});
}

Loading…
Cancel
Save