From b4ff04d7dd22f0e48bf386cd422e885aef08fed7 Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期四, 22 五月 2025 15:03:10 +0800 Subject: [PATCH] OPC通讯修改为S7通讯 --- hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java | 103 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 84 insertions(+), 19 deletions(-) diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java index 3fb4640..8bccc41 100644 --- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java +++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java @@ -3,6 +3,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.github.xingshuangs.iot.protocol.s7.serializer.S7Serializer; import com.kangaroohy.milo.model.ReadWriteEntity; import com.kangaroohy.milo.service.MiloService; import com.mes.bigstoragecagetask.entity.BigStorageCageTask; @@ -22,10 +23,13 @@ import com.mes.hollowtask.service.HollowBigStorageCageHistoryTaskService; import com.mes.largenscreen.entity.PieChartVO; import com.mes.largenscreen.entity.RunTime; +import com.mes.s7.entity.S7DataZKDLPOne; +import com.mes.s7.entity.S7DataZKDLPTwo; import com.mes.tools.WebSocketServer; import com.mes.utils.RedisUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -61,6 +65,14 @@ @Autowired(required = false) MiloService miloService; + + @Autowired + @Qualifier("s7SerializerZKDLPOne") + private S7Serializer s7SerializerZKDLPOne; + + @Autowired + @Qualifier("s7SerializerZKDLPTwo") + private S7Serializer s7SerializerZKDLPTwo; @Resource RedisUtil redisUtil; @@ -137,6 +149,8 @@ public void queryDataSource1(JSONObject jsonObject) throws Exception { + S7DataZKDLPOne s7DataZKDLPOne = s7SerializerZKDLPOne.read(S7DataZKDLPOne.class); + S7DataZKDLPTwo s7DataZKDLPTwo = s7SerializerZKDLPTwo.read(S7DataZKDLPTwo.class); List<Double> carPostion = new ArrayList<>(); carPostion.add(0.25); carPostion.add(0.5); @@ -147,14 +161,52 @@ try { //杩涚墖浠诲姟鏁版嵁 List<BigStorageTaskVO> inTaskList = new ArrayList(); - ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP2A.DLP2A.FROM1"); +// ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP2A.DLP2A.FROM1"); + String fromOpcUa = s7DataZKDLPOne.getFrom1().toString(); for (int i = 1; i <= 6; i++) { - ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP2A.DLP2A.DI" + i); - ReadWriteEntity targetSlotWord = miloService.readFromOpcUa("DLP2A.DLP2A.TO" + i); - ReadWriteEntity stateWord = miloService.readFromOpcUa("DLP2A.DLP2A.STATE" + i); - if (null != requestWord.getValue()) { +// ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP2A.DLP2A.DI" + i); +// ReadWriteEntity targetSlotWord = miloService.readFromOpcUa("DLP2A.DLP2A.TO" + i); +// ReadWriteEntity stateWord = miloService.readFromOpcUa("DLP2A.DLP2A.STATE" + i); + String requestWord = ""; + String stateWord = ""; + String targetSlotWord = ""; + switch (i) { + case 0: + requestWord = s7DataZKDLPOne.getId1().toString(); + stateWord = s7DataZKDLPOne.getState1().toString(); + targetSlotWord = s7DataZKDLPOne.getTo1().toString(); + break; + case 1: + requestWord = s7DataZKDLPOne.getId2().toString(); + stateWord = s7DataZKDLPOne.getState2().toString(); + targetSlotWord = s7DataZKDLPOne.getTo2().toString(); + break; + case 2: + requestWord = s7DataZKDLPOne.getId3().toString(); + stateWord = s7DataZKDLPOne.getState3().toString(); + targetSlotWord = s7DataZKDLPOne.getTo3().toString(); + break; + case 3: + requestWord = s7DataZKDLPOne.getId4().toString(); + stateWord = s7DataZKDLPOne.getState4().toString(); + targetSlotWord = s7DataZKDLPOne.getTo4().toString(); + break; + case 4: + requestWord = s7DataZKDLPOne.getId5().toString(); + stateWord = s7DataZKDLPOne.getState5().toString(); + targetSlotWord = s7DataZKDLPOne.getTo5().toString(); + break; + case 5: + requestWord = s7DataZKDLPOne.getId6().toString(); + stateWord = s7DataZKDLPOne.getState6().toString(); + targetSlotWord = s7DataZKDLPOne.getTo6().toString(); + break; + } +// if (null != requestWord.getValue()) { + if (null != requestWord) { BigStorageTaskVO task = new BigStorageTaskVO(); - task.setGlassId(requestWord.getValue() + ""); +// task.setGlassId(requestWord.getValue() + ""); + task.setGlassId(requestWord); int isExistCount = hollowBigStorageCageDetailsService.count(new LambdaQueryWrapper<HollowBigStorageCageDetails>().in(HollowBigStorageCageDetails::getGlassId, task.getGlassId()) .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL)); if (isExistCount > 0) { @@ -162,9 +214,12 @@ } else { task.setIsSame(0); } - task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + "")); - task.setTargetSlot(Integer.parseInt(targetSlotWord.getValue() + "")); - task.setTaskState(Integer.parseInt(stateWord.getValue() + "")); +// task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + "")); +// task.setTargetSlot(Integer.parseInt(targetSlotWord.getValue() + "")); +// task.setTaskState(Integer.parseInt(stateWord.getValue() + "")); + task.setStartSlot(Integer.parseInt(fromOpcUa)); + task.setTargetSlot(Integer.parseInt(targetSlotWord)); + task.setTaskState(Integer.parseInt(stateWord)); inTaskList.add(task); continue; } @@ -175,20 +230,30 @@ } try { //杩涚墖鑱旀満 - ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP2A.DLP2A.mesControl"); - jsonObject.append("inkageEntity", inkageEntity.getValue()); +// ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP2A.DLP2A.mesControl"); +// jsonObject.append("inkageEntity", inkageEntity.getValue()); + Boolean inkageEntity = s7DataZKDLPOne.getMesControl(); + jsonObject.append("inkageEntity", inkageEntity); //杩涚墖璇锋眰 - ReadWriteEntity requestEntity = miloService.readFromOpcUa("DLP2A.DLP2A.RequestMes"); - jsonObject.append("requestEntity", requestEntity.getValue()); +// ReadWriteEntity requestEntity = miloService.readFromOpcUa("DLP2A.DLP2A.RequestMes"); +// jsonObject.append("requestEntity", requestEntity.getValue()); + String requestEntity = s7DataZKDLPOne.getRequestMes().toString(); + jsonObject.append("requestEntity", requestEntity); //鍚姩鍛戒护 - ReadWriteEntity mesReplyEntity = miloService.readFromOpcUa("DLP2A.DLP2A.MesReply"); - jsonObject.append("mesReplyEntity", mesReplyEntity.getValue()); +// ReadWriteEntity mesReplyEntity = miloService.readFromOpcUa("DLP2A.DLP2A.MesReply"); +// jsonObject.append("mesReplyEntity", mesReplyEntity.getValue()); + String mesReplyEntity = s7DataZKDLPOne.getMesReply().toString(); + jsonObject.append("mesReplyEntity", mesReplyEntity); //鍑虹墖鑱旀満 - ReadWriteEntity outInkageEntity = miloService.readFromOpcUa("DLP2B.DLP2B.mesControl"); - jsonObject.append("outInkageEntity", outInkageEntity.getValue()); +// ReadWriteEntity outInkageEntity = miloService.readFromOpcUa("DLP2B.DLP2B.mesControl"); +// jsonObject.append("outInkageEntity", outInkageEntity.getValue()); + String outInkageEntity = s7DataZKDLPTwo.getMesControl().toString(); + jsonObject.append("outInkageEntity", outInkageEntity); //鍑虹墖璇锋眰 - ReadWriteEntity outRequestEntity = miloService.readFromOpcUa("DLP2B.DLP2B.RequestMes"); - jsonObject.append("outRequestEntity", outRequestEntity.getValue()); +// ReadWriteEntity outRequestEntity = miloService.readFromOpcUa("DLP2B.DLP2B.RequestMes"); +// jsonObject.append("outRequestEntity", outRequestEntity.getValue()); + String outRequestEntity = s7DataZKDLPTwo.getRequestMes().toString(); + jsonObject.append("outInkageEntity", outInkageEntity); //930绌洪棽淇″彿 ReadWriteEntity freeOneRequestEntity = miloService.readFromOpcUa("CMJ1.CMJ1.isFree"); jsonObject.append("freeOneRequestEntity", freeOneRequestEntity.getValue()); -- Gitblit v1.8.0