| | |
| | | package com.example.springboot.component; |
| | | |
| | | import cn.hutool.json.JSONObject; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | |
| | | @Autowired |
| | | private HomeService HomeService; |
| | | private QueueMapper QueueMapper; |
| | | private GlassInfoMapper GlassInfoMapper; |
| | | private MeasureSettingMapper MeasureSettingMapper; |
| | | private OutSliceServive outSliceServive; |
| | | private SpianMapper spianMapper; |
| | | private SpianService spianService; |
| | | |
| | | |
| | | // 出片队列是否允许出片 |
| | | public static Boolean isAllowQueue = true; |
| | | public static Boolean isAllowReordering = true; |
| | |
| | | |
| | | // public static Map b=new HashMap<>(); |
| | | // b.put() |
| | | public double carstart = 200; |
| | | public double carend = 20000; |
| | | |
| | | @Override |
| | | public void run() { |
| | | while (this != null) { |
| | |
| | | try { |
| | | Thread.sleep(1000); |
| | | // 注入mapper |
| | | HomeService = WebSocketServer.applicationContext.getBean(HomeService.class); |
| | | QueueMapper = WebSocketServer.applicationContext.getBean(QueueMapper.class); |
| | | HomeService = WebSocketServer.applicationContext.getBean(HomeService.class); |
| | | QueueMapper = WebSocketServer.applicationContext.getBean(QueueMapper.class); |
| | | homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class); |
| | | spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class); |
| | | spianService = WebSocketServer.applicationContext.getBean(SpianService.class); |
| | | outSliceServive = WebSocketServer.applicationContext.getBean(OutSliceServive.class); |
| | | storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class); |
| | | |
| | | // 获取其车的位置 |
| | | if (S7control.getinstance().CheckConnected() == true) { |
| | | double carposition = 0; |
| | | float car = S7control.getinstance().readFloat32("DB10.1992"); |
| | | carposition = (-40 + (car / (carend - carstart) * 595)); |
| | | jsonObject.append("carposition", carposition); |
| | | } |
| | | // 笼子使用情况 |
| | | List<StorageCage> tableData = homeMapper.selectAlls(); |
| | | jsonObject.append("tableData", tableData); |
| | | |
| | | // 格理片笼格子状态 |
| | | List<StorageCage> cagelist1=storageCageService.SelectStorageCageByCage(1); |
| | | List<StorageCage> cagelist2=storageCageService.SelectStorageCageByCage(2); |
| | | List<StorageCage> cagelist3=storageCageService.SelectStorageCageByCage(3); |
| | | List<StorageCage> cagelist4=storageCageService.SelectStorageCageByCage(4); |
| | | List<StorageCage> cagelist1 = storageCageService.SelectStorageCageByCage(1); |
| | | List<StorageCage> cagelist2 = storageCageService.SelectStorageCageByCage(2); |
| | | List<StorageCage> cagelist3 = storageCageService.SelectStorageCageByCage(3); |
| | | List<StorageCage> cagelist4 = storageCageService.SelectStorageCageByCage(4); |
| | | jsonObject.append("cagelist1", cagelist1); |
| | | jsonObject.append("cagelist2", cagelist2); |
| | | jsonObject.append("cagelist3", cagelist3); |
| | |
| | | List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo(); |
| | | jsonObject.append("alarmmg", alarmmg); |
| | | |
| | | |
| | | // 获取出片队列信息 |
| | | List<Out_slice> listoutslice = outSliceServive.SelectProductionqueue(); |
| | | jsonObject.append("listoutslice", listoutslice); |
| | |
| | | // 查询当前铝框信息 |
| | | Out_slice CurrentFrame = outSliceServive.SelectCurrentFrame(); |
| | | jsonObject.append("CurrentFrame", CurrentFrame); |
| | | |
| | | //读取DB105区文件 |
| | | PlcParameterObject plcmes=PLCAutoMes.PlcMesObject; |
| | | |
| | | String PlcRequest=plcmes.getPlcParameter("GaToMES").getValue();//请求 |
| | | String MesSend=plcmes.getPlcParameter("MESToGaStatus").getValue();//发送 |
| | | double width=Double.valueOf(plcmes.getPlcParameter("width").getValue());//宽 |
| | | double height=Double.valueOf(plcmes.getPlcParameter("Height").getValue());//高 |
| | | |
| | | // String PlcRequest=S7control.getinstance().ReadWord("DB14.26", 1).get(0)+""; |
| | | // double width=Double.parseDouble(S7control.getinstance().ReadWord("DB14.28", 1).get(0)+""); |
| | | // double height=Double.parseDouble(S7control.getinstance().ReadWord("DB14.30", 1).get(0)+""); |
| | | // String MesSend=S7control.getinstance().ReadWord("DB14.170", 1).get(0)+""; |
| | | // 读取DB105区文件 |
| | | PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; |
| | | // if(plcmes.==null){ |
| | | |
| | | //获取测量的长,宽 |
| | | boolean istest = true; |
| | | // } |
| | | |
| | | // 获取测量的长,宽 |
| | | boolean istest = true; |
| | | // String PlcRequest = "1"; |
| | | // String MesSend = "0"; |
| | | // double width = 402; |
| | | // double height = 402; |
| | | |
| | | //匹配 |
| | | //System.err.println(PlcRequest+","+MesSend+","+width+","+height); |
| | | if ("0".equals(PlcRequest)&&istest) { |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 0); |
| | | } |
| | | if ("1".equals(PlcRequest)&&"0".equals(MesSend)) { |
| | | boolean is=HomeService.Normal(width, height, "1"); |
| | | if (is&&istest) { |
| | | // 测量成功 |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1); |
| | | // double width = 0; |
| | | // double height = 0; |
| | | |
| | | }else if(istest){ |
| | | // 重新测量 |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 4); |
| | | // 匹配 |
| | | // System.err.println(PlcRequest+","+MesSend+","+width+","+height); |
| | | if (plcmes.getPlcParameter("GaToMES").getValue() != null) { |
| | | String PlcRequest = plcmes.getPlcParameter("GaToMES").getValue();// 请求 |
| | | String MesSend = plcmes.getPlcParameter("MESToGaStatus").getValue();// 发送 |
| | | double width = Double.valueOf(plcmes.getPlcParameter("width").getValue());// 宽 |
| | | double height = Double.valueOf(plcmes.getPlcParameter("Height").getValue());// 高 |
| | | if ("0".equals(PlcRequest) && istest) { |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), |
| | | (short) 0); |
| | | } |
| | | if ("1".equals(PlcRequest) && "0".equals(MesSend)) { |
| | | boolean is = HomeService.Normal(width, height, "1"); |
| | | if (is && istest) { |
| | | // 测量成功 |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), |
| | | (short) 1); |
| | | |
| | | } else if (istest) { |
| | | // 重新测量 |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), |
| | | (short) 4); |
| | | } |
| | | } |
| | | } |
| | | //S7control.getinstance().WriteWord("DB14.170", (short)0); |
| | | Queue LastQueue= QueueMapper.selectLastQueue(); |
| | | if(LastQueue==null){ |
| | | Queue nullQueue=new Queue(); |
| | | |
| | | // S7control.getinstance().WriteWord("DB14.170", (short)0); |
| | | Queue LastQueue = QueueMapper.selectLastQueue(); |
| | | if (LastQueue == null) { |
| | | Queue nullQueue = new Queue(); |
| | | nullQueue.setglassId(""); |
| | | nullQueue.setglassheight(0); |
| | | nullQueue.setglasswidth(0); |
| | | nullQueue.setglassheightmm(0); |
| | | nullQueue.setglasswidthmm(0); |
| | | jsonObject.append("LastQueue", nullQueue); |
| | | }else{ |
| | | } else { |
| | | if (LastQueue.getstate() < 1) { |
| | | LastQueue.setglasswidth(0); |
| | | LastQueue.setglassheight(0); |
| | | } |
| | | jsonObject.append("LastQueue", LastQueue); |
| | | } |
| | | // String E01id = new String( S7controlLK.getinstance().ReadByte("DB17.0",16)); |
| | | // String J01id = new String( S7controlLK.getinstance().ReadByte("DB17.22",14)); |
| | | |
| | | |
| | | //查询理片笼信息 |
| | | // 查询理片笼信息 |
| | | List<StorageCage> StorageCageInfo = storageCageService.SelectStorageCageInfo(); |
| | | jsonObject.append("StorageCageInfo", StorageCageInfo); |
| | | |
| | | //查询当前进片任务 |
| | | // 查询当前进片任务 |
| | | List<StorageTask> StoragTaskeTaskFeed = storageCageService.SelectStorageTask(0); |
| | | jsonObject.append("StoragTaskeTaskFeed", StoragTaskeTaskFeed); |
| | | |
| | | //查询当前出片任务 |
| | | // 查询当前出片任务 |
| | | List<StorageTask> StoragTaskeTaskOut = storageCageService.SelectStorageTask(1); |
| | | jsonObject.append("StoragTaskeTaskOut", StoragTaskeTaskOut); |
| | | |
| | |
| | | List<FlowCard> OrderTask = storageCageService.SelectOrderTask(); |
| | | jsonObject.append("OrderTask", OrderTask); |
| | | |
| | | // jsonObject.append("params", new short[] { 30, 40, }); |
| | | // System.out.println("jsonObject:" + jsonObject); |
| | | ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home"); |
| | | if (sendwServer != null) { |
| | | for (WebSocketServer webserver : sendwServer) { |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | |
| | | if (webserver != null) { |
| | | |
| | | List<String> messages = webserver.getMessages(); |
| | | |
| | | if (!messages.isEmpty()) { |
| | | // // 将最后一个消息转换为整数类型的列表 |
| | | webserver.clearMessages(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | // jsonObject.append("params", new short[] { 30, 40, }); |
| | | ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home"); |
| | | if (sendwServer != null) { |
| | | for (WebSocketServer webserver : sendwServer) { |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | |
| | | if (webserver != null) { |
| | | |
| | | List<String> messages = webserver.getMessages(); |
| | | |
| | | if (!messages.isEmpty()) { |
| | | // // 将最后一个消息转换为整数类型的列表 |
| | | webserver.clearMessages(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |