From 098343a983ceba34ee253453c45b903b95d8e877 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 04 十二月 2023 08:02:26 +0800
Subject: [PATCH] #输送线plc异常显示
---
src/main/java/com/zy/core/model/protocol/StaProtocol.java | 53 +++++++++++++
src/main/java/com/zy/asrs/controller/SiteController.java | 81 ++++++++++++++++----
src/main/java/com/zy/asrs/utils/Utils.java | 27 +++++-
src/main/webapp/views/realtimeWatch/crn2.html | 18 ++--
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 22 +++++
5 files changed, 170 insertions(+), 31 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index 9cc5b94..216bbae 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/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);
}
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index b1b7e5c..8b9a9f0 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/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);
}
}
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index 8dbd9ce..ebd4ab8 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/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();
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 619b4d1..f4c283d 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/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);
diff --git a/src/main/webapp/views/realtimeWatch/crn2.html b/src/main/webapp/views/realtimeWatch/crn2.html
index 4c4a3a4..95b21cf 100644
--- a/src/main/webapp/views/realtimeWatch/crn2.html
+++ b/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>
--
Gitblit v1.9.1