From e47fb4b03ccdb0eee776814826a61ae4014454cd Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 09 六月 2025 19:38:35 +0800
Subject: [PATCH] 部署服务器

---
 src/main/java/com/zy/core/thread/RgvThread.java                   |   12 +--
 src/main/java/com/zy/asrs/controller/RgvController.java           |   11 ++-
 src/main/java/com/zy/asrs/utils/Utils.java                        |   27 +++------
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java       |   42 +++++++------
 src/main/java/com/zy/core/MainProcess.java                        |   10 +--
 src/main/resources/license.lic                                    |    0 
 src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java |    6 +
 src/main/resources/application.yml                                |   16 ++--
 8 files changed, 58 insertions(+), 66 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 2bc391d..8e951c1 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -7,7 +7,8 @@
 import com.core.exception.CoolException;
 import com.zy.asrs.domain.enums.RgvStatusType;
 import com.zy.asrs.domain.param.*;
-import com.zy.asrs.domain.vo.*;
+import com.zy.asrs.domain.vo.RgvMsgTableVo;
+import com.zy.asrs.domain.vo.RgvStateTableVo;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.mapper.BasRgvErrMapper;
 import com.zy.asrs.service.BasCircularShuttleService;
@@ -15,7 +16,6 @@
 import com.zy.asrs.service.BasRgvService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.asrs.service.impl.MainServiceImpl;
-import com.zy.asrs.utils.NumUtils;
 import com.zy.asrs.utils.Utils;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
@@ -39,8 +39,9 @@
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.rmi.CORBA.Util;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 /**
  * RGV鎺ュ彛
@@ -429,7 +430,7 @@
 //    @ManagerAuth(memo = "浣滀笟淇℃伅")
     public R ringThroughTaskWrkMast(){
         List<RgvWrkMastParam> result = new ArrayList<>();
-        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<>());
+        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts",9,10));
         for (WrkMast wrkMast : wrkMasts){
             RgvWrkMastParam rgvWrkMastParam = new RgvWrkMastParam(wrkMast);
             if (Cools.isEmpty(rgvWrkMastParam.getRgvNo())){
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 143e3a4..2d3ea4a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -98,7 +98,7 @@
      */
     public synchronized void updateStePositionNearby() {
         try {
-            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 2L));
+            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 9L).eq("rgv_no",0));
             if (wrkMasts.isEmpty()) {
                 return;
             }
@@ -225,7 +225,7 @@
      */
     public synchronized void DevpTaskNoRun() {
         try {
-            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("rgv_no", 0).orderBy("modi_time", true));
+            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("rgv_no", 0).eq("wrk_sts",9).orderBy("modi_time", true));
             if (wrkMasts.isEmpty()) {
                 return;
             }
@@ -259,7 +259,7 @@
             List<WrkMast> wrkMastlistA = new ArrayList<>();
             List<WrkMast> wrkMastlistB = new ArrayList<>();
             for (BasDevpPosition basDevpPosition : basDevpPositionsListUN) {
-                List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("sta_no", basDevpPosition.getDevNo()).eq("rgv_no", 0).orderBy("modi_time", true));
+                List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("rgv_ssta_no", basDevpPosition.getDevNo()).eq("rgv_no", 0).orderBy("modi_time", true));
                 for (WrkMast wrkMast : wrkMastList) {
                     if (!Cools.isEmpty(wrkMast)) {
                         if (SortTheExecutionOfTheCarUtil.devpNoSortbj(basDevpPositionsListUN, wrkMast.getSourceStaNo(), wrkMast.getStaNo())) {
@@ -300,7 +300,7 @@
                         continue;
                     }
 
-                    List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("rgv_no", rgvProtocol.getRgvNo()));
+                    List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("rgv_no", rgvProtocol.getRgvNo()).eq("wrk_sts",9));
                     if (!wrkMasts.isEmpty()) {
                         continue;
                     }
@@ -308,11 +308,11 @@
                             && (rgvProtocol.getStatusType() == RgvStatusType.IDLE || rgvProtocol.getStatusType() == RgvStatusType.ROAM)
                             && rgvProtocol.getTaskNo1() == 0
                             && rgvProtocol.getAlarm() == 0) {
-                        if (rgvProtocol.getStatusType() == RgvStatusType.ROAM) {
-                            double finalVelocity = 0.0;     // 鏈�缁堥�熷害 (m/s)
-                            double distance = (Math.pow(finalVelocity, 2) - Math.pow(rgvProtocol.instantaneousSpeed / 60, 2)) / (2 * acceleration);
-                            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("dev_no", wrkMast.getSourceStaNo()));
-                            if ((distance * proportion + (rgvProtocol.instantaneousSpeed / 60) * proportion * rgvDate) > (SortTheExecutionOfTheCarUtil.LatelyAndLessThan(basDevpPosition.getPlcPosition(), rgvProtocol.getRgvPos(), perimeter) )) {
+//                        if (rgvProtocol.getStatusType() == RgvStatusType.ROAM) {
+//                            double finalVelocity = 0.0;     // 鏈�缁堥�熷害 (m/s)
+//                            double distance = (Math.pow(finalVelocity, 2) - Math.pow(rgvProtocol.instantaneousSpeed / 60, 2)) / (2 * acceleration);
+//                            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("dev_no", wrkMast.getSourceStaNo()));
+//                            if ((distance * proportion + (rgvProtocol.instantaneousSpeed / 60) * proportion * rgvDate) > (SortTheExecutionOfTheCarUtil.LatelyAndLessThan(basDevpPosition.getPlcPosition(), rgvProtocol.getRgvPos(), perimeter) )) {
 //                                List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<BasDevpPosition>().orderBy("plc_position", true));
 //                                if (basDevpPositions.isEmpty()) {
 //                                    log.error("鑾峰彇鎵�鏈夌珯鐐逛俊鎭紓甯�,RGV浠诲姟涓嬪彂澶辫触锛岃鑱旂郴绠$悊鍛橈紒锛侊紒");
@@ -321,10 +321,10 @@
 //                                List<Integer> devpList = SortTheExecutionOfTheCarUtil.BasDevpPositionExtractSites(basDevpPositions);
 //
 //                                if (!SortTheExecutionOfTheCarUtil.calculateShortestDistanceDirection(devpList,rgvProtocol.getEndStaM(),wrkMast.getSourceStaNo())){
-                                    continue;
+//                                    continue;
 //                                }
-                            }
-                        }
+//                            }
+//                        }
                         RgvCommand rgvCommand = new RgvCommand();
                         rgvCommand.setRgvNo(rgvProtocol.getRgvNo());
                         rgvCommand.setAckFinish1((short) 0);  // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
@@ -341,6 +341,7 @@
                         log.info("RGV鍛戒护涓嬪彂鎴愬姛锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
 
                         wrkMast.setRgvNo(rgvProtocol.getRgvNo());
+                        wrkMast.setWrkSts(10L);
                         wrkMast.setAppeTime(new Date());
                         try {
                             wrkMastService.updateById(wrkMast);
@@ -371,9 +372,7 @@
                     log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId());
                     continue;
                 }
-                if (rgvProtocol.getStatusType() == RgvStatusType.WAITING) {
-                    log.info("{}鍙峰皬杞︾瓑寰厀cs纭锛岀姸鎬亄}锛屽弬鏁皗}", rgvProtocol.getRgvNo(), rgvProtocol.getStatusType(), rgvProtocol);
-                }
+
                 // 鍙湁褰揜GV绛夊緟WCS纭銆佽嚜鍔�
                 if (rgvProtocol.getStatusType() == RgvStatusType.WAITING
                         && rgvProtocol.getModeType() == RgvModeType.AUTO
@@ -381,16 +380,19 @@
                 ) {
                     log.info("{}鍙峰皬杞︾瓑寰厀cs纭锛岀姸鎬亄}锛屽弬鏁皗}",rgvProtocol.getRgvNo(),rgvProtocol.getStatusType(),rgvProtocol);
                     WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", rgvProtocol.getTaskNo1().longValue()));
-                    if (Cools.isEmpty(wrkMast) && (wrkMast.getWrkSts() == 2 || wrkMast.getWrkSts() == 15) && (wrkMast.getRgvNo() == 0 || wrkMast.getRgvNo() > 10)) {
-                        log.error("鏈煡鍒板皬杞︽墽琛屼换鍔℃垨鑰呮墽琛屼换鍔$姸鎬佷笉绗﹀悎锛�" + rgvProtocol.getTaskNo1());
+                    if (Cools.isEmpty(wrkMast)) {
+                        log.error("鏈煡鍒板皬杞︽墽琛屼换鍔★紒" + rgvProtocol.getTaskNo1());
+                        continue;
+                    } else if(wrkMast.getWrkSts() != 10) {
+                        log.error("鎵ц浠诲姟鐘舵�佷笉绗﹀悎锛�" + rgvProtocol.getTaskNo1());
                         continue;
                     }
                     boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
                     if (!rgvComplete) {
-                        log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�", rgvProtocol.getRgvNo());
+                            log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�", rgvProtocol.getRgvNo());
                         break;
                     }
-                    wrkMast.setRgvNo(10+rgvProtocol.getRgvNo());
+                    wrkMast.setWrkSts(2L);
                     Date now = new Date();
                     wrkMast.setModiTime(now);
                     wrkMastService.updateById(wrkMast);
@@ -408,7 +410,7 @@
         try {
             //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
             if (!MessageQueue.offer(SlaveType.Rgv, rgvNo, new Task(3, new RgvCommand()))) {
-                log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}", rgvNo);
+                log.error("灏忚溅澶嶄綅RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}", rgvNo);
                 return false;
             } else {
                 log.info("RGV鍛戒护涓嬪彂鎴愬姛锛孯GV鍙�={}", rgvNo);
diff --git a/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java b/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java
index d586715..d061c3f 100644
--- a/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java
+++ b/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java
@@ -2,9 +2,11 @@
 
 import com.zy.asrs.entity.BasDevpPosition;
 import com.zy.asrs.entity.WrkMast;
-import com.zy.core.enums.RouteCollectCountType;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
 
 public class SortTheExecutionOfTheCarUtil {
     //鎺掑簭
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 910dd07..eb4d949 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -2,11 +2,8 @@
 
 import com.core.common.Arith;
 import com.core.common.Cools;
-import com.zy.core.properties.SlaveProperties;
 
 import java.text.DecimalFormat;
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  * Created by vincent on 2020/8/27
@@ -189,32 +186,26 @@
         // 绫诲瀷璇存槑锛�0-鐩寸嚎锛�1-鍦嗗姬锛堥渶瑕佸渾蹇冨潗鏍囷級
         Object[][] intervals = {
                 // 鐩寸嚎鍖洪棿锛�0-134400锛�
-                {0.0, 134400.0, 0, 390.0, 775.0, 25.0, 775.0},
+                {0.0, 296680.0, 0, 350.0, 700.0, 1200.0, 700.0},
 
                 // 寮х嚎鍖洪棿锛堟嫄鐐�-杞集-133锛変繚鎸佽礉濉炲皵鏇茬嚎
-                {134400.0, 134900.0, 1, 25.0, 775.0, 65.0, 882.0, 25.0, 882.0},
+                {296680.0, 450865.0, 2, 1200.0, 700.0, 1200.0, 800.0, 1150.0, 650.0},
 
                 // 鐩寸嚎鍖洪棿
-                {134900.0, 680103.0,0, 65.0, 885.0, 1115.0, 882.0},
-
-//                // 寮х嚎鍖洪棿锛堟嫄鐐�116-115锛夛紝鎺у埗鐐瑰亣璁句负(1125, 882)
-//                {680103, 731550, 1115, 882, 1215, 775, 1125, 882},
-
-                // 鍦嗗姬鍖洪棿锛堟嫄鐐�116-115锛夋柊鍙傛暟锛氬渾蹇�(1115,775)
-                {680103.0, 731550.0, 2, 1115.0, 882.0, 1215.0, 775.0, 1115.0, 775.0}, // 淇缁堢偣鍧愭爣
+                {450865.0, 945407.0,0, 100.0, 800.0, 1200.0, 800.0},
 
                 // 鐩寸嚎鍖洪棿
-                {731550.0, 972950.0,0, 1215.0, 775.0, 1215.0, 125.0},
+                {450865.0, 1473370.0,0, 100.0, 800.0, 100.0, 100.0},
                 // 寮х嚎鍖洪棿锛堟嫄鐐�112-椤剁偣锛夛紝鎺у埗鐐瑰亣璁句负(1215, 80)
-                {972950.0, 1016193.0,0, 1215.0, 125.0, 1164.0, 80.0},
+                {1473370.0, 1550588.0,2, 0.0, 0.0, 100.0, 100.0,50.0,50.0},
                 // 寮х嚎鍖洪棿锛堟嫄鐐�-椤剁偣-111锛夛紝鎺у埗鐐瑰亣璁句负(1164, 125)
-                {1016193.0, 1063563.0,0, 1164.0, 80.0, 1115.0, 125.0},
+//                {1016193.0, 1063563.0,0, 1164.0, 80.0, 1115.0, 125.0},
                 // 鐩寸嚎鍖洪棿
-                {1063563.0, 1315250.0,0, 1115.0, 150.0, 1115.0, 720.0},
+                {1550588.0, 2068254.0,0, 0.0, 0.0, 0.0, 700.0},
                 // 寮х嚎鍖洪棿锛堟嫄鐐�101-杞集锛夛紝鎺у埗鐐瑰亣璁句负(1115, 750)
-                {1315250.0, 1322829.0,0, 1115.0, 720.0, 1100.0, 750.0},
+//                {2068254.0, 2110201.0,2, 1115.0, 720.0, 1100.0, 750.0,0.0,0.0},
                 // 鐩寸嚎鍖洪棿
-                {1322829.0, 1737000.0,0, 1090.0, 775.0, 390.0, 775.0},
+                {2110201.0, 2318250.0,0, 0.0, 700.0, 350.0, 700.0},
         };
 
         for (Object[] interval : intervals) {
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 2bca69b..b7e5d18 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -5,11 +5,9 @@
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.PreDestroy;
-import java.util.ArrayList;
 
 /**
  * WCS涓绘祦绋�
@@ -53,11 +51,11 @@
                     Thread.sleep(200);
 
                     // 绯荤粺杩愯鐘舵�佸垽鏂�
-                    if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
-                        continue;
-                    }
+//                    if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
+//                        continue;
+//                    }
 
-                    //鏇存柊浣嶇疆淇℃伅
+                    //鏇存柊灏忚溅鎺掑簭
                     mainService.updateStePositionNearby();
                     //鏇存柊浣嶇疆淇℃伅
                     mainService.updateStePosition();
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index b367363..7b1e7f2 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -11,12 +11,9 @@
 import com.zy.asrs.entity.BasRgvOpt;
 import com.zy.asrs.service.BasRgvOptService;
 import com.zy.asrs.service.BasRgvService;
-import com.zy.asrs.utils.NumUtils;
-import com.zy.asrs.utils.RouteUtils;
 import com.zy.core.ThreadHandler;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
-import com.zy.core.enums.RgvStatusType;
 import com.zy.core.enums.RgvTaskModeType;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.RgvSlave;
@@ -148,8 +145,8 @@
     private void readStatus(){
         try {
             OperateResultExOne<byte[]> result = siemensNet.Read("DB100.0", (short) 20);
-            OperateResultExOne<byte[]> resultV = siemensNet.Read("DB20.16", (short) 2);
-            OperateResultExOne<byte[]> resultE = siemensNet.Read("DB20.26", (short) 2);
+//            OperateResultExOne<byte[]> resultV = siemensNet.Read("DB20.16", (short) 2);
+//            OperateResultExOne<byte[]> resultE = siemensNet.Read("DB20.26", (short) 2);
             if (result.IsSuccess) {
                 if (null == rgvProtocol) {
                     rgvProtocol = new RgvProtocol();
@@ -164,8 +161,8 @@
                 rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 12));
                 rgvProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 14));
                 rgvProtocol.setRgvPos(siemensNet.getByteTransform().TransUInt32(result.Content, 16));
-                rgvProtocol.setInstantaneousSpeed(Double.valueOf(siemensNet.getByteTransform().TransInt16(resultV.Content, 0)));
-                rgvProtocol.setEndStaM(siemensNet.getByteTransform().TransInt16(resultE.Content, 0));
+//                rgvProtocol.setInstantaneousSpeed((double) siemensNet.getByteTransform().TransInt16(resultV.Content, 0));
+//                rgvProtocol.setEndStaM(siemensNet.getByteTransform().TransInt16(resultE.Content, 0));
 //                rgvProtocol.setRgvPos((long)NumUtils.GetRandomIntInRange(1737000));
                 OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
 
@@ -281,6 +278,7 @@
             result = siemensNet.Write("DB24.10.0", true);
         } else {
             siemensNet.Write("DB24.10.1", true);
+            log.info("浠诲姟瀹屾垚鍚庡浣嶆竻闄gv淇℃伅锛氬皬杞﹀彿锛歿}锛宎ck:{}", command.getRgvNo(),command.getAckFinish1());
         }
 
         try {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 13c6efe..0d8d9a5 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -8,8 +8,8 @@
     name: @pom.build.finalName@
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-#    url: jdbc:sqlserver://192.168.4.191:50948;databasename=gdhmasrs
-    url: jdbc:sqlserver://127.0.0.1:1433;databasename=mdqzasrs
+    url: jdbc:sqlserver://192.168.2.201:1433;databasename=mdqzasrs
+#    url: jdbc:sqlserver://127.0.0.1:1433;databasename=mdqzasrs
     username: sa
     password: sa@123
   mvc:
@@ -48,7 +48,7 @@
 
 constant-parameters:
   # 杞ㄩ亾鎬婚暱
-  perimeter: 1737000
+  perimeter: 2318250
   # 杞ㄩ亾杞崲涓虹背姣斾緥
   proportion: 10000
   # 鍔犻�熷害  m/s^2
@@ -63,7 +63,7 @@
   # RGV绌挎杞�1
   rgv[0]:
     id: 1
-    ip: 172.17.196.3
+    ip: 192.168.2.43
     port: 502
     rack: 0
     slot: 0
@@ -71,7 +71,7 @@
   # RGV绌挎杞�2
   rgv[1]:
     id: 2
-    ip: 172.17.196.6
+    ip: 192.168.2.46
     port: 502
     rack: 0
     slot: 0
@@ -79,7 +79,7 @@
   # RGV绌挎杞�3
   rgv[2]:
     id: 3
-    ip: 172.17.196.9
+    ip: 192.168.2.49
     port: 502
     rack: 0
     slot: 0
@@ -87,7 +87,7 @@
   # RGV绌挎杞�4
   rgv[3]:
     id: 4
-    ip: 172.17.196.12
+    ip: 192.168.2.52
     port: 502
     rack: 0
     slot: 0
@@ -95,7 +95,7 @@
   # RGV绌挎杞�5
   rgv[4]:
     id: 5
-    ip: 172.17.196.15
+    ip: 192.168.2.55
     port: 502
     rack: 0
     slot: 0
diff --git a/src/main/resources/license.lic b/src/main/resources/license.lic
index dd30251..df70474 100644
--- a/src/main/resources/license.lic
+++ b/src/main/resources/license.lic
Binary files differ

--
Gitblit v1.9.1