package com.billion.main.plcServer; import com.billion.main.bs.service.IBsBomChildInfoService; import com.billion.main.constant.Constants; import com.billion.main.da.service.IDaCollectionParamConfService; import com.billion.main.da.service.IDaMaterialCollectionService; import com.billion.main.da.service.IDaParamCollectionService; import com.billion.main.da.service.IDaStationCollectionService; import com.billion.main.om.service.IOmOrderSchedulingService; import com.billion.main.om.service.IOmProductionOrderInfoService; import com.billion.main.plcServer.sub.OPCUaSubscription; import com.billion.main.sys.service.ISysCountService; import com.kangaroohy.milo.service.MiloService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; @Component public class CustomRunner implements ApplicationRunner { @Autowired private MiloService miloService; @Autowired public IDaParamCollectionService daParamCollectionService; @Autowired public IDaStationCollectionService daStationCollectionService; @Autowired public IOmProductionOrderInfoService omProductionOrderInfoService; @Autowired public IOmOrderSchedulingService omOrderSchedulingService; @Autowired public IBsBomChildInfoService bsBomChildInfoService; @Autowired public IDaCollectionParamConfService daCollectionParamConfService; @Autowired public IDaMaterialCollectionService daMaterialCollectionService; @Autowired public ISysCountService sysCountService; @Override public void run(ApplicationArguments args) throws Exception { //PLC1设备//排查上下线 Constants.PLC1.add(Constants.C010); Constants.PLC1.add(Constants.C020); Constants.PLC1.add(Constants.C030); Constants.PLC1.add(Constants.C050); Constants.PLC1.add(Constants.C060); //PLC2设备//排查上下线 Constants.PLC2.add(Constants.OP005); Constants.PLC2.add(Constants.OP010); Constants.PLC2.add(Constants.OP020); Constants.PLC2.add(Constants.OP040); Constants.PLC2.add(Constants.OP045); Constants.PLC2.add(Constants.OP060); Constants.PLC2.add(Constants.OP070); Constants.PLC2.add(Constants.OP075); Constants.PLC2.add(Constants.OP080); Constants.PLC2.add(Constants.OP090); Constants.PLC2.add(Constants.OP095_1); Constants.PLC2.add(Constants.OP095_2); Constants.PLC2.add(Constants.OP100_1); Constants.PLC2.add(Constants.OP100_2); Constants.PLC2.add(Constants.OP120); //PLC3设备//排查上下线 Constants.PLC3.add(Constants.OP130); Constants.PLC3.add(Constants.OP145_1); Constants.PLC3.add(Constants.OP145_2); Constants.PLC3.add(Constants.OP150_1); Constants.PLC3.add(Constants.OP150_2); Constants.PLC3.add(Constants.OP160); Constants.PLC3.add(Constants.OP165_1); Constants.PLC3.add(Constants.OP165_2); Constants.PLC3.add(Constants.OP170_1); Constants.PLC3.add(Constants.OP170_2); Constants.PLC3.add(Constants.OP180); Constants.PLC3.add(Constants.OP190_1); Constants.PLC3.add(Constants.OP190_2); Constants.PLC3.add(Constants.OP200_1); Constants.PLC3.add(Constants.OP200_2); Constants.PLC3.add(Constants.OP210_1); Constants.PLC3.add(Constants.OP210_2); Constants.PLC3.add(Constants.OP220_1); Constants.PLC3.add(Constants.OP220_2); Constants.PLC3.add(Constants.OP230_1); Constants.PLC3.add(Constants.OP230_2); Constants.PLC3.add(Constants.OP240_1); Constants.PLC3.add(Constants.OP240_2); Constants.PLC3.add(Constants.OP250_1); Constants.PLC3.add(Constants.OP250_2); Constants.PLC3.add(Constants.OP260_1); Constants.PLC3.add(Constants.OP260_2); Constants.PLC3.add(Constants.OP270_1); Constants.PLC3.add(Constants.OP270_2); Constants.PLC3.add(Constants.OP275); Constants.PLC3.add(Constants.OP280); Constants.PLC3.add(Constants.OP290_1); Constants.PLC3.add(Constants.OP290_2); Constants.PLC3.add(Constants.OP295); Constants.PLC3.add(Constants.OP300); Constants.PLC3.add(Constants.OP310); //PLC4//排查上下线 Constants.PLC4.add(Constants.C040); Constants.PLC4.add(Constants.OP030); Constants.PLC4.add(Constants.OP050); Constants.PLC4.add(Constants.OP110); Constants.PLC4.add(Constants.OP140); //上线工位 Constants.ONLINE.add(Constants.C005); Constants.ONLINE.add(Constants.OP005); //下线工位 Constants.OFFLINE.add(Constants.C070); Constants.OFFLINE.add(Constants.OP310); OPCUaSubscription OPCUaSubscription = new OPCUaSubscription(miloService, daParamCollectionService, daStationCollectionService, omProductionOrderInfoService, omOrderSchedulingService, bsBomChildInfoService, daCollectionParamConfService, daMaterialCollectionService, sysCountService); List lists = getList(); System.out.println("订阅内容:"+lists); miloService.subscriptionFromOpcUa(lists,OPCUaSubscription); } public List getList(){ List lists = new ArrayList<>(); //PLC1 lists.add("PLC1.C005.RecordData"); lists.add("PLC1.C005.WorkOrderRequest");//请求工单 lists.add("PLC1.C010.RecordData"); lists.add("PLC1.C020.RecordData"); lists.add("PLC1.C030.RecordData"); lists.add("PLC1.C050.RecordData"); lists.add("PLC1.C060.RecordData"); lists.add("PLC1.C070.RecordData"); //PLC2 lists.add("PLC2.OP005.RecordData"); lists.add("PLC2.OP010.WorkOrderRequest");//请求工单 lists.add("PLC2.OP020.RecordData"); lists.add("PLC2.OP040.RecordData"); lists.add("PLC2.OP045.RecordData"); lists.add("PLC2.OP060.RecordData"); lists.add("PLC2.OP070.RecordData"); lists.add("PLC2.OP075.RecordData"); lists.add("PLC2.OP080.RecordData"); lists.add("PLC2.OP090.RecordData"); lists.add("PLC2.OP095-1.RecordData"); lists.add("PLC2.OP095-2.RecordData"); lists.add("PLC2.OP100-1.RecordData"); lists.add("PLC2.OP100-2.RecordData"); lists.add("PLC2.OP120.RecordData"); lists.add("PLC2.P010.RecordData"); lists.add("PLC2.P010.WorkOrderRequest");//请求工单 //PLC3 lists.add("PLC3.OP130.RecordData"); lists.add("PLC3.OP145-1.RecordData"); lists.add("PLC3.OP145-2.RecordData"); lists.add("PLC3.OP150-1.RecordData"); lists.add("PLC3.OP150-2.RecordData"); lists.add("PLC3.OP160.RecordData"); lists.add("PLC3.OP165-1.RecordData"); lists.add("PLC3.OP165-2.RecordData"); lists.add("PLC3.OP170-1.RecordData"); lists.add("PLC3.OP170-2.RecordData"); lists.add("PLC3.OP180.RecordData"); lists.add("PLC3.OP190-1.RecordData"); lists.add("PLC3.OP190-2.RecordData"); lists.add("PLC3.OP200-1.RecordData"); lists.add("PLC3.OP200-2.RecordData"); lists.add("PLC3.OP210-1.RecordData"); lists.add("PLC3.OP210-2.RecordData"); lists.add("PLC3.OP220-1.RecordData"); lists.add("PLC3.OP220-2.RecordData"); lists.add("PLC3.OP230-1.RecordData"); lists.add("PLC3.OP230-2.RecordData"); lists.add("PLC3.OP240-1.RecordData"); lists.add("PLC3.OP240-2.RecordData"); lists.add("PLC3.OP250-1.RecordData"); lists.add("PLC3.OP250-2.RecordData"); lists.add("PLC3.OP260-1.RecordData"); lists.add("PLC3.OP260-2.RecordData"); lists.add("PLC3.OP270-1.RecordData"); lists.add("PLC3.OP270-2.RecordData"); lists.add("PLC3.OP275.RecordData"); lists.add("PLC3.OP280.RecordData"); lists.add("PLC3.OP290-1.RecordData"); lists.add("PLC3.OP290-2.RecordData"); lists.add("PLC3.OP295.RecordData"); lists.add("PLC3.OP300.RecordData"); lists.add("PLC3.OP310.RecordData"); //PLC4 lists.add("PLC4.C040.RecordData"); lists.add("PLC4.OP030.RecordData"); lists.add("PLC4.OP050.RecordData"); lists.add("PLC4.OP070.RecordData"); lists.add("PLC3.OP110.RecordData"); lists.add("PLC3.OP140.RecordData"); return lists; } }