From ceaaedb19df3e30ab7970b7e7e8590b5b13b6cf2 Mon Sep 17 00:00:00 2001
From: TQS <56479841@qq.com>
Date: 星期六, 17 八月 2024 09:52:20 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 171 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 166 insertions(+), 5 deletions(-)
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 09879c4..3d8479a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -141,6 +141,24 @@
News.error("MainServiceImpl generateStoreWrkFile"+"203涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
continue;
}
+ if ( inSta.getStaNo()==113 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) {
+ //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
+ staProtocol.setWorkNo((short) 9999);
+ staProtocol.setStaNo((short)114);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ News.error("MainServiceImpl generateStoreWrkFile"+"103涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
+ continue;
+ }
+ if ( inSta.getStaNo()==213 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) {
+ //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
+ staProtocol.setWorkNo((short) 9999);
+ staProtocol.setStaNo((short)214);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ News.error("MainServiceImpl generateStoreWrkFile"+"203涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
+ continue;
+ }
}
// 鑾峰彇鏉$爜鎵弿浠俊鎭�
@@ -1047,7 +1065,7 @@
// 鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁�
if (crnProtocol.modeType == CrnModeType.AUTO
&& crnProtocol.statusType == CrnStatusType.IDLE
- && crnProtocol.forkPosType == CrnForkPosType.HOME) {
+ && crnProtocol.forkPosType == CrnForkPosType.HOME && crnStn.getBay()!=(short)4) {
News.info("鍫嗗灈鏈烘帴椹充换鍔℃墽琛岋紝宸ヤ綔鍙凤細"+staProtocol.getWorkNo()+"锛涙墽琛屽爢鍨涙満鍙凤細"+slave.getId()+"锛涙帴椹冲彇璐т綅锛�"+crnStn.getStaNo()+"锛涙帴椹虫斁璐т綅锛�"+staProtocol.getSiteId());
// 鍫嗗灈鏈烘帴椹充换鍔″懡浠や笅鍙戝尯 --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
@@ -1079,7 +1097,7 @@
// 鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁�
if (crnProtocol.modeType == CrnModeType.AUTO
&& crnProtocol.statusType == CrnStatusType.IDLE
- && crnProtocol.forkPosType == CrnForkPosType.HOME) {
+ && crnProtocol.forkPosType == CrnForkPosType.HOME && crnStn.getBay()==(short)4) {
News.info("鍫嗗灈鏈烘帴椹充换鍔℃墽琛岋紝宸ヤ綔鍙凤細"+staProtocol.getWorkNo()+"锛涙墽琛屽爢鍨涙満鍙凤細"+slave.getId()+"锛涙帴椹冲彇璐т綅锛�"+crnStn.getStaNo()+"锛涙帴椹虫斁璐т綅锛�"+staProtocol.getSiteId());
// 鍫嗗灈鏈烘帴椹充换鍔″懡浠や笅鍙戝尯 --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
@@ -1424,6 +1442,14 @@
}
if (wrkMast.getStaNo() == 203 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
News.error("MainServiceImpl locToCrnStn"+"203闈炲嚭搴撴ā寮忥紝绂佹鍑哄簱銆備换鍔″彿:{}锛侊紒锛�",wrkMast.getWrkNo());
+ return false;
+ }
+ if (wrkMast.getStaNo() == 113 && devpThread.ioModeOf3F != IoModeType.PAKOUT_MODE) {
+ News.error("MainServiceImpl locToCrnStn"+"113闈炲嚭搴撴ā寮忥紝绂佹鍑哄簱銆備换鍔″彿:{}锛侊紒锛�",wrkMast.getWrkNo());
+ return false;
+ }
+ if (wrkMast.getStaNo() == 213 && devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {
+ News.error("MainServiceImpl locToCrnStn"+"213闈炲嚭搴撴ā寮忥紝绂佹鍑哄簱銆備换鍔″彿:{}锛侊紒锛�",wrkMast.getWrkNo());
return false;
}
@@ -3969,6 +3995,24 @@
News.error("MainServiceImpl storeEmptyPlt"+"203涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
continue;
}
+ if ( emptyInSta.getStaNo()==113 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) {
+ //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
+ staProtocol.setWorkNo((short) 9999);
+ staProtocol.setStaNo((short)100);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ News.error("MainServiceImpl storeEmptyPlt"+"113涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
+ continue;
+ }
+ if ( emptyInSta.getStaNo()==213 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) {
+ //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
+ staProtocol.setWorkNo((short) 9999);
+ staProtocol.setStaNo((short)200);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ News.error("MainServiceImpl storeEmptyPlt"+"213涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
+ continue;
+ }
}
// 绔欑偣鏉′欢鍒ゆ柇
@@ -4735,10 +4779,10 @@
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
for (DevpSlave.Sta inSta : devp.getInSta()) {
- Integer sourceStaNo = inSta.getStaNo()==103 ? 104 : 204;
+ Integer sourceStaNo = inSta.getStaNo()==103 ? 104 : inSta.getStaNo()==113 ? 104 : 204;
WrkMast pakout = wrkMastMapper.selectWorkingPakout(sourceStaNo);
switch (inSta.getStaNo()) {
- case 103://1F
+ case 103://1F1
if (pakout != null) {
if (devpThread.ioModeOf1F != IoModeType.PAKOUT_MODE) {
// 鍑哄簱鍒囨崲涓�
@@ -4756,7 +4800,7 @@
devpThread.ioModeOf1F = IoModeType.PAKIN_MODE;
}
break;
- case 203://2F
+ case 203://1F2
if (pakout != null) {
if (devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
// 鍑哄簱鍒囨崲涓�
@@ -4774,6 +4818,123 @@
devpThread.ioModeOf2F = IoModeType.PAKIN_MODE;
}
break;
+// case 113://2F1
+// if (pakout != null) {
+// if (devpThread.ioModeOf3F != IoModeType.PAKOUT_MODE) {
+// // 鍑哄簱鍒囨崲涓�
+//// devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING;
+//// WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+//// if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
+//// && !devpThread.getStation().get(inSta.getStaNo()-1).isLoading()
+//// && devpThread.getStation().get(inSta.getStaNo()-1).getWorkNo()==0) {
+//// // 鍑哄簱妯″紡
+// devpThread.ioModeOf3F = IoModeType.PAKOUT_MODE;
+//// }
+// }
+// } else {
+// // 鍏ュ簱妯″紡
+// devpThread.ioModeOf3F = IoModeType.PAKIN_MODE;
+// }
+// break;
+// case 213://2F2
+// if (pakout != null) {
+// if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {
+// // 鍑哄簱鍒囨崲涓�
+//// devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING;
+//// WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+//// if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
+//// && !devpThread.getStation().get(inSta.getStaNo()-1).isLoading()
+//// && devpThread.getStation().get(inSta.getStaNo()-1).getWorkNo()==0) {
+//// // 鍑哄簱妯″紡
+// devpThread.ioModeOf4F = IoModeType.PAKOUT_MODE;
+//// }
+// }
+// } else {
+// // 鍏ュ簱妯″紡
+// devpThread.ioModeOf4F = IoModeType.PAKIN_MODE;
+// }
+// break;
+ }
+ }
+
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ public synchronized void ioConvert2F() {
+ try {
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ if (devp.getId() == 1){
+ continue;
+ }
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+
+ for (DevpSlave.Sta inSta : devp.getInSta()) {
+ Integer staNoEnd = inSta.getStaNo()==113 ? 114 : 214;
+ WrkMast pakout = wrkMastMapper.selectWorkingPakoutTwoF(staNoEnd);
+ boolean sign = true;
+ int[] staNos = new int[3];
+
+ switch (inSta.getStaNo()) {
+ case 113://2F1
+ staNos = new int[]{112,113,114};
+ for (int staNo : staNos){
+ StaProtocol staProtocol = devpThread.getStation().get(staNo);
+ if (!staProtocol.isAutoing() || staProtocol.isLoading() || staProtocol.getWorkNo()>0){
+ sign = false;
+ }
+ }
+ if (sign){
+ if (pakout != null) {
+ if (devpThread.ioModeOf3F != IoModeType.PAKOUT_MODE) {
+
+ // 鍑哄簱鍒囨崲涓�
+// devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING;
+// WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+// if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
+// && !devpThread.getStation().get(inSta.getStaNo()-1).isLoading()
+// && devpThread.getStation().get(inSta.getStaNo()-1).getWorkNo()==0) {
+// // 鍑哄簱妯″紡
+ devpThread.ioModeOf3F = IoModeType.PAKOUT_MODE;
+// }
+ }
+ } else {
+ // 鍏ュ簱妯″紡
+ devpThread.ioModeOf3F = IoModeType.PAKIN_MODE;
+
+ }
+ }
+ break;
+ case 213://2F2
+ staNos = new int[]{212,213,214};
+ for (int staNo : staNos){
+ StaProtocol staProtocol = devpThread.getStation().get(staNo);
+ if (!staProtocol.isAutoing() || staProtocol.isLoading()){
+ sign = false;
+ }
+ }
+ if (sign){
+ if (pakout != null) {
+ if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {
+ // 鍑哄簱鍒囨崲涓�
+// devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING;
+// WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+// if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
+// && !devpThread.getStation().get(inSta.getStaNo()-1).isLoading()
+// && devpThread.getStation().get(inSta.getStaNo()-1).getWorkNo()==0) {
+// // 鍑哄簱妯″紡
+ devpThread.ioModeOf4F = IoModeType.PAKOUT_MODE;
+// }
+ }
+ } else {
+ // 鍏ュ簱妯″紡
+ devpThread.ioModeOf4F = IoModeType.PAKIN_MODE;
+ }
+ }
+ break;
}
}
--
Gitblit v1.9.1