From 3ad8eac4b257e4bfcaef175ec1477758ad71a420 Mon Sep 17 00:00:00 2001
From: TQS <56479841@qq.com>
Date: 星期四, 15 八月 2024 19:57:47 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/Utils.java | 35 +++++++----
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 69 ++++++++++++++++++++--
src/main/resources/application.yml | 26 ++++++--
3 files changed, 104 insertions(+), 26 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 bd49c1f..09879c4 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -213,7 +213,7 @@
// plc 澶勭悊
barcodeThread.setBarcode("");
staProtocol.setWorkNo(dto.getWorkNo().shortValue());
- staProtocol.setStaNo(dto.getStaNo().shortValue());
+ staProtocol.setStaNo(Utils.getStaNoConvertCentreOther3(dto.getStaNo(),inSta.getStaNo()).shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
ledThread.errorReset();
@@ -854,9 +854,33 @@
continue;
}
WrkMast onlyWrkNo = wrkMastMapper.selectByOnlyWrkNo(crnProtocol.getTaskNo().intValue());
+ if (Cools.isEmpty(onlyWrkNo) && (crnStn.getStaNo() == 112 || crnStn.getStaNo() == 212)){
+ // 鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁�
+ if (crnProtocol.modeType == CrnModeType.AUTO
+ && crnProtocol.statusType == CrnStatusType.WAITING
+ && crnProtocol.forkPosType == CrnForkPosType.HOME
+ && crnProtocol.getBay().equals(crnStn.getBay().shortValue()) && crnProtocol.getLevel().equals(crnStn.getLev().shortValue())) {
+ News.info("鍫嗗灈鏈烘帴椹充换鍔″畬鎴愶紝宸ヤ綔鍙凤細"+crnProtocol.getTaskNo()+"锛涙墽琛屽爢鍨涙満鍙凤細"+crnSlave.getId()+"锛涙帴椹虫斁璐т綅锛�"+crnStn.getStaNo()+"锛涙帴椹宠璧扮洰鏍囩珯锛�"+Utils.getStaNoConvertCentreOther2(crnStn.getStaNo()));
+ // 涓嬪彂绔欑偣淇℃伅
+ News.error("new867===>"+crnProtocol.getTaskNo());
+ News.error("new867===>"+Utils.getStaNoConvertCentreOther2(crnStn.getStaNo()).toString());
+ staProtocol.setWorkNo(crnProtocol.getTaskNo());
+ staProtocol.setStaNo(Utils.getStaNoConvertCentreOther2(crnStn.getStaNo()).shortValue());
+ if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) {
+ continue;
+ }
+ // 澶嶄綅鍫嗗灈鏈�
+ crnThread.setResetFlag(true);
+ continue;
+ }
+ }
if (Cools.isEmpty(onlyWrkNo) ||
- (onlyWrkNo.getStaNo()!=114 && onlyWrkNo.getStaNo()!=214 &&
- onlyWrkNo.getSourceStaNo()!=114 && onlyWrkNo.getSourceStaNo()!=214)){
+ ((onlyWrkNo.getStaNo()!=114 && onlyWrkNo.getStaNo()!=214 &&
+ onlyWrkNo.getSourceStaNo()!=114 && onlyWrkNo.getSourceStaNo()!=214)
+ &&
+ (onlyWrkNo.getStaNo()!=113 && onlyWrkNo.getStaNo()!=213 &&
+ onlyWrkNo.getSourceStaNo()!=113 && onlyWrkNo.getSourceStaNo()!=213))
+ ){
continue;
}
// 鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁�
@@ -1031,7 +1055,39 @@
crnCommand.setTaskNo(onlyWrkNo.getWrkNo().shortValue()); // 宸ヤ綔鍙�
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
crnCommand.setCommand((short) 0);
- crnCommand.setTaskMode(CrnTaskModeType.XY_MOVE); // 浠诲姟妯″紡: 绔欎綅杞Щ
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX(Utils.getRow(staProtocol.getSiteId())); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY(Utils.getBay(staProtocol.getSiteId())); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ(Utils.getLev(staProtocol.getSiteId())); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand))) {
+ News.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", slave.getId(), JSON.toJSONString(crnCommand));
+ }
+ return true;
+ }
+ } else if (!Cools.isEmpty(onlyWrkNo) && onlyWrkNo.getCrnNo()==2 && onlyWrkNo.getWrkSts()>16 && crnProtocol.getCrnNo()!=2 && onlyWrkNo.getIoType()>100){
+ // News.error("{}绔欑偣鏌ヨ鏃犲緟鍏ュ簱鏁版嵁 宸ヤ綔鍙�={}", crnStn.getStaNo(), staProtocol.getWorkNo());
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (wrkMastMapper.selectWorking(slave.getId()) != null) {
+ continue;
+ }
+ if (Cools.isEmpty(staProtocol.getWorkNo()) || !staProtocol.isLoading()){
+ continue;
+ }
+ // 鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁�
+ if (crnProtocol.modeType == CrnModeType.AUTO
+ && crnProtocol.statusType == CrnStatusType.IDLE
+ && crnProtocol.forkPosType == CrnForkPosType.HOME) {
+ News.info("鍫嗗灈鏈烘帴椹充换鍔℃墽琛岋紝宸ヤ綔鍙凤細"+staProtocol.getWorkNo()+"锛涙墽琛屽爢鍨涙満鍙凤細"+slave.getId()+"锛涙帴椹冲彇璐т綅锛�"+crnStn.getStaNo()+"锛涙帴椹虫斁璐т綅锛�"+staProtocol.getSiteId());
+ // 鍫嗗灈鏈烘帴椹充换鍔″懡浠や笅鍙戝尯 --------------------------------------------------------------------------
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo(onlyWrkNo.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setCommand((short) 0);
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
@@ -1044,7 +1100,7 @@
return true;
}
}
- continue;
+ continue;
} catch (Exception e){
News.info("鍫嗗灈鏈烘帴椹充换鍔℃墽琛岋紝寮傚父锛�"+e.getMessage());
}
@@ -4108,9 +4164,6 @@
*/
public synchronized void ledReset() {
for (LedSlave led : slaveProperties.getLed()) {
- if (led.getId()>3){
- continue;
- }
// 鑾峰彇杈撻�佺嚎plc绾跨▼
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
// 鍛戒护闆嗗悎
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index d16c27a..dfb0cab 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -224,14 +224,14 @@
*/
public static short getRow(Integer staNo) {
switch (staNo){
- case 108:
- return 4;
- case 208:
- return 18;
- case 112:
+ case 107:
return 3;
- case 212:
+ case 207:
return 19;
+ case 112:
+ return 4;
+ case 212:
+ return 18;
}
throw new RuntimeException("绔欑偣瑙f瀽寮傚父");
}
@@ -241,14 +241,14 @@
*/
public static short getBay(Integer staNo) {
switch (staNo){
- case 108:
- return 5;
- case 208:
- return 5;
- case 112:
+ case 107:
return 2;
- case 212:
+ case 207:
return 6;
+ case 112:
+ return 5;
+ case 212:
+ return 5;
}
throw new RuntimeException("绔欑偣瑙f瀽寮傚父");
}
@@ -274,6 +274,17 @@
}
}
+ public static Integer getStaNoConvertCentreOther3(Integer staNo,Integer staNoS){//鏀捐揣涓鸿幏鍙栬璧扮洰鏍囦綅
+ switch (staNoS){
+ case 113:
+ return 112;
+ case 213:
+ return 212;
+ default:
+ return staNo;
+ }
+ }
+
/**
* 閫氳繃鎺掑垪灞傛嫾鎺ュ嚭搴撲綅鍙�
*/
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 8c9d61f..95e5285 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -63,6 +63,13 @@
row: 4
bay: 4
lev: 1
+ # 鍫嗗灈鏈哄叆搴撶珯鐐�
+ crnInStn[1]:
+ devpPlcId: ${wcs-slave.devp[1].id}
+ staNo: 112
+ row: 3
+ bay: 2
+ lev: 1
# 鍫嗗灈鏈哄嚭搴撶珯鐐�
crnOutStn[0]:
devpPlcId: ${wcs-slave.devp[0].id}
@@ -131,6 +138,13 @@
staNo: 207
row: 18
bay: 4
+ lev: 1
+ # 鍫嗗灈鏈哄叆搴撶珯鐐�
+ crnInStn[1]:
+ devpPlcId: ${wcs-slave.devp[2].id}
+ staNo: 212
+ row: 19
+ bay: 6
lev: 1
# 鍫嗗灈鏈哄嚭搴撶珯鐐�
crnOutStn[0]:
@@ -226,7 +240,7 @@
inSta[0]:
staNo: 113
barcode: ${wcs-slave.barcode[2].id}
- backSta: 100
+ backSta: 114
led: ${wcs-slave.led[2].id}
# 绌烘澘鍏ュ簱鍙�1
emptyInSta[0]:
@@ -246,7 +260,7 @@
inSta[0]:
staNo: 213
barcode: ${wcs-slave.barcode[3].id}
- backSta: 100
+ backSta: 214
led: ${wcs-slave.led[3].id}
# 绌烘澘鍏ュ簱鍙�1
emptyInSta[0]:
@@ -301,14 +315,14 @@
# LED4
led[3]:
id: 4
- ip: 10.10.10.207
+ ip: 10.10.10.208
port: 5005
devpPlcId: ${wcs-slave.devp[1].id}
- staArr: 200
+ staArr: 114
# LED5
led[4]:
id: 5
- ip: 10.10.10.207
+ ip: 10.10.10.209
port: 5005
devpPlcId: ${wcs-slave.devp[2].id}
- staArr: 200
+ staArr: 214
--
Gitblit v1.9.1