From dbdf9238c808566a0cef6cd3858f6f3ee2d7bacd Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期日, 21 七月 2024 08:22:52 +0800
Subject: [PATCH] 1、大理片笼:选择工程号没有是否旋转字段的值 2、将钢化小片表中电气需要的字段改为int(宽高厚、旋转角度)
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 49 insertions(+), 10 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 5824fcf..62c5c84 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
@@ -85,7 +85,10 @@
@Value("${mes.glassGap}")
private Integer glassGap;
- @Scheduled(fixedDelay = 500)
+ private String d01GlassId = "";
+ private String d04GlassId = "";
+
+ @Scheduled(fixedDelay = 300)
public void plcToHomeEdgScan() {
Date startDate = new Date();
log.info("澶х悊鐗囩鎵爜浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -114,17 +117,23 @@
}
//鎸夌収绾胯矾鍙婄幓鐠僫d鑾峰彇鐩搁偦涓ゅ潡鐜荤拑 鍗ц浆绔嬩笂鐨勭幓鐠�: 鐘舵�佷负0涓嶆搷浣滐紙D01閫佺墖锛�0涓嶆搷浣滐紝1鍏佽閫佺墖锛夛紝璇锋眰瀛椾负1锛� 锛�02鐜荤拑id涓虹┖鎴栬�呭崸杞珛鏈惎鍔級
if (!REQUEST_WORD.equals(mesD01Value) && REQUEST_WORD.equals(d01ToMES) && (StringUtils.isBlank(d02State) || !REQUEST_WORD.equals(d03State))) {
- judgeGlassTypeStatus(d01Id, Const.A09_OUT_TARGET_POSITION, mesD01Address);
+ if (!d01GlassId.equals(d01Id)) {
+ judgeGlassTypeStatus(d01Id, Const.A09_OUT_TARGET_POSITION, mesD01Address);
+ d01GlassId = d01Id;
+ }
}
// 鐘舵�佷负0涓嶆搷浣滐紙D01閫佺墖锛�0涓嶆搷浣滐紝1鍏佽閫佺墖锛夛紝璇锋眰瀛椾负1锛� 鍗ц浆绔嬫湭鍚姩
if (!REQUEST_WORD.equals(mesD04Value) && REQUEST_WORD.equals(d04ToMES) && !REQUEST_WORD.equals(d05State)) {
- judgeGlassTypeStatus(d04Id, Const.A10_OUT_TARGET_POSITION, mesD04Address);
+ if (!d04GlassId.equals(d04Id)) {
+ judgeGlassTypeStatus(d04Id, Const.A10_OUT_TARGET_POSITION, mesD04Address);
+ d04GlassId = d04Id;
+ }
}
Date endDate = new Date();
log.info("澶х悊鐗囩鎵爜浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
}
- @Scheduled(fixedDelay = 500)
+ @Scheduled(fixedDelay = 300)
public void plcToHomeEdgFreeCarTask() {
Date startDate = new Date();
log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -231,11 +240,16 @@
log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
}
- @Scheduled(fixedDelay = 500)
+ @Scheduled(fixedDelay = 300)
public void plcToHomeEdgOutTask() {
Date startDate = new Date();
log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
+ String e02State = plcMesObject.getPlcParameter("E02State").getAddress();
+ if (REQUEST_WORD.equals(e02State)) {
+ log.info("鍑虹墖蹇欑锛岀粨鏉熷嚭鐗囦换鍔�");
+ return;
+ }
String mesToPLCAddress = plcMesObject.getPlcParameter("MESToPLC").getAddress();
List<BigStorageCageOutTask> outingList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_NEW));
Assert.isTrue(CollectionUtils.isEmpty(outingList), "鏈夋鍦ㄦ墽琛屽嚭鐗囩殑浠诲姟锛岀粨鏉熷綋鍓嶅嚭鐗囩嚎绋�");
@@ -301,7 +315,12 @@
List<BigStorageCageOutTask> outTasks = list.stream().map(e -> new BigStorageCageOutTask(e.getGlassId(), first.getSlot(), second.getSlot(),
slotWidth, 0, 0, 1)).collect(Collectors.toList());
bigStorageCageOutTaskService.saveBatch(outTasks);
- S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
+ boolean flag = Boolean.FALSE;
+ int count = 3;
+ while (!flag && count >= 0) {
+ flag = S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
+ count--;
+ }
log.info("宸插悜plc鍙戦�佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{}", mesToPLCAddress);
Date endDate = new Date();
log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
@@ -311,7 +330,7 @@
}
}
- @Scheduled(fixedDelay = 500)
+ @Scheduled(fixedDelay = 300)
public void updateOutGlassStateTask() {
Date startDate = new Date();
log.info("1銆佸ぇ鐞嗙墖绗煎嚭鐗囧畬鎴愬悗鏇存柊澶х悊鐗囩鏁版嵁浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -340,7 +359,7 @@
/**
* 澶勭悊鐮存崯琛ㄤ换鍔�
*/
- @Scheduled(fixedDelay = 500)
+ @Scheduled(fixedDelay = 300)
public void dealDamageTask() {
Date startDate = new Date();
log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -450,7 +469,14 @@
}
//鍚憄lc鍙戦�佽繘鐗囩‘璁�
if (flag) {
- S7object.getinstance().plccontrol.writeWord(mesAddress, 1);
+ boolean flagSend = Boolean.FALSE;
+ int count = 3;
+ while (!flagSend && count >= 0) {
+ flagSend = S7object.getinstance().plccontrol.writeWord(mesAddress, 1);
+ count--;
+ }
+ log.info("杩涘崸杞珛鍙戦�佺‘璁ゅ瓧瀹屾垚锛屽湴鍧�涓簕}", mesAddress);
+
}
//璁板綍鏃犳硶鏀句笅鐜荤拑锛屽悗缁垽鏂惎鍔�
return flag;
@@ -557,7 +583,14 @@
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, 2);
+ boolean flag = Boolean.FALSE;
+ int count = 3;
+ while (!flag && count >= 0) {
+ flag = s7control.writeWord(outLine, 2);
+ count--;
+ }
log.info("閫佺墖浠诲姟宸插彂閫佸畬鎴愶紝浠诲姟绾胯矾涓猴細{}锛屽惎鍔ㄥ湴鍧�涓簕},纭瀛椾负{}", line, outLine, 2);
}
@@ -590,7 +623,13 @@
.in(BigStorageCageDetails::getGlassId, glassIds));
//鏇存柊绗煎瓙鍐呮牸瀛愮殑鍓╀綑灏哄
updateSlotRemain(list, glassIds);
- S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
+
+ boolean flag = Boolean.FALSE;
+ int count = 3;
+ while (!flag && count >= 0) {
+ flag = S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
+ count--;
+ }
log.info("宸插悜plc鍙戦�佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{}", mesToPLCAddress);
return Boolean.TRUE;
}
--
Gitblit v1.8.0