#
luxiaotao1123
2021-01-11 16787b096c6aec16195a85f0a1c4666679e8f32f
#
7个文件已修改
110 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/ConsoleController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/CrnController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/CrnLiftPosType.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/CrnProtocol.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensCrnThread.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -129,7 +129,7 @@
            /**
             * 堆垛机状态判断
             */
            if ((crn.getId() == 1 && crnProtocol.getAlarm1() > 0) || (crn.getId() == 2 && crnProtocol.getAlarm1() > 1000)) {
            if (crn.getId() == 1 && crnProtocol.getAlarm1() > 0) {
                vo.setCrnStatus(CrnStatusType.MACHINE_ERROR);
            } else {
                if (crnProtocol.getTaskNo()>0) {
src/main/java/com/zy/asrs/controller/CrnController.java
@@ -129,11 +129,7 @@
            vo.setXLocation(crnProtocol.getWalkPos() == 1?"是":"否");      // 走行定位
            vo.setYLocation(crnProtocol.getLiftPosType().equals(CrnLiftPosType.NONE)?"否":"是");      // 升降定位
//            vo.setStop(crnProtocol.getCrnError1().controlStop||crnProtocol.getCrnError1().mainStop||crnProtocol.getCrnError1().remoteStop?"是":"否");       //  急停
            if (vo.getCrnNo() == 2) {
                vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()-1000));  //  异常码
            } else {
                vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));  //  异常码
            }
            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));  //  异常码
        }
        return R.ok().add(list);
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -755,7 +755,7 @@
                            if (wrkMast == null) {
                                continue;
                            }
                            BasCrnError crnError = basCrnErrorMapper.selectById(crn.getId()==2?(crnProtocol.getAlarm1()+1000):crnProtocol.getAlarm1());
                            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
                            String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName();
                            BasErrLog basErrLog = new BasErrLog(
                                    null,    // 编号
@@ -802,7 +802,7 @@
                    if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm1() > 0) {
                        // 记录新异常
                        if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm1().intValue())) {
                            BasCrnError crnError = basCrnErrorMapper.selectById(crn.getId()==2?(crnProtocol.getAlarm1()+1000):crnProtocol.getAlarm1());
                            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
                            String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName();
                            BasErrLog basErrLog = new BasErrLog(
                                    null,    // 编号
src/main/java/com/zy/core/enums/CrnLiftPosType.java
@@ -7,6 +7,7 @@
    DOWN(2, "单伸位低位"),  // 下定位
    UP(1, "单伸位高位"),   // 上定位
    NONE(0, "不在定位"),   // 不在定位
    ERROR(-1, "未知"),   // 不在定位
    ;
    public Integer id;
src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -185,25 +185,25 @@
     * 1 = 货叉在左侧
     * 2 = 货叉在右侧
     */
    public Short forkPos;
    public Short forkPos = -1;
    public CrnForkPosType forkPosType;
    public CrnForkPosType forkPosType = CrnForkPosType.NONE;
    /**
     * 当前载货台位置
     * 0 = 下定位
     * 1 = 上定位
     */
    public Short liftPos;
    public Short liftPos = -1;
    public CrnLiftPosType liftPosType;
    public CrnLiftPosType liftPosType = CrnLiftPosType.ERROR;
    /**
     * 走行在定位
     * 0 = 在定位
     * 1 = 不在定位
     */
    public Short walkPos;
    public Short walkPos = 0;
    /**
     * 拨指位置
src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -114,7 +114,7 @@
     * 读取状态
     */
    private void readStatus(){
        OperateResultExOne<byte[]> result = siemensNet.Read("DB11.2", (short) 90);
        OperateResultExOne<byte[]> result = siemensNet.Read("DB11.2", (short) 104);
        if (result.IsSuccess) {
            if (null == crnProtocol) {
                crnProtocol = new CrnProtocol();
@@ -160,6 +160,19 @@
            crnProtocol.setDoubleLow(bool3[5]);
            crnProtocol.setPlatformHigh(bool3[6]);
            crnProtocol.setPlatformLow(bool3[7]);
            boolean[] bool4 = siemensNet.getByteTransform().TransBool(result.Content, 64, 1);    // 66
            crnProtocol.setLoaded((short) (bool4[4]?1:0));  // 有物
            // 速度
            crnProtocol.setXSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 22));    // 24
            crnProtocol.setYSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 24));    // 26
            crnProtocol.setZSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 26));    // 28
            // 累计里程、时长
            crnProtocol.setXDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 88));    // 90
            crnProtocol.setYDistance((float) siemensNet.getByteTransform().TransInt32(result.Content, 92));    // 94
            crnProtocol.setXDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 96));    // 98
            crnProtocol.setYDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 100));    // 102
            // 增强
            if (crnProtocol.getForkHome()) {
                crnProtocol.setForkPos(CrnForkPosType.HOME);
@@ -230,6 +243,66 @@
            log.error("堆垛机写入命令为空");
            return false;
        }
        if (command.getTaskNo() == 0) {
            command.setTaskNo((short) 9999);
        }
        // 代理
        switch (command.getSourcePosX()) {
            case 1:
                command.setSourcePosX((short) 4);
                break;
            case 2:
                command.setSourcePosX((short) 3);
                break;
            case 3:
                command.setSourcePosX((short) 2);
                break;
            case 4:
                command.setSourcePosX((short) 1);
                break;
            case 5:
                command.setSourcePosX((short) 4);
                break;
            case 6:
                command.setSourcePosX((short) 3);
                break;
            case 7:
                command.setSourcePosX((short) 2);
                break;
            case 8:
                command.setSourcePosX((short) 1);
                break;
            default:
                log.info("{}号堆垛机下方命令错误,源排:{}", command.getCrnNo(), command.getSourcePosX());
        }
        switch (command.getDestinationPosX()) {
            case 1:
                command.setDestinationPosX((short) 4);
                break;
            case 2:
                command.setDestinationPosX((short) 3);
                break;
            case 3:
                command.setDestinationPosX((short) 2);
                break;
            case 4:
                command.setDestinationPosX((short) 1);
                break;
            case 5:
                command.setDestinationPosX((short) 4);
                break;
            case 6:
                command.setDestinationPosX((short) 3);
                break;
            case 7:
                command.setDestinationPosX((short) 2);
                break;
            case 8:
                command.setDestinationPosX((short) 1);
                break;
            default:
                log.info("{}号堆垛机下方命令错误,目标排:{}", command.getCrnNo(), command.getSourcePosX());
        }
        command.setCrnNo(slave.getId());
        short[] array = new short[9];
        if (!command.getTaskModeType().equals(CrnTaskModeType.CLEAR)) {
src/main/resources/application.yml
@@ -44,10 +44,10 @@
  # 堆垛机1
  crn[0]:
    id: 1
    ip: 192.168.6.9
    port: 102
    ip: 192.168.0.20
    port: 2000
    rack: 0
    slot: 0
    slot: 1
    # 偏移量,当堆垛机站点列号=1时,偏移量=2
    offset: 2
    # 堆垛机入库站点
@@ -67,10 +67,10 @@
  # 堆垛机2
  crn[1]:
    id: 2
    ip: 192.168.6.20
    port: 6000
    ip: 192.168.0.10
    port: 2000
    rack: 0
    slot: 0
    slot: 1
    # 偏移量,当堆垛机站点列号=1时,偏移量=2
    offset: 2
    # 堆垛机入库站点