From ba1a7a9ef126296e2798e313dc5b43f775a1123c Mon Sep 17 00:00:00 2001 From: cl <418351270@qq.com> Date: 星期四, 23 五月 2024 17:44:36 +0800 Subject: [PATCH] 修改数据采集 --- guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java | 97 +++++------------------------------------------- 1 files changed, 11 insertions(+), 86 deletions(-) diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java index 9975968..813c5e2 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java @@ -30,7 +30,6 @@ import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService; import cn.stylefeng.guns.plcserver.opc.GlobalVariable; import cn.stylefeng.guns.plcserver.opc.OPCElement; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; import cn.stylefeng.guns.plcserver.tool.DateTool; import cn.stylefeng.guns.plcserver.tool.LogUtil; import com.kangaroohy.milo.model.ReadWriteEntity; @@ -46,7 +45,7 @@ import java.util.Random; @Component -public class BOP010Callback implements SubscriptionCallback { +public class BOP010Callback { public MiloService miloService; @@ -129,49 +128,7 @@ this.productionOrderRecordsService = productionOrderRecordsService; this.productionOrderBatchInfoService = productionOrderBatchInfoService; } - @Override - public void onSubscribe(String identifier, Object value) { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try { - //蹇冭烦 - if(null != value && identifier.equals(OPCElement.COP010_F_HEART_BEAT)){ - if( "false".equals(value.toString())) - { - ReadWriteEntity entity = new ReadWriteEntity(OPCElement.BOP010_F_HEART_BEAT,true); - miloService.writeToOpcUa(entity); - } - } - //PLC杩涚珯 - else if(null != value && identifier.equals(OPCElement.BOP010_J_PLC_START)){ - if("true".equals(value.toString())){ - String isRepair = miloService. - readFromOpcUa(OPCElement.BOP010_P_REPAIR) - .getValue().toString();//鏄惁杩斾慨 - if(isRepair.equals("true")){ - handleRepair(); - }else{ - handleOrder(); - } - } - } - //PLC鍑虹珯 - else if(null != value && identifier.equals(OPCElement.BOP010_J_PLC_FINISH)){ - if("true".equals(value.toString())){ - handleFinsh(); - handleInfo(); - handleMaterial(); - } - }else{ - System.out.println("BOP010鍊兼病鏈夊彉"); - } - } catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } + public void handleOrder() throws Exception{ @@ -194,9 +151,9 @@ List<ReadWriteEntity> lists = new ArrayList<>(); lists.add(new ReadWriteEntity(OPCElement.BOP010_S_ORDER_CODE,S_ORDER_CODE)); - lists.add(new ReadWriteEntity(OPCElement.BOP010_S_PRODUCT_CODE,S_PRODUCT_TYPE)); + lists.add(new ReadWriteEntity(OPCElement.BOP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE))); lists.add(new ReadWriteEntity(OPCElement.BOP010_S_SFC_CODE,S_SFC_CODE)); - lists.add(new ReadWriteEntity(OPCElement.BOP010_S_NUMBER,result.getPlanQty().toString())); + lists.add(new ReadWriteEntity(OPCElement.BOP010_S_NUMBER,Short.parseShort(result.getPlanQty().toString()))); lists.add(new ReadWriteEntity(OPCElement.BOP010_J_PC_WRITE_ORDER,true)); miloService.writeToOpcUa(lists); @@ -211,7 +168,8 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.BOP010_S_PRODUCT_STATE_CODE) .getValue().toString(); - + ReadWriteEntity entity = new ReadWriteEntity(OPCElement.BOP010_J_PC_FINISH,true); + miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -224,13 +182,14 @@ param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 passingStationCollectionService.add(param); - ReadWriteEntity entity = new ReadWriteEntity(OPCElement.BOP010_J_PC_FINISH,true); - miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 + logger.info("handleFinsh PC澶勭悊瀹屾垚锛�"); } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -261,41 +220,7 @@ } } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - String value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue().toString();//璇诲弬鏁板�� - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - - logger.info("handleInfo END锛�"); - } public void handleRepair() throws Exception{ RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam(); repairManageInfoParam.setLocationCode(LOCATION_CODE); @@ -325,7 +250,7 @@ if(null != repairLocationNo && "" != repairLocationNo){ List<ReadWriteEntity> lists = new ArrayList<>(); lists.add(new ReadWriteEntity(OPCElement.BOP010_S_ORDER_CODE,S_ORDER_CODE)); - lists.add(new ReadWriteEntity(OPCElement.BOP010_S_PRODUCT_CODE,S_PRODUCT_TYPE)); + lists.add(new ReadWriteEntity(OPCElement.BOP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE))); lists.add(new ReadWriteEntity(OPCElement.BOP010_S_SFC_CODE,S_SFC_CODE)); lists.add(new ReadWriteEntity(OPCElement.BOP010_P_REPAIR_LOCATION,repairLocationNo)); lists.add(new ReadWriteEntity(OPCElement.BOP010_J_PC_WRITE_ORDER,true)); -- Gitblit v1.9.3