From c3f35481f4f5b3951c17c3e53cbc855473c07a91 Mon Sep 17 00:00:00 2001
From: whycq <123456>
Date: 星期二, 30 一月 2024 17:19:02 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 4
src/main/java/com/zy/core/enums/CrnStatusType.java | 12 ++--
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 4
src/main/java/com/zy/asrs/controller/CrnController.java | 1
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 103 ++++------------------------------
5 files changed, 23 insertions(+), 101 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index c2d5639..536ec75 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -413,6 +413,7 @@
command.setDestinationPosZ(param.getRow()); // 鐩爣搴撲綅鎺�
command.setDestinationPosX(param.getBay()); // 鐩爣搴撲綅鍒�
command.setDestinationPosY(param.getLev()); // 鐩爣搴撲綅灞�
+ command.setCommand((short)1);
return crnControl(command)?R.ok():R.error();
}
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 0b0eabe..c04c792 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -753,8 +753,8 @@
if (crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.getTaskNo() != 0) {
//鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crn.getId(),crnProtocol.getTaskNo().intValue());
- if (Cools.isEmpty(taskWrk)) {
-// log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
+ if (Cools.isEmpty(taskWrk)&&crnProtocol.getTaskNo() !=999) {
+ log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
continue;
}
diff --git a/src/main/java/com/zy/core/enums/CrnStatusType.java b/src/main/java/com/zy/core/enums/CrnStatusType.java
index d3f7f94..87c6e53 100644
--- a/src/main/java/com/zy/core/enums/CrnStatusType.java
+++ b/src/main/java/com/zy/core/enums/CrnStatusType.java
@@ -20,12 +20,12 @@
IDLE(0, "绌洪棽锛屾棤浠诲姟"),
NONE_MOVING(1, "鍙栬揣瀹氫綅"),
- FETCHING(2, "鍙栬揣涓�"),
- MOVING(3, "鍙栬揣瀹屾垚锛屾斁璐у畾浣嶄腑"),
- PUTTING(4, "鏀捐揣涓�"),
- HOMING(5, "鍥炲師鐐�"),
- ANTI_ORIGIN(6, "鍙嶅師鐐�"),
- PUT_COMPLETE(7, "搴撲綅绉昏浇"),
+ FETCHING(2, "鍙栬揣绛夊緟"),
+ MOVING(3, "鍙栬揣涓�"),
+ PUTTING(4, "鏀捐揣璧拌"),
+ HOMING(5, "鏀捐揣绛夊緟"),
+ ANTI_ORIGIN(6, "鏀捐揣涓�"),
+ PUT_COMPLETE(7, "鍥炲師鐐�"),
// MOVE_THE_SHIPPING_LOCATION(8, "绉诲姩鍒版斁璐т綅缃�"),
// PUTTING(9, "鏀捐揣涓�"),
HANDLING_COMPLETED(10, "鎼繍瀹屾垚绛夊緟WCS纭"),
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 3bd2c0a..50e4cb8 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -336,7 +336,7 @@
// crnCommand.setDestinationStaNo(command.getDestinationStaNo());
crnCommand.setCommand(command.getCommand());
if (command.getTaskNo() == 0 && command.getAckFinish() == 0 && command.getAuto() != 1) {
- command.setTaskNo((short) 9999);
+ command.setTaskNo((short) 999);
}
command.setCrnNo(slave.getId());
@@ -454,7 +454,7 @@
// crnCommand.setDestinationStaNo(command.getDestinationStaNo());
crnCommand.setCommand(command.getCommand());
if (command.getTaskNo() == 0 && command.getAckFinish() == 0 && command.getAuto() != 1) {
- command.setTaskNo((short) 9999);
+ command.setTaskNo((short) 999);
}
command.setCrnNo(slave.getId());
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index d92ca90b..0570905 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -364,100 +364,21 @@
int writeCount = 0;
//浠诲姟涓嬪彂鎴愬姛鏍囪瘑
boolean writeFlag = false;
- while(writeCount < 5){
- writeResult = siemensS7Net.Write("DB100." + index*4, array); // 宸ヤ綔鍙枫�佺洰鏍囩珯
-
- if(writeResult.IsSuccess){
- Thread.sleep(200);
- OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index*4, (short)4);
- if(readResult.IsSuccess){
- short workNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0);
- short staNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 2);
- if(staProtocol.getWorkNo().equals(workNo) && staProtocol.getStaNo().equals(staNo)){
- //浠诲姟鍛戒护鍐欏叆鎴愬姛
- writeFlag = true;
- log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
-
- Date now = new Date();
-
- //鏇存柊鎸囦护鐘舵��
- commandInfo.setCommandStatus(CommandStatusType.COMPLETE.id);//杈撻�佺嚎鐩存帴瀹屾垚鐘舵��
- commandInfo.setExecuteTime(now);
- commandInfo.setCompleteTime(now);
- commandInfoService.updateById(commandInfo);
-
- //鏇存柊鎸囦护鏃ュ織
- commandInfoLog.setDeviceLog("鎸囦护涓嬪彂鎴愬姛");
- commandInfoLog.setCommandStatus(CommandStatusType.COMPLETE.id);//杈撻�佺嚎鐩存帴瀹屾垚鐘舵��
- commandInfoLog.setExecuteTime(now);
- commandInfoLog.setCompleteTime(now);
- commandInfoLogService.insert(commandInfoLog);
-
- //鏇存柊浠诲姟姝ュ簭
- TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
- TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo().intValue());
- if (taskWrk != null) {
- taskWrk.setCommandStep(taskWrk.getCommandStep() + 1);//鏇存柊鎸囦护姝ュ簭
- taskWrkService.updateById(taskWrk);
- }
-
- break;
- } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓
- writeCount++;
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
- slave.getId(), JSON.toJSON(staProtocol),writeCount));
- log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
- //鏇存柊鎸囦护鏃ュ織
- commandInfoLog.setDeviceLog("鎸囦护涓嬪彂澶辫触");
- commandInfoLogService.insert(commandInfoLog);
- }
- } else {
- writeCount++;
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
- slave.getId(), JSON.toJSON(staProtocol), writeCount));
- log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
-
- //鏇存柊鎸囦护鏃ュ織
- commandInfoLog.setDeviceLog("鎸囦护涓嬪彂澶辫触");
- commandInfoLogService.insert(commandInfoLog);
- }
- } else {
- writeCount++;
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
- slave.getId(), JSON.toJSON(staProtocol),writeCount));
- log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
-
- //鏇存柊鎸囦护鏃ュ織
- commandInfoLog.setDeviceLog("鎸囦护涓嬪彂澶辫触");
- commandInfoLogService.insert(commandInfoLog);
- }
- Thread.sleep(200);
- }
-
- //鍐欏懡浠ゅ皾璇曚簡5娆¤繕鏄け璐ヤ簡
- if(!writeFlag){
- staProtocol = station.get(staProtocol.getSiteId());
- if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) {
- staProtocol.setPakMk(true);
- }
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护灏濊瘯5娆″け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol)));
- log.error("鍐欏叆杈撻�佺嚎鍛戒护灏濊瘯5娆″け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
-
- //閲嶆柊娣诲姞鏁版嵁鍒颁换鍔¢槦鍒�
- boolean result = MessageQueue.offer(SlaveType.Devp, slave.getId(), new Task(2, staProtocol));
- read();//璇诲彇1娆¤澶囩姸鎬�
- return;
- } else {
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂鎴愬姛 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
- //log.info("杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂鎴愬姛锛� {}", slave.getId(), JSON.toJSON(staProtocol));
-
- Integer siteId = staProtocol.getSiteId();
- staProtocol = station.get(siteId);
- if ((siteId == 101 || siteId == 201)&&(staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0)) {
- staProtocol.setPakMk(true);
+ OperateResult writeResult1 = siemensS7Net.Write("DB100." + index*6, (int) staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+ OperateResult writeResult2 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo()); // 鐩爣绔�
+ if(writeResult1.IsSuccess&&writeResult2.IsSuccess){
+ //鏇存柊浠诲姟姝ュ簭
+ TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
+ TaskWrk taskWrk = taskWrkService.selectByWrkNo((int) staProtocol.getWorkNo());
+ if (taskWrk != null) {
+ taskWrk.setCommandStep(taskWrk.getCommandStep() + 1);//鏇存柊鎸囦护姝ュ簭
+ taskWrkService.updateById(taskWrk);
+ }else{
+ log.error("杈撻�佺嚎鍐欏叆澶辫触"+staProtocol+"++++++++++++++++++++++++++++++++++++++");
}
}
+
}
private void write2(StaProtocol staProtocol) throws InterruptedException {
if (null == staProtocol) {
--
Gitblit v1.9.1