From 507397970e1186f9b7c10c8252168ebc7fb7b38b Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期日, 13 七月 2025 16:00:01 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/core/thread/RgvThread.java | 67 +++++++++++++++++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 2
2 files changed, 68 insertions(+), 1 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 a4ac528..8f5f962 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -5008,7 +5008,7 @@
rgvCommand.setTaskMode2(RgvTaskModeType.X_MOVE); // 宸ヤ綅2浠诲姟妯″紡: 鍥炲師鐐�
rgvCommand.setSourceStaNo2((short)121);
rgvCommand.setCommand((short) 2); //宸ヤ綅2浠诲姟纭
- if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(8, rgvCommand))) {
+ if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(10, rgvCommand))) {
//step=2,宸ヤ綅1銆�2鍐欎换鍔★紱 step=4锛屽伐浣�1鍐欎换鍔★紱 step=5锛屽伐浣�2鍐欎换鍔� step=9锛屽洖鍘熺偣 9999浠诲姟鍙�
log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
return false;
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 6f98c45..34d8055 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -184,6 +184,10 @@
commandAvoidanceXY.setCommand((short)0);
write(commandAvoidanceXY);
break;
+ // 宸ヤ綅1瀹屾垚銆�2鍐欏叆鏁版嵁
+ case 10:
+ write10((RgvCommand) task.getData());
+ break;
default:
break;
}
@@ -432,6 +436,69 @@
}
}
+
+ /**
+ * 宸ヤ綅1瀹屾垚銆�2鍚屾椂鍐欏叆鏁版嵁
+ */
+ private boolean write10(RgvCommand command) throws InterruptedException {
+ if (null == command) {
+ log.error("RGV鍐欏叆鍛戒护涓虹┖");
+ return false;
+ }
+// convertRow(command);
+ command.setRgvNo(slave.getId());
+ short[] array = new short[11];
+ array[0] = command.getAckFinish1();
+ array[1] = command.getTaskNo1();
+ array[2] = command.getTaskMode1();
+ array[3] = command.getSourceStaNo1();
+ array[4] = command.getDestinationStaNo1();
+ array[5] = command.getAckFinish2();
+ array[6] = command.getTaskNo2();
+ array[7] = command.getTaskMode2();
+ array[8] = command.getSourceStaNo2();
+ array[9] = command.getDestinationStaNo2();
+ array[10] = command.getCommand();
+ OperateResult result = siemensNet.Write("DB100.0", array);
+
+ if (command.getAckFinish2() == 0) {
+ short commandFinish = 2; //宸ヤ綅2浠诲姟鍚屾椂鍐欏叆
+ Thread.sleep(100L);
+ result = siemensNet.Write("DB100.20", commandFinish);
+ }
+
+ try {
+ // 鏃ュ織璁板綍
+ BasRgvOptService bean = SpringUtils.getBean(BasRgvOptService.class);
+ BasRgvOpt basRgvOpt = new BasRgvOpt(
+ command.getTaskNo1().intValue(),
+ command.getTaskNo2().intValue(),
+ command.getRgvNo(),
+ new Date(),
+ command.getTaskModeType1().toString(),
+ command.getSourceStaNo1().intValue(),
+ command.getDestinationStaNo1().intValue(),
+ command.getSourceStaNo2().intValue(),
+ command.getDestinationStaNo2().intValue(),
+ null,
+ new Date(),
+ null
+ );
+ bean.insert(basRgvOpt);
+ } catch (Exception ignore) {}
+
+ if (result != null && result.IsSuccess) {
+ Thread.sleep(200);
+ this.readStatus();
+ log.info("RGV 鍛戒护涓嬪彂[id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
+ OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
+ return true;
+ } else {
+ OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆戝啓鍏GV plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+ log.error("鍐欏叆RGV plc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+ return false;
+ }
+ }
/**
* 宸ヤ綅1鍐欏叆鏁版嵁
*/
--
Gitblit v1.9.1