| | |
| | | import com.zy.core.cache.SlaveConnection; |
| | | import com.zy.core.enums.SlaveType; |
| | | import com.zy.core.thread.impl.ZySiemensCrnThread; |
| | | import com.zy.core.thread.impl.ZySiemensDualCrnThread; |
| | | import com.zy.core.thread.impl.ZyStationThread; |
| | | import com.zy.core.thread.impl.ZyRgvThread; |
| | | |
| | |
| | | @Async |
| | | public void init() throws InterruptedException { |
| | | News.info("核心控制层开始初始化..............................................."); |
| | | Thread.sleep(2000); |
| | | // 初始化消息队列 |
| | | initMq(); |
| | | // 初始化下位机线程 |
| | |
| | | .eq("device_type", String.valueOf(SlaveType.Crn))); |
| | | for (DeviceConfig crn : crnList) { |
| | | MessageQueue.init(SlaveType.Crn, crn.getDeviceNo()); |
| | | } |
| | | // 初始化双工位堆垛机mq |
| | | List<DeviceConfig> dualCrnList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>() |
| | | .eq("device_type", String.valueOf(SlaveType.DualCrn))); |
| | | for (DeviceConfig crn : dualCrnList) { |
| | | MessageQueue.init(SlaveType.DualCrn, crn.getDeviceNo()); |
| | | } |
| | | // 初始化Rgv小车mq |
| | | List<DeviceConfig> rgvList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>() |
| | |
| | | } |
| | | |
| | | private void initThread(){ |
| | | News.info("初始化堆垛机........................................................"); |
| | | List<DeviceConfig> crnList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>() |
| | | .eq("device_type", String.valueOf(SlaveType.Crn))); |
| | | for (DeviceConfig deviceConfig : crnList) { |
| | | ThreadHandler thread = null; |
| | | if (deviceConfig.getThreadImpl().equals("ZySiemensCrnThread")) { |
| | | thread = new ZySiemensCrnThread(deviceConfig, redisUtil); |
| | | } else { |
| | | throw new CoolException("未知的线程实现"); |
| | | } |
| | | if(!crnList.isEmpty()) { |
| | | News.info("初始化堆垛机........................................................"); |
| | | for (DeviceConfig deviceConfig : crnList) { |
| | | ThreadHandler thread = null; |
| | | if (deviceConfig.getThreadImpl().equals("ZySiemensCrnThread")) { |
| | | thread = new ZySiemensCrnThread(deviceConfig, redisUtil); |
| | | } else { |
| | | throw new CoolException("未知的线程实现"); |
| | | } |
| | | |
| | | Thread t = new Thread(thread); |
| | | t.setName("CrnThread-" + deviceConfig.getDeviceNo()); |
| | | t.setDaemon(true); |
| | | t.start(); |
| | | SlaveConnection.put(SlaveType.Crn, deviceConfig.getDeviceNo(), thread); |
| | | Thread t = new Thread(thread); |
| | | t.setName("CrnThread-" + deviceConfig.getDeviceNo()); |
| | | t.setDaemon(true); |
| | | t.start(); |
| | | SlaveConnection.put(SlaveType.Crn, deviceConfig.getDeviceNo(), thread); |
| | | } |
| | | } |
| | | |
| | | News.info("初始化输送站........................................................"); |
| | | List<DeviceConfig> dualCrnList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>() |
| | | .eq("device_type", String.valueOf(SlaveType.DualCrn))); |
| | | if(!dualCrnList.isEmpty()) { |
| | | News.info("初始化双工位堆垛机........................................................"); |
| | | for (DeviceConfig deviceConfig : dualCrnList) { |
| | | ThreadHandler thread = null; |
| | | if (deviceConfig.getThreadImpl().equals("ZySiemensDualCrnThread")) { |
| | | thread = new ZySiemensDualCrnThread(deviceConfig, redisUtil); |
| | | } else { |
| | | throw new CoolException("未知的线程实现"); |
| | | } |
| | | |
| | | Thread t = new Thread(thread); |
| | | t.setName("DualCrnThread-" + deviceConfig.getDeviceNo()); |
| | | t.setDaemon(true); |
| | | t.start(); |
| | | SlaveConnection.put(SlaveType.DualCrn, deviceConfig.getDeviceNo(), thread); |
| | | } |
| | | } |
| | | |
| | | List<DeviceConfig> devpList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>() |
| | | .eq("device_type", String.valueOf(SlaveType.Devp))); |
| | | for (DeviceConfig deviceConfig : devpList) { |
| | | ThreadHandler thread = null; |
| | | if (deviceConfig.getThreadImpl().equals("ZyStationThread")) { |
| | | thread = new ZyStationThread(deviceConfig, redisUtil); |
| | | } else { |
| | | throw new CoolException("未知的线程实现"); |
| | | } |
| | | if(!devpList.isEmpty()) { |
| | | News.info("初始化输送站........................................................"); |
| | | for (DeviceConfig deviceConfig : devpList) { |
| | | ThreadHandler thread = null; |
| | | if (deviceConfig.getThreadImpl().equals("ZyStationThread")) { |
| | | thread = new ZyStationThread(deviceConfig, redisUtil); |
| | | } else { |
| | | throw new CoolException("未知的线程实现"); |
| | | } |
| | | |
| | | Thread t = new Thread(thread); |
| | | t.setName("DevpThread-" + deviceConfig.getDeviceNo()); |
| | | t.setDaemon(true); |
| | | t.start(); |
| | | SlaveConnection.put(SlaveType.Devp, deviceConfig.getDeviceNo(), thread); |
| | | Thread t = new Thread(thread); |
| | | t.setName("DevpThread-" + deviceConfig.getDeviceNo()); |
| | | t.setDaemon(true); |
| | | t.start(); |
| | | SlaveConnection.put(SlaveType.Devp, deviceConfig.getDeviceNo(), thread); |
| | | } |
| | | } |
| | | |
| | | News.info("初始化RGV........................................................"); |
| | | List<DeviceConfig> rgvList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>() |
| | | .eq("device_type", String.valueOf(SlaveType.Rgv))); |
| | | for (DeviceConfig deviceConfig : rgvList) { |
| | | ThreadHandler thread = null; |
| | | if (deviceConfig.getThreadImpl().equals("ZyRgvThread")) { |
| | | thread = new ZyRgvThread(deviceConfig, redisUtil); |
| | | } else { |
| | | throw new CoolException("未知的线程实现"); |
| | | } |
| | | if(!rgvList.isEmpty()) { |
| | | News.info("初始化RGV........................................................"); |
| | | for (DeviceConfig deviceConfig : rgvList) { |
| | | ThreadHandler thread = null; |
| | | if (deviceConfig.getThreadImpl().equals("ZyRgvThread")) { |
| | | thread = new ZyRgvThread(deviceConfig, redisUtil); |
| | | } else { |
| | | throw new CoolException("未知的线程实现"); |
| | | } |
| | | |
| | | Thread t = new Thread(thread); |
| | | t.setName("RgvThread-" + deviceConfig.getDeviceNo()); |
| | | t.setDaemon(true); |
| | | t.start(); |
| | | SlaveConnection.put(SlaveType.Rgv, deviceConfig.getDeviceNo(), thread); |
| | | Thread t = new Thread(thread); |
| | | t.setName("RgvThread-" + deviceConfig.getDeviceNo()); |
| | | t.setDaemon(true); |
| | | t.start(); |
| | | SlaveConnection.put(SlaveType.Rgv, deviceConfig.getDeviceNo(), thread); |
| | | } |
| | | } |
| | | |
| | | } |