#
luxiaotao1123
2022-03-08 06bd0f3f54ff9d29767d3735f7b0a640433656c0
#
3个文件已修改
118 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/SteProtocol.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SteThread.java 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -26,17 +26,16 @@
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.*;
import com.zy.core.model.CrnSlave;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.LedSlave;
import com.zy.core.model.Task;
import com.zy.core.model.*;
import com.zy.core.model.command.CrnCommand;
import com.zy.core.model.command.LedCommand;
import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.model.protocol.SteProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.BarcodeThread;
import com.zy.core.thread.LedThread;
import com.zy.core.thread.SteThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -562,6 +561,9 @@
            if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
                continue;
            }
            // todo:小车迁入出
            this.carMoveIn(wrkMast);
            // 已经存在吊车执行任务时,则过滤
            if (wrkMastMapper.selectWorking(slave.getId()) != null) {
@@ -639,6 +641,45 @@
    }
    /**
     * 入库  ===>>  堆垛机搬入小车
     */
    public void carMoveIn(WrkMast wrkMast) {
        for (SteSlave ste : slaveProperties.getSte()) {
            // 获取堆垛机信息
            SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
            SteProtocol steProtocol = steThread.getSteProtocol();
            if (steProtocol == null) { continue; }
            if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
            }
        }
    }
    /**
     * 入库  ===>>  堆垛机搬出小车
     */
    public void carMoveOut(WrkMast wrkMast) {
        for (SteSlave ste : slaveProperties.getSte()) {
            // 获取堆垛机信息
            SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
            SteProtocol steProtocol = steThread.getSteProtocol();
            if (steProtocol == null) { continue; }
            if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
            }
        }
    }
    /**
     * 出库  ===>>  库位到堆垛机站
     */
    public void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol){
src/main/java/com/zy/core/model/protocol/SteProtocol.java
@@ -22,17 +22,10 @@
    public Short mode;
    /**
     * 堆垛机当前状态
     * 0:空闲,无任务
     * 1:取货定位中
     * 2:取货中
     * 3:取货完成,放货定位中
     * 4:放货中
     * 5:回原点中
     * 6:反原点
     * 7:库位移位
     * 90:任务完成等待WCS确认
     * 99:报警
     IDLE(0, "空闲"),
     MOVING(1, "作业中"),
     SOS(2, "报警"),
     WAITING(3, "任务完成等待WCS确认"),
     */
    public Short status;
src/main/java/com/zy/core/thread/SteThread.java
@@ -72,16 +72,16 @@
                        if (null == command) {
                            command = new SteCommand();
                        }
                        command.setCrnNo(slave.getId()); // 穿梭车编号
                        command.setTaskNo((short) 0); // 工作号
                        command.setAckFinish((short) 1);  // 任务完成确认位
                        command.setTaskMode(CrnTaskModeType.NONE); // 任务模式
                        command.setSourcePosX((short)0);     // 源库位排
                        command.setSourcePosY((short)0);     // 源库位列
                        command.setSourcePosZ((short)0);     // 源库位层
                        command.setDestinationPosX((short)0);     // 目标库位排
                        command.setDestinationPosY((short)0);     // 目标库位列
                        command.setDestinationPosZ((short)0);     // 目标库位层
//                        command.setSteNo(slave.getId()); // 穿梭车编号
//                        command.setTaskNo((short) 0); // 工作号
//                        command.setAckFinish((short) 1);  // 任务完成确认位
//                        command.setTaskMode(CrnTaskModeType.NONE); // 任务模式
//                        command.setSourcePosX((short)0);     // 源库位排
//                        command.setSourcePosY((short)0);     // 源库位列
//                        command.setSourcePosZ((short)0);     // 源库位层
//                        command.setDestinationPosX((short)0);     // 目标库位排
//                        command.setDestinationPosY((short)0);     // 目标库位列
//                        command.setDestinationPosZ((short)0);     // 目标库位层
                        write(command);
                        break;
                    default:
@@ -104,23 +104,23 @@
        if (null == steProtocol) {
            steProtocol = new SteProtocol();
        }
        steProtocol.setMode((short) -1);
//        crnProtocol.setTaskNo((short)0);
        steProtocol.setStatus((short)-1);
        steProtocol.setBay((short)0);
        steProtocol.setLevel((short)0);
        steProtocol.setForkPos((short) -1);
        steProtocol.setLiftPos((short) -1);
        steProtocol.setWalkPos((short)0);
        steProtocol.setLoaded((short)0);
        steProtocol.setAlarm((short)0);
        steProtocol.setXSpeed(0F);
        steProtocol.setYSpeed(0F);
        steProtocol.setZSpeed(0F);
        steProtocol.setXDistance(0F);
        steProtocol.setYDistance(0F);
        steProtocol.setXDuration(0F);
        steProtocol.setYDuration(0F);
//        steProtocol.setMode((short) -1);
//        steProtocol.setTaskNo((short)0);
//        steProtocol.setStatus((short)-1);
//        steProtocol.setBay((short)0);
//        steProtocol.setLevel((short)0);
//        steProtocol.setForkPos((short) -1);
//        steProtocol.setLiftPos((short) -1);
//        steProtocol.setWalkPos((short)0);
//        steProtocol.setLoaded((short)0);
//        steProtocol.setAlarm((short)0);
//        steProtocol.setXSpeed(0F);
//        steProtocol.setYSpeed(0F);
//        steProtocol.setZSpeed(0F);
//        steProtocol.setXDistance(0F);
//        steProtocol.setYDistance(0F);
//        steProtocol.setXDuration(0F);
//        steProtocol.setYDuration(0F);
    }
    @Override