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