From acf24306aa69bb7f864e9bfa59995ccece785d30 Mon Sep 17 00:00:00 2001 From: 严智鑫 <test> Date: 星期六, 12 十月 2024 14:56:01 +0800 Subject: [PATCH] 打标测试更改 --- JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MarkingTask.java | 98 ++++++++++++++++++++++++++---------------------- 1 files changed, 53 insertions(+), 45 deletions(-) diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MarkingTask.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MarkingTask.java index eefccdb..9029a4b 100644 --- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MarkingTask.java +++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MarkingTask.java @@ -1,15 +1,22 @@ package com.mes.job; import cn.hutool.json.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.mes.common.S7object; import com.mes.device.PlcParameterObject; import com.mes.md.entity.GlassInfo; +import com.mes.md.entity.Machine; import com.mes.md.entity.Tasking; import com.mes.md.entity.WorkTaskDetail; import com.mes.md.mapper.GlassInfoMapper; +import com.mes.md.mapper.MachineMapper; import com.mes.md.mapper.TaskingMapper; import com.mes.md.mapper.WorkTaskDetailMapper; +import com.mes.md.service.TaskingService; +import com.mes.service.ModbusTcp; +import com.mes.service.PlcAgreement; +import com.mes.service.PlcParameter; import com.mes.tools.WebSocketServer; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; @@ -34,75 +41,76 @@ public static String engineerId = ""; @Autowired TaskingMapper taskingMapper; + @Autowired + MachineMapper machineMapper; + @Autowired + TaskingService taskingService; // @Scheduled(fixedDelay = 1000) - public void plcMarkingTask() { + public void plcMarkingTask(Long machineId) { + Machine machine=machineMapper.selectById(machineId); PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject; - String taskRequestTypeValue = plcParameterObject.getPlcParameter("A06_request_word").getValue(); - String glassIdeValue = plcParameterObject.getPlcParameter("A05_scanning_ID").getValue(); - String confirmationWrodValue = plcParameterObject.getPlcParameter("MES_confirmation_word").getValue(); - String confirmationWrodAddress = plcParameterObject.getPlcParameter("MES_confirmation_word").getAddress(); - String currentSlot = plcParameterObject.getPlcParameter("Current_slot").getValue(); - if ("0".equals(taskRequestTypeValue)) { - if ("0".equals(confirmationWrodValue)) { + ModbusTcp modbusTcp =new ModbusTcp(machine.getIp(),machine.getPort()); + PlcAgreement plcAgreement=modbusTcp.getPlcAgreement("DB14.0"); + PlcParameter plcRequest =plcAgreement.getPlcParameter(0);//璇锋眰瀛� + PlcParameter plcRequestID =plcAgreement.getPlcParameter(1);//璇锋眰ID + PlcParameter mesSend =plcAgreement.getPlcParameter(10);//鍙戦�佸瓧 + PlcParameter mesSendID =plcAgreement.getPlcParameter(11);//鍙戦�両D + + PlcParameter plcReport =plcAgreement.getPlcParameter(0);//姹囨姤瀛� + PlcParameter plcReportID =plcAgreement.getPlcParameter(1);//姹囨姤ID + PlcParameter mesConfirm =plcAgreement.getPlcParameter(10);//纭瀛� + PlcParameter mesConfirmID =plcAgreement.getPlcParameter(11);//纭ID + plcRequest.getReadValue(); + if ("0".equals(plcRequest.getReadValue())) { + if ("0".equals(mesSend.getReadValue())) { log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓�0锛屼笖鍙戦�佸瓧涓�0锛屼笉鎵ц浠诲姟"); return; } log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓�0锛屽皢鍙戦�佸瓧鏀逛负0"); - S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 0); + mesSend.setWriteValue("0"); + modbusTcp.write(mesSend);//鍚慞LC鍙戦�� return; } - if (!"0".equals(confirmationWrodValue)) { + if (!"0".equals(mesSend.getReadValue())) { log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓嶄负0锛屽皢鍙戦�佸瓧涓嶄负0锛岀洿鎺ョ粨鏉�"); return; } - if ("1".equals(taskRequestTypeValue)) { - log.info("2銆佽繘鐗囪姹傦紝涓斿彂閫佸瓧涓�0锛屾墽琛屾墦鏍囦换鍔�"); - plcRequest(glassIdeValue, confirmationWrodAddress, currentSlot); - }else if ("3".equals(taskRequestTypeValue)) { - log.info("2銆佸畬鎴愯姹傦紝鎵ц瀹屾垚浠诲姟"); - plcReport(glassIdeValue, confirmationWrodAddress, currentSlot); + if ("1".equals(mesConfirm.getReadValue())&&"0".equals(mesConfirm.getReadValue())) { + log.info("2銆佹眹鎶ヨ姹傦紝涓旂‘璁ゅ瓧涓�0锛屽畬鎴愭墦鏍囦换鍔�"); + plcReport(mesConfirm,machine); + }else if ("1".equals(plcRequest.getReadValue())) { + log.info("2銆佷换鍔¤姹傦紝鎵ц鍙戦�佷换鍔�"); + plcRequest(mesSend,machine); } } - public void plcRequest(String glassIdeValue, String confirmationWrodAddress, String currentSlot) { + public void plcRequest(PlcParameter mesSend, Machine machine) { //鏌ユ壘鎵撴爣鏈轰换鍔� - List<Tasking> taskings=taskingMapper.selectList(new MPJLambdaWrapper<Tasking>() - .eq(Tasking::getState,"绾夸笂") - .eq(Tasking::getCurrentCraft,"鎵撴爣")); - if(!taskings.isEmpty()){//鏈変换鍔� - Tasking tasking=taskings.get(0); - if("绛夊緟".equals(tasking.getWorkState())){ - //鍙戦�佷换鍔� - }else{ - log.info("褰撳墠浠诲姟鐘舵�侊細{}",tasking.getWorkState()); - } + Tasking tasking=taskingService.startMachineTask(machine); + if(tasking!=null&&"寮�宸�".equals(machine.getState())){//鏈変换鍔� + log.info("鍙戦�佷换鍔★細{}",tasking); + }else{ + log.info("涓嶆弧瓒冲彂閫佹潯浠讹細{}",tasking); } } - public void plcReport(String glassIdeValue, String confirmationWrodAddress, String currentSlot) { + public void plcReport(PlcParameter mesConfirm, Machine machine) { //鏌ユ壘鎵撴爣鏈哄伐浣滅殑浠诲姟 //鏌ユ壘鎵撴爣鏈轰换鍔� - List<Tasking> taskings=taskingMapper.selectList(new MPJLambdaWrapper<Tasking>() - .eq(Tasking::getState,"绾夸笂") - .eq(Tasking::getCurrentCraft,"鎵撴爣")); - if(!taskings.isEmpty()){//鏈変换鍔� - Tasking tasking=taskings.get(0); - if("宸ヤ綔".equals(tasking.getWorkState())){ - //鍙戦�佸畬鎴� - - }else{ - log.info("褰撳墠鏃犲叡宸ヤ綔鐨勪换鍔★紝鏃犳晥姹囨姤瀹屾垚锛�"); - } + int finishCount=taskingService.finishMachineTask(machine); + if(finishCount>0){//鏁版嵁宸叉爣璁板畬鎴� + log.info("姝e父姹囨姤锛�"); + }else{ + log.info("褰撳墠鏃犲叡宸ヤ綔鐨勪换鍔★紝鏃犳晥姹囨姤瀹屾垚锛�"); } } - //@Scheduled(fixedDelay = 1000) + @Scheduled(fixedDelay = 1000) public void markingTasks() { JSONObject jsonObject = new JSONObject(); - List<Tasking> taskings=taskingMapper.selectList(new MPJLambdaWrapper<Tasking>() - .eq(Tasking::getState,"绾夸笂") - .eq(Tasking::getCurrentCraft,"鎵撴爣")); - jsonObject.append("taskings", taskings); - + Machine machine=machineMapper.selectById(11L); + List<Tasking> taskingList=taskingService.findMachineTask(machine); + jsonObject.append("taskingList", taskingList); + jsonObject.append("machine", machine); ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("marking"); if (sendwServer != null) { for (WebSocketServer webserver : sendwServer) { -- Gitblit v1.8.0