| | |
| | | package com.mes.job; |
| | | |
| | | import cn.hutool.json.JSONObject; |
| | | import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType; |
| | | import com.mes.common.S7object; |
| | | import com.mes.common.S7objectCleaning; |
| | | import com.mes.common.S7objectMachine; |
| | | import com.mes.common.S7objectMarking; |
| | | import com.mes.device.PlcParameterInfo; |
| | | import com.mes.device.PlcParameterObject; |
| | | import com.mes.md.entity.Machine; |
| | | import com.mes.md.entity.Tasking; |
| | |
| | | @Slf4j |
| | | public class PLCCleaning { |
| | | |
| | | PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject; |
| | | PlcParameterObject plcParameterObject =null; |
| | | @Autowired |
| | | TaskingService taskingService; |
| | | @Autowired |
| | | MachineMapper machineMapper; |
| | | //@Scheduled(fixedDelay = 500) |
| | | public void plcRinse() { |
| | | //磨边线速度 |
| | | String edgingSpeed = plcParameterObject.getPlcParameter("edgingSpeed").getValue(); |
| | | if(!Objects.equals(edgingSpeed, "")){ |
| | | //给清洗机器发送磨边机速度 |
| | | S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("rinseSpeed").getAddress(), Integer.parseInt(edgingSpeed)); |
| | | } |
| | | public S7objectMachine s7objectMachine; |
| | | |
| | | //@Scheduled(fixedDelay = 500) |
| | | public void cleaning() { |
| | | //磨边线速度 10.36.164.200 |
| | | Long machineId=8L; |
| | | Machine machine=machineMapper.selectById(machineId); |
| | | if (s7objectMachine==null){ |
| | | s7objectMachine=new S7objectMachine(machine.getIp(),machine.getPort(),"PlcCleaning", EPlcType.S200_SMART); |
| | | s7objectMachine.start(); |
| | | } |
| | | PlcParameterObject plcParameterObject = s7objectMachine.PlcMesObject; |
| | | PlcParameterInfo edgSpeed =plcParameterObject.getPlcParameter("edgSpeed");//磨边机速度 |
| | | PlcParameterInfo thinness =plcParameterObject.getPlcParameter("thinness");//厚度 |
| | | if (machine.getIsLog()>0){ |
| | | s7objectMachine.consoleLogInfo(); |
| | | } |
| | | int edgSpeedInt=0; |
| | | int edgThinnessInt=0; |
| | | if(!(edgSpeedInt+"").equals(edgSpeed.getValue())||!(edgThinnessInt+"").equals(thinness.getValue())){ |
| | | //给清洗机器发送磨边机速度 |
| | | S7objectCleaning.getinstance().plccontrol.writeWord(edgSpeed.getAddress(), edgSpeedInt); |
| | | S7objectCleaning.getinstance().plccontrol.writeWord(thinness.getAddress(), edgThinnessInt); |
| | | } |
| | | } |
| | | @Scheduled(fixedDelay = 1000) |
| | | public void edgingWeb() { |
| | | //@Scheduled(fixedDelay = 1000) |
| | | public void cleaningTask() { |
| | | //获取报警状态 |
| | | JSONObject jsonObject = new JSONObject(); |
| | | // String warning = plcParameterObject.getPlcParameter("rinseWarning").getValue(); |
| | | // if (!Objects.equals(warning, "0")) { |
| | | // //log.info("报警信息:"+warning); |
| | | // jsonObject.append("rinseWarning", warning); |
| | | // } |
| | | Machine machine=machineMapper.selectById(7L); |
| | | List<Tasking> taskingList=taskingService.findMachineTask(machine); |
| | | jsonObject.append("taskingList", taskingList); |
| | |
| | | if (sendwServer != null) { |
| | | for (WebSocketServer webserver : sendwServer) { |
| | | if (webserver != null) { |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | List<String> messages = webserver.getMessages(); |
| | | if (!messages.isEmpty()) { |
| | | // // 将最后一个消息转换为整数类型的列表 |
| | | webserver.clearMessages(); |
| | | try { |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | List<String> messages = webserver.getMessages(); |
| | | if (!messages.isEmpty()) { |
| | | // // 将最后一个消息转换为整数类型的列表 |
| | | webserver.clearMessages(); |
| | | } |
| | | }catch (Exception e) { |
| | | |
| | | } |
| | | } else { |
| | | log.info("Home is closed"); |