zjj
2023-12-04 0ed06e0a0520d9493732910d9545b1adc1a6afb9
#堆垛机plc异常显示
8个文件已修改
401 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/CrnController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/SiteController.java 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/TaskWrk.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/CrnProtocol.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/StaProtocol.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensCrnThread.java 188 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/realtimeWatch/pipeline2.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/CrnController.java
@@ -131,8 +131,8 @@
            vo.setLiftPos(crnProtocol.getLiftPosType().desc);
            vo.setWalkPos(crnProtocol.getWalkPos()==1?"不在定位":"在定位");
            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));
            if (crnProtocol.getAlarm1() > 0) {
                BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
            if (crnProtocol.getAlarm() > 0) {
                BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
                vo.setAlarm(crnError==null?"未知异常":crnError.getErrName());
            }
        }
src/main/java/com/zy/asrs/controller/SiteController.java
@@ -37,6 +37,7 @@
    @Autowired
    private BasDevpService basDevpService;
    @GetMapping("/io/mode/info/site")
    @ManagerAuth(memo = "入出库模式")
    public R ioMode(){
@@ -125,76 +126,9 @@
            Map<Integer, StaProtocol> station = devpThread.getStation();
            for(Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
                StaProtocol staProtocol = entry.getValue();
                    if (staProtocol.getBreakerErr()){
                        PlcErrorTableVo vo = new PlcErrorTableVo();
                        vo.setNo(entry.getKey());   //  序号
                        vo.setPlcDesc("断路器故障");  //  todo:luxiaotao plc错误描述
                        vo.setError("断路器故障");    //  todo:luxiaotao 异常信息
                        list.add(vo);
                    }
                    if (staProtocol.getInfraredErr()){
                        PlcErrorTableVo vo = new PlcErrorTableVo();
                        vo.setNo(entry.getKey());   //  序号
                        vo.setPlcDesc("光电异常");
                        vo.setError("光电异常");
                        list.add(vo);
                    }
                    if (staProtocol.getOutTimeErr()){
                        PlcErrorTableVo vo = new PlcErrorTableVo();
                        vo.setNo(entry.getKey());   //  序号
                        vo.setPlcDesc("运行超时");
                        vo.setError("运行超时");
                        list.add(vo);
                    }
                    if (staProtocol.getSeizeSeatErr()){
                        PlcErrorTableVo vo = new PlcErrorTableVo();
                        vo.setNo(entry.getKey());   //  序号
                        vo.setPlcDesc("占位超时");
                        vo.setError("占位超时");
                        list.add(vo);
                    }
                    if (staProtocol.getWrkYgoodsN()){
                        PlcErrorTableVo vo = new PlcErrorTableVo();
                        vo.setNo(entry.getKey());   //  序号
                        vo.setPlcDesc("有任务无货故障");
                        vo.setError("有任务无货故障");
                        list.add(vo);
                    }
                    if (staProtocol.getInverterErr()){
                        PlcErrorTableVo vo = new PlcErrorTableVo();
                        vo.setNo(entry.getKey());   //  序号
                        vo.setPlcDesc("变频器故障");
                        vo.setError("变频器故障");
                        list.add(vo);
                    }
                    if (staProtocol.getContactErr()){
                        PlcErrorTableVo vo = new PlcErrorTableVo();
                        vo.setNo(entry.getKey());   //  序号
                        vo.setPlcDesc("电机接触器故障");
                        vo.setError("电机接触器故障");
                        list.add(vo);
                    }
                    if (staProtocol.getUpcontactErr()){
                        PlcErrorTableVo vo = new PlcErrorTableVo();
                        vo.setNo(entry.getKey());   //  序号
                        vo.setPlcDesc("顶升电机接触器故障");
                        vo.setError("顶升电机接触器故障");
                        list.add(vo);
                    }
                list = staPlcErr(entry);
            }
        }
        return R.ok().add(list);
    }
@@ -296,5 +230,116 @@
        return R.error("更新失败");
    }
    public List<PlcErrorTableVo> staPlcErr(Map.Entry<Integer, StaProtocol> entry){
        List<PlcErrorTableVo> list = new ArrayList<>();
        StaProtocol staProtocol = entry.getValue();
        if (staProtocol.getBreakerErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("断路器故障");
            vo.setError("断路器故障");
            list.add(vo);
        }
        if (staProtocol.getInfraredErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("光电异常");
            vo.setError("光电异常");
            list.add(vo);
        }
        if (staProtocol.getOutTimeErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("运行超时");
            vo.setError("运行超时");
            list.add(vo);
        }
        if (staProtocol.getSeizeSeatErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("占位超时");
            vo.setError("占位超时");
            list.add(vo);
        }
        if (staProtocol.getWrkYgoodsN()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("有任务无货故障");
            vo.setError("有任务无货故障");
            list.add(vo);
        }
        if (staProtocol.getInverterErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("变频器故障");
            vo.setError("变频器故障");
            list.add(vo);
        }
        if (staProtocol.getContactErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("电机接触器故障");
            vo.setError("电机接触器故障");
            list.add(vo);
        }
        if (staProtocol.getUpcontactErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("顶升电机接触器故障");
            vo.setError("顶升电机接触器故障");
            list.add(vo);
        }
        if (staProtocol.isFrontErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("前超限");
            vo.setError("前超限");
            list.add(vo);
        }
        if (staProtocol.isBackErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("后超限");
            vo.setError("后超限");
            list.add(vo);
        }
        if (staProtocol.isHighErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("高超限");
            vo.setError("高超限");
            list.add(vo);
        }
        if (staProtocol.isLeftErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("左超限");
            vo.setError("左超限");
            list.add(vo);
        }
        if (staProtocol.isRightErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("右超限");
            vo.setError("右超限");
            list.add(vo);
        }
        if (staProtocol.isBarcodeErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("扫码失败");
            vo.setError("扫码失败");
            list.add(vo);
        }
        return list;
    }
}
src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -180,6 +180,14 @@
    @TableField("transfer_mark")
    private Integer transferMark;
    @ApiModelProperty(value = "原始起点")
    @TableField("origin_start_point")
    private String originStartPoint;
    @ApiModelProperty(value = "原始起点")
    @TableField("origin_target_point")
    private String originTargetPoint;
    public TaskWrk() {}
    public TaskWrk(String taskNo,Integer status,Integer wrkNo,Date createTime,Integer ioType,Integer ioPri,String startPoint,String targetPoint,Long modiUser,Date modiTime,String memo,String barcode,Date assignTime,Date executeTime,Date completeTime,Date cancelTime,Integer wrkSts) {
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -199,7 +199,7 @@
                            JSONObject jsonObject = JSON.parseObject(response);
                            if (jsonObject.getInteger("code").equals(200)) {
                                GetWmsDto getWmsDto = JSON.parseObject(jsonObject.get("data").toString(), GetWmsDto.class);
                                taskWrk.setOriginTargetPoint(getWmsDto.getTargetLocationCode());
                                taskWrk.setTargetPoint(Utils.getWcsLocNo(getWmsDto.getTargetLocationCode()));
                                taskWrk.setStartPoint(String.valueOf(inSta.getBackSta()));
                                if (!taskWrkService.updateById(taskWrk)){
src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -54,6 +54,8 @@
     */
    public Short status;
    public Short alarm;
    /**
     * 状态枚举
     */
src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -68,25 +68,25 @@
    // 外形检测 ------------------------------------------------------------------------
    // 前超限
    private boolean frontErr;
    private boolean frontErr = false;
    // 后超限
    private boolean backErr;
    private boolean backErr = false;
    // 高超限
    private boolean highErr;
    private boolean highErr = false;
    // 左超限
    private boolean leftErr;
    private boolean leftErr = false;
    // 右超限
    private boolean rightErr;
    private boolean rightErr = false;
    // 超重
    private boolean weightErr;
    private boolean weightErr = false;
    // 扫码失败
    private boolean barcodeErr;
    private boolean barcodeErr = false;
    //故障-----------------------------------------------------------------------
    private Boolean breakerErr = false; //断路器故障
src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -168,7 +168,7 @@
            crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 12));
            crnProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 14));
            crnProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 16));
//            crnProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 18));
            crnProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 18));
//            crnProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 20));
//            crnProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 22));
//            crnProtocol.setTemp3(siemensNet.getByteTransform().TransInt16(result.Content, 24));
@@ -181,99 +181,99 @@
            crnProtocol.setXDuration(siemensNet.getByteTransform().TransSingle(result.Content, 48));
            crnProtocol.setYDuration(siemensNet.getByteTransform().TransSingle(result.Content, 52));
            // 异常
            crnProtocol.setAlarm1(0);
            crnProtocol.setAlarm2(0);
            crnProtocol.setAlarm3(0);
            crnProtocol.setAlarm4(0);
            boolean[] err1 = siemensNet.getByteTransform().TransBool(result.Content, 28, 1);    // 30
            if (err1[0]) { crnProtocol.setAlarm1(1); }
            if (err1[1]) { crnProtocol.setAlarm1(2); }
            if (err1[2]) { crnProtocol.setAlarm1(3); }
            boolean[] err2 = siemensNet.getByteTransform().TransBool(result.Content, 29, 1);    // 31
            if (err2[0]) { crnProtocol.setAlarm1(4); }
            if (err2[1]) { crnProtocol.setAlarm1(5); }
            if (err2[2]) { crnProtocol.setAlarm1(6); }
            boolean[] err3 = siemensNet.getByteTransform().TransBool(result.Content, 30, 1);    // 32
            if (err3[6]) { crnProtocol.setAlarm1(7); }
            if (err3[7]) { crnProtocol.setAlarm1(8); }
            boolean[] err4 = siemensNet.getByteTransform().TransBool(result.Content, 31, 1);    // 33
            if (err4[1]) { crnProtocol.setAlarm1(9); }
            if (err4[5]) { crnProtocol.setAlarm1(10); }
            if (err4[6]) { crnProtocol.setAlarm1(11); }
            if (err4[7]) { crnProtocol.setAlarm1(12); }
            boolean[] err5 = siemensNet.getByteTransform().TransBool(result.Content, 32, 1);    // 34
            if (err5[0]) { crnProtocol.setAlarm2(13); }
            if (err5[2]) { crnProtocol.setAlarm2(14); }
            if (err5[3]) { crnProtocol.setAlarm2(15); }
            if (err5[5]) { crnProtocol.setAlarm2(16); }
            if (err5[6]) { crnProtocol.setAlarm2(17); }
            if (err5[7]) { crnProtocol.setAlarm2(18); }
            boolean[] err6 = siemensNet.getByteTransform().TransBool(result.Content, 33, 1);    // 35
            if (err6[1]) { crnProtocol.setAlarm2(19); }
            if (err6[2]) { crnProtocol.setAlarm2(20); }
            if (err6[3]) { crnProtocol.setAlarm2(21); }
            if (err6[4]) { crnProtocol.setAlarm2(22); }
            boolean[] err7 = siemensNet.getByteTransform().TransBool(result.Content, 34, 1);    // 36
            if (err7[4]) { crnProtocol.setAlarm2(23); }
            if (err7[5]) { crnProtocol.setAlarm2(24); }
            if (err7[6]) { crnProtocol.setAlarm2(25); }
            boolean[] err8 = siemensNet.getByteTransform().TransBool(result.Content, 36, 1);    // 38
            if (err8[0]) { crnProtocol.setAlarm3(26); }
            if (err8[1]) { crnProtocol.setAlarm3(27); }
            if (err8[2]) { crnProtocol.setAlarm3(28); }
            if (err8[3]) { crnProtocol.setAlarm3(29); }
            if (err8[4]) { crnProtocol.setAlarm3(30); }
            if (err8[5]) { crnProtocol.setAlarm3(31); }
            if (err8[6]) { crnProtocol.setAlarm3(32); }
            if (err8[7]) { crnProtocol.setAlarm3(33); }
            boolean[] err9 = siemensNet.getByteTransform().TransBool(result.Content, 37, 1);    // 39
            if (err9[0]) { crnProtocol.setAlarm3(34); }
            if (err9[1]) { crnProtocol.setAlarm3(35); }
            if (err9[2]) { crnProtocol.setAlarm3(36); }
            if (err9[3]) { crnProtocol.setAlarm3(37); }
            if (err9[4]) { crnProtocol.setAlarm3(38); }
            if (err9[5]) { crnProtocol.setAlarm3(39); }
            if (err9[6]) { crnProtocol.setAlarm3(40); }
            if (err9[7]) { crnProtocol.setAlarm3(41); }
            boolean[] err10 = siemensNet.getByteTransform().TransBool(result.Content, 38, 1);    // 40
            if (err10[0]) { crnProtocol.setAlarm3(42); }
            if (err10[1]) { crnProtocol.setAlarm3(43); }
            if (err10[2]) { crnProtocol.setAlarm3(44); }
            if (err10[3]) { crnProtocol.setAlarm3(45); }
            if (err10[4]) { crnProtocol.setAlarm3(46); }
            boolean[] err11 = siemensNet.getByteTransform().TransBool(result.Content, 39, 1);    // 41
            if (err11[0]) { crnProtocol.setAlarm3(47); }
            if (err11[1]) { crnProtocol.setAlarm3(48); }
            if (err11[2]) { crnProtocol.setAlarm3(49); }
            boolean[] err12 = siemensNet.getByteTransform().TransBool(result.Content, 40, 1);    // 42
            if (err12[0]) { crnProtocol.setAlarm4(50); }
            if (err12[1]) { crnProtocol.setAlarm4(51); }
            if (err12[2]) { crnProtocol.setAlarm4(52); }
            if (err12[3]) { crnProtocol.setAlarm4(53); }
            if (err12[4]) { crnProtocol.setAlarm4(54); }
            if (err12[5]) { crnProtocol.setAlarm4(55); }
            boolean[] err13 = siemensNet.getByteTransform().TransBool(result.Content, 41, 1);    // 43
            if (err13[0]) { crnProtocol.setAlarm4(56); }
            if (err13[1]) { crnProtocol.setAlarm4(57); }
            if (err13[2]) { crnProtocol.setAlarm4(58); }
            if (err13[3]) { crnProtocol.setAlarm4(59); }
            boolean[] err14 = siemensNet.getByteTransform().TransBool(result.Content, 42, 1);    // 44
            if (err14[0]) { crnProtocol.setAlarm4(60); }
            if (err14[1]) { crnProtocol.setAlarm4(61); }
            if (err14[2]) { crnProtocol.setAlarm4(62); }
            if (err14[3]) { crnProtocol.setAlarm4(63); }
            if (err14[4]) { crnProtocol.setAlarm4(64); }
            if (err14[5]) { crnProtocol.setAlarm4(65); }
            if (err14[6]) { crnProtocol.setAlarm4(66); }
            if (err14[7]) { crnProtocol.setAlarm4(67); }
            boolean[] err15 = siemensNet.getByteTransform().TransBool(result.Content, 43, 1);    // 45
            if (err15[1]) { crnProtocol.setAlarm4(68); }
            if (err15[2]) { crnProtocol.setAlarm4(69); }
            if (err15[3]) { crnProtocol.setAlarm4(70); }
            if (err15[4]) { crnProtocol.setAlarm4(71); }
            if (err15[5]) { crnProtocol.setAlarm4(72); }
            if (err15[6]) { crnProtocol.setAlarm4(73); }
//            // 异常
//            crnProtocol.setAlarm1(0);
//            crnProtocol.setAlarm2(0);
//            crnProtocol.setAlarm3(0);
//            crnProtocol.setAlarm4(0);
//            boolean[] err1 = siemensNet.getByteTransform().TransBool(result.Content, 28, 1);    // 30
//            if (err1[0]) { crnProtocol.setAlarm1(1); }
//            if (err1[1]) { crnProtocol.setAlarm1(2); }
//            if (err1[2]) { crnProtocol.setAlarm1(3); }
//            boolean[] err2 = siemensNet.getByteTransform().TransBool(result.Content, 29, 1);    // 31
//            if (err2[0]) { crnProtocol.setAlarm1(4); }
//            if (err2[1]) { crnProtocol.setAlarm1(5); }
//            if (err2[2]) { crnProtocol.setAlarm1(6); }
//            boolean[] err3 = siemensNet.getByteTransform().TransBool(result.Content, 30, 1);    // 32
//            if (err3[6]) { crnProtocol.setAlarm1(7); }
//            if (err3[7]) { crnProtocol.setAlarm1(8); }
//            boolean[] err4 = siemensNet.getByteTransform().TransBool(result.Content, 31, 1);    // 33
//            if (err4[1]) { crnProtocol.setAlarm1(9); }
//            if (err4[5]) { crnProtocol.setAlarm1(10); }
//            if (err4[6]) { crnProtocol.setAlarm1(11); }
//            if (err4[7]) { crnProtocol.setAlarm1(12); }
//            boolean[] err5 = siemensNet.getByteTransform().TransBool(result.Content, 32, 1);    // 34
//            if (err5[0]) { crnProtocol.setAlarm2(13); }
//            if (err5[2]) { crnProtocol.setAlarm2(14); }
//            if (err5[3]) { crnProtocol.setAlarm2(15); }
//            if (err5[5]) { crnProtocol.setAlarm2(16); }
//            if (err5[6]) { crnProtocol.setAlarm2(17); }
//            if (err5[7]) { crnProtocol.setAlarm2(18); }
//            boolean[] err6 = siemensNet.getByteTransform().TransBool(result.Content, 33, 1);    // 35
//            if (err6[1]) { crnProtocol.setAlarm2(19); }
//            if (err6[2]) { crnProtocol.setAlarm2(20); }
//            if (err6[3]) { crnProtocol.setAlarm2(21); }
//            if (err6[4]) { crnProtocol.setAlarm2(22); }
//            boolean[] err7 = siemensNet.getByteTransform().TransBool(result.Content, 34, 1);    // 36
//            if (err7[4]) { crnProtocol.setAlarm2(23); }
//            if (err7[5]) { crnProtocol.setAlarm2(24); }
//            if (err7[6]) { crnProtocol.setAlarm2(25); }
//            boolean[] err8 = siemensNet.getByteTransform().TransBool(result.Content, 36, 1);    // 38
//            if (err8[0]) { crnProtocol.setAlarm3(26); }
//            if (err8[1]) { crnProtocol.setAlarm3(27); }
//            if (err8[2]) { crnProtocol.setAlarm3(28); }
//            if (err8[3]) { crnProtocol.setAlarm3(29); }
//            if (err8[4]) { crnProtocol.setAlarm3(30); }
//            if (err8[5]) { crnProtocol.setAlarm3(31); }
//            if (err8[6]) { crnProtocol.setAlarm3(32); }
//            if (err8[7]) { crnProtocol.setAlarm3(33); }
//            boolean[] err9 = siemensNet.getByteTransform().TransBool(result.Content, 37, 1);    // 39
//            if (err9[0]) { crnProtocol.setAlarm3(34); }
//            if (err9[1]) { crnProtocol.setAlarm3(35); }
//            if (err9[2]) { crnProtocol.setAlarm3(36); }
//            if (err9[3]) { crnProtocol.setAlarm3(37); }
//            if (err9[4]) { crnProtocol.setAlarm3(38); }
//            if (err9[5]) { crnProtocol.setAlarm3(39); }
//            if (err9[6]) { crnProtocol.setAlarm3(40); }
//            if (err9[7]) { crnProtocol.setAlarm3(41); }
//            boolean[] err10 = siemensNet.getByteTransform().TransBool(result.Content, 38, 1);    // 40
//            if (err10[0]) { crnProtocol.setAlarm3(42); }
//            if (err10[1]) { crnProtocol.setAlarm3(43); }
//            if (err10[2]) { crnProtocol.setAlarm3(44); }
//            if (err10[3]) { crnProtocol.setAlarm3(45); }
//            if (err10[4]) { crnProtocol.setAlarm3(46); }
//            boolean[] err11 = siemensNet.getByteTransform().TransBool(result.Content, 39, 1);    // 41
//            if (err11[0]) { crnProtocol.setAlarm3(47); }
//            if (err11[1]) { crnProtocol.setAlarm3(48); }
//            if (err11[2]) { crnProtocol.setAlarm3(49); }
//            boolean[] err12 = siemensNet.getByteTransform().TransBool(result.Content, 40, 1);    // 42
//            if (err12[0]) { crnProtocol.setAlarm4(50); }
//            if (err12[1]) { crnProtocol.setAlarm4(51); }
//            if (err12[2]) { crnProtocol.setAlarm4(52); }
//            if (err12[3]) { crnProtocol.setAlarm4(53); }
//            if (err12[4]) { crnProtocol.setAlarm4(54); }
//            if (err12[5]) { crnProtocol.setAlarm4(55); }
//            boolean[] err13 = siemensNet.getByteTransform().TransBool(result.Content, 41, 1);    // 43
//            if (err13[0]) { crnProtocol.setAlarm4(56); }
//            if (err13[1]) { crnProtocol.setAlarm4(57); }
//            if (err13[2]) { crnProtocol.setAlarm4(58); }
//            if (err13[3]) { crnProtocol.setAlarm4(59); }
//            boolean[] err14 = siemensNet.getByteTransform().TransBool(result.Content, 42, 1);    // 44
//            if (err14[0]) { crnProtocol.setAlarm4(60); }
//            if (err14[1]) { crnProtocol.setAlarm4(61); }
//            if (err14[2]) { crnProtocol.setAlarm4(62); }
//            if (err14[3]) { crnProtocol.setAlarm4(63); }
//            if (err14[4]) { crnProtocol.setAlarm4(64); }
//            if (err14[5]) { crnProtocol.setAlarm4(65); }
//            if (err14[6]) { crnProtocol.setAlarm4(66); }
//            if (err14[7]) { crnProtocol.setAlarm4(67); }
//            boolean[] err15 = siemensNet.getByteTransform().TransBool(result.Content, 43, 1);    // 45
//            if (err15[1]) { crnProtocol.setAlarm4(68); }
//            if (err15[2]) { crnProtocol.setAlarm4(69); }
//            if (err15[3]) { crnProtocol.setAlarm4(70); }
//            if (err15[4]) { crnProtocol.setAlarm4(71); }
//            if (err15[5]) { crnProtocol.setAlarm4(72); }
//            if (err15[6]) { crnProtocol.setAlarm4(73); }
//            boolean[] bool1 = siemensNet.getByteTransform().TransBool(result.Content, 60, 1);    // 62
//            crnProtocol.setConnStatus(bool1[0]);
src/main/webapp/views/realtimeWatch/pipeline2.html
@@ -67,7 +67,7 @@
                    <table id="plc-error-table">
                        <thead>
                        <tr>
                            <th style="width: 200px">序号</th>
                            <th style="width: 200px">站点</th>
                            <th style="width: 400px">PLC错误描述</th>
                            <th style="width: 400px">异常</th>
                        </tr>