From 62dd8d27361ae16c45c227c87a3d0feb4c8248a8 Mon Sep 17 00:00:00 2001 From: 1 <1@123> Date: 星期四, 08 五月 2025 14:08:03 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/SiteController.java | 2 src/main/java/com/zy/core/enums/RgvModeType.java | 4 src/main/java/com/zy/asrs/entity/TaskWrk.java | 4 src/main/java/com/zy/asrs/utils/RouteUtils.java | 1 src/main/java/com/zy/asrs/controller/OpenController.java | 4 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 36 ++++-- src/main/resources/application-prod.yml | 52 +++++--- src/main/resources/mapper/TaskWrkMapper.xml | 1 src/main/java/com/zy/core/model/protocol/TaskProtocol.java | 4 src/main/java/com/zy/core/model/protocol/StaProtocol.java | 1 src/main/java/com/zy/core/thread/RgvThread.java | 42 ++++++- src/main/java/com/zy/core/thread/SiemensCrnThread.java | 4 src/main/java/com/zy/core/cache/TaskProtocolCache.java | 6 src/main/webapp/static/wcs/js/console.map.js | 10 src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java | 15 ++ src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 7 + src/main/java/com/zy/core/thread/SiemensDevpThread.java | 59 +++++---- src/main/resources/application.yml | 4 src/main/java/com/zy/asrs/utils/BarcodeUtils.java | 55 +++++++++ 19 files changed, 224 insertions(+), 87 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index fbc8ff3..c5ad8e0 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -389,7 +389,7 @@ if(Cools.isEmpty(staDesc)){ return R.error("鍏ュ簱璺姴涓嶅瓨鍦�"); } - r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo())); + r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo(),staDesc.getCrnStn())); }else if(param.getIoType() == 2){ //鍑哄簱浠诲姟鍒涘缓 @@ -400,7 +400,7 @@ if(Cools.isEmpty(staDesc)){ return R.error("鍑哄簱璺姴涓嶅瓨鍦�"); } - r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo())); + r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo(),staDesc.getCrnStn())); }else if (param.getIoType() == 3){ LocMast locMast2 = locMastService.selectByLocNo(param.getTargetPoint()); if(Cools.isEmpty(locMast2)){ diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java index 7c843c9..759eec6 100644 --- a/src/main/java/com/zy/asrs/controller/SiteController.java +++ b/src/main/java/com/zy/asrs/controller/SiteController.java @@ -221,7 +221,7 @@ basDevp.setOutEnable(outEnable ? "Y" : "N"); } basDevpService.updateById(basDevp); - boolean result = CommandUtils.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol), false); + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (result) { return R.ok(); } else { diff --git a/src/main/java/com/zy/asrs/entity/TaskWrk.java b/src/main/java/com/zy/asrs/entity/TaskWrk.java index 38d98da..181892b 100644 --- a/src/main/java/com/zy/asrs/entity/TaskWrk.java +++ b/src/main/java/com/zy/asrs/entity/TaskWrk.java @@ -101,7 +101,7 @@ @TableField("ORIGIN_START_POINT") private String originStartPoint; - @ApiModelProperty(value = "鍘熷璧风偣") + @ApiModelProperty(value = "鍘熷缁堢偣") @TableField("ORIGIN_TARGET_POINT") private String originTargetPoint; @@ -355,7 +355,7 @@ public Integer getTargetPointConvert(){ - switch (targetPoint){ + switch (originTargetPoint){ case "11": return 11; default: diff --git a/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java b/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java index 2451936..a4b21a8 100644 --- a/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java +++ b/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java @@ -14,12 +14,14 @@ //璧风偣 private String startPoint; + private Integer startPointSta; //浼樺厛绾� private Integer taskPriority; //缁堢偣 private String targetPoint; + private Integer targetPointSta; //鏄惁绌烘墭鐩� Y:鏄� N锛氬惁 private String emptyContainer; @@ -77,6 +79,19 @@ this.crn = crn; }; + public TaskCreateParam(CarryParam param, Integer crn,Integer crnSta){ + this.taskNo = param.getTaskNo(); + this.ioType = param.getIoType(); + this.barcode = param.getBarcode(); + this.taskPriority = param.getTaskPriority(); + this.startPoint = param.getStartPoint(); + this.targetPoint = param.getTargetPoint(); + this.emptyContainer = "N"; + this.crn = crn; + this.startPointSta = crnSta; + this.targetPointSta = crnSta; + }; + public static Integer convertParamIoType(String paramIoType){ switch (paramIoType){ 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 09ccf85..aaa1e03 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -12,10 +12,7 @@ import com.zy.asrs.entity.*; import com.zy.asrs.mapper.*; import com.zy.asrs.service.*; -import com.zy.asrs.utils.CommandUtils; -import com.zy.asrs.utils.RouteUtils; -import com.zy.asrs.utils.TrackRangeUtils; -import com.zy.asrs.utils.Utils; +import com.zy.asrs.utils.*; import com.zy.common.model.MatDto; import com.zy.common.service.CommonService; import com.zy.common.utils.CollectionUtils; @@ -465,7 +462,8 @@ // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && staProtocol.isLoading() - && staProtocol.isInEnable() && (workNo == 0 || (workNo>9000 && workNo<10000)) +// && staProtocol.isInEnable() + && (workNo == 0 || (workNo>9000 && workNo<10000)) && staProtocol.isPakMkWalk() ) { if (inSta.isBarcodeSign()){ @@ -529,9 +527,21 @@ return; } else { staProtocol.setWorkNo(taskWrk1.getWrkNo()); - staProtocol.setStaNo(staDesc.getCrnStn()); + staProtocol.setStaNo(BarcodeUtils.getStaNo(staProtocol.getSiteId())); devpThread.setPakMkWalk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + + Date now = new Date(); +// taskWrk1.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵�� +// taskWrk.setAssignTime(now);//娲惧彂鏃堕棿 + taskWrk1.setExecuteTime(now); + taskWrk1.setWrkSts(2);//宸ヤ綔鐘舵�� 3.鍚婅溅鍏ュ簱 + taskWrk1.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿 + taskWrk1.setModiTime(now); + taskWrk1.setModiUser(9988L); + taskWrkService.updateById(taskWrk1); + + } } return; @@ -595,7 +605,7 @@ log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk)); // R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false); staProtocol.setWorkNo(taskWrk.getWrkNo()); - staProtocol.setStaNo(staDesc.getCrnStn()); + staProtocol.setStaNo(BarcodeUtils.getStaNo(staProtocol.getSiteId())); boolean offer = false; try { offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol)); @@ -1345,7 +1355,7 @@ if (rgvProtocol == null || rgvTaskProtocol == null) { return false; } - if (!rgvProtocol.getModeType().equals(RgvModeType.AUTO) || rgvProtocol.getRgvPos().equals(0L) || rgvTaskProtocol.getAvoid() == -1 || rgvProtocol.getRgvPosDestination() == 0L + if (!rgvProtocol.getModeType().equals(RgvModeType.AUTO) || rgvProtocol.getRgvPos().equals(0L) || rgvTaskProtocol.getAvoid() == -1 || (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) && !rgvProtocol.getStatusType().equals(RgvStatusType.ROAM))) { return false; } @@ -1373,8 +1383,9 @@ // 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢 if (staProtocol.isAutoing() // && staProtocol.isLoading() + && staProtocol.isStaOk() && staProtocol.getWorkNo() != 0) { - TaskWrk taskWrk = taskWrkService.selectByTaskNo(staProtocol.getWorkNo().toString()); + TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo()); if (taskWrk != null) { return taskWrk; } @@ -1596,7 +1607,8 @@ if (taskWrk == null) { return false; } - Integer targetPointConvert = taskWrk.getTargetPointConvert(); +// Integer targetPointConvert = taskWrk.getTargetPointConvert(); + Integer targetPointConvert = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint()); if (targetPointConvert == null) { return false; } @@ -1609,7 +1621,7 @@ BasDevpPosition basDevpPositionEnd = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", targetPointConvert)); //鎵ц issuedTake.setTaskNo(Long.valueOf(taskWrk.getTaskNo())); - issuedTake.setTaskStatus(1); + issuedTake.setTaskStatus(2); issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus())); issuedTake.setTargetPosition(basDevpPositionSou.getPlcPosition()); issuedTake.setIsRunning(1); @@ -1617,7 +1629,7 @@ issuedPut.setTaskNo(Long.valueOf(taskWrk.getTaskNo())); - issuedPut.setTaskStatus(2); + issuedPut.setTaskStatus(3); issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus())); issuedPut.setTargetPosition(basDevpPositionEnd.getPlcPosition()); issuedPut.setIsRunning(1); diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index d78e95c..194a76b 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -107,7 +107,8 @@ // taskWrk.setTargetPoint(Utils.getWcsLocNo(param.getTargetPoint()));//缁堢偣 杞崲涓� taskWrk.setTargetPoint(param.getTargetPoint());//缁堢偣 taskWrk.setStartPoint(param.getStartPoint()); - taskWrk.setOriginStartPoint(param.getStartPoint()); + taskWrk.setOriginStartPoint(param.getStartPointSta().toString()); + taskWrk.setOriginTargetPoint(param.getTargetPointSta().toString()); } } else if (param.getIoType() == 2) { @@ -117,11 +118,15 @@ taskWrk.setTargetPoint(param.getTargetPoint()); } taskWrk.setTargetPoint(param.getTargetPoint()); + taskWrk.setOriginStartPoint(param.getStartPointSta().toString()); + taskWrk.setOriginTargetPoint(param.getTargetPointSta().toString()); }else if (param.getIoType() == 3){ taskWrk.setWrkSts(11); if (!Cools.isEmpty(param.getStartPoint())) { taskWrk.setStartPoint(param.getStartPoint());//璧风偣 taskWrk.setTargetPoint(param.getTargetPoint()); + taskWrk.setOriginStartPoint(param.getStartPointSta().toString()); + taskWrk.setOriginTargetPoint(param.getTargetPointSta().toString()); } } diff --git a/src/main/java/com/zy/asrs/utils/BarcodeUtils.java b/src/main/java/com/zy/asrs/utils/BarcodeUtils.java new file mode 100644 index 0000000..ac3c396 --- /dev/null +++ b/src/main/java/com/zy/asrs/utils/BarcodeUtils.java @@ -0,0 +1,55 @@ +package com.zy.asrs.utils; + +import java.util.ArrayList; + +public class BarcodeUtils { + + public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{ + add(1001);add(1002);add(1003);add(1004);add(1005);add(1006);add(1007); + add(1008);add(1009);add(1010);add(1011);add(1012);add(1013);add(1014);add(1015); + add(1016);add(1017);add(1018);add(1019);add(1020);add(1021);add(1022);add(1023); + }}; + + public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{ + add(1001);add(1002);add(1003);add(1004);add(1005);add(1006);add(1007); + add(1008);add(1009);add(1010);add(1011);add(1012);add(1013);add(1014);add(1015); + add(1016);add(1017);add(1018);add(1019);add(1020);add(1021);add(1022);add(1023); + }}; + + public static Integer getStaNo(Integer staNo) { + switch (staNo){ + case 1021: + return 1020; + case 1012: + return 1014; + case 1005: + return 1004; + default: + return staNo; + } + } + public static Integer getStartStaNo(String staNo) { + switch (staNo){ + case "1021": + return 1020; + case "1012": + return 1014; + case "1005": + return 1004; + default: + return Integer.getInteger(staNo); + } + } + public static Integer getOutStaNo(String staNo) { + switch (staNo){ + case "1021": + return 1020; + case "1012": + return 1009; + case "1005": + return 1004; + default: + return Integer.parseInt(staNo); + } + } +} diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java index 905be8d..457b767 100644 --- a/src/main/java/com/zy/asrs/utils/RouteUtils.java +++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java @@ -127,6 +127,7 @@ for (BasDevpPosition basDevpPosition : basDevpPositions) { if (basDevpPosition.getPlcPosition().equals(position)) { basDevpPositionSort.add(basDevpPosition); + basDevpPositions.remove(basDevpPosition); break; } } diff --git a/src/main/java/com/zy/core/cache/TaskProtocolCache.java b/src/main/java/com/zy/core/cache/TaskProtocolCache.java index f4d7519..6e9c11f 100644 --- a/src/main/java/com/zy/core/cache/TaskProtocolCache.java +++ b/src/main/java/com/zy/core/cache/TaskProtocolCache.java @@ -71,7 +71,7 @@ try { List<TaskProtocol> allTakeTaskProtocol = new ArrayList<>(); for (TaskProtocol task : cache.values()) { - if (task.getTaskStatus()==1) { + if (task.getTaskStatus()==2) { allTakeTaskProtocol.add(task); } } @@ -89,7 +89,7 @@ try { List<TaskProtocol> allPutTaskProtocol = new ArrayList<>(); for (TaskProtocol task : cache.values()) { - if (task.getTaskStatus()==2) { + if (task.getTaskStatus()==3) { allPutTaskProtocol.add(task); } } @@ -107,7 +107,7 @@ try { List<TaskProtocol> allWalkTaskProtocol = new ArrayList<>(); for (TaskProtocol task : cache.values()) { - if (task.getTaskStatus()==0) { + if (task.getTaskStatus()==1) { allWalkTaskProtocol.add(task); } } diff --git a/src/main/java/com/zy/core/enums/RgvModeType.java b/src/main/java/com/zy/core/enums/RgvModeType.java index 0905b52..6efa3db 100644 --- a/src/main/java/com/zy/core/enums/RgvModeType.java +++ b/src/main/java/com/zy/core/enums/RgvModeType.java @@ -3,10 +3,10 @@ public enum RgvModeType { NONE(-1, "绂荤嚎"), - STOP(1, "缁翠慨"), + STOP(2, "缁翠慨"), HAND(0, "鎵嬪姩"), HALF_AUTO(3, "鍗婅嚜鍔�"), - AUTO(2, "鑷姩"), + AUTO(1, "鑷姩"), OTHER(100, "鍏跺畠"), ; diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java index 3bf92ad..1d39655 100644 --- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java +++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java @@ -45,6 +45,7 @@ // 浣� private boolean low; + private boolean staOk; // 閿佸畾鏍囪 private boolean pakMk = true; diff --git a/src/main/java/com/zy/core/model/protocol/TaskProtocol.java b/src/main/java/com/zy/core/model/protocol/TaskProtocol.java index 9ddcc19..d25c90e 100644 --- a/src/main/java/com/zy/core/model/protocol/TaskProtocol.java +++ b/src/main/java/com/zy/core/model/protocol/TaskProtocol.java @@ -15,7 +15,7 @@ private volatile int taskStatus = 0; //浣滀笟妯″紡 1锛氳璧� 2锛氬彇 3锛氭斁 0:鏃� - private volatile boolean direction; // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級 true:宸� false:鍙� + private volatile boolean direction; // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級 true:宸� false:鍙� 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 1:鑷繁 2 杞ㄩ亾 true:鑷繁 false:杞ㄩ亾 public TaskProtocol(){} @@ -40,8 +40,10 @@ switch (taskStatus){ case 1: taskStatusStr = "Tack"; + break; case 2: taskStatusStr = "Put"; + break; } return taskNo+"_"+taskStatusStr; } diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java index 5c1f010..0258e1d 100644 --- a/src/main/java/com/zy/core/thread/RgvThread.java +++ b/src/main/java/com/zy/core/thread/RgvThread.java @@ -83,7 +83,7 @@ new Thread(this::taskWalkIssued).start(); // 鍚姩浠诲姟瀹屾垚绾跨▼ -// new Thread(this::taskComplete).start(); + new Thread(this::taskComplete).start(); } } @@ -108,6 +108,21 @@ * 瀹屾垚 */ private void taskComplete() { + while (true) { + try { + Thread.sleep(100); + OperateResultExOne<byte[]> result = siemensNet.Read("DB100.12", (short) 1); + boolean[] status = siemensNet.getByteTransform().TransBool(result.Content, 0, 1); + if (status[0]){ + OperateResult result4 = siemensNet.Write("DB100.12.0", true); + } + } catch (Exception e) { + log.error("RGV鏁版嵁璇诲彇绾跨▼寮傚父锛侊紒锛�" + e.getMessage()); + initRgv(); +// e.printStackTrace(); + } + + } } @@ -168,6 +183,9 @@ if (rgvTaskProtocol.getAvoid() != 0) { continue; } + if (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE)){ + continue; + } List<TaskProtocol> allTakeTaskProtocol = taskProtocolCache.getTakeOrPutTaskProtocol(rgvProtocol.getLoaded()); for (TaskProtocol taskProtocol : allTakeTaskProtocol) { @@ -183,7 +201,7 @@ Thread.sleep(100); TaskProtocol issued = new TaskProtocol(taskProtocol); write(issued); - taskProtocol.setIsRunning(taskProtocol.getIsRunning() + 1); + taskProtocol.setIsRunning(4); taskProtocolCache.updateTaskProtocol(taskProtocol); break; } @@ -390,7 +408,7 @@ rgvTaskProtocol = new RgvTaskProtocol(); rgvTaskProtocol.setRgvNo(slave.getId()); } - rgvTaskProtocol.setAvoid(-1); + rgvTaskProtocol.setAvoid(0); rgvTaskProtocol.setAvoidingTheDestination(0L); RgvStatusCache.updateRgvStatus(rgvProtocol); @@ -425,7 +443,7 @@ */ private void readStatus() { try { - OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 18); + OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 19); if (result.IsSuccess) { // 鏋勫缓璁惧鐘舵�佸璞� RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId()); @@ -436,6 +454,9 @@ rgvProtocol.setRgvPos((long)siemensNet.getByteTransform().TransInt32(result.Content, 0)); rgvProtocol.setRgvPosDestination((long)siemensNet.getByteTransform().TransInt32(result.Content, 4)); + if (rgvProtocol.getRgvPosDestination()==0L){ + rgvProtocol.setRgvPosDestination(rgvProtocol.getRgvPos()); + } rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 8)); rgvProtocol.setTaskNo((long)siemensNet.getByteTransform().TransInt32(result.Content, 10)); @@ -445,6 +466,10 @@ // rgvProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28)); // rgvProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40)); // rgvProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48)); + +// OperateResultExOne<byte[]> result11 = siemensNet.Read("DB100.12", (short) 1); + boolean[] status = siemensNet.getByteTransform().TransBool(result.Content, 18, 1); + rgvProtocol.setLoaded(status[0]? (short)1:(short)0); OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId())); // // 宸ヤ綅1澶嶄綅淇″彿 @@ -511,9 +536,14 @@ // array[2] = taskProtocol.getTaskMode(); // 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:鍙� + int taskStatus = taskProtocol.getTaskStatus(); + OperateResult result = siemensNet.Write("DB100.0", taskProtocol.getTargetPosition().intValue()); + OperateResult result1 = siemensNet.Write("DB100.4", (short) taskStatus); + OperateResult result2 = siemensNet.Write("DB100.6", taskProtocol.getTaskNo().intValue()); + OperateResult result3 = siemensNet.Write("DB100.10", taskProtocol.isDirection()? (short) 1 : (short) 2); // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級 true:宸� false:鍙� + + OperateResult result4 = siemensNet.Write("DB100.12.0", true); // if (taskProtocol.getAckFinish1() == 0) { // short commandFinish = 3; //宸ヤ綅1銆�2浠诲姟鍚屾椂鍐欏叆 // Thread.sleep(100L); diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java index 53fbb42..d6a4109 100644 --- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java +++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java @@ -155,7 +155,7 @@ */ private void readStatus(){ try { - OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 56); + OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 58); if (result.IsSuccess) { if (null == crnProtocol) { crnProtocol = new CrnProtocol(); @@ -182,7 +182,7 @@ crnProtocol.setyDistance(siemensNet.getByteTransform().TransInt16(result.Content, 44)); crnProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48)); crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 52)); - crnProtocol.setLaneNo((int)siemensNet.getByteTransform().TransInt16(result.Content, 54));//宸烽亾鍙� + crnProtocol.setLaneNo((int)siemensNet.getByteTransform().TransInt16(result.Content, 56));//宸烽亾鍙� OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 56f40a1..f59ff6d 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -54,7 +54,7 @@ /** * 鏉$爜鏁伴噺 */ - private int barcodeSize = 2; + private int barcodeSize = 3; /** * 鍏ュ嚭搴撴ā寮� @@ -191,11 +191,12 @@ staProtocol.setInEnable(status[2]); // 鍙叆 // staProtocol.setInEnable(true); // 鍙叆 staProtocol.setOutEnable(status[3]);// 鍙嚭 -// staProtocol.setOutEnable(true);// 鍙嚭 + staProtocol.setOutEnable(true);// 鍙嚭 staProtocol.setEmptyMk(status[4]); // 绌烘澘淇″彿 staProtocol.setFullPlt(status[5]); // 婊℃墭鐩� staProtocol.setHigh(status[6]); // 楂樺簱浣� staProtocol.setLow(status[7]); // 浣庡簱浣� + staProtocol.setStaOk(status[8]); // 灏辩华 @@ -212,7 +213,7 @@ //鏉$爜 Thread.sleep(200); - OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.100.0",(short) (barcodeSize*8)); + OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.840.0",(short) (barcodeSize*8)); if (result2.IsSuccess) { for (int i = 0; i < barcodeSize; i++) { String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8"); @@ -266,26 +267,26 @@ int index = staNos.indexOf(staProtocol.getSiteId()); - //鏇存柊鍛戒护鏃ュ織 - CommandInfoLogService commandInfoLogService = SpringUtils.getBean(CommandInfoLogService.class); - CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class); - CommandInfo commandInfo = commandInfoService.selectById(staProtocol.getCommandId()); - CommandInfoLog commandInfoLog = new CommandInfoLog(); - if (commandInfo != null) { - commandInfoLog = JSON.parseObject(JSON.toJSONString(commandInfo), CommandInfoLog.class); - commandInfoLog.setId(null); - }else { - Date now = new Date(); - commandInfoLog.setCommand(JSON.toJSONString(staProtocol)); - commandInfoLog.setCommandStatus(3); - commandInfoLog.setStartTime(now); - commandInfoLog.setExecuteTime(now); - commandInfoLog.setCompleteTime(now); - commandInfoLog.setDevice(SlaveType.Devp.toString()); - commandInfoLog.setWrkNo(9999); - commandInfoLog.setTaskNo("9999"); - commandInfoLog.setCommandDesc("鎵嬪姩鍛戒护"); - } +// //鏇存柊鍛戒护鏃ュ織 +// CommandInfoLogService commandInfoLogService = SpringUtils.getBean(CommandInfoLogService.class); +// CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class); +// CommandInfo commandInfo = commandInfoService.selectById(staProtocol.getCommandId()); +// CommandInfoLog commandInfoLog = new CommandInfoLog(); +// if (commandInfo != null) { +// commandInfoLog = JSON.parseObject(JSON.toJSONString(commandInfo), CommandInfoLog.class); +// commandInfoLog.setId(null); +// }else { +// Date now = new Date(); +// commandInfoLog.setCommand(JSON.toJSONString(staProtocol)); +// commandInfoLog.setCommandStatus(3); +// commandInfoLog.setStartTime(now); +// commandInfoLog.setExecuteTime(now); +// commandInfoLog.setCompleteTime(now); +// commandInfoLog.setDevice(SlaveType.Devp.toString()); +// commandInfoLog.setWrkNo(9999); +// commandInfoLog.setTaskNo("9999"); +// commandInfoLog.setCommandDesc("鎵嬪姩鍛戒护"); +// } OperateResult writeResult; //浠诲姟涓嬪彂娆℃暟 @@ -293,15 +294,15 @@ //浠诲姟涓嬪彂鎴愬姛鏍囪瘑 boolean writeFlag = false; while(writeCount < 5){ - OperateResult writeResult1 = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo()); // 宸ヤ綔鍙� - OperateResult writeResult2 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo()); // 鐩爣绔� + OperateResult writeResult1 = siemensS7Net.Write("DB101." + index*8, staProtocol.getWorkNo()); // 宸ヤ綔鍙� + OperateResult writeResult2 = siemensS7Net.Write("DB101." + (index*8+4), staProtocol.getStaNo().shortValue()); // 鐩爣绔� if(writeResult1.IsSuccess && writeResult2.IsSuccess){ Thread.sleep(200); OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB101.0" + index*8, (short)4); //鏇存柊鎸囦护鏃ュ織 - commandInfoLog.setDeviceLog("鎸囦护涓嬪彂鎴愬姛"); - commandInfoLogService.insert(commandInfoLog); +// commandInfoLog.setDeviceLog("鎸囦护涓嬪彂鎴愬姛"); +// commandInfoLogService.insert(commandInfoLog); if(readResult.IsSuccess){ Integer workNo = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0); @@ -330,8 +331,8 @@ log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); //鏇存柊鎸囦护鏃ュ織 - commandInfoLog.setDeviceLog("鎸囦护涓嬪彂澶辫触"); - commandInfoLogService.insert(commandInfoLog); +// commandInfoLog.setDeviceLog("鎸囦护涓嬪彂澶辫触"); +// commandInfoLogService.insert(commandInfoLog); } Thread.sleep(200); } diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 3d9b412..0bdb7c0 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -16,7 +16,7 @@ # 鍏ュ簱鍙�2 inSta[1]: staNo: 1020 - barcode: ${wcs-slave.barcode[1].id} + barcode: ${wcs-slave.barcode[2].id} backSta: 1021 # led: ${wcs-slave.led[0].id} # 绌烘澘鍏ュ簱鍙�1 @@ -27,7 +27,7 @@ # 鍏ュ簱鍙�2 emptyInSta[1]: staNo: 1020 - barcode: ${wcs-slave.barcode[1].id} + barcode: ${wcs-slave.barcode[2].id} backSta: 1021 # led: ${wcs-slave.led[0].id} # 鎷f枡鍏ュ簱鍙�1 @@ -38,24 +38,24 @@ # 鎷f枡鍏ュ簱鍙�2 pickSta[1]: staNo: 1020 - barcode: ${wcs-slave.barcode[1].id} + barcode: ${wcs-slave.barcode[2].id} backSta: 1021 # 鍏ュ簱涓嬪彂鍙�1 inWalkSta[0]: staNo: 1021 - barcode: ${wcs-slave.barcode[0].id} + barcode: ${wcs-slave.barcode[2].id} backSta: 1021 barcodeSign: false # 鍏ュ簱涓嬪彂鍙�1 inWalkSta[1]: - staNo: 1004 + staNo: 1005 barcode: ${wcs-slave.barcode[0].id} - backSta: 1004 + backSta: 1005 barcodeSign: false # 鍏ュ簱涓嬪彂鍙�1 inWalkSta[2]: staNo: 1012 - barcode: ${wcs-slave.barcode[0].id} + barcode: ${wcs-slave.barcode[1].id} backSta: 1012 barcodeSign: false @@ -78,21 +78,31 @@ # RGV绌挎杞�1 rgv[0]: id: 1 - ip: 10.10.10.49 + ip: 10.10.10.70 port: 502 rack: 0 slot: 0 otherId: 2 - carBodyJiaoMing: 100 - carBodyKunPeng: 100 + carBodyJiaoMing: 4100 + carBodyKunPeng: 4100 #RGV婧愮珯鐐� rgvInSta[0]: devpPlcId: ${wcs-slave.devp[0].id} - staNo: 100 + staNo: 1004 direction: true rgvInSta[1]: devpPlcId: ${wcs-slave.devp[0].id} - staNo: 101 + staNo: 1001 + #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級 true:宸� false:鍙� + direction: false + rgvInSta[2]: + devpPlcId: ${wcs-slave.devp[0].id} + staNo: 1014 + #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級 true:宸� false:鍙� + direction: true + rgvInSta[3]: + devpPlcId: ${wcs-slave.devp[0].id} + staNo: 1007 #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級 true:宸� false:鍙� direction: false #RGV鐩爣绔欑偣 @@ -108,13 +118,13 @@ # RGV绌挎杞�2 rgv[1]: id: 2 - ip: 10.10.10.65 + ip: 10.10.10.71 port: 502 rack: 0 slot: 0 otherId: 1 - carBodyJiaoMing: 100 - carBodyKunPeng: 100 + carBodyJiaoMing: 4100 + carBodyKunPeng: 4100 #RGV婧愮珯鐐� rgvInSta[0]: devpPlcId: ${wcs-slave.devp[0].id} @@ -136,14 +146,18 @@ #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級 true:宸� false:鍙� direction: false - barcode[0]: #鏉$爜鎵弿浠�1 + barcode[0]: #鏉$爜鎵弿浠�1004 port: 51236 - ip: 10.10.10.52 + ip: 10.10.101.52 id: 1 - barcode[1]: #鏉$爜鎵弿浠�1 + barcode[1]: #鏉$爜鎵弿浠�1鏃� port: 51236 - ip: 10.10.10.52 + ip: 10.10.101.52 id: 2 + barcode[2]: #鏉$爜鎵弿浠�1020 + port: 51236 + ip: 10.10.101.52 + id: 3 # 纾呯Г scale[0]: id: 1 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 1fe8ce6..66e6afd 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -49,13 +49,13 @@ constant-parameters: # 杞ㄩ亾鎬婚暱 - trackEntireLength: 1737000 + trackEntireLength: 190000 # 杞ㄩ亾鍩哄噯鐐� trackBenchmark: 1 # 杞ㄩ亾杞崲涓虹背姣斾緥 trackProportion: 10000 # 閬胯璺濈 - avoidDistance: 100 + avoidDistance: 4100 wms: # 鏄惁寮�鍚笂鎶� diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml index 5773347..6058986 100644 --- a/src/main/resources/mapper/TaskWrkMapper.xml +++ b/src/main/resources/mapper/TaskWrkMapper.xml @@ -52,6 +52,7 @@ <select id="selectPakIn" resultMap="BaseResultMap"> select top 1 * from "SOURCE"."wcs_task_wrk" where "STATUS"=1 + and "WRK_STS"=2 and "CRN_NO"=#{crnNo} and "WRK_NO"=#{workNo} and "START_POINT"=#{startPoint} diff --git a/src/main/webapp/static/wcs/js/console.map.js b/src/main/webapp/static/wcs/js/console.map.js index d3b37a7..f77ad12 100644 --- a/src/main/webapp/static/wcs/js/console.map.js +++ b/src/main/webapp/static/wcs/js/console.map.js @@ -249,7 +249,7 @@ "id": "site-1004", "text": "1004", "top": 344, - "left": 240, + "left": 287, "width": 45, "height": 23 }, { @@ -257,7 +257,7 @@ "id": "site-1005", "text": "1005", "top": 344, - "left": 287, + "left": 240, "width": 45, "height": 23 }, { @@ -376,7 +376,7 @@ "type": "stn", "id": "site-1023", "text": "1023", - "top": 59, + "top": 0, "left": 240, "width": 92, "height": 23 @@ -392,7 +392,7 @@ "type": "stn", "id": "site-1021", "text": "1021", - "top": 0, + "top": 59, "left": 240, "width": 45, "height": 23 @@ -400,7 +400,7 @@ "type": "stn", "id": "site-1020", "text": "1020", - "top": 0, + "top": 59, "left": 287, "width": 45, "height": 23 -- Gitblit v1.9.1