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