#
zjj
2024-06-19 37733cc39c04b863a0b997c7fa3d9ac6a24e08be
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
@@ -12,6 +12,7 @@
import com.zy.asrs.wcs.core.service.MotionService;
import com.zy.asrs.wcs.core.service.TaskService;
import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
import com.zy.asrs.wcs.rcs.model.enums.LiftProtocolStatusType;
import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
import com.zy.asrs.wcs.rcs.model.protocol.LiftProtocol;
import com.zy.asrs.wcs.rcs.thread.LiftThread;
@@ -20,6 +21,7 @@
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
@@ -66,7 +68,7 @@
        assignCommand.setTaskNo(motion.getTaskNo());
        assignCommand.setCommands(list);
        LiftCommand command = new LiftCommand();
        List<LiftCommand> command = new ArrayList<>();
        switch (Objects.requireNonNull(MotionCtgType.get(motion.getMotionCtgEl()))){
            case LIFT_MOVE:
                // 如果已经在目标层,那边层过滤
@@ -76,7 +78,7 @@
                }
                command = liftThread.getMoveCommand(motion.getTaskNo(), 0, Integer.parseInt(motion.getTarget()), LiftCommandModeType.MOVE);
                list.add(command);
                list.addAll(command);
                return liftAction.assignWork(liftThread.getDevice(), assignCommand);
            case LIFT_WITH_GOODS:
//                if (liftProtocol.getHasTray()) {
@@ -84,7 +86,7 @@
//                }
                command = liftThread.getPalletInOutCommand(motion.getTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), motion.getOriDrt(), motion.getTarDrt(), LiftCommandModeType.PALLET_INOUT);
                list.add(command);
                list.addAll(command);
                return liftAction.assignWork(liftThread.getDevice(), assignCommand);
            case LIFT_WITH_SHUTTLE:
                if (!liftProtocol.getHasCar()) {
@@ -92,7 +94,7 @@
                }
                command = liftThread.getMoveWithShuttleCommand(motion.getTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), LiftCommandModeType.MOVE_CAR);
                list.add(command);
                list.addAll(command);
                return liftAction.assignWork(liftThread.getDevice(), assignCommand);
            case LIFT_WITH_GOODS_AND_SHUTTLE:
                return false;
@@ -194,9 +196,8 @@
        }
        liftThread.setSyncTaskNo(0);//清零工作号
        liftThread.commandFinished(motion.getTaskNo());//调用完成后续指令(部分提升机有后续指令,实际情况看是否有真正实现方法)
        liftThread.setProtocolStatus(LiftProtocolStatusType.IDLE);
        return true;
    }
}