src/main/java/com/zy/asrs/controller/SiteController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/utils/Utils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/model/protocol/StaProtocol.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/SiemensDevpThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/realtimeWatch/crn2.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/SiteController.java
@@ -126,28 +126,75 @@ for(Map.Entry<Integer, StaProtocol> entry : station.entrySet()) { StaProtocol staProtocol = entry.getValue(); // if (staProtocol) { // PlcErrorTableVo vo = new PlcErrorTableVo(); // vo.setNo(entry.getKey()); // 序号 // // vo.setPlcDesc(""); // todo:luxiaotao plc错误描述 // vo.setError(""); // todo:luxiaotao 异常信息 // list.add(vo); // } 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.sort((o1, o2) -> { if (o1.getNo().compareTo(o2.getNo()) > 0){ return 1; }else if (o1.getNo().compareTo(o2.getNo()) < 0){ return 0; }else{ return -1; } }); return R.ok().add(list); } src/main/java/com/zy/asrs/utils/Utils.java
@@ -27,17 +27,34 @@ if (split[3].equals("01")){ ints = Arrays.copyOfRange(wcsRow, 0, (wcsRow.length+2-1) / 2); if (split[4].equals("01")){ ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1); if (ints.length<2){ }else { ints = Arrays.copyOfRange(ints, ints.length / 2, ints.length); } }else { ints = Arrays.copyOfRange(ints, 0, wcsRow.length / 2); if (ints.length<2){ }else { ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1); } } }else { ints = Arrays.copyOfRange(wcsRow, (wcsRow.length+2-1) / 2-1,wcsRow.length-1 ); if (split[4].equals("01")){ if (ints.length<2){ ints = Arrays.copyOfRange(ints, 0, ints.length / 2); }else { ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1); } }else { ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1); if (ints.length<2){ }else { ints = Arrays.copyOfRange(ints, ints.length / 2, ints.length); } } } int i = ints[0]; @@ -313,7 +330,7 @@ // slaveProperties.setGroupCount(4); // Integer deepRow = getDeepRow(slaveProperties, 6); // System.out.println(deepRow); String wcsLocNo = getWcsLocNo("06-52-01-01-01"); String wcsLocNo = getWcsLocNo("02-01-01-02-01"); System.out.println(wcsLocNo); } } src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -4,6 +4,9 @@ import com.zy.asrs.entity.CommandInfo; import lombok.Data; import java.util.ArrayList; import java.util.List; /** * 输送线plc单个站点详细信息 * Created by vincent on 2020/8/6 @@ -85,6 +88,56 @@ // 扫码失败 private boolean barcodeErr; //故障----------------------------------------------------------------------- private Boolean breakerErr = false; //断路器故障 private Boolean infraredErr = false; //光电异常 private Boolean outTimeErr = false; //运行超时 private Boolean seizeSeatErr = false; //占位超时 private Boolean wrkYgoodsN = false;//有任务无货故障 private Boolean inverterErr = false; //变频器故障 private Boolean contactErr = false; //电机接触器故障 private Boolean upcontactErr = false; //顶升电机接触器故障 private List<Integer> alarm; public List<Integer> getAlarm(){ List<Integer> alarm = new ArrayList<>(); if (breakerErr){ alarm.add(1); } if (infraredErr){ alarm.add(2); } if (outTimeErr){ alarm.add(3); } if (seizeSeatErr){ alarm.add(4); } if (wrkYgoodsN){ alarm.add(5); } if (inverterErr){ alarm.add(6); } if (contactErr){ alarm.add(7); } if (upcontactErr){ alarm.add(8); } return alarm; } public BasDevp toSqlModel(){ BasDevp basDevp = new BasDevp(); src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -346,10 +346,32 @@ staProtocol.setRightErr(status[4]); staProtocol.setWeightErr(status[5]); staProtocol.setBarcodeErr(status[6]); } } OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB13.2", (short) 100); if (resultErr.IsSuccess) { for (int i = 0; i < staNoSize; i++) { Integer siteId = staNos.get(i); // 站点编号 boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i*4, 1); StaProtocol staProtocol = station.get(siteId); staProtocol.setBreakerErr(status[0]); staProtocol.setInfraredErr(status[1]); staProtocol.setOutTimeErr(status[2]); staProtocol.setSeizeSeatErr(status[3]); staProtocol.setWrkYgoodsN(status[4]); staProtocol.setInverterErr(status[5]); staProtocol.setContactErr(status[6]); staProtocol.setUpcontactErr(status[7]); } } // //RGV台车位置 // Thread.sleep(200); // OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.0",(short)4); src/main/webapp/views/realtimeWatch/crn2.html
@@ -42,50 +42,50 @@ </head> <body> <div style="padding: 10px;height: 100%;float: left;width: 6%"> <div class="button-window"></div> <!-- <div class="button-window"></div>--> </div> <div style="height: 100%;padding-left: 6%"> <div style="padding: 10px;height: 100%"> <!-- 日志监控板 --> <div class="log-board"> <div class="log-board" > <!-- 执行命令 --> <!-- 执行命令 --> <div class="command-log"> <div class="command-log" style="overflow: auto;"> <h3>执行中的命令</h3> <div class="crn-command-item"> <label>1#</label> <button id="demoBtn-1" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> <!-- <button id="demoBtn-1" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>--> <!-- <span> </span>--> <input id="crn1" disabled="disabled"> </div> <div class="crn-command-item"> <label>2#</label> <button id="demoBtn-2" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> <!-- <button id="demoBtn-2" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>--> <!-- <span> </span>--> <input id="crn2" disabled="disabled"> </div> <div class="crn-command-item"> <label>3#</label> <button id="demoBtn-3" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> <!-- <button id="demoBtn-3" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>--> <!-- <span> </span>--> <input id="crn3" disabled="disabled"> </div> <div class="crn-command-item"> <label>4#</label> <button id="demoBtn-4" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> <!-- <button id="demoBtn-4" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>--> <!-- <span> </span>--> <input id="crn4" disabled="disabled"> </div> <div class="crn-command-item"> <label>5#</label> <button id="demoBtn-5" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> <!-- <button id="demoBtn-5" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>--> <!-- <span> </span>--> <input id="crn5" disabled="disabled"> </div> <div class="crn-command-item"> <label>6#</label> <button id="demoBtn-6" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> <!-- <button id="demoBtn-6" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>--> <!-- <span> </span>--> <input id="crn6" disabled="disabled"> </div>