From 68242c8f3acc051368eeb1246b2fb6327a783bfc Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期二, 04 十一月 2025 09:05:39 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/LedThread.java | 1
src/main/java/com/zy/asrs/controller/RgvController.java | 8 +
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 72 ++++---------
src/main/webapp/views/console.html | 157 +++++++++++++++++--------------
src/main/webapp/views/rgv.html | 4
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 25 ++++
6 files changed, 140 insertions(+), 127 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 35ede00..98f3848 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -11,8 +11,10 @@
import com.zy.asrs.domain.vo.RgvStateTableVo;
import com.zy.asrs.entity.BasRgv;
import com.zy.asrs.entity.BasRgvErr;
+import com.zy.asrs.entity.BasRgvMap;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.mapper.BasRgvErrMapper;
+import com.zy.asrs.mapper.BasRgvMapMapper;
import com.zy.asrs.service.BasRgvService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastService;
@@ -62,7 +64,8 @@
private MainServiceImpl mainService;
@Autowired
private LocMastService locMastService;
-
+ @Autowired
+ private BasRgvMapMapper basRgvMapMapper;
@ManagerAuth(memo = "瑙i攣灏忚溅")
@PostMapping("/lock")
public R lock(CrnOperatorParam param){
@@ -88,13 +91,14 @@
RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
if (rgvProtocol == null) continue;
+ BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
vo.setStatusType(rgvProtocol.modeType.desc); // 妯″紡鐘舵��
vo.setStatus(String.valueOf(rgvProtocol.getMode())); // 鐘舵��
vo.setWorkNo1(rgvProtocol.getTaskNo1()); // 宸ヤ綅1浠诲姟鍙�
vo.setStatus1(rgvProtocol.getStatusType1().desc); // 宸ヤ綅1鐘舵��
vo.setLoading1(rgvProtocol.getLoaded1() ? "鏈夌墿" : "鏃犵墿"); // 宸ヤ綅1鏈夌墿
- vo.setRgvPos(rgvProtocol.getRgvPos());
+ vo.setRgvPos(basRgvMap != null?basRgvMap.getNowRoute():0);
vo.setRgvPos1(rgvProtocol.getRgvPosI2());
vo.setWalkPos(Objects.equals(rgvProtocol.getWalkPos(), 1) ? "鍦ㄥ畾浣�" : "涓嶅湪瀹氫綅");
vo.setPakMk(rgvThread.isPakMk() ? "鏃犻攣" : "閿佸畾");
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 5a7a4f6..3db0c17 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1079,7 +1079,7 @@
//mark - 3 - ....
this.locToLoc(crn, crnProtocol,mark);
//棰勮皟搴�
- this.crnRebackHp(crnProtocol, crnThread);
+// this.crnRebackHp(crnProtocol, crnThread);
}
// News.infoNoLog(""+mark+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂鎵ц瀹屾垚");
@@ -1102,6 +1102,9 @@
case 5: x =18; break;
}
+ if(crnProtocol.getCrnNo() != 5){
+ return;
+ }
// 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�3,12
if (wrkMastMapper.selectWorking(crnProtocol.getCrnNo()) != null) {
return;
@@ -2351,6 +2354,9 @@
if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) {
News.error("{}鍙稬ED鏄剧ず榛樿鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
}
+// if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) {
+// News.error("{}鍙稬ED鏄剧ず榛樿鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+// }
}
}
}
@@ -2954,52 +2960,18 @@
log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�2", rgvSlave.getRgvNo());
continue;
}
-
- // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅涓�鏃犵墿//rgv鍙敤
- if (rgvProtocol.getStatusType() == RgvStatusType.IDLE &&
- rgvProtocol.getModeType() == RgvModeType.AUTO
- && !rgvProtocol.isLoaded1ing() //鐜板満淇敼锛氬彔鐩樻満锛屼笉婊¢兘绠楁棤鐗╋紝鎬庝箞鍒ゆ柇闇�瑕佽窡鐢垫帶瀵规帴
- && rgvProtocol.getTaskNo1()==0
- && !rgvProtocol.isLoaded2ing()
- && rgvProtocol.getTaskNo2()==0
- &&rgvThread.isPakMk()
- ) {
- BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
-
- Integer rgvNoOther = basRgvMap.getRgvNoOther((int) rgvProtocol.getRgvNo());
- RgvThread rgvThreadOther = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNoOther);
- RgvProtocol rgvProtocolOther = rgvThreadOther.getRgvProtocol();
- if (rgvProtocolOther == null) {
- continue;
- }else {
- rgvProtocolOther = rgvProtocolOther.clone();
- }
- if (rgvProtocolOther.getStatusType() == RgvStatusType.IDLE
- && rgvProtocolOther.getModeType() == RgvModeType.AUTO
- && !rgvProtocolOther.isLoaded1ing()
- && rgvProtocolOther.getTaskNo1()==0
- && !rgvProtocolOther.isLoaded2ing()
- && rgvProtocolOther.getTaskNo2()==0
- &&rgvThreadOther.isPakMk()
- ){
- //瀵瑰伐浣滄。杩涜鍒ゆ柇
- basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
- if (rgvProtocol.getTaskNo1() >0 && rgvProtocol.getTaskNo1()<=9000){
- WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1().intValue());
- rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), wrkMastSta.getStaEnd(),"2366");
- }else if (rgvProtocol.getTaskNo1() == 0){
- rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2366");
- }
-
- }
-
-
-
+ Integer site = rgvProtocol.getRgvNo() == 1 ? rgvProtocol.getRgvPosI1() : rgvProtocol.getRgvPosI2();
+ if (site == 0) {
+ continue;
}
+ rgvSlave.setNowRoute(site); // 鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
+ if (!basRgvMapService.updateById(rgvSlave)) {
+ log.error("灏忚溅鏇存柊鍦板浘澶辫触");
+ }
+
}
}catch (Exception e){
- log.error("4109琛屾墽琛屽皬杞﹀垵濮嬪寲浠诲姟涓嬪彂澶辫触");
- log.error("4109琛�"+e);
+ log.error("灏忚溅鏇存柊鍦板浘澶辫触");
}
}
@@ -3330,6 +3302,7 @@
}
BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
basRgvMap.setNowRoute(rgvProtocol.getRgvNo() == 1?rgvProtocol.getRgvPosI1():rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
+ basRgvMapService.updateById(basRgvMap);
Integer workNo = 0;
if(rgvProtocol.getTaskNo2() > 9999|| rgvProtocol.getTaskNo1() > 9999){
workNo = rgvProtocol.getTaskNo1() !=0 ? rgvProtocol.getTaskNo1() : rgvProtocol.getTaskNo2();
@@ -3396,6 +3369,7 @@
}
BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
basRgvMap.setNowRoute(rgvProtocol.getRgvNo() == 1?rgvProtocol.getRgvPosI1():rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
+ basRgvMapService.updateById(basRgvMap);
Integer workNo = 0;
if(basRgv.getPakToCrn().equals("1")){
workNo = rgvProtocol.getTaskNo1() !=0 ? rgvProtocol.getTaskNo1():rgvProtocol.getTaskNo2(); //姝e父鎯呭喌鍑哄簱鏀捐揣浼樺厛宸ヤ綅1鏀�
@@ -3491,11 +3465,11 @@
basRgvService.updateById(basRgv);
rgvThread.setPakMk(true);
}
- List<WrkMastSta> wrkMastStaPakingNum = wrkMastStaService.selectPakingWrkNum(basRgv.getRgvNo());
- if(wrkMastStaPakingNum.size() <1){
- basRgv.setPakAll("1"); //闃叉鏃犲叾浠栦换鍔℃椂锛岃繛缁彇璐ф棤娉曟仮澶�
- basRgvService.updateById(basRgv);
- }
+// List<WrkMastSta> wrkMastStaPakingNum = wrkMastStaService.selectPakingWrkNum(basRgv.getRgvNo());
+// if(wrkMastStaPakingNum.size() <1){
+// basRgv.setPakAll("1"); //闃叉鏃犲叾浠栦换鍔℃椂锛岃繛缁彇璐ф棤娉曟仮澶�
+// basRgvService.updateById(basRgv);
+// }
}
}
diff --git a/src/main/java/com/zy/core/thread/LedThread.java b/src/main/java/com/zy/core/thread/LedThread.java
index fb69130..d7a24fb 100644
--- a/src/main/java/com/zy/core/thread/LedThread.java
+++ b/src/main/java/com/zy/core/thread/LedThread.java
@@ -106,7 +106,6 @@
private void reset() {
commandList = null;
-
stringBuffer.delete(0, stringBuffer.length());
}
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 22f833c..30b1455 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -448,6 +448,8 @@
OperateResultExOne<byte[]> result4 = null;//1054-1079
OperateResultExOne<byte[]> result5 = null;//1080-1110
OperateResultExOne<byte[]> resultErr = null;
+ OperateResultExOne<byte[]> resultAlarm = null;
+
if(staNoSize == 102){
result1 = siemensS7Net.Read("DB100.0", (short) (2768));//1001-1028
result2 = siemensS7Net.Read("DB101.0", (short) (1268));//1029-1037
@@ -455,11 +457,13 @@
result4 = siemensS7Net.Read("DB103.0", (short) (2824));//1054-1079
result5 = siemensS7Net.Read("DB102.0", (short) (3428));//1080-1110
resultErr = siemensS7Net.Read("DB3.0", (short) (536));
+// resultAlarm = siemensS7Net.Read("DB800.0", (short) (220));
}else{
result1 = siemensS7Net.Read("DB200.0", (short) (3000));//2001-2030
result2 = siemensS7Net.Read("DB201.0", (short) (720));//2031-2037
result3 = siemensS7Net.Read("DB400.0", (short) (600));//4001-4006
resultErr = siemensS7Net.Read("DB3.0", (short) (354));
+// resultAlarm = siemensS7Net.Read("DB800.0", (short) (126));
}
@@ -562,6 +566,25 @@
staProtocol.setInEnable(status1[2]); // 鍙叆
staProtocol.setOutEnable(status1[2]);// 鍙嚭
staProtocol.setErr(status1[6]);
+
+// boolean[] statusAlarm = siemensS7Net.getByteTransform().TransBool(resultAlarm.Content, 2*i, 1);
+// //鎶ヨ
+// staProtocol.setPassTimeOut(statusAlarm[0]);
+// staProtocol.setObjectNoIdError(statusAlarm[1]);
+// staProtocol.setIdNoObjectError(statusAlarm[2]);
+// staProtocol.setLmfrError(statusAlarm[3]);
+// staProtocol.setLiftError(statusAlarm[4]);
+// staProtocol.setDlfrError(statusAlarm[5]);
+// staProtocol.setDmfrError(statusAlarm[6]);
+// staProtocol.setVfdError(statusAlarm[7]);
+// staProtocol.setSrvError(statusAlarm[8]);
+// staProtocol.setRes1(statusAlarm[9]);
+// staProtocol.setRes2(statusAlarm[10]);
+// staProtocol.setRes3(statusAlarm[11]);
+// staProtocol.setCommunicationTimeOut(statusAlarm[12]);
+// staProtocol.setParameterIncompleteError(statusAlarm[13]);
+// staProtocol.setDataNotClear(statusAlarm[14]);
+// staProtocol.setSetParameterError(statusAlarm[15]);
//鎶ヨ
staProtocol.setPassTimeOut(statusErr[0]);
@@ -669,7 +692,7 @@
OperateResultExOne<byte[]> reasultBarcode3 = siemensS7Net.Read("DB102.2780", (short) 4);//1103
OperateResultExOne<byte[]> reasultBarcode4 = siemensS7Net.Read("DB201.344", (short) 4);//2037
OperateResultExOne<byte[]> reasultBarcode5 = siemensS7Net.Read("DB400.112", (short) 4);//4001
- OperateResultExOne<byte[]> reasultBarcode6 = siemensS7Net.Read("DB201.716", (short) 4);//4001
+ OperateResultExOne<byte[]> reasultBarcode6 = siemensS7Net.Read("DB201.716", (short) 4);//2033
if(barcodeList.get(0) == 0){
if(reasultBarcode1.IsSuccess){
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index c125dd0..a31638f 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -56,8 +56,8 @@
<span class="machine-put-flag">鍏ュ簱</span>
<span class="machine-take-flag">鍑哄簱</span>
<span class="machine-stock-move-flag">搴撳埌搴�</span>
- <span class="machine-site-move-flag">绔欏埌绔�</span>
- <span class="machine-p-move-flag">PToP</span>
+<!-- <span class="machine-site-move-flag">绔欏埌绔�</span>-->
+<!-- <span class="machine-p-move-flag">PToP</span>-->
<span class="machine-error-flag">寮傚父</span>
<span class="machine-auto-flag">鑷姩</span>
<span class="machine-unauto-flag">闈炶嚜鍔�/鎵嬪姩</span>
@@ -689,82 +689,95 @@
}
}
- // 灏忚溅鍋忕Щ鍔ㄧ敾
function carAnimate(id, target) {
- // debugger
var targetTop = 0;
- if (id === 1 || id === '1' || id === '2' || id === 2 || id === '3' || id === 3 ||id === '4' || id === 4) {
- switch (target) {
- case 1004:
- targetTop += 84;
- break;
- case 1007:
- targetTop += 128;
- break;
- case 1010:
- targetTop += 190;
- break;
- case 1014:
- targetTop += 240;
- break;
- case 1018:
- targetTop += 300;
- break;
- case 1021:
- targetTop += 350;
- break;
- case 1024:
- targetTop += 415;
- break;
- case 1028:
- targetTop += 465;
- break;
- case 1031:
- targetTop += 530;
- break;
- case 1035:
- targetTop += 580;
- break;
- case 2003:
- targetTop += 84;
- break;
- case 2006:
- targetTop += 128;
- break;
- case 2009:
- targetTop += 19.;
- break;
- case 2012:
- targetTop += 240;
- break;
- case 2015:
- targetTop += 300;
- break;
- case 2018:
- targetTop += 350;
- break;
- case 2021:
- targetTop += 415;
- break;
- case 2024:
- targetTop += 465;
- break;
- case 2027:
- targetTop += 530;
- break;
- case 2030:
- targetTop += 580;
- break;
- default:
- return;
- }
- } else {
- return;
+
+ // 纭繚 target 鏄湁鏁堢殑绔欑偣
+ if (target === -1) {
+ console.log("绔欑偣鏃犳晥锛岃烦杩囧姩鐢�");
+ return; // 璺宠繃鏃犳晥绔欑偣
}
- $("#site-" + id).animate({top: targetTop + 'px'}, 0);
+ // 璁$畻鐩爣绔欑偣鐨� top 鍊�
+ switch (target) {
+ case 1004:
+ targetTop += 84;
+ break;
+ case 1007:
+ targetTop += 128;
+ break;
+ case 1010:
+ targetTop += 190;
+ break;
+ case 1014:
+ targetTop += 240;
+ break;
+ case 1018:
+ targetTop += 300;
+ break;
+ case 1021:
+ targetTop += 350;
+ break;
+ case 1024:
+ targetTop += 415;
+ break;
+ case 1028:
+ targetTop += 465;
+ break;
+ case 1031:
+ targetTop += 530;
+ break;
+ case 1035:
+ targetTop += 580;
+ break;
+ case 2003:
+ targetTop += 84;
+ break;
+ case 2006:
+ targetTop += 128;
+ break;
+ case 2009:
+ targetTop += 190;
+ break;
+ case 2012:
+ targetTop += 240;
+ break;
+ case 2015:
+ targetTop += 300;
+ break;
+ case 2018:
+ targetTop += 350;
+ break;
+ case 2021:
+ targetTop += 415;
+ break;
+ case 2024:
+ targetTop += 465;
+ break;
+ case 2027:
+ targetTop += 530;
+ break;
+ case 2030:
+ targetTop += 580;
+ break;
+ default:
+ return; // 鏃犳晥鐨勭珯鐐癸紝璺宠繃
+ }
+
+ // 鑾峰彇褰撳墠绔欑偣浣嶇疆
+ var currentTop = $("#site-" + id).position().top;
+
+ // 璁$畻涓や釜绔欑偣涔嬮棿鐨勮窛绂�
+ var distance = Math.abs(targetTop - currentTop);
+
+ // 璁$畻鍔ㄧ敾鏃堕棿锛岃窛绂昏秺杩滄椂闂磋秺闀匡紝鏈�灏忔椂闂翠负500ms锛屾渶澶т负2000ms
+ var duration = Math.max(500, Math.min(distance / 2, 2000));
+
+ // 鎵ц鍔ㄧ敾锛屽钩婊戝湴绉诲姩鍒扮洰鏍囦綅缃�
+ $("#site-" + id).animate({ top: targetTop + 'px' }, duration);
}
+
// 妫�鏌� URL 涓槸鍚﹀寘鍚� fullscreen=true 鍙傛暟
function checkFullscreen() {
const urlParams = new URLSearchParams(window.location.search);
diff --git a/src/main/webapp/views/rgv.html b/src/main/webapp/views/rgv.html
index 1fad76a..96dbf2f 100644
--- a/src/main/webapp/views/rgv.html
+++ b/src/main/webapp/views/rgv.html
@@ -120,7 +120,7 @@
<th>宸ヤ綅1宸ヤ綔鍙�</th>
<th>宸ヤ綅2宸ヤ綔鍙�</th>
<th>鐘舵��</th>
- <th>璧拌鐩爣绔�</th>
+ <th>璧拌鐩爣鐐逛綅</th>
<th>宸ヤ綅1鐩爣绔�</th>
<th>宸ヤ綅2鐩爣绔�</th>
<!-- <th>婧愬簱浣�</th>-->
@@ -341,7 +341,7 @@
setVal(tr.children("td").eq(2), table[i-1].workNo1);
setVal(tr.children("td").eq(3), table[i-1].status1);
setVal(tr.children("td").eq(4), table[i-1].loading1);
- setVal(tr.children("td").eq(5), table[i-1].rgvPos1);
+ setVal(tr.children("td").eq(5), table[i-1].rgvPos);
// setVal(tr.children("td").eq(6), table[i-1].walkPos);
// setVal(tr.children("td").eq(8), table[i-1].workNo2);
// setVal(tr.children("td").eq(9), table[i-1].status2);
--
Gitblit v1.9.1