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 | 46 ++++++++++++++++++++++++++++------------------ 1 files changed, 28 insertions(+), 18 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 d17fa08..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 @@ -14,6 +14,9 @@ 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; @@ -47,33 +50,41 @@ 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,machine); - }else if ("3".equals(taskRequestTypeValue)) { - log.info("2銆佸畬鎴愯姹傦紝鎵ц瀹屾垚浠诲姟"); - plcReport(glassIdeValue, confirmationWrodAddress, currentSlot,machine); + 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, Machine machine) { + public void plcRequest(PlcParameter mesSend, Machine machine) { //鏌ユ壘鎵撴爣鏈轰换鍔� Tasking tasking=taskingService.startMachineTask(machine); if(tasking!=null&&"寮�宸�".equals(machine.getState())){//鏈変换鍔� @@ -83,13 +94,12 @@ } } - public void plcReport(String glassIdeValue, String confirmationWrodAddress, String currentSlot, Machine machine) { + public void plcReport(PlcParameter mesConfirm, Machine machine) { //鏌ユ壘鎵撴爣鏈哄伐浣滅殑浠诲姟 //鏌ユ壘鎵撴爣鏈轰换鍔� int finishCount=taskingService.finishMachineTask(machine); if(finishCount>0){//鏁版嵁宸叉爣璁板畬鎴� log.info("姝e父姹囨姤锛�"); - }else{ log.info("褰撳墠鏃犲叡宸ヤ綔鐨勪换鍔★紝鏃犳晥姹囨姤瀹屾垚锛�"); } -- Gitblit v1.8.0