From 09c9c55d62cdcc6db5e99ee238ae0e78d082ee1a Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 21 十月 2024 13:34:25 +0800
Subject: [PATCH] 添加大理片多线程
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 172 +++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 118 insertions(+), 54 deletions(-)
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index 9937f03..170123e 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -574,54 +574,106 @@
/**
* 纭瀛楁竻绌�
*/
-// @Scheduled(fixedDelay = 300)
-// public void confirmClear() {
-// PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
-// String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue();
-// String d04ToMES = plcParameterObject.getPlcParameter("D04ToMES").getValue();
-// String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress();
-// String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress();
-// String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue();
-// String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue();
-// String mesD03Address = plcParameterObject.getPlcParameter("MESToD03").getAddress();
-// String mesD05Address = plcParameterObject.getPlcParameter("MESToD05").getAddress();
-// if(!REQUEST_WORD.equals(d01ToMES)){
-// S7object.getinstance().plccontrol.writeWord(mesD01Address, 0);
-// }
-// if(!REQUEST_WORD.equals(d04ToMES)){
-// S7object.getinstance().plccontrol.writeWord(mesD04Address, 0);
-// }
-// if (!REQUEST_WORD.equals(d03ToMES)) {
-// S7object.getinstance().plccontrol.writeWord(mesD03Address, 0);
-// }
-// if (!REQUEST_WORD.equals(d05ToMES)) {
-// S7object.getinstance().plccontrol.writeWord(mesD05Address, 0);
-// }
-// }
+ @Scheduled(fixedDelay = 300)
+ public void confirmClear() {
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue();
+ String d04ToMES = plcParameterObject.getPlcParameter("D04ToMES").getValue();
+ String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress();
+ String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress();
+ String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue();
+ String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue();
+ String mesD03Address = plcParameterObject.getPlcParameter("MESToD03").getAddress();
+ String mesD05Address = plcParameterObject.getPlcParameter("MESToD05").getAddress();
+ if (!REQUEST_WORD.equals(d01ToMES)) {
+ S7object.getinstance().plccontrol.writeWord(mesD01Address, 0);
+ }
+ if (!REQUEST_WORD.equals(d04ToMES)) {
+ S7object.getinstance().plccontrol.writeWord(mesD04Address, 0);
+ }
+ if (!REQUEST_WORD.equals(d03ToMES)) {
+ S7object.getinstance().plccontrol.writeWord(mesD03Address, 0);
+ }
+ if (!REQUEST_WORD.equals(d05ToMES)) {
+ S7object.getinstance().plccontrol.writeWord(mesD05Address, 0);
+ }
+ }
+
/**
* 杩涚墖鐘舵�佷慨鏀�
*/
-// @Scheduled(fixedDelay = 300)
-// public void feedStatusUpdate() {
-// List<String> glassIds1=null;
-// List<String> glassIds2=null;
-// List<BigStorageCageFeedTask> bigStorageCageFeedTasks1=bigStorageCageFeedTaskService.list(
-// new LambdaQueryWrapper<BigStorageCageFeedTask>()
-// .eq(BigStorageCageFeedTask::getTaskState,1)
-// .eq(BigStorageCageFeedTask::getLine,Const.ARTIFICIAL_OUT_TARGET_POSITION)
-// );
-// List<BigStorageCageFeedTask> bigStorageCageFeedTasks2=bigStorageCageFeedTaskService.list(
-// new LambdaQueryWrapper<BigStorageCageFeedTask>()
-// .eq(BigStorageCageFeedTask::getTaskState,1)
-// .eq(BigStorageCageFeedTask::getLine,Const.TEMPERING_OUT_TARGET_POSITION)
-// );
-//// if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){
-////
-//// }
-//// if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){
-////
-//// }
-// }
+ @Scheduled(fixedDelay = 300)
+ public void feedStatusUpdate() {
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ List<String> glassIds1 = new ArrayList<>();
+ List<String> glassIds2 = new ArrayList<>();
+// for (int i = 1; i <= 6; i++) {
+// String line1GlassId = plcParameterObject.getPlcParameter("D03ID" + i).getValue();
+// if (StringUtils.isNotEmpty(line1GlassId)) {
+// glassIds1.add(line1GlassId);
+// }
+// String line2GlassId = plcParameterObject.getPlcParameter("D05ID" + i).getValue();
+// if (StringUtils.isNotEmpty(line2GlassId)) {
+// glassIds1.add(line2GlassId);
+// }
+// }
+ List<BigStorageCageFeedTask> bigStorageCageFeedTasks1 = bigStorageCageFeedTaskService.list(
+ new LambdaQueryWrapper<BigStorageCageFeedTask>()
+ .eq(BigStorageCageFeedTask::getTaskState, 1)
+ .eq(BigStorageCageFeedTask::getLine, Const.A09_OUT_TARGET_POSITION)
+ );
+ List<BigStorageCageFeedTask> bigStorageCageFeedTasks2 = bigStorageCageFeedTaskService.list(
+ new LambdaQueryWrapper<BigStorageCageFeedTask>()
+ .eq(BigStorageCageFeedTask::getTaskState, 1)
+ .eq(BigStorageCageFeedTask::getLine, Const.A10_OUT_TARGET_POSITION)
+ );
+ if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)&& glassIds1 != null) {
+ List<String> matchingIds1 = bigStorageCageFeedTasks1.stream()
+ .map(BigStorageCageFeedTask::getGlassId)
+ .filter(glassIds1::contains)
+ .distinct()
+ .collect(Collectors.toList());
+ bigStorageCageFeedTaskService.update(
+ new LambdaUpdateWrapper<BigStorageCageFeedTask>()
+ .in(BigStorageCageFeedTask::getGlassId, matchingIds1)
+ .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
+ .set(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
+ );
+ }
+ if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks2)&& glassIds2 != null) {
+ List<String> matchingIds2 = bigStorageCageFeedTasks2.stream()
+ .map(BigStorageCageFeedTask::getGlassId)
+ .filter(glassIds2::contains)
+ .distinct()
+ .collect(Collectors.toList());
+ bigStorageCageFeedTaskService.update(
+ new LambdaUpdateWrapper<BigStorageCageFeedTask>()
+ .in(BigStorageCageFeedTask::getGlassId, matchingIds2)
+ .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
+ .set(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
+ );
+ }
+ if (CollectionUtils.isEmpty(glassIds1)) {
+ bigStorageCageFeedTaskService.update(
+ new LambdaUpdateWrapper<BigStorageCageFeedTask>()
+ .eq(BigStorageCageFeedTask::getLine,Const.A09_OUT_TARGET_POSITION)
+ .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
+ .gt(BigStorageCageFeedTask::getTargetSlot, 0)
+ .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
+ .set(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_CAR)
+ );
+ }
+ if (CollectionUtils.isEmpty(glassIds2)) {
+ bigStorageCageFeedTaskService.update(
+ new LambdaUpdateWrapper<BigStorageCageFeedTask>()
+ .eq(BigStorageCageFeedTask::getLine,Const.A10_OUT_TARGET_POSITION)
+ .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
+ .gt(BigStorageCageFeedTask::getTargetSlot, 0)
+ .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
+ .set(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_CAR)
+ );
+ }
+ }
/**
* 鎸夌収鐜荤拑id鍒ゆ柇鐜荤拑鐘舵�佸強鍗ц浆绔嬫槸鍚﹀彲鐩存帴鍚姩
@@ -711,13 +763,19 @@
//鍚憄lc鍙戦�佽繘鐗囩‘璁�
if (flag) {
//鍚憄lc鍐欏叆纭瀛�
- int returnData = 0;
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ int returnData = 1;
int count = 1;
- while (returnData == 0) {
+ while (returnData != 0) {
S7object.getinstance().plccontrol.writeWord(mesAddress, 1);
- returnData = S7object.getinstance().plccontrol.readWord(mesAddress, 1).get(0);
- log.info("杩涘崸杞珛绗瑊}娆″彂閫佺‘璁ゅ瓧瀹屾垚锛屽湴鍧�涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, mesAddress, returnData);
+ if (Const.A10_OUT_TARGET_POSITION.equals(line)) {
+ returnData = Integer.parseInt(plcParameterObject.getPlcParameter("D04ToMES").getValue());
+ } else {
+ returnData = Integer.parseInt(plcParameterObject.getPlcParameter("D01ToMES").getValue());
+ }
+// returnData = S7object.getinstance().plccontrol.readWord(mesAddress, 1).get(0);
+ log.info("杩涘崸杞珛绗瑊}娆″彂閫佺‘璁ゅ瓧瀹屾垚锛屽湴鍧�涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, mesAddress, 1);
}
}
//璁板綍鏃犳硶鏀句笅鐜荤拑锛屽悗缁垽鏂惎鍔�
@@ -835,12 +893,17 @@
s7control.writeWord(plcMesObject.getPlcParameter("TargetAddToImport" + i).getAddress(), taskList.get(i - 1).getTargetSlot());
log.info("鍚憄lc鍙戦�佺{}鐗囩幓鐠冨凡瀹屾垚,璧峰浣嶇疆鏄瘂}锛岀洰鏍囦綅缃槸", i, taskList.get(i - 1).getLine(), taskList.get(i - 1).getTargetSlot());
}
- int returnData = 0;
+ int returnData = 1;
int count = 1;
- while (returnData == 0) {
+ while (returnData != 0) {
s7control.writeWord(outLine, 2);
- returnData = s7control.readWord(outLine, 1).get(0);
- log.info("宸插悜plc绗瑊}娆″彂閫佽繘鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, outLine, returnData);
+ if (line.equals(Const.A09_OUT_TARGET_POSITION)) {
+ returnData = Integer.parseInt(plcMesObject.getPlcParameter("D03ToMES").getValue());
+ } else {
+ returnData = Integer.parseInt(plcMesObject.getPlcParameter("D05ToMES").getValue());
+ }
+// returnData = s7control.readWord(outLine, 1).get(0);
+ log.info("宸插悜plc绗瑊}娆″彂閫佽繘鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, outLine, 2);
}
}
@@ -953,7 +1016,8 @@
log.info("灏嗗嚭鐗囩幓鐠儃}鐜荤拑鐘舵�佹敼涓哄凡鍑虹墖", glassIds);
bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
.set(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING)
- .in(BigStorageCageDetails::getGlassId, glassIds));
+ .in(BigStorageCageDetails::getGlassId, glassIds)
+ .ne(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT));
// int returnData = 0;
// int count = 1;
// while (returnData == 0) {
--
Gitblit v1.8.0