#
lsh
2024-06-07 955033fd4b1f9a7e972909eae71927654a54f7ac
#
5个文件已修改
73 ■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/BasCrnp.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/ServerBootstrap.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/CrnProtocol.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensCrnThread.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasCrnpMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasCrnp.java
@@ -51,6 +51,20 @@
    private Integer crnSts;
    /**
     * 状态
     */
    @ApiModelProperty(value= "状态1")
    @TableField("crn_status_one")
    private Integer crnStatusOne;
    /**
     * 状态
     */
    @ApiModelProperty(value= "状态2")
    @TableField("crn_status_two")
    private Integer crnStatusTwo;
    /**
     * 工作号
     */
    @ApiModelProperty(value= "工作号")
@@ -235,6 +249,22 @@
        this.crnSts = crnSts;
    }
    public Integer getCrnStatusOne() {
        return crnStatusOne;
    }
    public void setCrnStatusOne(Integer crnStatusOne) {
        this.crnStatusOne = crnStatusOne;
    }
    public Integer getCrnStatusTwo() {
        return crnStatusTwo;
    }
    public void setCrnStatusTwo(Integer crnStatusTwo) {
        this.crnStatusTwo = crnStatusTwo;
    }
    public Integer getWrkNo() {
        return wrkNo;
    }
@@ -243,6 +273,10 @@
        this.wrkNo = wrkNo;
    }
    public Integer getWrkNoTwo() {
        return wrkNoTwo;
    }
    public void setWrkNoTwo(Integer wrkNoTwo) {
        this.wrkNoTwo = wrkNoTwo;
    }
src/main/java/com/zy/core/ServerBootstrap.java
@@ -171,7 +171,7 @@
                    continue;
                }
                if (System.currentTimeMillis() - key.getSign() > 120000 && System.currentTimeMillis() - key.getSign()<1200000) {
                    System.out.println("第"+CRN_COUNT+"个堆垛机线程被重启");
                    System.out.println("第" + CRN_COUNT + "个堆垛机线程被重启");
                    // 请求线程安全停止
                    key.requestStop();
src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -43,6 +43,7 @@
    /**
     * 堆垛机当前状态
     * -1:未知
     * 0:空闲,无任务
     * 1:取货定位中
     * 2:取货中
@@ -53,9 +54,11 @@
     * 7:库位移位
     * 90:任务完成等待WCS确认
     * 99:报警
     * 100:其他100
     * 101:未知101
     */
    public Short status;
    public Short statusTwo;
    public Short status = -1;
    public Short statusTwo = -1;
    /**
     * 状态枚举
@@ -285,6 +288,8 @@
        }
        basCrnp.setWrkNo(taskNo.intValue());
        basCrnp.setWrkNoTwo(taskNoTwo.intValue());
        basCrnp.setCrnStatusOne(status.intValue());
        basCrnp.setCrnStatusTwo(statusTwo.intValue());
        return basCrnp;
    }
src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -135,6 +135,7 @@
        crnProtocol.setMode((short) -1);
//        crnProtocol.setTaskNo((short)0);
        crnProtocol.setStatus((short)-1);
        crnProtocol.setStatusTwo((short)-1);
        crnProtocol.setBay((short)0);
        crnProtocol.setLevel((short)0);
        crnProtocol.setForkPos((short) -1);
@@ -149,6 +150,16 @@
        crnProtocol.setyDistance((short) 0);
        crnProtocol.setxDuration((short) 0);
        crnProtocol.setyDuration((short) 0);
        // 根据实时信息更新数据库
        BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
        BasCrnp basCrnp = basCrnpService.selectById(slave.getId());
        basCrnp.setCrnSts((int)crnProtocol.getMode());
        basCrnp.setCrnStatusOne(-1);
        basCrnp.setCrnStatusTwo(-1);
        if (!basCrnpService.updateById(basCrnp)){
            log.error("堆垛机plc数据库更新失败 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
        }
    }
    @Override
@@ -178,9 +189,9 @@
        try {
            OperateResultExOne<byte[]> result = new OperateResultExOne<byte[]>();
            if (slave.getId()>2 && slave.getId()<6){
                result = siemensNet.Read("DB101.0", (short) 62);
                result = siemensNet.Read("DB101.0", (short) 66);
            } else {
                result = siemensNet.Read("DB101.0", (short) 52);
                result = siemensNet.Read("DB101.0", (short) 56);
            }
            if (result.IsSuccess) {
                if (null == crnProtocol) {
@@ -194,7 +205,7 @@
                crnProtocol.setLevel(siemensNet.getByteTransform().TransInt16(result.Content, 8));
                crnProtocol.setForkPos(siemensNet.getByteTransform().TransInt16(result.Content, 10));
                if (slave.getId()>2 && slave.getId()<6){
                if (slave.getId()<3 || slave.getId()>5){
                    crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 12));
                    crnProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 14));
                    crnProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 16));
@@ -220,6 +231,9 @@
                    crnProtocol.setForkPosTwo(siemensNet.getByteTransform().TransInt16(result.Content, 22));
                    crnProtocol.setLoadedTwo(siemensNet.getByteTransform().TransInt16(result.Content, 24));
                    crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 30));
                    crnProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 32));
                    crnProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 34));
                    crnProtocol.setySpeed(siemensNet.getByteTransform().TransInt16(result.Content, 38));
                    crnProtocol.setzSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 42));
@@ -229,12 +243,6 @@
                    crnProtocol.setyDistance(siemensNet.getByteTransform().TransInt16(result.Content, 54));
                    crnProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 58));
                    crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 62));
                }
                //工位2数据  无则无需理会
                try{
                }catch (Exception e){
                }
                OutputQueue.CRN.offer(MessageFormat.format("【{0}】[id:{1}] <<<<< 实时数据更新成功",DateUtils.convert(new Date()), slave.getId()));
src/main/resources/mapper/BasCrnpMapper.xml
@@ -8,6 +8,8 @@
        <result column="in_enable" property="inEnable" />
        <result column="out_enable" property="outEnable" />
        <result column="crn_sts" property="crnSts" />
        <result column="crn_status_one" property="crnStatusOne" />
        <result column="crn_status_two" property="crnStatusTwo" />
        <result column="wrk_no" property="wrkNo" />
        <result column="wrk_no_two" property="wrkNoTwo" />
        <result column="crn_err" property="crnErr" />