From a6720987358933753d9b90acda9103003cfb37ee Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期五, 13 六月 2025 17:09:57 +0800
Subject: [PATCH] 更新通讯依赖版本为1.5.4,中空大理片,钢化大理片S7,modbus测试完成代码提交
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java | 179 ++++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 138 insertions(+), 41 deletions(-)
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
index b32a032..12c9e54 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
@@ -119,7 +119,7 @@
// ReadWriteEntity mesReplyEntity = miloService.readFromOpcUa("DLP1A.DLP1A.MesReply");
// if ("1".equals(mesReplyEntity.getValue() + "")) {
String mesReplyEntity = s7DataDLPOne.getMesReply().toString();
- if (!"1".equals(mesReplyEntity)) {
+ if ("1".equals(mesReplyEntity)) {
log.info("鏈夋鍦ㄦ墽琛岀殑浠诲姟锛岀粨鏉熻繘鐗囦换鍔�");
return;
}
@@ -128,13 +128,13 @@
// ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP1A.DLP1A.FROM1");
String fromOpcUa = s7DataDLPOne.getFrom1().toString();
- List<Short> states = s7DataDLPOne.getStates();
+ List<String> ids = s7DataDLPOne.getIds();
List<String> glassIdList = new ArrayList<>();
- for (int i = 1; i <= 6; i++) {
+ for (int i = 0; i < 6; i++) {
// ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP1A.DLP1A.DI" + i);
- String requestWord = states.get(i).toString();
+ String requestWord = ids.get(i);
// if (null != requestWord.getValue()) {
- if (null != requestWord) {
+ if (null != requestWord && !requestWord.isEmpty()) {
BigStorageCageTask task = new BigStorageCageTask();
// task.setGlassId(requestWord.getValue() + "");
task.setGlassId(requestWord);
@@ -159,7 +159,7 @@
//鍚憄lc鍙戦�佹姤璀�:褰撳墠澶ц溅杩涚墖鐜荤拑鏁伴噺涓巑es璇诲彇鍒扮殑鏁伴噺涓嶅尮閰�
// miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 1));
s7DataDLPOne = new S7DataDLPOne();
- s7DataDLPOne.setAlramSignal((short) 1);
+ s7DataDLPOne.setAlarmSignal(1);
s7SerializerDLPOne.write(s7DataDLPOne);
return;
}
@@ -170,7 +170,7 @@
//鍚憄lc鍙戦�佹姤璀�:鍚屼竴杞﹁繘鐗囩幓鐠冨瓨鍦ㄧ浉鍚�
// miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 2));
s7DataDLPOne = new S7DataDLPOne();
- s7DataDLPOne.setAlramSignal((short) 2);
+ s7DataDLPOne.setAlarmSignal(2);
s7SerializerDLPOne.write(s7DataDLPOne);
return;
}
@@ -182,7 +182,7 @@
//鍚憄lc鍙戦�佹姤璀�:鐞嗙墖绗煎瓨鍦ㄧ浉鍚岀殑杩涚墖鐜荤拑
// miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 4));
s7DataDLPOne = new S7DataDLPOne();
- s7DataDLPOne.setAlramSignal((short) 4);
+ s7DataDLPOne.setAlarmSignal(4);
s7SerializerDLPOne.write(s7DataDLPOne);
return;
}
@@ -193,7 +193,7 @@
//鍚憄lc鍙戦�佹姤璀�:杩涚墖浠诲姟鏁伴噺涓庣郴缁熸煡璇㈠埌鐨勭幓鐠冩暟閲忎笉鍖归厤
// miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 8));
s7DataDLPOne = new S7DataDLPOne();
- s7DataDLPOne.setAlramSignal((short) 8);
+ s7DataDLPOne.setAlarmSignal(8);
s7SerializerDLPOne.write(s7DataDLPOne);
return;
}
@@ -214,7 +214,7 @@
//鍚憄lc鍙戦�佹姤璀�:绗煎唴鏍煎瓙鍓╀綑鏁伴噺涓嶈冻
// miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 16));
s7DataDLPOne = new S7DataDLPOne();
- s7DataDLPOne.setAlramSignal((short) 16);
+ s7DataDLPOne.setAlarmSignal(16);
s7SerializerDLPOne.write(s7DataDLPOne);
return;
}
@@ -230,7 +230,7 @@
//鍚憄lc鍙戦�佹姤璀�:鐩撮�氱墖鍙板瓨鍦ㄧ幓鐠冿紝鏃犳硶缁х画鐩撮��
// miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 64));
s7DataDLPOne = new S7DataDLPOne();
- s7DataDLPOne.setAlramSignal((short) 64);
+ s7DataDLPOne.setAlarmSignal(64);
s7SerializerDLPOne.write(s7DataDLPOne);
return;
}
@@ -260,7 +260,7 @@
.eq(BigStorageCage::getSlot, bigStorageDTO.getSlot()));
task.setTargetSlot(bigStorageDTO.getSlot());
task.setGlassId(info.getGlassId());
- bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", task);
+// bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", task);
//瀛樻斁鍘嗗彶浠诲姟
BigStorageCageHistoryTask historyTask = new BigStorageCageHistoryTask();
BeanUtils.copyProperties(task, historyTask);
@@ -283,7 +283,7 @@
} else {
BigStorageCageTask task = inTaskList.get(0);
task.setTargetSlot(THROUGH_SLOT);
- bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", task);
+// bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", task);
//瀛樻斁鍘嗗彶浠诲姟
BigStorageCageHistoryTask historyTask = new BigStorageCageHistoryTask();
BeanUtils.copyProperties(task, historyTask);
@@ -314,8 +314,8 @@
// list.add(generateReadWriteEntity("DLP1A.DLP1A.MesReply", 1));
// miloService.writeToOpcWord(list);
s7DataDLPOne = new S7DataDLPOne();
- for (int i = 0; i < inTaskList.size() && i < 6; i++) {
- short value = (short) Integer.parseInt(inTaskList.get(i).getTargetSlot().toString());
+ for (int i = 0; i < inTaskList.size(); i++) {
+ Integer value = Integer.parseInt(inTaskList.get(i).getTargetSlot().toString());
switch (i) {
case 0:
s7DataDLPOne.setTo1(value);
@@ -338,7 +338,9 @@
}
}
s7SerializerDLPOne.write(s7DataDLPOne);
-
+ s7DataDLPOne = new S7DataDLPOne();
+ s7DataDLPOne.setMesReply(1);
+ s7SerializerDLPOne.write(s7DataDLPOne);
}
@Scheduled(fixedDelay = 1000)
@@ -360,7 +362,8 @@
return;
}
//鑾峰彇鍑虹墖浠诲姟琛�
- List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
+ List<BigStorageCageTask> outTaskList = getOutTaskList(s7DataWLTwo);
+// List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
if (CollectionUtil.isNotEmpty(outTaskList)) {
log.info("鏈夋鍦ㄦ墽琛岀殑鍑虹墖浠诲姟锛岀粨鏉熸湰娆″嚭鐗囦换鍔�");
return;
@@ -544,7 +547,7 @@
}
// if (null != requestWord.getValue()) {
- if (null != requestWord) {
+ if (!requestWord.isEmpty()) {
BigStorageCageTask task = new BigStorageCageTask();
// task.setGlassId(requestWord.getValue() + "");
// task.setTargetSlot(Integer.parseInt(toOpcUa.getValue() + ""));
@@ -602,7 +605,7 @@
.eq(BigStorageCageHistoryTask::getGlassId, item.getGlassId()));
item.setTargetSlot(0);
//娓呯┖浠诲姟琛ㄦ暟鎹�
- bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", item);
+// bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", item);
}
//娓呯┖鍚姩鐘舵��
//鍚憃pc鍙戦�佸惎鍔ㄤ俊鍙�
@@ -613,14 +616,14 @@
// }
// list.add(generateReadWriteEntity("DLP1A.DLP1A.MesReply", 0));
// miloService.writeToOpcWord(list);
- s7DataDLPOne =new S7DataDLPOne();
- s7DataDLPOne.setTo1((short)0);
- s7DataDLPOne.setTo2((short)0);
- s7DataDLPOne.setTo3((short)0);
- s7DataDLPOne.setTo4((short)0);
- s7DataDLPOne.setTo5((short)0);
- s7DataDLPOne.setTo6((short)0);
- s7DataDLPOne.setMesReply((short)0);
+ s7DataDLPOne = new S7DataDLPOne();
+ s7DataDLPOne.setTo1(0);
+ s7DataDLPOne.setTo2(0);
+ s7DataDLPOne.setTo3(0);
+ s7DataDLPOne.setTo4(0);
+ s7DataDLPOne.setTo5(0);
+ s7DataDLPOne.setTo6(0);
+ s7DataDLPOne.setMesReply(0);
s7SerializerDLPOne.write(s7DataDLPOne);
}
@@ -634,8 +637,9 @@
log.info("褰撳墠涓洪潪鑱旀満鐘舵�侊紝缁撴潫瀹屾垚鍑虹墖浠诲姟");
return;
}
- //鑾峰彇杩涚墖浠诲姟琛�
- List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
+ //鑾峰彇鍑虹墖浠诲姟琛�
+ List<BigStorageCageTask> outTaskList = getOutTaskList(s7DataWLTwo);
+// List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
if (CollectionUtil.isEmpty(outTaskList)) {
log.info("褰撳墠澶ц溅鏃犺繘鐗囩幓鐠冿紝缁撴潫瀹屾垚杩涚墖浠诲姟");
return;
@@ -719,12 +723,13 @@
}
}
// 閲嶇疆浠诲姟琛ㄦ暟鎹�
- bigStorageCageTaskService.updateOutTaskMessage("big_storage_cage_out_one_task");
+// bigStorageCageTaskService.updateOutTaskMessage("big_storage_cage_out_one_task");
+ resetOutTask();
//娓呯┖鍚姩鐘舵��
//鍚憃pc鍙戦�佸惎鍔ㄤ俊鍙�
// miloService.writeToOpcWord(generateReadWriteEntity("DLP1B.DLP1B.MesReply", 0));
- S7DataDLPTwo s7DataDLPTwo=new S7DataDLPTwo();
- s7DataDLPTwo.setMesReply((short)0);
+ S7DataDLPTwo s7DataDLPTwo = new S7DataDLPTwo();
+ s7DataDLPTwo.setMesReply(0);
s7SerializerDLPTwo.write(s7DataDLPTwo);
}
@@ -858,12 +863,54 @@
List<String> glassIds = bigStorageCageTaskList.stream().map(BigStorageCageTask::getGlassId).collect(Collectors.toList());
int glassCount = bigStorageCageTaskList.size();
//鐢熸垚鍑虹墖浠诲姟鏉℃暟涓嶈冻6琛ュ叏
- while (bigStorageCageTaskList.size() < 6) {
- bigStorageCageTaskList.add(new BigStorageCageTask("", 0, 0, 0));
- }
+// while (bigStorageCageTaskList.size() < 6) {
+// bigStorageCageTaskList.add(new BigStorageCageTask("", 0, 0, 0));
+// }
//娓呯┖浠诲姟琛ㄦ暟鎹�
- bigStorageCageTaskService.removeAll("big_storage_cage_out_one_task");
- bigStorageCageTaskService.saveTaskMessage(tableName, bigStorageCageTaskList);
+ resetOutTask();
+ S7DataDLPTwo s7DataDLPTwo = new S7DataDLPTwo();
+ for (int i = 0; i < bigStorageCageTaskList.size() && i < 6; i++) {
+ String glassId = bigStorageCageTaskList.get(i).getGlassId();
+ Integer startSlot = bigStorageCageTaskList.get(i).getStartSlot();
+ Integer target = bigStorageCageTaskList.get(i).getTargetSlot();
+ if (startSlot > 0) {
+ switch (i) {
+ case 0:
+ s7DataDLPTwo.setId1(glassId);
+ s7DataDLPTwo.setFrom1(startSlot);
+ s7DataDLPTwo.setTo1(target);
+ break;
+ case 1:
+ s7DataDLPTwo.setId2(glassId);
+ s7DataDLPTwo.setFrom2(startSlot);
+ s7DataDLPTwo.setTo2(target);
+ break;
+ case 2:
+ s7DataDLPTwo.setId3(glassId);
+ s7DataDLPTwo.setFrom3(startSlot);
+ s7DataDLPTwo.setTo3(target);
+ break;
+ case 3:
+ s7DataDLPTwo.setId4(glassId);
+ s7DataDLPTwo.setFrom4(startSlot);
+ s7DataDLPTwo.setTo4(target);
+ break;
+ case 4:
+ s7DataDLPTwo.setId5(glassId);
+ s7DataDLPTwo.setFrom5(startSlot);
+ s7DataDLPTwo.setTo5(target);
+ break;
+ case 5:
+ s7DataDLPTwo.setId6(glassId);
+ s7DataDLPTwo.setFrom6(startSlot);
+ s7DataDLPTwo.setTo6(target);
+ break;
+ }
+ }
+ }
+ s7SerializerDLPTwo.write(s7DataDLPTwo);
+// bigStorageCageTaskService.removeAll("big_storage_cage_out_one_task");
+// bigStorageCageTaskService.saveTaskMessage(tableName, bigStorageCageTaskList);
List<BigStorageCageHistoryTask> historyList = bigStorageCageTaskList.stream().filter(e -> StringUtils.isNotBlank(e.getGlassId())).map(e -> {
BigStorageCageHistoryTask history = new BigStorageCageHistoryTask();
BeanUtils.copyProperties(e, history);
@@ -881,8 +928,8 @@
.in(BigStorageCageDetails::getGlassId, glassIds));
try {
// miloService.writeToOpcWord(generateReadWriteEntity("DLP1B.DLP1B.MesReply", 1));
- S7DataDLPTwo s7DataDLPTwo=new S7DataDLPTwo();
- s7DataDLPTwo.setMesReply((short)1);
+ s7DataDLPTwo = new S7DataDLPTwo();
+ s7DataDLPTwo.setMesReply(1);
s7SerializerDLPTwo.write(s7DataDLPTwo);
} catch (Exception e) {
e.printStackTrace();
@@ -941,8 +988,8 @@
.in(BigStorageCageDetails::getGlassId, glassIds));
try {
// miloService.writeToOpcWord(generateReadWriteEntity("DLP1B.DLP1B.MesReply", 1));
- S7DataDLPTwo s7DataDLPTwo=new S7DataDLPTwo();
- s7DataDLPTwo.setMesReply((short)1);
+ S7DataDLPTwo s7DataDLPTwo = new S7DataDLPTwo();
+ s7DataDLPTwo.setMesReply(1);
s7SerializerDLPTwo.write(s7DataDLPTwo);
} catch (Exception e) {
e.printStackTrace();
@@ -985,4 +1032,54 @@
.value(value)
.build();
}
+
+ //閲嶇疆浠诲姟琛�
+ private void resetOutTask() {
+ S7DataDLPTwo s7DataDLPTwo = new S7DataDLPTwo();
+ s7DataDLPTwo.setId1("");
+ s7DataDLPTwo.setId2("");
+ s7DataDLPTwo.setId3("");
+ s7DataDLPTwo.setId4("");
+ s7DataDLPTwo.setId5("");
+ s7DataDLPTwo.setId6("");
+ s7DataDLPTwo.setFrom1(0);
+ s7DataDLPTwo.setFrom2(0);
+ s7DataDLPTwo.setFrom3(0);
+ s7DataDLPTwo.setFrom4(0);
+ s7DataDLPTwo.setFrom5(0);
+ s7DataDLPTwo.setFrom6(0);
+ s7DataDLPTwo.setTo1(0);
+ s7DataDLPTwo.setTo2(0);
+ s7DataDLPTwo.setTo3(0);
+ s7DataDLPTwo.setTo4(0);
+ s7DataDLPTwo.setTo5(0);
+ s7DataDLPTwo.setTo6(0);
+ s7DataDLPTwo.setState1(0);
+ s7DataDLPTwo.setState2(0);
+ s7DataDLPTwo.setState3(0);
+ s7DataDLPTwo.setState4(0);
+ s7DataDLPTwo.setState5(0);
+ s7DataDLPTwo.setState6(0);
+ s7SerializerDLPTwo.write(s7DataDLPTwo);
+ }
+
+ //璇诲彇鍑虹墖鍦板潃
+ private List<BigStorageCageTask> getOutTaskList(S7DataDLPTwo s7DataDLPTwo) {
+ List<BigStorageCageTask> outTaskList = new ArrayList<>();
+ List<String> glassIds = s7DataDLPTwo.getIds();
+ List<Integer> startSlots = s7DataDLPTwo.getFroms();
+ List<Integer> endSlots = s7DataDLPTwo.getTos();
+ List<Integer> states = s7DataDLPTwo.getStates();
+ for (int i = 0; i < 6; i++) {
+ if (glassIds.get(i) != null && !glassIds.get(i).isEmpty()) {
+ BigStorageCageTask bigStorageCageTask = new BigStorageCageTask();
+ bigStorageCageTask.setGlassId(glassIds.get(i));
+ bigStorageCageTask.setStartSlot(startSlots.get(i));
+ bigStorageCageTask.setTargetSlot(endSlots.get(i));
+ bigStorageCageTask.setTaskState(states.get(i));
+ outTaskList.add(bigStorageCageTask);
+ }
+ }
+ return outTaskList;
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0