From d3f3d4b309cfb285fcbbc48b91c4046111c7e9cd Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 02 七月 2025 13:45:54 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/SiemensRgvThread.java |  112 +++++++++++++++++++++++++++++---------------------------
 1 files changed, 58 insertions(+), 54 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/SiemensRgvThread.java b/src/main/java/com/zy/core/thread/SiemensRgvThread.java
index f77c5a8..d380f7e 100644
--- a/src/main/java/com/zy/core/thread/SiemensRgvThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensRgvThread.java
@@ -9,8 +9,10 @@
 import com.core.common.SpringUtils;
 import com.zy.asrs.entity.BasRgv;
 
+import com.zy.asrs.service.BasRgvErrService;
 import com.zy.asrs.service.BasRgvService;
 
+import com.zy.common.utils.News;
 import com.zy.core.RgvThread;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
@@ -23,6 +25,7 @@
 import com.zy.core.model.protocol.RgvProtocol;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.formula.functions.T;
 
 import java.text.MessageFormat;
 import java.util.Date;
@@ -67,9 +70,9 @@
                         readStatus();
                         break;
 //                    // 宸ヤ綅1銆�2鍐欏叆鏁版嵁
-//                    case 2:
-//                        write((RgvCommand) task.getData());
-//                        break;
+                    case 2:
+                        write((RgvCommand) task.getData());
+                        break;
                     //宸ヤ綅1鍐欏叆鏁版嵁
                     case 4:
                         write1((RgvCommand) task.getData());
@@ -135,9 +138,9 @@
         rgvProtocol.setStatus((short)-1);
         rgvProtocol.setTaskNo1((short)0);
         rgvProtocol.setStatus1((short)-1);
-        rgvProtocol.setLoaded1((short)0);
+        rgvProtocol.setLoaded1(false);
         rgvProtocol.setWalkPos((short)0);
-        rgvProtocol.setRgvPos((short)0);
+        rgvProtocol.setRgvPos(0);
 //        rgvProtocol.setTaskNo2((short)0);
 //        rgvProtocol.setStatus2((short)-1);
 //        rgvProtocol.setLoaded2((short)0);
@@ -145,6 +148,8 @@
         rgvProtocol.setxSpeed((short) 0);
         rgvProtocol.setxDistance((short) 0);
         rgvProtocol.setxDuration((short) 0);
+        rgvProtocol.setSouSta((short)0);
+        rgvProtocol.setEndSta((short)0);
     }
 
     @Override
@@ -172,46 +177,42 @@
      */
     private void readStatus(){
         try {
-            OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 30);
+            OperateResultExOne<byte[]> result = siemensNet.Read("DB100.0", (short) 18);
             if (result.IsSuccess) {
                 if (null == rgvProtocol || rgvProtocol.getRgvNo() == null) {
                     rgvProtocol = new RgvProtocol();
                     rgvProtocol.setRgvNo(slave.getId());
                 }
                 rgvProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 0));
-                rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 2));
-                rgvProtocol.setTaskNo1(siemensNet.getByteTransform().TransInt16(result.Content, 4));
-                rgvProtocol.setStatus1(siemensNet.getByteTransform().TransInt16(result.Content, 6));
-                rgvProtocol.setLoaded1(siemensNet.getByteTransform().TransInt16(result.Content, 8));
-                rgvProtocol.setRgvPos(siemensNet.getByteTransform().TransInt16(result.Content, 10));
-                rgvProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 12));
-                rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 14));
-//                rgvProtocol.setStatus2(siemensNet.getByteTransform().TransInt16(result.Content, 16));
-                rgvProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 18));
-//                rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 20));
-                rgvProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 22));
-//                rgvProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 24));
-                rgvProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 26));
-//                rgvProtocol.setTemp3(siemensNet.getByteTransform().TransInt16(result.Content, 28));
-//                rgvProtocol.setTemp4(siemensNet.getByteTransform().TransInt16(result.Content, 30));
-//                rgvProtocol.setTemp5(siemensNet.getByteTransform().TransInt16(result.Content, 32));
-//                rgvProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28));
-//                rgvProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40));
-//                rgvProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48));
+                rgvProtocol.setSouSta(siemensNet.getByteTransform().TransInt16(result.Content, 2));
+                rgvProtocol.setEndSta(siemensNet.getByteTransform().TransInt16(result.Content, 4));
+                rgvProtocol.setTaskNo1(siemensNet.getByteTransform().TransInt16(result.Content, 6));
+                rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 8));
+                rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 10));
+                rgvProtocol.setSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 12));
+                rgvProtocol.setRgvPos(siemensNet.getByteTransform().TransInt32(result.Content, 14));
+//                rgvProtocol.setLoaded1(siemensNet.getByteTransform().TransBool(result.Content,18));
+
 
                 OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
+                if (rgvProtocol.getAlarm() > 0 ){
+                    BasRgvErrService basRgvErrService = SpringUtils.getBean(BasRgvErrService.class);
+                    News.errorNoLog("RGV 寮傚父 ===>> [id:{}] [ip:{}],鎶ヨ浠g爜:{},鎶ヨ鏂囨湰:{}",slave.getId(), slave.getIp(),rgvProtocol.getAlarm(),basRgvErrService.selectById(rgvProtocol.getAlarm()).getErrName());
+                }else {
+                    News.infoNoLog("RGV鐘舵�佹甯�==>[id:{}]",slave.getId());
+                }
 
                 // 宸ヤ綅1澶嶄綅淇″彿
-                if (rgvProtocol.getStatusType1().equals(RgvStatusType.WAITING)
-                        || rgvProtocol.getStatusType1().equals(RgvStatusType.FETCHWAITING)) {
-                    if (resetFlag1) {
-                        RgvCommand rgvCommand = new RgvCommand();
-                        rgvCommand.setAckFinish1((short)1);
-                        if (write(rgvCommand)) {
-                            resetFlag1 = false;
-                        }
-                    }
-                }
+//                if (rgvProtocol.getStatusType1().equals(RgvStatusType.WAITING)
+//                        || rgvProtocol.getStatusType1().equals(RgvStatusType.FETCHWAITING)) {
+//                    if (resetFlag1) {
+//                        RgvCommand rgvCommand = new RgvCommand();
+//                        rgvCommand.setAckFinish1((short)1);
+//                        if (write(rgvCommand)) {
+//                            resetFlag1 = false;
+//                        }
+//                    }
+//                }
 
                 // 宸ヤ綅2澶嶄綅淇″彿
 //                if (rgvProtocol.getStatusType2().equals(RgvStatusType.WAITING)
@@ -260,25 +261,28 @@
             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[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);
+        OperateResult result = new OperateResult();
+        boolean[] array = new boolean[1];
+        array[0] = true;
+        if (command.isAuto()){
+            result = siemensNet.Write("DB99.0.0", true);
+        } else if (command.isRestoreTask()) {
+            result = siemensNet.Write("DB99.0.1", true);
+        }
+        else if (command.isCompTask()) {
+            result = siemensNet.Write("DB99.0.2", true);
+        }
+        else if (command.isStop()) {
+            result = siemensNet.Write("DB99.0.3", true);
+        }
+        else if (command.isReset()) {
+            siemensNet.Write("DB99.0.3", false);
+            Thread.sleep(100);
+            result = siemensNet.Write("DB99.0.4", true);
+        }
+        else if (command.isNoStop()) {
+            result = siemensNet.Write("DB99.0.3", false);
+        }
 
 //        if (command.getAckFinish1() == 0 && command.getAckFinish2() == 0) {
 //            short commandFinish = 3;  //宸ヤ綅1銆�2浠诲姟鍚屾椂鍐欏叆

--
Gitblit v1.9.1