From 388353ed9bad250663e8ad8129463d1ea80d46e6 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期四, 24 四月 2025 16:21:25 +0800 Subject: [PATCH] * --- src/main/java/com/zy/core/thread/RgvThread.java | 227 ++++++++++++++++++++++++++------------------------------ 1 files changed, 107 insertions(+), 120 deletions(-) diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java index 15214fe..6c86c58 100644 --- a/src/main/java/com/zy/core/thread/RgvThread.java +++ b/src/main/java/com/zy/core/thread/RgvThread.java @@ -13,6 +13,7 @@ import com.zy.asrs.service.BasRgvOptService; import com.zy.asrs.service.BasRgvService; import com.zy.asrs.utils.RouteUtils; +import com.zy.asrs.utils.TrackRangeUtils; import com.zy.core.ThreadHandler; import com.zy.core.cache.*; import com.zy.core.enums.RgvModeType; @@ -44,7 +45,7 @@ private SiemensS7Net siemensNet; private RgvSlave slave; -// private RgvProtocol rgvProtocol; + // private RgvProtocol rgvProtocol; private TaskProtocolCache taskProtocolCache = new TaskProtocolCache(); // # 杞ㄩ亾鎬婚暱 private Long trackEntireLength = 100L; @@ -70,7 +71,7 @@ @SuppressWarnings("InfiniteLoopStatement") public void run() { boolean connect = this.connect(); - if (connect){ + if (connect) { // 鍚姩璇绘暟鎹嚎绋� new Thread(this::readStatusRgv).start(); @@ -83,7 +84,7 @@ } } - private void readStatusRgv(){ + private void readStatusRgv() { while (true) { try { Thread.sleep(100); @@ -91,7 +92,7 @@ readStatus(); } catch (Exception e) { - log.error("RGV鏁版嵁璇诲彇绾跨▼寮傚父锛侊紒锛�"+e.getMessage()); + log.error("RGV鏁版嵁璇诲彇绾跨▼寮傚父锛侊紒锛�" + e.getMessage()); initRgv(); // e.printStackTrace(); } @@ -109,7 +110,7 @@ // 浼戠湢 1 绉� Thread.sleep(100); - if (!deviceDetection()){ + if (!deviceDetection()) { continue; } RgvTaskProtocol rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId()); @@ -130,7 +131,7 @@ RgvTaskCache.updateRgvStatus(rgvTaskProtocol); } catch (Exception e) { - log.error("RGV琛岃蛋浠诲姟涓嬪彂绾跨▼寮傚父锛侊紒锛�"+e.getMessage()); + log.error("RGV琛岃蛋浠诲姟涓嬪彂绾跨▼寮傚父锛侊紒锛�" + e.getMessage()); // e.printStackTrace(); } } @@ -144,7 +145,7 @@ try { // 浼戠湢 1 绉� Thread.sleep(100); - if (!deviceDetection()){ + if (!deviceDetection()) { continue; } RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId()); @@ -159,36 +160,36 @@ } List<TaskProtocol> allTakeTaskProtocol = taskProtocolCache.getTakeOrPutTaskProtocol(rgvProtocol.getLoaded()); - for(TaskProtocol taskProtocol: allTakeTaskProtocol){ - if (taskProtocol.getIsRunning() == 1){//鍑嗗涓嬪彂 + for (TaskProtocol taskProtocol : allTakeTaskProtocol) { + if (taskProtocol.getIsRunning() == 1) {//鍑嗗涓嬪彂 RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId()); //鍙岃溅 - if (rgvOtherStatusEnable()){ + if (rgvOtherStatusEnable()) { //鍙︿竴鍙拌溅鏄惁鍏佽姝ゅ彴杞︽墽琛� - if (!otherRgvAvoid(taskProtocol.getTargetPosition())){ + if (!otherRgvAvoid(taskProtocol.getTargetPosition())) { continue; } } - Thread.sleep(200); + Thread.sleep(100); TaskProtocol issued = new TaskProtocol(taskProtocol); write(issued); - taskProtocol.setIsRunning(taskProtocol.getIsRunning() +1); + taskProtocol.setIsRunning(taskProtocol.getIsRunning() + 1); taskProtocolCache.updateTaskProtocol(taskProtocol); break; } } } catch (Exception e) { - log.error("RGV鍙栬揣浠诲姟涓嬪彂绾跨▼寮傚父锛侊紒锛�"+e.getMessage()); + log.error("RGV鍙栬揣浠诲姟涓嬪彂绾跨▼寮傚父锛侊紒锛�" + e.getMessage()); // e.printStackTrace(); } } } - public boolean deviceDetection(){ + public boolean deviceDetection() { RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId()); RgvTaskProtocol rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId()); - if (rgvProtocol == null || rgvTaskProtocol ==null) { + if (rgvProtocol == null || rgvTaskProtocol == null) { return false; } if (!rgvProtocol.getModeType().equals(RgvModeType.AUTO) || rgvProtocol.getRgvPos().equals(0L) || rgvTaskProtocol.getAvoid() == -1 || rgvProtocol.getRgvPosDestination() == 0L @@ -201,20 +202,20 @@ if (rgvProtocolOther == null) { return false; } - if (rgvProtocolOther.statusEnable){ - if (!rgvProtocolOther.getModeType().equals(RgvModeType.AUTO) || rgvProtocolOther.getRgvPos().equals(0L) || rgvTaskProtocolOther.getAvoid() == -1 || rgvProtocolOther.getRgvPosDestination() == 0L) { + if (rgvProtocolOther.statusEnable) { + if (!rgvProtocolOther.getModeType().equals(RgvModeType.AUTO) || rgvProtocolOther.getRgvPos().equals(0L) || rgvTaskProtocolOther.getAvoid() == -1 || rgvProtocolOther.getRgvPosDestination() == 0L) { return false; } } return true; } - public boolean rgvOtherStatusEnable(){ + public boolean rgvOtherStatusEnable() { RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId()); if (rgvProtocolOther == null) { return true; } - if (rgvProtocolOther.statusEnable){ + if (rgvProtocolOther.statusEnable) { // if (!rgvProtocolOther.getModeType().equals(RgvModeType.AUTO) || rgvProtocolOther.getRgvPos().equals(0L)) { return true; // } @@ -222,134 +223,118 @@ return false; } - public boolean otherRgvAvoid(Long targetPosition){ + public boolean otherRgvAvoid(Long targetPosition) { RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId()); RgvTaskProtocol rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId()); RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId()); + RgvTaskProtocol rgvTaskProtocolOther = RgvTaskCache.getRgvStatus(slave.getOtherId()); + Long[][] avoidRange = new TrackRangeUtils().avoidRange(slave, trackEntireLength, trackBenchmark, avoidDistance); - if (rgvProtocol.getRgvPos()<rgvProtocolOther.getRgvPos()){ - if (rgvProtocolOther.getStatusType().equals(RgvStatusType.IDLE)){ - if ((rgvProtocolOther.getRgvPos()-rgvProtocolOther.getCarBodyJiaoMing()) - - (targetPosition+rgvProtocol.getCarBodyKunPeng()) - > avoidDistance){//鏃犻渶閬胯 + if (new TrackRangeUtils().IsItSmall(slave)) { + + if (rgvProtocolOther.getStatusType().equals(RgvStatusType.IDLE)) { + if ((rgvProtocolOther.getRgvPos() - rgvProtocolOther.getCarBodyJiaoMing()) + - (targetPosition + rgvProtocol.getCarBodyKunPeng()) + > avoidDistance) {//鏃犻渶閬胯 return true; } else { long avoid = targetPosition + rgvProtocol.getCarBodyKunPeng() + avoidDistance + rgvProtocolOther.getCarBodyJiaoMing(); - if (avoid > trackEntireLength-rgvProtocolOther.getCarBodyKunPeng()){ - log.error("閬胯瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); + if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[0])) { + log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); return false; } - rgvTaskProtocol.setAvoid(1); - rgvTaskProtocol.setAvoidingTheDestination(avoid); - RgvTaskCache.updateRgvStatus(rgvTaskProtocol); + rgvTaskProtocolOther.setAvoid(1); + rgvTaskProtocolOther.setAvoidingTheDestination(avoid); + RgvTaskCache.updateRgvStatus(rgvTaskProtocolOther); return true; } - } else if (rgvProtocolOther.getStatusType().equals(RgvStatusType.ROAM)){ - if ((rgvProtocolOther.getRgvPosDestination()-rgvProtocolOther.getCarBodyJiaoMing()) - - (targetPosition+rgvProtocol.getCarBodyKunPeng()) - > avoidDistance){//鏃犻渶閬胯 + } else if (rgvProtocolOther.getStatusType().equals(RgvStatusType.ROAM)) { + if ((rgvProtocolOther.getRgvPosDestination() - rgvProtocolOther.getCarBodyJiaoMing()) + - (targetPosition + rgvProtocol.getCarBodyKunPeng()) + > avoidDistance) {//鏃犻渶閬胯 return true; } else { long avoid = targetPosition + rgvProtocol.getCarBodyKunPeng() + avoidDistance + rgvProtocolOther.getCarBodyJiaoMing(); - if (avoid > trackEntireLength-rgvProtocolOther.getCarBodyKunPeng()){ - log.error("閬胯瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); + if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[0])) { + log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); return false; } - rgvTaskProtocol.setAvoid(1); - rgvTaskProtocol.setAvoidingTheDestination(avoid); - RgvTaskCache.updateRgvStatus(rgvTaskProtocol); + rgvTaskProtocolOther.setAvoid(1); + rgvTaskProtocolOther.setAvoidingTheDestination(avoid); + RgvTaskCache.updateRgvStatus(rgvTaskProtocolOther); return true; } - } else if (rgvProtocolOther.getStatusType().equals(RgvStatusType.WORKING)){ - if ((rgvProtocolOther.getRgvPosDestination()-rgvProtocolOther.getCarBodyJiaoMing()) - - (targetPosition+rgvProtocol.getCarBodyKunPeng()) - > avoidDistance){//鏃犻渶閬胯 + } else if (rgvProtocolOther.getStatusType().equals(RgvStatusType.WORKING)) { + if ((rgvProtocolOther.getRgvPosDestination() - rgvProtocolOther.getCarBodyJiaoMing()) + - (targetPosition + rgvProtocol.getCarBodyKunPeng()) + > avoidDistance) {//鏃犻渶閬胯 return true; } else { - RgvThread rgvThreadOther = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvProtocolOther.getRgvNo()); - TaskProtocolCache taskProtocolCacheOther = rgvThreadOther.getTaskProtocolCache(); - List<TaskProtocol> allPutTaskProtocol = taskProtocolCacheOther.getAllPutTaskProtocol(); - if (allPutTaskProtocol.size() > 1){ - return false; - } - for (TaskProtocol taskProtocol : allPutTaskProtocol){ - if (taskProtocol.getTargetPosition()>=rgvProtocolOther.getRgvPos()){ - long avoid = rgvProtocolOther.getRgvPos()-rgvProtocolOther.getCarBodyJiaoMing()-avoidDistance-rgvProtocol.getCarBodyKunPeng(); - if (avoid > trackEntireLength-rgvProtocolOther.getCarBodyKunPeng()){ - log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); - return false; - } - rgvTaskProtocol.setAvoid(1); - rgvTaskProtocol.setAvoidingTheDestination(avoid); - RgvTaskCache.updateRgvStatus(rgvTaskProtocol); - return false; - } else { + if (rgvProtocolOther.getRgvPosDestination() >= rgvProtocolOther.getRgvPos()) { + long avoid = rgvProtocolOther.getRgvPos() - rgvProtocolOther.getCarBodyJiaoMing() - avoidDistance - rgvProtocol.getCarBodyKunPeng(); + if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[1])) { + log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); return false; } + rgvTaskProtocol.setAvoid(1); + rgvTaskProtocol.setAvoidingTheDestination(avoid); + RgvTaskCache.updateRgvStatus(rgvTaskProtocol); + return false; } return false; } } } else { - if (rgvProtocolOther.getStatusType().equals(RgvStatusType.IDLE)){ - if ((targetPosition-rgvProtocol.getCarBodyJiaoMing()) - - (rgvProtocolOther.getRgvPos()+rgvProtocolOther.getCarBodyKunPeng()) - > avoidDistance){//鏃犻渶閬胯 + if (rgvProtocolOther.getStatusType().equals(RgvStatusType.IDLE)) { + if ((targetPosition - rgvProtocol.getCarBodyJiaoMing()) + - (rgvProtocolOther.getRgvPos() + rgvProtocolOther.getCarBodyKunPeng()) + > avoidDistance) {//鏃犻渶閬胯 return true; } else { - long avoid = targetPosition -rgvProtocol.getCarBodyJiaoMing() - avoidDistance - rgvProtocolOther.getCarBodyKunPeng(); - if (avoid < trackBenchmark + rgvProtocolOther.getCarBodyJiaoMing()){ - log.error("閬胯瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); + long avoid = targetPosition - rgvProtocol.getCarBodyJiaoMing() - avoidDistance - rgvProtocolOther.getCarBodyKunPeng(); + if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[1])) { + log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); return false; } - rgvTaskProtocol.setAvoid(1); - rgvTaskProtocol.setAvoidingTheDestination(avoid); - RgvTaskCache.updateRgvStatus(rgvTaskProtocol); + rgvTaskProtocolOther.setAvoid(1); + rgvTaskProtocolOther.setAvoidingTheDestination(avoid); + RgvTaskCache.updateRgvStatus(rgvTaskProtocolOther); return true; } - } else if (rgvProtocolOther.getStatusType().equals(RgvStatusType.ROAM)){ - if ((targetPosition-rgvProtocol.getCarBodyJiaoMing()) - - (rgvProtocolOther.getRgvPosDestination()+rgvProtocolOther.getCarBodyKunPeng()) - > avoidDistance){//鏃犻渶閬胯 + } else if (rgvProtocolOther.getStatusType().equals(RgvStatusType.ROAM)) { + if ((targetPosition - rgvProtocol.getCarBodyJiaoMing()) + - (rgvProtocolOther.getRgvPosDestination() + rgvProtocolOther.getCarBodyKunPeng()) + > avoidDistance) {//鏃犻渶閬胯 return true; } else { - long avoid = targetPosition -rgvProtocol.getCarBodyJiaoMing() - avoidDistance - rgvProtocolOther.getCarBodyKunPeng(); - if (avoid < trackBenchmark + rgvProtocolOther.getCarBodyJiaoMing()){ - log.error("閬胯瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); + long avoid = targetPosition - rgvProtocol.getCarBodyJiaoMing() - avoidDistance - rgvProtocolOther.getCarBodyKunPeng(); + if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[1])) { + log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); return false; } - rgvTaskProtocol.setAvoid(1); - rgvTaskProtocol.setAvoidingTheDestination(avoid); - RgvTaskCache.updateRgvStatus(rgvTaskProtocol); + rgvTaskProtocolOther.setAvoid(1); + rgvTaskProtocolOther.setAvoidingTheDestination(avoid); + RgvTaskCache.updateRgvStatus(rgvTaskProtocolOther); return true; } - } else if (rgvProtocolOther.getStatusType().equals(RgvStatusType.WORKING)){ - if ((targetPosition-rgvProtocol.getCarBodyJiaoMing()) - - (rgvProtocolOther.getRgvPosDestination()+rgvProtocolOther.getCarBodyKunPeng()) - > avoidDistance){//鏃犻渶閬胯 + + } else if (rgvProtocolOther.getStatusType().equals(RgvStatusType.WORKING)) { + if ((targetPosition - rgvProtocol.getCarBodyJiaoMing()) + - (rgvProtocolOther.getRgvPosDestination() + rgvProtocolOther.getCarBodyKunPeng()) + > avoidDistance) {//鏃犻渶閬胯 return true; } else { - RgvThread rgvThreadOther = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvProtocolOther.getRgvNo()); - TaskProtocolCache taskProtocolCacheOther = rgvThreadOther.getTaskProtocolCache(); - List<TaskProtocol> allPutTaskProtocol = taskProtocolCacheOther.getAllPutTaskProtocol(); - if (allPutTaskProtocol.size() > 1){ - return false; - } - for (TaskProtocol taskProtocol : allPutTaskProtocol){ - if (taskProtocol.getTargetPosition()<=rgvProtocolOther.getRgvPos()){ - long avoid = rgvProtocolOther.getRgvPos()+rgvProtocolOther.getCarBodyKunPeng()+avoidDistance+rgvProtocol.getCarBodyJiaoMing(); - if (avoid < trackBenchmark + rgvProtocolOther.getCarBodyJiaoMing()){ - log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); - return false; - } - rgvTaskProtocol.setAvoid(1); - rgvTaskProtocol.setAvoidingTheDestination(avoid); - RgvTaskCache.updateRgvStatus(rgvTaskProtocol); - return false; - } else { + if (rgvProtocolOther.getRgvPosDestination() <= rgvProtocolOther.getRgvPos()) { + long avoid = rgvProtocolOther.getRgvPos() + rgvProtocolOther.getCarBodyKunPeng() + avoidDistance + rgvProtocol.getCarBodyJiaoMing(); + if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[0])) { + log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); return false; } + rgvTaskProtocol.setAvoid(1); + rgvTaskProtocol.setAvoidingTheDestination(avoid); + RgvTaskCache.updateRgvStatus(rgvTaskProtocol); + return false; } return false; } @@ -368,25 +353,25 @@ rgvProtocol.setRgvNo(slave.getId()); } rgvProtocol.setMode((short) -1); - rgvProtocol.setStatus((short)-1); - rgvProtocol.setWalkPos((short)0); + rgvProtocol.setStatus((short) -1); + rgvProtocol.setWalkPos((short) 0); rgvProtocol.setRgvPos(0L); - rgvProtocol.setAlarm((short)0); + rgvProtocol.setAlarm((short) 0); rgvProtocol.setxSpeed((short) 0); rgvProtocol.setxDistance((short) 0); rgvProtocol.setxDuration((short) 0); rgvProtocol.setCarBodyJiaoMing(0L); rgvProtocol.setCarBodyKunPeng(0L); - try{ + try { BasRgvService basRgvService = SpringUtils.getBean(BasRgvService.class); BasRgv rgv = basRgvService.selectById(slave.getId()); - if (!Cools.isEmpty(rgv)){ + if (!Cools.isEmpty(rgv)) { rgvProtocol.setStatusEnable(rgv.getStatus() == 1); } else { rgvProtocol.setStatusEnable(false); } - } catch (Exception e){ - log.error("RGV寮傚父锛侊紒锛�"+e.getMessage()); + } catch (Exception e) { + log.error("RGV寮傚父锛侊紒锛�" + e.getMessage()); rgvProtocol.setStatusEnable(true); } @@ -411,7 +396,7 @@ siemensNet.setRack(slave.getRack().byteValue()); siemensNet.setSlot(slave.getSlot().byteValue()); OperateResult connect = siemensNet.ConnectServer(); - if(connect.IsSuccess){ + if (connect.IsSuccess) { result = true; // OutputQueue.RGV.offer(MessageFormat.format( "銆恵0}銆慠GV plc杩炴帴鎴愬姛 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); log.info("RGV plc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); @@ -428,7 +413,7 @@ /** * 璇诲彇鐘舵�� */ - private void readStatus(){ + private void readStatus() { try { OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 34); if (result.IsSuccess) { @@ -446,7 +431,7 @@ // rgvProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40)); // rgvProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48)); - OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); + OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId())); // // 宸ヤ綅1澶嶄綅淇″彿 // if (rgvProtocol.getStatusType().equals(RgvStatusType.WAITING) // || rgvProtocol.getStatusType().equals(RgvStatusType.FETCHWAITING)) { @@ -463,18 +448,18 @@ // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴� BasRgvService basRgvService = SpringUtils.getBean(BasRgvService.class); BasRgv basRgv = basRgvService.selectById(slave.getId()); - if (!Cools.isEmpty(basRgv)){ + if (!Cools.isEmpty(basRgv)) { rgvProtocol.setStatusEnable(basRgv.getStatus() == 1); } else { rgvProtocol.setStatusEnable(false); } // BasRgv basRgv = new BasRgv(); basRgv.setRgvNo(slave.getId()); - basRgv.setRgvSts((int)rgvProtocol.getMode()); - if (!basRgvService.updateById(rgvProtocol.toSqlModel(basRgv))){ + basRgv.setRgvSts((int) rgvProtocol.getMode()); + if (!basRgvService.updateById(rgvProtocol.toSqlModel(basRgv))) { log.error("RGV plc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); } - } catch (Exception ignore){ + } catch (Exception ignore) { } @@ -512,6 +497,7 @@ // array[4] = command.getDestinationStaNo(); // array[10] = taskProtocol.getCommand(); OperateResult result = siemensNet.Write("DB100.0", taskProtocol.getTaskNo()); + OperateResult result1 = siemensNet.Write("DB100.1", taskProtocol.isDirection()); // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級 true:宸� false:鍙� // if (taskProtocol.getAckFinish1() == 0) { // short commandFinish = 3; //宸ヤ綅1銆�2浠诲姟鍚屾椂鍐欏叆 @@ -531,13 +517,14 @@ null, null, null, - result.IsSuccess? 1 : 0, + result.IsSuccess ? 1 : 0, null, new Date(), null ); bean.insert(basRgvOpt); - } catch (Exception ignore) {} + } catch (Exception ignore) { + } if (result != null && result.IsSuccess) { Thread.sleep(200); -- Gitblit v1.9.1