From fc178515868eb2c443f781fd0253ac98f36540d5 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 20 五月 2025 11:42:08 +0800
Subject: [PATCH] 修改错误的通讯方式
---
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java | 62 +++++++++++++++++++------------
1 files changed, 38 insertions(+), 24 deletions(-)
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
index 76e3087..fc39593 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
@@ -3,6 +3,7 @@
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.github.xingshuangs.iot.protocol.s7.serializer.S7Serializer;
import com.kangaroohy.milo.model.ReadWriteEntity;
import com.kangaroohy.milo.service.MiloService;
import com.mes.common.config.Const;
@@ -57,6 +58,9 @@
@Autowired(required = false)
private MiloService miloService;
+ @Autowired(required = false)
+ S7Serializer s7Serializer;
+
private static final String LOAD_GLASS_DEVICE_ONE_TASK = "load_glass_device_one_task";
@@ -64,6 +68,7 @@
private static final List<Integer> LOAD_STATION_01 = Arrays.asList(101, 102);
private static final List<Integer> LOAD_STATION_02 = Arrays.asList(103, 104);
+ private static final List<Integer> LOAD_STATION_ALL = Arrays.asList(101, 102, 103, 104);
private static final Integer LEFTING_01 = 98;
private static final Integer LEFTING_02 = 99;
private static final Integer LOAD_GLASS_ONE_DEVICE = 5;
@@ -71,18 +76,34 @@
@Scheduled(fixedDelay = 1000)
public void rawStorageTask() throws Exception {
+// S7Data S7DataWL1 = s7Serializer.read(S7Data.class);
+// String requestWord = S7DataWL1.getRequest().toString();
+// String confireWord = S7DataWL1.getConfirmation().toString();
+// String reportWord = S7DataWL1.getReportWord().toString();
+// String taskWord = S7DataWL1.getTaskWord().toString();
+// String requestValue = requestWord;
ReadWriteEntity requestWord = miloService.readFromOpcUa("CC.CC.request");
ReadWriteEntity confireWord = miloService.readFromOpcUa("CC.CC.confirmation");
ReadWriteEntity reportWord = miloService.readFromOpcUa("CC.CC.reportWord");
ReadWriteEntity taskWord = miloService.readFromOpcUa("CC.CC.taskWord");
String requestValue = requestWord.getValue() + "";
if ("0".equals(requestValue)) {
- if ("1".equals(confireWord.getValue() + "") && "0".equals(reportWord.getValue() + "")) {
+ if ("1".equals(confireWord) && "0".equals(reportWord)) {
+// if ("1".equals(confireWord.getValue() + "") && "0".equals(reportWord.getValue() + "")) {
+// S7Data s7Data = new S7Data();
+// s7Data.setConfirmation((short) 0);
+// s7Serializer.write(s7Data);
List<ReadWriteEntity> list = new ArrayList<>();
list.add(generateReadWriteEntity("CC.CC.confirmation", 0));
miloService.writeToOpcWord(list);
}
- if ("1".equals(taskWord.getValue() + "")) {
+// if ("1".equals(taskWord)) {
+ if ("1".equals(taskWord.getValue() + "")) {
+// S7Data s7Data = new S7Data();
+// s7Data.setTaskWord((short) 0);
+// s7Data.setStartSlot((short) 0);
+// s7Data.setEndSlot((short) 0);
+// s7Serializer.write(s7Data);
List<ReadWriteEntity> list = new ArrayList<>();
list.add(generateReadWriteEntity("CC.CC.taskWord", 0));
list.add(generateReadWriteEntity("CC.CC.startSlot", 0));
@@ -127,6 +148,8 @@
@Scheduled(fixedDelay = 1000)
public void rawStorageInCar() throws Exception {
+// S7Data S7DataWL1 = s7Serializer.read(S7Data.class);
+// String value = S7DataWL1.getInCar().toString();
ReadWriteEntity entity = miloService.readFromOpcUa("CC.CC.inCar");
String value = entity.getValue() + "";
if (!"1".equals(value)) {
@@ -142,11 +165,12 @@
}
rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getId, one.getId())
.set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_CAR));
-
}
@Scheduled(fixedDelay = 1000)
public void rawStorageFinish() throws Exception {
+// S7Data S7DataWL1 = s7Serializer.read(S7Data.class);
+// String value = S7DataWL1.getReportWord().toString();
ReadWriteEntity entity = miloService.readFromOpcUa("CC.CC.reportWord");
String value = entity.getValue() + "";
if ("0".equals(value)) {
@@ -161,7 +185,7 @@
}
RawGlassStorageTask task = rawGlassStorageTaskService.getOne(new LambdaQueryWrapper<RawGlassStorageTask>()
.in(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_NEW));
- RawGlassStorageDetails targetDetails = generateDetails(details, task.getEndSlot());
+ RawGlassStorageDetails targetDetails = rawGlassStorageDetailsService.generateDetails(details, task.getEndSlot());
int deviceId = details.getDeviceId();
Integer taskType = task.getTaskType();
if ("1".equals(value)) {
@@ -211,6 +235,9 @@
.set(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_FAILURE));
}
+// S7Data s7Data = new S7Data();
+// s7Data.setConfirmation((short) 1);
+// s7Serializer.write(s7Data);
List<ReadWriteEntity> list = new ArrayList<>();
list.add(generateReadWriteEntity("CC.CC.confirmation", 1));
miloService.writeToOpcWord(list);
@@ -299,7 +326,7 @@
}
//鐢熸垚澶嶄綅浠诲姟
- rawGlassStorageDetailsService.generateTask(rawGlassList.get(0).getSlot(), rawGlassList.get(0).getShelf(), rawGlassList.get(0).getShelf(), rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+// rawGlassStorageDetailsService.generatask(rawGlassList.get(0).getSlot(), rawGlassList.get(0).getShelf(), rawGlassList.get(0).getShelf(), rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
// List<ReadWriteEntity> list = new ArrayList<>();
// list.add(generateReadWriteEntity("CC.CC.taskWord", 1));
@@ -406,6 +433,10 @@
if (CollectionUtils.isEmpty(loadStationList)) {
log.info("1鍙蜂笂鐗囦綅鐢熸垚璋冨害浠诲姟");
RawGlassStorageDetails rawDetails = getRawGlassStorageDetailsBySize(usageVOS.get(0), usageVOS.size());
+ if (CollectionUtils.isEmpty(loadStationList)) {
+ log.info("浠撳簱鍐呮棤鍖归厤鐨勭幓鐠�");
+ return Boolean.FALSE;
+ }
rawGlassStorageDetailsService.generateTask(rawDetails.getSlot(), loadStation.get(0), rawDetails.getShelf(), rawDetails.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
//缁撴潫璋冨害浠诲姟 淇敼宸ヤ綅鐘舵��(璧峰浣嶏級鐘舵�佷负103 RAW_GLASS_STATE_RUNNING 浠诲姟瀹屾垚鍚庡皢鐘舵�佹敼涓�101 鐩爣浣嶆柊澧炰竴鏉℃暟鎹紝鏋跺瓙鍙蜂负锛堣捣濮嬩綅锛�
rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
@@ -425,7 +456,7 @@
log.info("2鍙蜂笂鐗囦綅鐜荤拑灏哄涓嶄竴鑷达紝1鍙蜂笂鐗囦綅鐢熸垚璋冨害浠诲姟");
//鎸夌収灏哄鍙婃暟閲忚幏鍙栨暟閲忔渶鎺ヨ繎鐨勬牸瀛愪俊鎭�
RawGlassStorageDetails rawDetails = getRawGlassStorageDetailsBySize(usageVOS.get(0), usageVOS.size());
- if(null == rawDetails){
+ if (null == rawDetails) {
log.info("浠撳簱鍐呮棤闇�瑕佷笂鏋剁殑鐜荤拑");
return Boolean.FALSE;
}
@@ -534,24 +565,6 @@
}
}
- private RawGlassStorageDetails generateDetails(RawGlassStorageDetails details, Integer targetSlot) {
- RawGlassStorageDetails targetDetails = new RawGlassStorageDetails();
- RawGlassStorageStation station = rawGlassStorageStationService.getOne(new LambdaQueryWrapper<RawGlassStorageStation>()
- .eq(RawGlassStorageStation::getSlot, targetSlot));
- targetDetails.setDeviceId(station.getDeviceId());
- targetDetails.setSlot(targetSlot);
- targetDetails.setShelf(details.getShelf());
- targetDetails.setPatternWidth(details.getPatternWidth());
- targetDetails.setPatternHeight(details.getPatternHeight());
- targetDetails.setPatternThickness(details.getPatternThickness());
- targetDetails.setFilmsId(details.getFilmsId());
- targetDetails.setRemainQuantity(details.getRemainQuantity());
- targetDetails.setCreateTime(new Date());
- targetDetails.setState(Const.RAW_GLASS_STATE_IN);
- return targetDetails;
- }
-
-
private ReadWriteEntity generateReadWriteEntity(String identifier, int value) {
ReadWriteEntity readWriteEntity = new ReadWriteEntity();
readWriteEntity.setIdentifier(identifier);
@@ -565,6 +578,7 @@
.eq(RawGlassStorageDetails::getPatternWidth, usageVO.getWidth())
.eq(RawGlassStorageDetails::getPatternHeight, usageVO.getHeight())
.eq(RawGlassStorageDetails::getPatternThickness, usageVO.getThickness())
+ .notIn(RawGlassStorageDetails::getSlot, LOAD_STATION_ALL)
.eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_IN)
.orderByAsc(RawGlassStorageDetails::getRemainQuantity)
.last("order by abs(t.remain_quantity - " + remainQuantity + ") asc")
--
Gitblit v1.8.0