From e4376621b9f87629004ffca35067e8dd75970a37 Mon Sep 17 00:00:00 2001
From: lsh <lsh>
Date: 星期五, 17 五月 2024 13:35:55 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/RgvController.java | 41 ++++++++++++++++++++
src/main/java/com/zy/core/thread/SiemensRgvThread.java | 44 ++++++++++++++++++++++
src/main/webapp/views/deviceOperate/rgvOperate.html | 5 ++
3 files changed, 88 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index ecaf5ff..97112ee 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -294,6 +294,12 @@
return rgvFetchSingleStepPut(param,3)?R.ok():R.error();
}
+ @ManagerAuth(memo = "鍙栨斁")
+ @PostMapping("/operator/single/step/four/put")
+ public R rgvFetchSingleStepFourPut(RgvOperatorParam param){
+ return rgvFetchSingleStepPut(param,4)?R.ok():R.error();
+ }
+
public boolean rgvFetchSingleStepPut(RgvOperatorParam param ,Integer type){
wrkNo++;
RgvCommand command = new RgvCommand();
@@ -309,6 +315,9 @@
break;
case 3:
fetchPut = RgvTaskModeType.X_MOVE;
+ break;
+ case 4:
+ fetchPut = RgvTaskModeType.FETCH_PUT;
break;
default:
return false;
@@ -326,7 +335,7 @@
// command.setDestinationStaNo2(param.getStaNo2()); // 鐩爣绔�
command.setCommand((short) 0);
- return rgvControl(command);
+ return rgvControlD(command);
}
@@ -611,4 +620,34 @@
return false;
}
+ private boolean rgvControlD(RgvCommand command){
+ if (command.getRgvNo() == null) {
+ throw new CoolException("璇烽�夋嫨RGV");
+ }
+ for (RgvSlave rgv : slaveProperties.getRgv()) {
+ // 鑾峰彇RGV淇℃伅
+ if (command.getRgvNo().equals(rgv.getId())) {
+// SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+// if (rgvThread == null) {
+// throw new CoolException("RGV涓嶅湪绾�");
+// }
+// RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+// if (rgvProtocol == null) {
+// throw new CoolException("RGV涓嶅湪绾�");
+// }
+ try{
+ if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(11, command))) {
+ return true;
+ } else {
+ throw new CoolException("鍛戒护涓嬪彂澶辫触");
+ }
+ }catch (Exception e){
+ log.error("鍗曟浠诲姟涓嬪彂澶辫触锛屽紓甯革細"+e);
+ throw new CoolException("鍛戒护涓嬪彂澶辫触");
+ }
+ }
+ }
+ return false;
+ }
+
}
\ No newline at end of file
diff --git a/src/main/java/com/zy/core/thread/SiemensRgvThread.java b/src/main/java/com/zy/core/thread/SiemensRgvThread.java
index 287f1bb..eef97a6 100644
--- a/src/main/java/com/zy/core/thread/SiemensRgvThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensRgvThread.java
@@ -118,6 +118,10 @@
case 10:
write10((String) task.getData());
break;
+ //鍗曟満鍐欏叆鏁版嵁
+ case 11:
+ write11((RgvCommand) task.getData());
+ break;
default:
break;
}
@@ -484,6 +488,46 @@
}
}
+ //鍗曟浠诲姟
+ private boolean write11(RgvCommand command) throws InterruptedException {
+ if (null == command) {
+ log.error("RGV鍐欏叆鍛戒护涓虹┖");
+ return false;
+ }
+ String status = "";
+ command.setRgvNo(slave.getId());
+ short[] array = new short[2];
+ array[0] = command.getSourceStaNo2();
+ array[1] = command.getDestinationStaNo2();
+
+ OperateResult result = siemensNet.Write("DB19.0", array);
+ if (command.getTaskMode1().equals(RgvTaskModeType.FETCH)){
+ status = "4.1";
+ } else if (command.getTaskMode1().equals(RgvTaskModeType.PUT)){
+ status = "4.2";
+ } else if (command.getTaskMode1().equals(RgvTaskModeType.X_MOVE)){
+ status = "4.0";
+ } else if (command.getTaskMode1().equals(RgvTaskModeType.FETCH_PUT)){
+ status = "4.3";
+ } else {
+ OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆戝啓鍏GV plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}] [DB鍧楋細{4}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), "DB19."+status));
+ log.error("鍐欏叆RGV plc鏁版嵁澶辫触 鏈煡浠诲姟绫诲瀷 ===>> [id:{}] [ip:{}] [port:{}] [DB鍧楋細{4}]", slave.getId(), slave.getIp(), slave.getPort(), "DB19."+status);
+ return false;
+ }
+ OperateResult result1 = siemensNet.Write("DB19."+status, true);
+ if (result != null && result.IsSuccess && result1 != null && result1.IsSuccess) {
+ Thread.sleep(200);
+ this.readStatus();
+ log.info("RGV 鍛戒护涓嬪彂[id:{}] >>>>> {}", slave.getId(), JSON.toJSON("DB19."+status));
+ OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), "DB19."+status));
+ return true;
+ } else {
+ OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆戝啓鍏GV plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}] [DB鍧楋細{4}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), "DB19."+status));
+ log.error("鍐欏叆RGV plc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}] [DB鍧楋細{4}]", slave.getId(), slave.getIp(), slave.getPort(), "DB19."+status);
+ return false;
+ }
+ }
+
@Override
public void close() {
siemensNet.ConnectClose();
diff --git a/src/main/webapp/views/deviceOperate/rgvOperate.html b/src/main/webapp/views/deviceOperate/rgvOperate.html
index d431789..01f2001 100644
--- a/src/main/webapp/views/deviceOperate/rgvOperate.html
+++ b/src/main/webapp/views/deviceOperate/rgvOperate.html
@@ -64,7 +64,8 @@
<el-form-item label="鍚姩">
<el-button @click="initiateD(1)" type="warning">鍙栬揣</el-button>
<el-button @click="initiateD(2)" type="warning">鏀捐揣</el-button>
- <el-button @click="initiateD(3)" type="warning">XY绉诲姩</el-button>
+ <el-button @click="initiateD(3)" type="warning">X绉诲姩</el-button>
+ <el-button @click="initiateD(4)" type="warning">鎼繍</el-button>
</el-form-item>
</el-form>
</div>
@@ -346,6 +347,8 @@
urlS = "/rgv/operator/single/step/two/put";
}else if (method === 3){
urlS = "/rgv/operator/single/step/three/put";
+ }else if (method === 4){
+ urlS = "/rgv/operator/single/step/four/put";
}
let that = this
that.$confirm('姝ゆ搷浣滃瓨鍦ㄩ闄╋紝鏄惁缁х画','鎻愮ず',{
--
Gitblit v1.9.1