| | |
| | | import com.zy.asrs.service.LocMastService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.common.service.CommonService; |
| | | import com.zy.common.utils.NavigatePositionConvert; |
| | | import com.zy.core.cache.MessageQueue; |
| | | import com.zy.core.cache.OutputQueue; |
| | |
| | | import com.zy.core.model.ShuttleSlave; |
| | | import com.zy.core.model.Task; |
| | | import com.zy.core.model.command.ShuttleAssignCommand; |
| | | import com.zy.core.model.command.ShuttleCommand; |
| | | import com.zy.core.model.protocol.ShuttleProtocol; |
| | | import com.zy.core.properties.SlaveProperties; |
| | | import com.zy.core.thread.ShuttleThread; |
| | |
| | | private WrkMastService wrkMastService; |
| | | @Autowired |
| | | private LocMastService locMastService; |
| | | @Autowired |
| | | private CommonService commonService; |
| | | |
| | | @PostMapping("/table/shuttle/state") |
| | | @ManagerAuth(memo = "四向穿梭车信息表") |
| | |
| | | vo.setCurrentOrBeforeCode(shuttleProtocol.getCurrentOrBeforeCode());//当前或者之前读到的二维码值 |
| | | vo.setCodeOffsetX(shuttleProtocol.getCodeOffsetX());//读到的二维码X方向偏移量 |
| | | vo.setCodeOffsetY(shuttleProtocol.getCodeOffsetY());//读到的二维码Y方向偏移量 |
| | | vo.setCurrentVoltage(shuttleProtocol.getCurrentVoltage() * 0.1);//当前的电压值 |
| | | vo.setCurrentVoltage(shuttleProtocol.getCurrentVoltage());//当前的电压值 |
| | | vo.setCurrentAnalogValue(shuttleProtocol.getCurrentAnalogValue());//当前的模拟量值 |
| | | vo.setCurrentLiftServoSpeed(shuttleProtocol.getCurrentLiftServoSpeed());//当前的升降伺服速度 |
| | | vo.setCurrentMoveServoSpeed(shuttleProtocol.getCurrentMoveServoSpeed());//当前的行走伺服速度 |
| | |
| | | } |
| | | |
| | | @PostMapping("/detl/update") |
| | | @ManagerAuth |
| | | public R steUpdate(ShuttleDataVo vo){ |
| | | BasShuttle basShuttle = basShuttleService.selectById(vo.getShuttleNo()); |
| | | if (basShuttle == null) { |
| | | return R.error(); |
| | | @ManagerAuth(memo = "修改数据") |
| | | public R liftUpdate(@RequestParam Integer shuttleNo, |
| | | @RequestParam Short workNo, |
| | | @RequestParam String pakMk){ |
| | | for (ShuttleSlave shuttleSlave : slaveProperties.getShuttle()) { |
| | | ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttleSlave.getId()); |
| | | if (shuttleThread == null) { |
| | | return R.error("plc已掉线"); |
| | | } |
| | | ShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol(); |
| | | if (shuttleProtocol == null) { |
| | | return R.error("plc已掉线"); |
| | | } |
| | | if (workNo != null) { |
| | | shuttleProtocol.setTaskNo(workNo); |
| | | } |
| | | if (pakMk != null) { |
| | | shuttleProtocol.setPakMk(pakMk.equals("Y")); |
| | | } |
| | | } |
| | | // 获取四向穿梭车信息 |
| | | ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, vo.getShuttleNo()); |
| | | ShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol(); |
| | | if (shuttleProtocol == null) { |
| | | throw new CoolException(vo.getShuttleNo() + "号四向穿梭车不在线,无法保存"); |
| | | } |
| | | // if (!Cools.isEmpty(vo.getRow(), vo.getBay(), vo.getLev())) { |
| | | // if (!shuttleThread.modifyPosHandle(vo.getRow(), vo.getBay(), vo.getLev())) { |
| | | // throw new CoolException("服务器错误"); |
| | | // } |
| | | // } |
| | | ShuttleCommand shuttleCommand = new ShuttleCommand(); |
| | | shuttleCommand.setTaskNo(vo.getWorkNo().shortValue()); |
| | | if (MessageQueue.offer(SlaveType.Shuttle, vo.getShuttleNo(), new Task(2, shuttleCommand))) { |
| | | } else { |
| | | throw new CoolException("命令下发失败"); |
| | | } |
| | | |
| | | basShuttle.setPakMk(vo.getPakMk()); |
| | | basShuttle.setWrkNo(vo.getWorkNo()); |
| | | basShuttle.setUpdateTime(new Date()); |
| | | if (!basShuttleService.updateById(basShuttle)) { |
| | | throw new CoolException("修改失败"); |
| | | } |
| | | return R.ok(); |
| | | return R.error("plc已掉线"); |
| | | } |
| | | |
| | | @PostMapping("/runSpeed/{shuttleNo}") |
| | |
| | | ShuttleTaskModeType shuttleTaskModeType = ShuttleTaskModeType.get(param.getShuttleTaskMode()); |
| | | assignCommand.setShuttleNo(shuttleSlave.getId().shortValue()); // 四向穿梭车编号 |
| | | assignCommand.setTaskMode(shuttleTaskModeType.id.shortValue()); |
| | | assignCommand.setTaskNo((short) 9999); |
| | | assignCommand.setTaskNo((short) commonService.getWorkNo(3));//获取任务号 |
| | | assignCommand.setAuto(false);//手动模式 |
| | | |
| | | if (MessageQueue.offer(SlaveType.Shuttle, shuttleSlave.getId(), new Task(3, assignCommand))) { |