From 4258c90146916435bdc34492cb9d1dbd7fac82d4 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 05 一月 2022 15:38:23 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/enums/CrnTaskModeType.java    |    9 ++++++---
 src/main/java/com/zy/core/model/command/CrnCommand.java |    3 +++
 src/main/java/com/zy/core/thread/CrnThread.java         |   47 +++++++++++++++++++++++++++++++++--------------
 3 files changed, 42 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/core/enums/CrnTaskModeType.java b/src/main/java/com/zy/core/enums/CrnTaskModeType.java
index 968c075..be4761d 100644
--- a/src/main/java/com/zy/core/enums/CrnTaskModeType.java
+++ b/src/main/java/com/zy/core/enums/CrnTaskModeType.java
@@ -6,9 +6,12 @@
     PAKIN(1),    // 鍏ュ簱
     PAKOUT(2),    // 鍑哄簱
     LOC_MOVE(3),    // 搴撲綅绉昏浆
-    SITE_MOVE(4),    // 绔欎綅绉昏浆
-    GO_ORIGIN(5),    // 鍥炲師鐐�
-    CLEAR(7),       // 娓呴敊
+    X_MOVE(4),    // 绔欎綅绉昏浆
+    Y_MOVE(5),    // 绔欎綅绉昏浆
+    XY_MOVE(6),    // 绔欎綅绉昏浆
+    GO_ORIGIN(7),    // 鍥炲師鐐�
+    BACK_ORIGIN(8),      // 鍥炲弽鍘熺偣
+    CLEAR(9),       // 娓呴敊
     ;
 
     public Integer id;
diff --git a/src/main/java/com/zy/core/model/command/CrnCommand.java b/src/main/java/com/zy/core/model/command/CrnCommand.java
index f50cc2e..c777ecb 100644
--- a/src/main/java/com/zy/core/model/command/CrnCommand.java
+++ b/src/main/java/com/zy/core/model/command/CrnCommand.java
@@ -71,6 +71,9 @@
     // 鐩爣宸烽亾
     private Short destinationLane = 0;
 
+    // 浠诲姟纭 0锛氭湭纭 1锛氬凡纭
+    private Short command = 0;
+
     public void setTaskMode(Short taskMode){
         this.taskMode = taskMode;
         this.taskModeType = CrnTaskModeType.get(taskModeType);
diff --git a/src/main/java/com/zy/core/thread/CrnThread.java b/src/main/java/com/zy/core/thread/CrnThread.java
index cbe3d17..dd6d4f9 100644
--- a/src/main/java/com/zy/core/thread/CrnThread.java
+++ b/src/main/java/com/zy/core/thread/CrnThread.java
@@ -148,7 +148,9 @@
                 if (crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
                     log.error("-------------------------------------------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}][宸ヤ綔鍙凤細{}]==>> 鐘舵�佷负90锛岀瓑寰呯‘璁わ紒锛�",slave.getId(),crnProtocol.getTaskNo());
                     if (resetFlag) {
-                        if (melsecMcNet.Write("D2218", (short) 1).IsSuccess) {
+                        CrnCommand crnCommand = new CrnCommand();
+                        crnCommand.setAckFinish((short)1);
+                        if (write(crnCommand)) {
                             resetFlag = false;
                         }
                     }
@@ -178,23 +180,39 @@
     /**
      * 鍐欏叆鏁版嵁
      */
-    private void write(CrnCommand command){
+    private boolean write(CrnCommand command){
         if (null == command) {
             log.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
-            return;
+            return false;
         }
         command.setCrnNo(slave.getId());
         short[] array = new short[10];
-        array[0] = command.getStatus();
-        array[1] = command.getSourceRow(); // 鎺�
-        array[2] = command.getSourceBay(); // 鍒�
-        array[3] = command.getSourceLev(); // 灞�
-        array[4] = command.getSourceSta(); // 绔欏彿
-        array[5] = command.getDestinationPosRow(); // 鎺�
-        array[6] = command.getDestinationPosBay(); // 鍒�
-        array[7] = command.getDestinationPosLev(); // 灞�
-        array[8] = command.getDestinationSta();  // 鐩爣浣嶇疆绔欏彿
-        OperateResult result = melsecMcNet.Write("100", array);
+
+        OperateResult result;
+        if (command.getAckFinish() == 0) {
+            array[0] = command.getAckFinish();
+            array[1] = command.getTaskNo();
+            array[2] = command.getTaskMode();
+            array[3] = command.getSourcePosX();
+            array[4] = command.getSourcePosY();
+            array[5] = command.getSourcePosZ();
+            array[6] = command.getDestinationPosX();
+            array[7] = command.getDestinationPosY();
+            array[8] = command.getDestinationPosZ();
+            array[9] = command.getCommand();
+            result = melsecMcNet.Write("D0", array);
+
+            short[] array0 = new short[1];
+            array0[0] = 1;
+            result = melsecMcNet.Write("D9", array);
+
+        } else {
+
+        }
+
+
+
+
 
         try {
             // 鏃ュ織璁板綍
@@ -222,11 +240,12 @@
         if (result.IsSuccess) {
             log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
             OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
+            return true;
         } else {
             OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ爢鍨涙満plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
             log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+            return false;
         }
-
     }
 
     @Override

--
Gitblit v1.9.1