From 7a6d4580cb6b69614a1e628d960279c090bbc60a Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 04 七月 2024 16:59:30 +0800
Subject: [PATCH] 大理片协议读取更新
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/JsonFile/PlcCacheVerticalGlass.json | 42 +++++++++++++++++++++
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java | 4 +-
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 6 +-
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 48 ++++++++++++++++--------
6 files changed, 81 insertions(+), 23 deletions(-)
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index 62186a5..926922a 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -93,7 +93,7 @@
return;
}
log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓�0锛屽皢纭瀛楁敼涓�0");
- S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 0);
+ S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 0);
return;
}
if (!"0".equals(confirmationWrodValue)) {
@@ -169,7 +169,7 @@
boolean taskCache = saveTaskCache(details.getGlassId(), 0, nearestEmpty.getSlot(), Const.GLASS_CACHE_TYPE_IN);
log.info("5銆佺敓鎴愯繘鐗囦换鍔′俊鎭瓨鍏ヤ换鍔¤〃鏄惁瀹屾垚锛歿}", taskCache);
- S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 1);
+ S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
log.info("6銆佸彂閫佺‘璁ゅ瓧瀹屾垚");
@@ -589,7 +589,7 @@
}
boolean glassSizeStatus = saveGlassSize(glassInfo);
log.info("7銆佹坊鍔犲嚭鐗囩幓鐠冨昂瀵镐俊鎭埌纾ㄨ竟鍓嶇幓鐠冭〃鏄惁瀹屾垚锛歿}", glassSizeStatus);
- S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 1);
+ S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
log.info("8銆佸彂閫佺‘璁ゅ瓧宸插畬鎴�");
return Boolean.TRUE;
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
index 96f0f72..68312bf 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
@@ -25,8 +25,8 @@
if (plccontrol == null) {
plccontrol = new S7control(plcType, ip, port, 0, 0);
- String PlcLoadGlass = S7object.class.getResource("/JsonFile/PlcCacheVerticalGlass.json").getPath();
- //log.info(PLCAutoMes.class.getResource("").getPath());
+ String PlcLoadGlass = System.getProperty("user.dir") + "/JsonFile/PlcCacheVerticalGlass.json";
+ System.out.println("鑾峰彇鍒扮殑鏂囦欢璺緞涓猴細" + PlcLoadGlass);
PlcMesObject = InitUtil.initword(PlcLoadGlass);
}
}
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 8a96f63..4d4ec63 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
@@ -81,16 +81,22 @@
@Value("${mes.galssGap}")
private Integer galssGap;
- @Scheduled(fixedDelay = 5000)
+ @Scheduled(fixedDelay = 300)
public void plcToHomeEdgScan() {
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
String d01Id = plcParameterObject.getPlcParameter("D01ID").getValue();
String d04Id = plcParameterObject.getPlcParameter("D04ID").getValue();
+ //D02id鍒ゆ柇鏄惁涓虹┖ 纭鏄惁绌洪棽 鍏佽杩涚墖
+ String d02State = plcParameterObject.getPlcParameter("D02ID").getValue();
String d03State = plcParameterObject.getPlcParameter("D03State").getValue();
String d05State = plcParameterObject.getPlcParameter("D05State").getValue();
- String mesD03Address = plcParameterObject.getPlcParameter("MESToD03").getAddress();
- String mesD05Address = plcParameterObject.getPlcParameter("MESToD05").getAddress();
-
+ String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress();
+ String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress();
+ String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue();
+ if (!REQUEST_WORD.equals(d01ToMES)) {
+ log.info("璇锋眰瀛椾负{}锛岀粨鏉熸湰娆℃壂鎻忚繘鍗ц浆绔嬩换鍔�", d01ToMES);
+ return;
+ }
log.info("1銆佽幏鍙杁01Id鎵弿ID涓猴細{};鑾峰彇d04Id鎵弿ID涓猴細{};", d01Id, d04Id);
if (StringUtils.isBlank(d01Id) && StringUtils.isBlank(d04Id)) {
@@ -104,11 +110,11 @@
// Boolean flag01 = Boolean.FALSE;
// Boolean flag04 = Boolean.FALSE;
//鎸夌収绾胯矾鍙婄幓鐠僫d鑾峰彇鐩搁偦涓ゅ潡鐜荤拑 鍗ц浆绔嬩笂鐨勭幓鐠�
- if (StringUtils.isNotBlank(d01Id) && !REQUEST_WORD.equals(d03State)) {
- judgeGlassTypeStatus(d01Id, Const.A09_OUT_TARGET_POSITION, mesD03Address);
+ if (StringUtils.isNotBlank(d01Id) && (StringUtils.isBlank(d02State) || !REQUEST_WORD.equals(d03State))) {
+ judgeGlassTypeStatus(d01Id, Const.A09_OUT_TARGET_POSITION, mesD01Address);
}
if (StringUtils.isNotBlank(d04Id) && !REQUEST_WORD.equals(d05State)) {
- judgeGlassTypeStatus(d04Id, Const.A10_OUT_TARGET_POSITION, mesD05Address);
+ judgeGlassTypeStatus(d04Id, Const.A10_OUT_TARGET_POSITION, mesD04Address);
}
log.info("缁撴潫鎵爜浠诲姟");
// if (flag01 && flag04) {
@@ -125,17 +131,26 @@
// }
}
- @Scheduled(fixedDelay = 5000)
+ @Scheduled(fixedDelay = 300)
public void plcToHomeEdgFreeCarTask() {
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
String e01Status = plcParameterObject.getPlcParameter("E01State").getValue();
+ String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue();
+ String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue();
+ log.info("鎵ц绌鸿溅閫佺墖浠诲姟锛岃幏鍙栧埌鐨勫ぇ杞︾姸鎬佷负{}锛屽崸杞珛鐘舵�佸垎鍒负d03:{}锛宒05:{}", e01Status, d03ToMES, d05ToMES);
if (REQUEST_WORD.equals(e01Status)) {
- log.info("杩涚墖澶ц溅闈炵┖闂�");
+ log.info("杩涚墖澶ц溅闈炵┖闂诧紝缁撴潫閫佺墖浠诲姟");
return;
}
- List<BigStorageCageFeedTask> feedTaskList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>()
+ if (!REQUEST_WORD.equals(d03ToMES) && !REQUEST_WORD.equals(d05ToMES)) {
+ log.info("鍗ц浆绔嬫病鏈夐�佺墖璇锋眰锛岀粨鏉熼�佺墖浠诲姟");
+ return;
+ }
+ LambdaQueryWrapper<BigStorageCageFeedTask> wrapper = new LambdaQueryWrapper<BigStorageCageFeedTask>()
.eq(BigStorageCageFeedTask::getTaskType, Const.BIG_STORAGE_IN_RUN)
- .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP));
+ .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP);
+ //鑾峰彇鍙互鍚姩鍗ц浆绔嬬殑浠诲姟绾胯矾
+ List<BigStorageCageFeedTask> feedTaskList = bigStorageCageFeedTaskService.list(wrapper);
if (CollectionUtils.isNotEmpty(feedTaskList)) {
if (feedTaskList.size() == 1) {
computeTargetByLine(feedTaskList.get(0).getLine());
@@ -209,7 +224,7 @@
}
- // @Scheduled(fixedDelay = 5000)
+ @Scheduled(fixedDelay = 300)
public void plcToHomeEdgOutTask() {
List<BigStorageCageOutTask> outingList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_NEW));
@@ -326,7 +341,7 @@
}
//鍚憄lc鍙戦�佽繘鐗囩‘璁�
if (flag) {
- S7object.getinstance().plccontrol.writeWord(mesAddress, (short) 1);
+ S7object.getinstance().plccontrol.writeWord(mesAddress, 1);
}
//璁板綍鏃犳硶鏀句笅鐜荤拑锛屽悗缁垽鏂惎鍔�
return flag;
@@ -424,10 +439,11 @@
String mesD05Address = plcMesObject.getPlcParameter("MESToD05").getAddress();
String outLine = line.equals(Const.A09_OUT_TARGET_POSITION) ? mesD03Address : mesD05Address;
for (int i = 1; i <= taskList.size(); i++) {
- s7control.writeWord(plcMesObject.getPlcParameter("StartAddToImport" + i).getAddress(), (short) taskList.get(i - 1).getLine());
- s7control.writeWord(plcMesObject.getPlcParameter("TargetAddToImport" + i).getAddress(), (short) taskList.get(i - 1).getTargetSlot());
+ s7control.writeWord(plcMesObject.getPlcParameter("StartAddToImport" + i).getAddress(), taskList.get(i - 1).getLine());
+ s7control.writeWord(plcMesObject.getPlcParameter("TargetAddToImport" + i).getAddress(), taskList.get(i - 1).getTargetSlot());
}
- s7control.writeWord(outLine, (short) 1);
+ s7control.writeWord(outLine, 2);
+ log.info("閫佺墖浠诲姟宸插彂閫佸畬鎴愶紝浠诲姟绾胯矾涓猴細{}锛屽惎鍔ㄥ湴鍧�涓簕}", line, outLine);
}
private <T extends BigStorageCageBaseInfo> Boolean computeOutGlassInfo(List<T> list, Boolean isTempering) {
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/JsonFile/PlcCacheVerticalGlass.json b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/JsonFile/PlcCacheVerticalGlass.json
index e19b6ac..10e8e33 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/JsonFile/PlcCacheVerticalGlass.json
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/JsonFile/PlcCacheVerticalGlass.json
@@ -192,6 +192,34 @@
"unit": ""
},
{
+ "codeId": "D03ToMES",
+ "addressIndex": "874",
+ "addressLenght": "2",
+ "ratio": "1",
+ "unit": ""
+ },
+ {
+ "codeId": "D05ToMES",
+ "addressIndex": "876",
+ "addressLenght": "2",
+ "ratio": "1",
+ "unit": ""
+ },
+ {
+ "codeId": "D01ToMES",
+ "addressIndex": "878",
+ "addressLenght": "2",
+ "ratio": "1",
+ "unit": ""
+ },
+ {
+ "codeId": "D04ToMES",
+ "addressIndex": "880",
+ "addressLenght": "2",
+ "ratio": "1",
+ "unit": ""
+ },
+ {
"codeId": "MESToD03",
"addressIndex": "888",
"addressLenght": "2",
@@ -330,6 +358,20 @@
"addressLenght": "2",
"ratio": "1",
"unit": ""
+ },
+ {
+ "codeId": "MESToD01",
+ "addressIndex": "894",
+ "addressLenght": "2",
+ "ratio": "1",
+ "unit": ""
+ },
+ {
+ "codeId": "MESToD04",
+ "addressIndex": "896",
+ "addressLenght": "2",
+ "ratio": "1",
+ "unit": ""
}
]
}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
index 072185f..a0a5902 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
@@ -15,7 +15,7 @@
SUM(case task_state when 2 then 1 else 0 end) as real_count
from big_storage_cage_feed_task
where task_state in (1, 2)
- and target_slot is null
+ and (target_slot = 0 or target_slot is null)
group by line
) t
where t.total_count = t.real_count
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
index 8ab9cf4..f9deff8 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -63,7 +63,7 @@
@Test
public void judgeGlassTypeStatus() {
- plcStorageCageTask.judgeGlassTypeStatus("P24060403|6|7", Const.A09_OUT_TARGET_POSITION);
+ plcStorageCageTask.judgeGlassTypeStatus("P24060403|6|7", Const.A09_OUT_TARGET_POSITION, "mesD03Address");
}
@Test
--
Gitblit v1.8.0