From 2c2413760b6467bf62402dba7338bd3bbcbd7341 Mon Sep 17 00:00:00 2001 From: huang <1532065656@qq.com> Date: 星期二, 20 五月 2025 14:20:38 +0800 Subject: [PATCH] 添加产量报表功能页面 --- JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java | 64 ++++++++++++++++++++++---------- 1 files changed, 44 insertions(+), 20 deletions(-) diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java index e7762c5..f448c8e 100644 --- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java +++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java @@ -36,10 +36,11 @@ LineConfigurationService lineConfigurationService; public static int thinness = 40; public static int edgSpeed = 40; - public static Long machineId = 6L; + //public static Long machineId = 6L; public List<Map> sendRecords = new ArrayList<>(); - - public MachineEdging(TaskingMapper taskingMapper, MachineMapper machineMapper, TaskingService taskingService, PrimitiveTaskService primitiveTaskService, LineConfigurationService lineConfigurationService){ + public Machine thisMachine; + public MachineEdging(Machine machine,TaskingMapper taskingMapper, MachineMapper machineMapper, TaskingService taskingService, PrimitiveTaskService primitiveTaskService, LineConfigurationService lineConfigurationService){ + this.thisMachine = machine; this.taskingMapper = taskingMapper; this.machineMapper = machineMapper; this.taskingService = taskingService; @@ -48,8 +49,8 @@ } public void plcStart() { - Machine machine=machineMapper.selectById(machineId); - ModbusTcp modbusTcp1 =new ModbusTcp(machine.getIp(),machine.getPort(),"PlcEdging"); + Machine machine=machineMapper.selectById(thisMachine.getId()); + ModbusTcp modbusTcp1 =new ModbusTcp(machine.getIp(),machine.getPort(),machine.getFileName()); try { modbusTcp1.connect(); PlcAgreement plcAgreement=modbusTcp1.getPlcAgreement("PlcEdging"); @@ -64,7 +65,6 @@ PlcParameter plcRequest =plcAgreement.getPlcParameter("plcRequest");//璇锋眰瀛� PlcParameter mesSend =plcAgreement.getPlcParameter("mesSend");//鍙戦�佸瓧 - PlcParameter plcReport =plcAgreement.getPlcParameter("plcReport");//姹囨姤瀛� PlcParameter plcReportID =plcAgreement.getPlcParameter("plcReportID");//姹囨姤ID PlcParameter plcReport2 =plcAgreement.getPlcParameter("plcReport2");//鎵嬪姩姹囨姤瀛� @@ -74,6 +74,21 @@ PlcParameter mesConfirmID =plcAgreement.getPlcParameter("mesConfirmID");//纭ID PlcParameter mesConfirm2 =plcAgreement.getPlcParameter("mesConfirm2");//鎵嬪姩纭瀛� PlcParameter mesConfirmID2 =plcAgreement.getPlcParameter("mesConfirmID2");//鎵嬪姩纭ID + + PlcParameter alarmStatus =plcAgreement.getPlcParameter("alarmStatus");//鎶ヨ瀛� + PlcParameter machineStatusWord =plcAgreement.getPlcParameter("machineStatusWord");//璁惧鐘舵�佸瓧 + +// if (alarmStatus.getValueInt()>0&&!"鎶ヨ".equals(machine.getStatePowerOn())){ +// machine.setStatePowerOn("鎶ヨ"); +// }else if(alarmStatus.getValueInt()==0&&!"鎶ヨ瑙i櫎".equals(machine.getStatePowerOn())){ +// machine.setStatePowerOn("鎶ヨ瑙i櫎"); +// } +// if (machineStatusWord.getValueInt()!=2&&!"闈炶仈鏈�".equals(machine.getStatePowerOn())){ +// machine.setStatePowerOn("闈炶仈鏈�"); +// }else if(machineStatusWord.getValueInt()==2&&!"鑱旀満".equals(machine.getStatePowerOn())){ +// machine.setStatePowerOn("鑱旀満"); +// } + if (machine.getIsLog()>0){ modbusTcp1.consoleLogInfo(plcAgreement); } @@ -83,6 +98,7 @@ String send= HexUtil.intTo2ByteHex(0); modbusTcp1.writeString(send,HexUtil.intTo2ByteHex(mesSend.getAddressStart()/2)); log.info("鍙戦�佸瓧 娓呯┖鎴愬姛锛涘唴瀹癸細{},鍙戦�佽捣濮嬪湴鍧�:{}",send,HexUtil.intTo2ByteHex(mesSend.getAddressStart())); + errorMachine(machine,""); modbusTcp1.close(); return; } @@ -104,7 +120,7 @@ modbusTcp1.close(); return; } - if(1==plcReport.getValueInt()&&0==mesConfirm.getValueInt()){ + if((1==plcReport.getValueInt()&&0==mesConfirm.getValueInt())){ int finishCount=taskingService.finishMachineTask(machine); log.info("3銆佷换鍔″畬鎴�"); if(finishCount>0) {//鏈変换鍔� @@ -176,16 +192,18 @@ } List<Tasking> taskingCount=taskingService.findMachineWorkStateTask(machine,"姝e湪宸ヤ綔"); - if((1==plcRequest.getValueInt()&&0==mesSend.getValueInt()) + if(((1==plcRequest.getValueInt()&&0==mesSend.getValueInt()) &&"寮�宸�".equals(machine.getState()) - &&taskingCount.size()<machine.getMaxTaskCount()){ - Machine loadMachine=machineMapper.selectById(2L); + &&taskingCount.size()<machine.getMaxTaskCount())){ + //Machine loadMachine=machineMapper.selectById(2L); + LineConfiguration lineConfigurationBefore=lineConfigurationService.machineLineConfigurationBefore(machine); + Machine loadMachine=machineMapper.selectById(lineConfigurationBefore.getMachineId()); Tasking tasking; String scan_id=""; if(loadMachine.getMode()==1){ //鏍囧噯妯″紡 鎵惧凡棰嗗彇鏈畬鎴愮殑绗竴鏉′换鍔� - LineConfiguration lineConfiguration=lineConfigurationService.machineLineConfiguration(machine); - List<PrimitiveTask> findPrimitiveTasking=primitiveTaskService.findPrimitiveTasking(machine,lineConfiguration.getLineId()); + //LineConfiguration lineConfiguration=lineConfigurationService.machineLineConfiguration(machine); + List<PrimitiveTask> findPrimitiveTasking=primitiveTaskService.findPrimitiveTasking(machine,lineConfigurationBefore.getLineId()); //娣诲姞鏁版嵁: for(PrimitiveTask primitiveTask:findPrimitiveTasking){ List<Tasking> taskingTopList=taskingMapper.selectList(new QueryWrapper<Tasking>().lambda() @@ -193,6 +211,7 @@ ); //浠诲姟鏁�>宸蹭笂鏁伴噺 if(taskingTopList.size()<primitiveTask.getTaskQuantity()){ + LineConfiguration lineConfiguration=lineConfigurationService.machineLineConfiguration(machine); Tasking taskingAdd=primitiveTaskService.convertListTasking(primitiveTask,lineConfiguration.getId()); Integer taskSequence=1; if (machine.getTodayCount()>0&&machine.getTodayCount()<5000){ @@ -210,8 +229,10 @@ tasking=taskingService.startMachineTask(machine); }else{ //瀹氬埗妯″紡 - String PlcRequestID_=clientTCPSocket(); - //String PlcRequestID_=",,46607221"; + LineConfiguration lineConfigurationAfter=lineConfigurationService.machineLineConfigurationBefore(machine); + Machine scanMachine=machineMapper.selectById(lineConfigurationAfter.getMachineId()); + String PlcRequestID_=clientTCPSocket(scanMachine); + //String PlcRequestID_=",,46408889"; if (PlcRequestID_==null||PlcRequestID_.lastIndexOf(",")<0){ modbusTcp1.close(); errorMachine(machine,("鎵笉鍒扮爜:"+PlcRequestID_)); @@ -224,7 +245,7 @@ log.info("4銆佸彂閫佷换鍔� 浠诲姟鏁版嵁锛歿}, 璁惧鐘舵��:{}, ",machine,tasking); String send= HexUtil.intTo2ByteHex(1)+ - HexUtil.intTo2ByteHex(tasking.getGlassId().intValue())+ + HexUtil.intTo2ByteHex(tasking.getTaskSequence().intValue())+ HexUtil.intTo2ByteHex(((Double)(tasking.getLength()*10)).intValue())+ HexUtil.intTo2ByteHex(((Double)(tasking.getWidth()*10)).intValue())+ HexUtil.intTo2ByteHex(((Double)(tasking.getThickness()*10)).intValue()); @@ -235,6 +256,7 @@ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String sendRecord=df.format(new Date())+" "+ tasking.getGlassId()+"-"+ + tasking.getTaskSequence()+"-"+ tasking.getWidth()+"-"+ tasking.getLength()+"-"+ tasking.getThickness(); @@ -250,13 +272,14 @@ modbusTcp1.close(); return; } + }else if(0==plcRequest.getValueInt()){ + errorMachine(machine,""); } //} } catch (Exception e) { log.info("浜や簰閫昏緫閿欒"); } - modbusTcp1.close(); //log.info("鏃犲彲鎵ц鐨勬潯浠�"); } @@ -268,9 +291,9 @@ machineMapper.updateById(machine); } } - public String clientTCPSocket() { + public String clientTCPSocket(Machine machine) { try { - Machine machine=machineMapper.selectById(4L); + //Machine machine=machineMapper.selectById(4L); Socket clientSocket = new Socket(machine.getIp(), machine.getPort()); try { clientSocket.setSoTimeout(1000); @@ -291,11 +314,12 @@ clientSocket.close(); return receivedMessage; } catch (Exception e) { - e.printStackTrace(); + log.info("鎵爜寮傚父"); + //e.printStackTrace(); } clientSocket.close(); } catch (Exception e) { - e.printStackTrace(); + log.info("ip鎴栫鍙e紓甯�"); } return ""; } -- Gitblit v1.8.0