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