| | |
| | | import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; |
| | | import cn.stylefeng.guns.modular.em.equipmentAlarm.service.EquipmentAlarmService; |
| | | import cn.stylefeng.guns.modular.em.equipmentStatus.service.EquipmentStatusService; |
| | | import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService; |
| | | import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService; |
| | | import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; |
| | | import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; |
| | | import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService; |
| | | import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService; |
| | | import cn.stylefeng.guns.plcserver.server.BOP010.callback.*; |
| | |
| | | |
| | | @Autowired |
| | | public LocationInfoService locationInfoService; |
| | | @Autowired |
| | | public GreaseManageService greaseManageService; |
| | | |
| | | @Autowired |
| | | public ProductionOrderRecordsService productionOrderRecordsService; |
| | | |
| | | @Autowired |
| | | public ProductionOrderBatchInfoService productionOrderBatchInfoService; |
| | | |
| | | //OP010 |
| | | private Item OP010_F_HEART_BEAT;//心跳 |
| | |
| | | |
| | | private Item OP050_S_PRODUCT_STATE_CODE;//产品状态编码 |
| | | |
| | | |
| | | private Item OP050_OIL_STATE;//油脂状态 |
| | | //OP070 |
| | | private Item OP070_F_HEART_BEAT;//心跳 |
| | | private Item OP070_J_PLC_START;//PLC开始 |
| | |
| | | |
| | | private Item BOP030_S_PRODUCT_STATE_CODE;//产品状态编码 |
| | | |
| | | private Item BOP030_OIL_STATE;//油脂状态 |
| | | //BOP030B |
| | | private Item BOP030B_F_HEART_BEAT;//心跳 |
| | | private Item BOP030B_J_PLC_START;//PLC开始 |
| | |
| | | |
| | | private Item DOP020_S_PRODUCT_STATE_CODE;//产品状态编码 |
| | | |
| | | private Item DOP020_OIL_STATE;//油脂状态 |
| | | |
| | | /** |
| | | * 单例模式 |
| | |
| | | MaterialTraceabilityService materialTraceabilityService, |
| | | EquipmentInfoService equipmentInfoService, |
| | | RepairManageInfoService repairManageInfoService, |
| | | LocationInfoService locationInfoService |
| | | LocationInfoService locationInfoService, |
| | | GreaseManageService greaseManageService, |
| | | ProductionOrderRecordsService productionOrderRecordsService, |
| | | ProductionOrderBatchInfoService productionOrderBatchInfoService |
| | | ) throws Exception { |
| | | this.productionOrdeInfoService = productionOrdeInfoService; |
| | | this.passingStationCollectionService = passingStationCollectionService; |
| | |
| | | this.equipmentInfoService = equipmentInfoService; |
| | | this.repairManageInfoService = repairManageInfoService; |
| | | this.locationInfoService = locationInfoService; |
| | | this.greaseManageService = greaseManageService; |
| | | this.productionOrderRecordsService = productionOrderRecordsService; |
| | | this.productionOrderBatchInfoService = productionOrderBatchInfoService; |
| | | |
| | | // 加载配置文件 |
| | | final ConnectionInformation ci = getCLSIDConnectionInfomation(); |
| | |
| | | logger.info("This is {} message.", "OPCserver connect success"); |
| | | this.server = server; |
| | | // 同步读取,500ms一次 |
| | | final AccessBase access = new SyncAccess(server, 1000); |
| | | |
| | | //final AccessBase access = new Async20Access(server, 1000,false); |
| | | final AccessBase access = new SyncAccess(server, 500); |
| | | |
| | | //OP010回调 |
| | | access.addItem(OPCElement.OP010_F_HEART_BEAT, new DataCallBack_OP010_F_HEART_BEAT());//心跳 |
| | | /* access.addItem(OPCElement.OP010_E_STATE, new DataCallBack_OP010_E_STATE());//设备状态*/ |
| | | /* access.addItem(OPCElement.OP010_E_STATE, new DataCallBack_OP010_E_STATE());//设备状态*/ |
| | | |
| | | //OP020回调 |
| | | access.addItem(OPCElement.OP020_F_HEART_BEAT, new DataCallBack_OP020_F_HEART_BEAT());//心跳 |
| | |
| | | access.addItem(OPCElement.OP110_F_HEART_BEAT, new DataCallBack_OP110_F_HEART_BEAT());//心跳 |
| | | |
| | | |
| | | /* |
| | | //OP120回调 |
| | | access.addItem(OPCElement.OP120_F_HEART_BEAT, new DataCallBack_OP120_F_HEART_BEAT());//心跳 |
| | | |
| | | //OP120B回调 |
| | | access.addItem(OPCElement.OP120B_F_HEART_BEAT, new DataCallBack_OP120B_F_HEART_BEAT());//心跳 |
| | | */ |
| | | |
| | | |
| | | //OP130回调 |
| | |
| | | //OP140回调 |
| | | access.addItem(OPCElement.OP140_F_HEART_BEAT, new DataCallBack_OP140_F_HEART_BEAT());//心跳 |
| | | |
| | | /* //OP150回调 |
| | | //OP150回调 |
| | | /* |
| | | access.addItem(OPCElement.OP150_F_HEART_BEAT, new DataCallBack_OP150_F_HEART_BEAT());//心跳 |
| | | */ |
| | | */ |
| | | |
| | | //OP160回调 |
| | | access.addItem(OPCElement.OP160_F_HEART_BEAT, new DataCallBack_OP160_F_HEART_BEAT());//心跳 |
| | | |
| | |
| | | access.addItem(OPCElement.DOP010_F_HEART_BEAT, new DataCallBack_DOP010_F_HEART_BEAT());//心跳 |
| | | |
| | | //DOP020回调 |
| | | access.addItem(OPCElement.DOP020_F_HEART_BEAT, new DataCallBack_DOP020_F_HEART_BEAT());//心跳 |
| | | /* access.addItem(OPCElement.DOP020_F_HEART_BEAT, new DataCallBack_DOP020_F_HEART_BEAT());//心跳*/ |
| | | |
| | | //EOP010回调 |
| | | access.addItem(OPCElement.EOP010_F_HEART_BEAT, new DataCallBack_EOP010_F_HEART_BEAT());//心跳 |
| | |
| | | //EOP030回调 |
| | | access.addItem(OPCElement.EOP030_F_HEART_BEAT, new DataCallBack_EOP030_F_HEART_BEAT());//心跳 |
| | | |
| | | //EOP040回调 |
| | | //EOP040回调 |
| | | access.addItem(OPCElement.EOP040_F_HEART_BEAT, new DataCallBack_EOP040_F_HEART_BEAT());//心跳 |
| | | |
| | | //EOP050回调 |
| | |
| | | |
| | | OP050_S_PRODUCT_STATE_CODE = OP050_GROUP.addItem((OPCElement.OP050_S_PRODUCT_STATE_CODE));//产品状态编码 |
| | | |
| | | |
| | | OP050_OIL_STATE = OP050_GROUP.addItem((OPCElement.OP050_OIL_STATE));//油脂状态 |
| | | |
| | | //OP070组 |
| | | final Group OP070_GROUP = server.addGroup("OP070"); |
| | |
| | | OP110_S_PRODUCT_STATE_CODE = OP110_GROUP.addItem((OPCElement.OP110_S_PRODUCT_STATE_CODE));//产品状态编码 |
| | | |
| | | //OP120组 |
| | | /* final Group OP120_GROUP = server.addGroup("OP120"); |
| | | final Group OP120_GROUP = server.addGroup("OP120"); |
| | | OP120_F_HEART_BEAT = OP120_GROUP.addItem((OPCElement.OP120_F_HEART_BEAT));//心跳 |
| | | OP120_J_PLC_START = OP120_GROUP.addItem((OPCElement.OP120_J_PLC_START));//PLC开始 |
| | | OP120_J_PC_WRITE_ORDER = OP120_GROUP.addItem((OPCElement.OP120_J_PC_WRITE_ORDER));//PC读数据完成 |
| | |
| | | OP120B_S_PRODUCT_CODE = OP120B_GROUP.addItem((OPCElement.OP120B_S_PRODUCT_CODE));//产品编号 |
| | | OP120B_S_SFC_CODE = OP120B_GROUP.addItem((OPCElement.OP120B_S_SFC_CODE));//总成编码 |
| | | |
| | | OP120B_S_PRODUCT_STATE_CODE = OP120B_GROUP.addItem((OPCElement.OP120B_S_PRODUCT_STATE_CODE));//产品状态编码*/ |
| | | OP120B_S_PRODUCT_STATE_CODE = OP120B_GROUP.addItem((OPCElement.OP120B_S_PRODUCT_STATE_CODE));//产品状态编码 |
| | | |
| | | //OP130组 |
| | | final Group OP130_GROUP = server.addGroup("OP130"); |
| | |
| | | OP140_S_PRODUCT_STATE_CODE = OP140_GROUP.addItem((OPCElement.OP140_S_PRODUCT_STATE_CODE));//产品状态编码 |
| | | |
| | | //OP150组 |
| | | /* final Group OP150_GROUP = server.addGroup("OP150"); |
| | | /* final Group OP150_GROUP = server.addGroup("OP150"); |
| | | OP150_F_HEART_BEAT = OP150_GROUP.addItem((OPCElement.OP150_F_HEART_BEAT));//心跳 |
| | | OP150_J_PLC_START = OP150_GROUP.addItem((OPCElement.OP150_J_PLC_START));//PLC开始 |
| | | OP150_J_PC_WRITE_ORDER = OP150_GROUP.addItem((OPCElement.OP150_J_PC_WRITE_ORDER));//PC下发工单 |
| | |
| | | OP150_S_PRODUCT_CODE = OP150_GROUP.addItem((OPCElement.OP150_S_PRODUCT_CODE));//产品编号 |
| | | OP150_S_SFC_CODE = OP150_GROUP.addItem((OPCElement.OP150_S_SFC_CODE));//总成编码 |
| | | |
| | | OP150_S_PRODUCT_STATE_CODE = OP150_GROUP.addItem((OPCElement.OP150_S_PRODUCT_STATE_CODE));//产品状态编码 |
| | | */ |
| | | OP150_S_PRODUCT_STATE_CODE = OP150_GROUP.addItem((OPCElement.OP150_S_PRODUCT_STATE_CODE));//产品状态编码*/ |
| | | |
| | | //OP160组 |
| | | final Group OP160_GROUP = server.addGroup("OP160"); |
| | | OP160_F_HEART_BEAT = OP160_GROUP.addItem((OPCElement.OP160_F_HEART_BEAT));//心跳 |
| | |
| | | BOP030_S_SFC_CODE = BOP030_GROUP.addItem((OPCElement.BOP030_S_SFC_CODE));//总成编码 |
| | | |
| | | BOP030_S_PRODUCT_STATE_CODE = BOP030_GROUP.addItem((OPCElement.BOP030_S_PRODUCT_STATE_CODE));//产品状态编码 |
| | | |
| | | BOP030_OIL_STATE = BOP030_GROUP.addItem((OPCElement.BOP030_OIL_STATE));//油脂状态 |
| | | |
| | | |
| | | |
| | | //BOP030B组 |
| | | final Group BOP030B_GROUP = server.addGroup("BOP030B"); |
| | |
| | | DOP010_P_REPAIR_LOCATION = DOP010_GROUP.addItem((OPCElement.DOP010_P_REPAIR_LOCATION));//返修工位 |
| | | |
| | | //DOP020组 |
| | | final Group DOP020_GROUP = server.addGroup("DOP020"); |
| | | /*final Group DOP020_GROUP = server.addGroup("DOP020"); |
| | | DOP020_F_HEART_BEAT = DOP020_GROUP.addItem((OPCElement.DOP020_F_HEART_BEAT));//心跳 |
| | | DOP020_J_PLC_START = DOP020_GROUP.addItem((OPCElement.DOP020_J_PLC_START));//PLC开始 |
| | | DOP020_J_PC_WRITE_ORDER = DOP020_GROUP.addItem((OPCElement.DOP020_J_PC_WRITE_ORDER));//PC下发工单 |
| | |
| | | DOP020_S_SFC_CODE = DOP020_GROUP.addItem((OPCElement.DOP020_S_SFC_CODE));//总成编码 |
| | | |
| | | DOP020_S_PRODUCT_STATE_CODE = DOP020_GROUP.addItem((OPCElement.DOP020_S_PRODUCT_STATE_CODE));//产品状态编码 |
| | | |
| | | DOP020_OIL_STATE = DOP020_GROUP.addItem((OPCElement.DOP020_OIL_STATE));//油脂状态*/ |
| | | |
| | | |
| | | // start reading |
| | | access.bind(); |
| | | } catch (final JIException e) { |
| | |
| | | public Item getDOP010_P_REPAIR_LOCATION() { |
| | | return DOP010_P_REPAIR_LOCATION; |
| | | } |
| | | |
| | | public GreaseManageService getGreaseManageService() { |
| | | return greaseManageService; |
| | | } |
| | | |
| | | public Item getOP050_OIL_STATE() { |
| | | return OP050_OIL_STATE; |
| | | } |
| | | |
| | | public Item getBOP030_OIL_STATE() { |
| | | return BOP030_OIL_STATE; |
| | | } |
| | | |
| | | public Item getDOP020_OIL_STATE() { |
| | | return DOP020_OIL_STATE; |
| | | } |
| | | } |