From 314bc7a1733856bd82c9d99bdfa27b34a4a762c3 Mon Sep 17 00:00:00 2001 From: cl <418351270@qq.com> Date: 星期一, 22 一月 2024 12:58:37 +0800 Subject: [PATCH] 修改数据采集 --- /dev/null | 152 ----------- guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java | 543 ----------------------------------------- guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java | 6 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java | 6 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java | 6 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java | 6 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/InitCallback.java | 13 7 files changed, 21 insertions(+), 711 deletions(-) diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/OpcServiceMain.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/OpcServiceMain.java deleted file mode 100644 index 9242219..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/OpcServiceMain.java +++ /dev/null @@ -1,919 +0,0 @@ -package cn.stylefeng.guns.plcserver; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; -import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -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.model.params.ProductionOrdeInfoParam; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult; -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.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.server.BOP010.BOP010ServerInterface; -import cn.stylefeng.guns.plcserver.server.BOP010.impl.BOP010ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.BOP020.BOP020ServerInterface; -import cn.stylefeng.guns.plcserver.server.BOP020.impl.BOP020ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.BOP030.BOP030ServerInterface; -import cn.stylefeng.guns.plcserver.server.BOP030.impl.BOP030ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.BOP030B.BOP030BServerInterface; -import cn.stylefeng.guns.plcserver.server.BOP030B.impl.BOP030BServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.BOP040.BOP040ServerInterface; -import cn.stylefeng.guns.plcserver.server.BOP040.impl.BOP040ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.BOP040B.BOP040BServerInterface; -import cn.stylefeng.guns.plcserver.server.BOP040B.impl.BOP040BServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.COP010.COP010ServerInterface; -import cn.stylefeng.guns.plcserver.server.COP010.impl.COP010ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.COP020.COP020ServerInterface; -import cn.stylefeng.guns.plcserver.server.COP020.impl.COP020ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.COP030.COP030ServerInterface; -import cn.stylefeng.guns.plcserver.server.COP030.impl.COP030ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.DOP010.DOP010ServerInterface; -import cn.stylefeng.guns.plcserver.server.DOP010.impl.DOP010ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.DOP020.DOP020ServerInterface; -import cn.stylefeng.guns.plcserver.server.DOP020.impl.DOP020ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.EOP010.EOP010ServerInterface; -import cn.stylefeng.guns.plcserver.server.EOP010.impl.EOP010ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.EOP020.EOP020ServerInterface; -import cn.stylefeng.guns.plcserver.server.EOP020.impl.EOP020ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.EOP030.EOP030ServerInterface; -import cn.stylefeng.guns.plcserver.server.EOP030.impl.EOP030ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.EOP040.EOP040ServerInterface; -import cn.stylefeng.guns.plcserver.server.EOP040.impl.EOP040ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.EOP050.EOP050ServerInterface; -import cn.stylefeng.guns.plcserver.server.EOP050.impl.EOP050ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.EOP060.EOP060ServerInterface; -import cn.stylefeng.guns.plcserver.server.EOP060.impl.EOP060ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.EOP070.EOP070ServerInterface; -import cn.stylefeng.guns.plcserver.server.EOP070.impl.EOP070ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.EOP070B.EOP070BServerInterface; -import cn.stylefeng.guns.plcserver.server.EOP070B.impl.EOP070BServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.EOP080.EOP080ServerInterface; -import cn.stylefeng.guns.plcserver.server.EOP080.impl.EOP080ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.EOP090.EOP090ServerInterface; -import cn.stylefeng.guns.plcserver.server.EOP090.impl.EOP090ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.EOP090B.EOP090BServerInterface; -import cn.stylefeng.guns.plcserver.server.EOP090B.impl.EOP090BServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP010.OP010ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP010.impl.OP010ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP020.OP020ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP020.impl.OP020ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP030.OP030ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP030.impl.OP030ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP040.OP040ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP040.impl.OP040ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP050.OP050ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP050.impl.OP050ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP070.OP070ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP070.impl.OP070ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP080.OP080ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP080.impl.OP080ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP090.OP090ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP090.impl.OP090ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP100.OP100ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP100.impl.OP100ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP110.OP110ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP110.impl.OP110ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP120.OP120ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP120.impl.OP120ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP120B.OP120BServerInterface; -import cn.stylefeng.guns.plcserver.server.OP120B.impl.OP120BServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP130.OP130ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP130.impl.OP130ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP130B.OP130BServerInterface; -import cn.stylefeng.guns.plcserver.server.OP130B.impl.OP130BServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP140.OP140ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP140.impl.OP140ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP150.OP150ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP150.impl.OP150ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP160.OP160ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP160.impl.OP160ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.OP170.OP170ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP170.impl.OP170ServerInterfaceImpl; -import cn.stylefeng.guns.plcserver.server.state.StateServerInterface; -import cn.stylefeng.guns.plcserver.server.state.impl.StateServerInterfaceImpl; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.CommandLineRunner; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -@Component -@Order(1) -public class OpcServiceMain implements CommandLineRunner { - private OPCComm opc = OPCComm.getInstance(); - - @Autowired - public ProductionOrdeInfoService productionOrdeInfoService; - @Autowired - public PassingStationCollectionService passingStationCollectionService; - @Autowired - public ParamCollectionService paramCollectionService; - @Autowired - public CollectionParamConfService collectionParamConfService; - @Autowired - public SerialNumbersConfService serialNumbersConfService; - @Autowired - private EquipmentStatusService equipmentStatusService; - - @Autowired - private EquipmentAlarmService equipmentAlarmService; - @Autowired - private MaterialTraceabilityService materialTraceabilityService; - @Autowired - private EquipmentInfoService equipmentInfoService; - @Autowired - private RepairManageInfoService repairManageInfoService; - - @Autowired - private LocationInfoService locationInfoService; - - @Autowired - private GreaseManageService greaseManageService; - - @Autowired - private ProductionOrderRecordsService productionOrderRecordsService; - - @Autowired - private ProductionOrderBatchInfoService productionOrderBatchInfoService; - - @Override - public void run(String... args) throws Exception { - if(GlobalVariable.TERMINATED) { - opc.init(productionOrdeInfoService,passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,productionOrderBatchInfoService); - - GlobalVariable.PRODUCT_TYPE_MAP.put("12980500000198","1");//C1 36V - GlobalVariable.PRODUCT_TYPE_MAP.put("12980500000174","2");//C1 48V - GlobalVariable.PRODUCT_TYPE_MAP.put("12980500000194","3");//T1 36V - GlobalVariable.PRODUCT_TYPE_MAP.put("12980500000201","4");//T1 48V - - GlobalVariable.PRODUCT_CODE_MAP.put("1","12980500000198"); - GlobalVariable.PRODUCT_CODE_MAP.put("2","12980500000174"); - GlobalVariable.PRODUCT_CODE_MAP.put("3","12980500000194"); - GlobalVariable.PRODUCT_CODE_MAP.put("4","12980500000201"); - - ExecutorService cachedThreadPool = Executors.newCachedThreadPool(); - cachedThreadPool.execute(new OP010TaskThreadPool()); - cachedThreadPool.execute(new OP020TaskThreadPool()); - cachedThreadPool.execute(new OP030TaskThreadPool()); - cachedThreadPool.execute(new OP040TaskThreadPool()); - cachedThreadPool.execute(new OP050TaskThreadPool()); - cachedThreadPool.execute(new OP070TaskThreadPool()); - cachedThreadPool.execute(new OP080TaskThreadPool()); - cachedThreadPool.execute(new OP090TaskThreadPool()); - cachedThreadPool.execute(new OP100TaskThreadPool()); - cachedThreadPool.execute(new OP110TaskThreadPool()); - cachedThreadPool.execute(new OP120TaskThreadPool()); - cachedThreadPool.execute(new OP120BTaskThreadPool()); - cachedThreadPool.execute(new OP130TaskThreadPool()); - cachedThreadPool.execute(new OP130BTaskThreadPool()); - cachedThreadPool.execute(new OP140TaskThreadPool()); - /* cachedThreadPool.execute(new OP150TaskThreadPool());*/ - cachedThreadPool.execute(new OP160TaskThreadPool()); - cachedThreadPool.execute(new OP170TaskThreadPool()); - - //COP - cachedThreadPool.execute(new COP010TaskThreadPool()); - cachedThreadPool.execute(new COP020TaskThreadPool()); - cachedThreadPool.execute(new COP030TaskThreadPool()); - - //BOP - cachedThreadPool.execute(new BOP010TaskThreadPool()); - cachedThreadPool.execute(new BOP020TaskThreadPool()); - cachedThreadPool.execute(new BOP030TaskThreadPool()); - cachedThreadPool.execute(new BOP030BTaskThreadPool()); - cachedThreadPool.execute(new BOP040TaskThreadPool()); - cachedThreadPool.execute(new BOP040BTaskThreadPool()); - - //DOP - cachedThreadPool.execute(new DOP010TaskThreadPool()); - /*cachedThreadPool.execute(new DOP020TaskThreadPool());*/ - - //EOP - cachedThreadPool.execute(new EOP010TaskThreadPool()); - cachedThreadPool.execute(new EOP020TaskThreadPool()); - cachedThreadPool.execute(new EOP030TaskThreadPool()); - cachedThreadPool.execute(new EOP040TaskThreadPool()); - cachedThreadPool.execute(new EOP050TaskThreadPool()); - cachedThreadPool.execute(new EOP060TaskThreadPool()); - cachedThreadPool.execute(new EOP070TaskThreadPool()); - //cachedThreadPool.execute(new EOP070BTaskThreadPool()); - - cachedThreadPool.execute(new EOP080TaskThreadPool()); - cachedThreadPool.execute(new EOP090TaskThreadPool()); - cachedThreadPool.execute(new EOP090BTaskThreadPool()); - - cachedThreadPool.execute(new StateTaskThreadPool()); - } - } - -} - -class OP010TaskThreadPool implements Runnable { - - private OP010ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP010ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class OP020TaskThreadPool implements Runnable { - - private OP020ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP020ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - - -class OP030TaskThreadPool implements Runnable { - - private OP030ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP030ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class OP040TaskThreadPool implements Runnable { - - private OP040ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP040ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class OP050TaskThreadPool implements Runnable { - - private OP050ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP050ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class OP070TaskThreadPool implements Runnable { - - private OP070ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP070ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class OP080TaskThreadPool implements Runnable { - - private OP080ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP080ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class OP090TaskThreadPool implements Runnable { - - private OP090ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP090ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class OP100TaskThreadPool implements Runnable { - - private OP100ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP100ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class OP110TaskThreadPool implements Runnable { - - private OP110ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP110ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} -class OP120TaskThreadPool implements Runnable { - - private OP120ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP120ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} -class OP120BTaskThreadPool implements Runnable { - - private OP120BServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP120BServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class OP130TaskThreadPool implements Runnable { - - private OP130ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP130ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class OP130BTaskThreadPool implements Runnable { - - private OP130BServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP130BServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class OP140TaskThreadPool implements Runnable { - - private OP140ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP140ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class OP150TaskThreadPool implements Runnable { - - private OP150ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP150ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class OP160TaskThreadPool implements Runnable { - - private OP160ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP160ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class OP170TaskThreadPool implements Runnable { - - private OP170ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new OP170ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - - -class COP010TaskThreadPool implements Runnable { - - private COP010ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new COP010ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -}class COP020TaskThreadPool implements Runnable { - - private COP020ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new COP020ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class COP030TaskThreadPool implements Runnable { - - private COP030ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new COP030ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class BOP010TaskThreadPool implements Runnable { - - private BOP010ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new BOP010ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class BOP020TaskThreadPool implements Runnable { - - private BOP020ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new BOP020ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class BOP030TaskThreadPool implements Runnable { - - private BOP030ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new BOP030ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class BOP030BTaskThreadPool implements Runnable { - - private BOP030BServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new BOP030BServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class BOP040TaskThreadPool implements Runnable { - - private BOP040ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new BOP040ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class BOP040BTaskThreadPool implements Runnable { - - private BOP040BServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new BOP040BServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -//EOP -class EOP010TaskThreadPool implements Runnable { - - private EOP010ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new EOP010ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} -class EOP020TaskThreadPool implements Runnable { - - private EOP020ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new EOP020ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class EOP030TaskThreadPool implements Runnable { - - private EOP030ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new EOP030ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} -class EOP040TaskThreadPool implements Runnable { - - private EOP040ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new EOP040ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} -class EOP050TaskThreadPool implements Runnable { - - private EOP050ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new EOP050ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class EOP060TaskThreadPool implements Runnable { - - private EOP060ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new EOP060ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class EOP070TaskThreadPool implements Runnable { - - private EOP070ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new EOP070ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class EOP070BTaskThreadPool implements Runnable { - - private EOP070BServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new EOP070BServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class EOP080TaskThreadPool implements Runnable { - - private EOP080ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new EOP080ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class EOP090TaskThreadPool implements Runnable { - - private EOP090ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new EOP090ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class EOP090BTaskThreadPool implements Runnable { - - private EOP090BServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new EOP090BServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class DOP010TaskThreadPool implements Runnable { - - private DOP010ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new DOP010ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class DOP020TaskThreadPool implements Runnable { - - private DOP020ServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new DOP020ServerInterfaceImpl(); - server.monitor(); - Thread.sleep(GlobalVariable.SLEEP_TIME); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} - -class StateTaskThreadPool implements Runnable { - - private StateServerInterface server; - - public void run() { - try { - while (GlobalVariable.TERMINATED) { - server = new StateServerInterfaceImpl(); - server.monitor(); - Thread.sleep(30*1000); - } - }catch(Exception e){ - e.printStackTrace(); - } - } -} \ No newline at end of file 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..bd9ae12 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 @@ -194,9 +194,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); @@ -325,7 +325,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)); diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java index e71259b..71847f7 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java @@ -198,9 +198,9 @@ List<ReadWriteEntity> lists = new ArrayList<>(); lists.add(new ReadWriteEntity(OPCElement.COP010_S_ORDER_CODE,S_ORDER_CODE)); - lists.add(new ReadWriteEntity(OPCElement.COP010_S_PRODUCT_CODE,S_PRODUCT_TYPE)); + lists.add(new ReadWriteEntity(OPCElement.COP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE))); lists.add(new ReadWriteEntity(OPCElement.COP010_S_SFC_CODE,S_SFC_CODE)); - lists.add(new ReadWriteEntity(OPCElement.COP010_S_NUMBER,result.getPlanQty().toString())); + lists.add(new ReadWriteEntity(OPCElement.COP010_S_NUMBER,Short.parseShort(result.getPlanQty().toString()))); lists.add(new ReadWriteEntity(OPCElement.COP010_J_PC_WRITE_ORDER,true)); miloService.writeToOpcUa(lists); @@ -329,7 +329,7 @@ if(null != repairLocationNo && "" != repairLocationNo){ List<ReadWriteEntity> lists = new ArrayList<>(); lists.add(new ReadWriteEntity(OPCElement.COP010_S_ORDER_CODE,S_ORDER_CODE)); - lists.add(new ReadWriteEntity(OPCElement.COP010_S_PRODUCT_CODE,S_PRODUCT_TYPE)); + lists.add(new ReadWriteEntity(OPCElement.COP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE))); lists.add(new ReadWriteEntity(OPCElement.COP010_S_SFC_CODE,S_SFC_CODE)); lists.add(new ReadWriteEntity(OPCElement.COP010_P_REPAIR_LOCATION,repairLocationNo)); lists.add(new ReadWriteEntity(OPCElement.COP010_J_PC_WRITE_ORDER,true)); diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java index 81a7e56..7c51bff 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java @@ -191,9 +191,9 @@ List<ReadWriteEntity> lists = new ArrayList<>(); lists.add(new ReadWriteEntity(OPCElement.DOP010_S_ORDER_CODE,S_ORDER_CODE)); - lists.add(new ReadWriteEntity(OPCElement.DOP010_S_PRODUCT_CODE,S_PRODUCT_TYPE)); + lists.add(new ReadWriteEntity(OPCElement.DOP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE))); lists.add(new ReadWriteEntity(OPCElement.DOP010_S_SFC_CODE,S_SFC_CODE)); - lists.add(new ReadWriteEntity(OPCElement.DOP010_S_NUMBER,result.getPlanQty().toString())); + lists.add(new ReadWriteEntity(OPCElement.DOP010_S_NUMBER,Short.parseShort(result.getPlanQty().toString()))); lists.add(new ReadWriteEntity(OPCElement.DOP010_J_PC_WRITE_ORDER,true)); miloService.writeToOpcUa(lists); logger.info("DOP010宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); @@ -321,7 +321,7 @@ if(null != repairLocationNo && "" != repairLocationNo){ List<ReadWriteEntity> lists = new ArrayList<>(); lists.add(new ReadWriteEntity(OPCElement.DOP010_S_ORDER_CODE,S_ORDER_CODE)); - lists.add(new ReadWriteEntity(OPCElement.DOP010_S_PRODUCT_CODE,S_PRODUCT_TYPE)); + lists.add(new ReadWriteEntity(OPCElement.DOP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE))); lists.add(new ReadWriteEntity(OPCElement.DOP010_S_SFC_CODE,S_SFC_CODE)); lists.add(new ReadWriteEntity(OPCElement.DOP010_P_REPAIR_LOCATION,repairLocationNo)); lists.add(new ReadWriteEntity(OPCElement.DOP010_J_PC_WRITE_ORDER,true)); diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/InitCallback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/InitCallback.java index 50da06a..79ae7ed 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/InitCallback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/InitCallback.java @@ -398,7 +398,6 @@ public void onSubscribe(String identifier, Object value) { String ecpStr = "";//寮傚父璁板綍鏍囪 try { - if(null != value) { //OP010 //蹇冭烦 @@ -1076,7 +1075,7 @@ EOP090BCallback.handleInfo(); } - else if (identifier.contains("STATE") && null != value && "true".equals(value.toString())) { + else if (identifier.contains("STATE") && null != value) { EquipmentInfoParam equipmentInfoParam = new EquipmentInfoParam(); equipmentInfoParam.setSpareField1(identifier); List<EquipmentInfoResult> lists = equipmentInfoService.findListBySpec(equipmentInfoParam); @@ -1132,10 +1131,12 @@ } } - - // handleOilState("DOP020"); - StateCallback.handleOilStateOP050("OP050"); - StateCallback.handleOilStateBOP030("BOP030"); + if(identifier.contains("OP050") && !identifier.contains("EOP050") ){ + StateCallback.handleOilStateOP050("OP050"); + } + if (identifier.contains("BOP030")){ + StateCallback.handleOilStateBOP030("BOP030"); + } } else { diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java index 5ad2729..dcad12c 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java @@ -252,9 +252,9 @@ List<ReadWriteEntity> lists = new ArrayList<>(); lists.add(new ReadWriteEntity(OPCElement.OP010_S_ORDER_CODE,S_ORDER_CODE)); - lists.add(new ReadWriteEntity(OPCElement.OP010_S_PRODUCT_CODE,S_PRODUCT_TYPE)); + lists.add(new ReadWriteEntity(OPCElement.OP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE))); lists.add(new ReadWriteEntity(OPCElement.OP010_S_SFC_CODE,S_SFC_CODE)); - lists.add(new ReadWriteEntity(OPCElement.OP010_S_NUMBER,result.getPlanQty().toString())); + lists.add(new ReadWriteEntity(OPCElement.OP010_S_NUMBER,Short.parseShort(result.getPlanQty().toString()))); lists.add(new ReadWriteEntity(OPCElement.OP010_J_PC_WRITE_ORDER,true)); miloService.writeToOpcUa(lists); logger.info("OP010宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛乛--------------------------------------------"); @@ -359,7 +359,7 @@ List<ReadWriteEntity> lists = new ArrayList<>(); lists.add(new ReadWriteEntity(OPCElement.OP010_S_ORDER_CODE,S_ORDER_CODE)); - lists.add(new ReadWriteEntity(OPCElement.OP010_S_PRODUCT_CODE,S_PRODUCT_TYPE)); + lists.add(new ReadWriteEntity(OPCElement.OP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE))); lists.add(new ReadWriteEntity(OPCElement.OP010_S_SFC_CODE,S_SFC_CODE)); lists.add(new ReadWriteEntity(OPCElement.OP010_P_REPAIR_LOCATION,repairLocationNo)); lists.add(new ReadWriteEntity(OPCElement.OP010_J_PC_WRITE_ORDER,true)); diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java index ce017dd..2e6d640 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java @@ -19,8 +19,6 @@ import cn.stylefeng.guns.plcserver.callback.*; import cn.stylefeng.guns.plcserver.opc.GlobalVariable; import cn.stylefeng.guns.plcserver.opc.OPCElement; -import cn.stylefeng.guns.plcserver.server.OP010.OP010ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP010.impl.OP010ServerInterfaceImpl; import com.kangaroohy.milo.service.MiloService; import lombok.extern.slf4j.Slf4j; import org.openscada.opc.lib.da.Item; @@ -89,555 +87,18 @@ GlobalVariable.PRODUCT_CODE_MAP.put("3","12980500000194"); GlobalVariable.PRODUCT_CODE_MAP.put("4","12980500000201"); - EquipmentInfoParam equipmentInfoParam = new EquipmentInfoParam(); - List list = equipmentInfoService.findListBySpec(equipmentInfoParam); - - /* state();*/ - init(); -/* COP010(); - COP020(); - COP030(); - - BOP010(); - BOP020(); - BOP030(); - BOP030B(); - BOP040(); - BOP040B(); - - DOP010(); - //DOP020(); - - EOP010(); - EOP020(); - EOP030(); - EOP040(); - EOP050(); - EOP060(); - EOP070(); - EOP080(); - EOP090(); - EOP090B(); - - OP010(); - OP020(); - OP030(); - OP040(); - OP050(); - - OP070(); - OP080(); - OP090(); - OP100(); - OP110(); - OP120(); - OP120B(); - OP130(); - OP130B(); - OP140(); - //OP150(); - OP160(); - OP170(); - - state();*/ - } - - - - private void init() throws Exception { InitCallback InitCallback = new InitCallback(miloService,productionOrdeInfoService, passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, productionOrderBatchInfoService); + System.out.println("start run^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); List<String> lists = getList(); miloService.subscriptionFromOpcUa(lists,InitCallback); - } + System.out.println("end run^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); - private void state() throws Exception { - StateCallback StateCallback = new StateCallback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - StateCallback.handleInfo(); - // handleOilState("DOP020"); - StateCallback.handleOilStateOP050("OP050"); - StateCallback.handleOilStateBOP030("BOP030"); } - private void COP010() throws Exception { - COP010Callback COP010Callback = new COP010Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.COP010_F_HEART_BEAT); - lists.add(OPCElement.COP010_J_PLC_START); - lists.add(OPCElement.COP010_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,COP010Callback); - System.out.println("1"); - } - private void COP020() throws Exception { - COP020Callback COP020Callback = new COP020Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.COP020_F_HEART_BEAT); - lists.add(OPCElement.COP020_J_PLC_START); - lists.add(OPCElement.COP020_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,COP020Callback); - } - private void COP030() throws Exception { - COP030Callback COP030Callback = new COP030Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.COP030_F_HEART_BEAT); - lists.add(OPCElement.COP030_J_PLC_START); - lists.add(OPCElement.COP030_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,COP030Callback); - } - private void BOP010() throws Exception { - BOP010Callback BOP010Callback = new BOP010Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.BOP010_F_HEART_BEAT); - lists.add(OPCElement.BOP010_J_PLC_START); - lists.add(OPCElement.BOP010_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,BOP010Callback); - } - private void BOP020() throws Exception { - BOP020Callback BOP020Callback = new BOP020Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.BOP020_F_HEART_BEAT); - lists.add(OPCElement.BOP020_J_PLC_START); - lists.add(OPCElement.BOP020_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,BOP020Callback); - } - private void BOP030() throws Exception { - BOP030Callback BOP030Callback = new BOP030Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.BOP030_F_HEART_BEAT); - lists.add(OPCElement.BOP030_J_PLC_START); - lists.add(OPCElement.BOP030_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,BOP030Callback); - } - private void BOP030B() throws Exception { - BOP030BCallback BOP030BCallback = new BOP030BCallback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.BOP030B_F_HEART_BEAT); - lists.add(OPCElement.BOP030B_J_PLC_START); - lists.add(OPCElement.BOP030B_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,BOP030BCallback); - } - private void BOP040() throws Exception { - BOP040Callback BOP040Callback = new BOP040Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.BOP040_F_HEART_BEAT); - lists.add(OPCElement.BOP040_J_PLC_START); - lists.add(OPCElement.BOP040_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,BOP040Callback); - } - private void BOP040B() throws Exception { - BOP040BCallback BOP040BCallback = new BOP040BCallback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.BOP040B_F_HEART_BEAT); - lists.add(OPCElement.BOP040B_J_PLC_START); - lists.add(OPCElement.BOP040B_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,BOP040BCallback); - } - private void DOP010() throws Exception { - DOP010Callback DOP010Callback = new DOP010Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.DOP010_F_HEART_BEAT); - lists.add(OPCElement.DOP010_J_PLC_START); - lists.add(OPCElement.DOP010_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,DOP010Callback); - } - private void DOP020() throws Exception { - DOP020Callback DOP020Callback = new DOP020Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.DOP020_F_HEART_BEAT); - lists.add(OPCElement.DOP020_J_PLC_START); - lists.add(OPCElement.DOP020_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,DOP020Callback); - } - private void EOP010() throws Exception { - EOP010Callback EOP010Callback = new EOP010Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.EOP010_F_HEART_BEAT); - lists.add(OPCElement.EOP010_J_PLC_START); - lists.add(OPCElement.EOP010_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,EOP010Callback); - } - private void EOP020() throws Exception { - EOP020Callback EOP020Callback = new EOP020Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.EOP020_F_HEART_BEAT); - lists.add(OPCElement.EOP020_J_PLC_START); - lists.add(OPCElement.EOP020_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,EOP020Callback); - } - private void EOP030() throws Exception { - EOP030Callback EOP030Callback = new EOP030Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.EOP030_F_HEART_BEAT); - lists.add(OPCElement.EOP030_J_PLC_START); - lists.add(OPCElement.EOP030_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,EOP030Callback); - } - private void EOP040() throws Exception { - EOP040Callback EOP040Callback = new EOP040Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.EOP040_F_HEART_BEAT); - lists.add(OPCElement.EOP040_J_PLC_START); - lists.add(OPCElement.EOP040_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,EOP040Callback); - } - - private void EOP050() throws Exception { - EOP050Callback EOP050Callback = new EOP050Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.EOP050_F_HEART_BEAT); - lists.add(OPCElement.EOP050_J_PLC_START); - lists.add(OPCElement.EOP050_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,EOP050Callback); - } - private void EOP060() throws Exception { - EOP060Callback EOP060Callback = new EOP060Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.EOP060_F_HEART_BEAT); - lists.add(OPCElement.EOP060_J_PLC_START); - lists.add(OPCElement.EOP060_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,EOP060Callback); - } - private void EOP070() throws Exception { - EOP070Callback EOP070Callback = new EOP070Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.EOP070_F_HEART_BEAT); - lists.add(OPCElement.EOP070_J_PLC_START); - lists.add(OPCElement.EOP070_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,EOP070Callback); - } - private void EOP080() throws Exception { - EOP080Callback EOP080Callback = new EOP080Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.EOP080_F_HEART_BEAT); - lists.add(OPCElement.EOP080_J_PLC_START); - lists.add(OPCElement.EOP080_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,EOP080Callback); - } - private void EOP090() throws Exception { - EOP090Callback EOP090Callback = new EOP090Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.EOP090_F_HEART_BEAT); - lists.add(OPCElement.EOP090_J_PLC_START); - lists.add(OPCElement.EOP090_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,EOP090Callback); - } - private void EOP090B() throws Exception { - EOP090BCallback EOP090BCallback = new EOP090BCallback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.EOP090B_F_HEART_BEAT); - lists.add(OPCElement.EOP090B_J_PLC_START); - lists.add(OPCElement.EOP090B_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,EOP090BCallback); - } - private void OP010() throws Exception { - OP010Callback OP010Callback = new OP010Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP010_F_HEART_BEAT); - lists.add(OPCElement.OP010_J_PLC_START); - lists.add(OPCElement.OP010_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP010Callback); - } - private void OP020() throws Exception { - OP020Callback OP020Callback = new OP020Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP020_F_HEART_BEAT); - lists.add(OPCElement.OP020_J_PLC_START); - lists.add(OPCElement.OP020_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP020Callback); - } - private void OP030() throws Exception { - OP030Callback OP030Callback = new OP030Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP030_F_HEART_BEAT); - lists.add(OPCElement.OP030_J_PLC_START); - lists.add(OPCElement.OP030_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP030Callback); - } - private void OP040() throws Exception { - OP040Callback OP040Callback = new OP040Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP040_F_HEART_BEAT); - lists.add(OPCElement.OP040_J_PLC_START); - lists.add(OPCElement.OP040_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP040Callback); - } - private void OP050() throws Exception { - OP050Callback OP050Callback = new OP050Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP050_F_HEART_BEAT); - lists.add(OPCElement.OP050_J_PLC_START); - lists.add(OPCElement.OP050_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP050Callback); - } - private void OP070() throws Exception { - OP070Callback OP070Callback = new OP070Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP070_F_HEART_BEAT); - lists.add(OPCElement.OP070_J_PLC_START); - lists.add(OPCElement.OP070_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP070Callback); - } - private void OP080() throws Exception { - OP080Callback OP080Callback = new OP080Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP080_F_HEART_BEAT); - lists.add(OPCElement.OP080_J_PLC_START); - lists.add(OPCElement.OP080_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP080Callback); - } - private void OP090() throws Exception { - OP090Callback OP090Callback = new OP090Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP090_F_HEART_BEAT); - lists.add(OPCElement.OP090_J_PLC_START); - lists.add(OPCElement.OP090_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP090Callback); - } - private void OP100() throws Exception { - OP100Callback OP100Callback = new OP100Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP100_F_HEART_BEAT); - lists.add(OPCElement.OP100_J_PLC_START); - lists.add(OPCElement.OP100_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP100Callback); - } - private void OP110() throws Exception { - OP110Callback OP110Callback = new OP110Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP110_F_HEART_BEAT); - lists.add(OPCElement.OP110_J_PLC_START); - lists.add(OPCElement.OP110_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP110Callback); - } - private void OP120() throws Exception { - OP120Callback OP120Callback = new OP120Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP120_F_HEART_BEAT); - lists.add(OPCElement.OP120_J_PLC_START); - lists.add(OPCElement.OP120_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP120Callback); - } - private void OP120B() throws Exception { - OP120BCallback OP120BCallback = new OP120BCallback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP120B_F_HEART_BEAT); - lists.add(OPCElement.OP120B_J_PLC_START); - lists.add(OPCElement.OP120B_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP120BCallback); - } - private void OP130() throws Exception { - OP130Callback OP130Callback = new OP130Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP130_F_HEART_BEAT); - lists.add(OPCElement.OP130_J_PLC_START); - lists.add(OPCElement.OP130_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP130Callback); - } - private void OP130B() throws Exception { - OP130BCallback OP130BCallback = new OP130BCallback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP130B_F_HEART_BEAT); - lists.add(OPCElement.OP130B_J_PLC_START); - lists.add(OPCElement.OP130B_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP130BCallback); - } - private void OP140() throws Exception { - OP140Callback OP140Callback = new OP140Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP140_F_HEART_BEAT); - lists.add(OPCElement.OP140_J_PLC_START); - lists.add(OPCElement.OP140_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP140Callback); - } - private void OP150() throws Exception { - OP150Callback OP150Callback = new OP150Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP150_F_HEART_BEAT); - lists.add(OPCElement.OP150_J_PLC_START); - lists.add(OPCElement.OP150_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP150Callback); - } - private void OP160() throws Exception { - OP160Callback OP160Callback = new OP160Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP160_F_HEART_BEAT); - lists.add(OPCElement.OP160_J_PLC_START); - lists.add(OPCElement.OP160_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP160Callback); - } - private void OP170() throws Exception { - OP170Callback OP170Callback = new OP170Callback(miloService,productionOrdeInfoService, - passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, - equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, - repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); - List<String> lists = new ArrayList<>(); - lists.add(OPCElement.OP170_F_HEART_BEAT); - lists.add(OPCElement.OP170_J_PLC_START); - lists.add(OPCElement.OP170_J_PLC_FINISH); - miloService.subscriptionFromOpcUa(lists,OP170Callback); - } - public List<String> getList(){ List<String> lists = new ArrayList<>(); diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/OPCComm.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/OPCComm.java deleted file mode 100644 index e5f6862..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/OPCComm.java +++ /dev/null @@ -1,3219 +0,0 @@ -package cn.stylefeng.guns.plcserver.opc; - -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; -import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -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.*; -import cn.stylefeng.guns.plcserver.server.BOP020.callback.*; -import cn.stylefeng.guns.plcserver.server.BOP030.callback.*; -import cn.stylefeng.guns.plcserver.server.BOP030B.callback.DataCallBack_BOP030B_F_HEART_BEAT; -import cn.stylefeng.guns.plcserver.server.BOP040.callback.*; -import cn.stylefeng.guns.plcserver.server.BOP040B.callback.DataCallBack_BOP040B_F_HEART_BEAT; -import cn.stylefeng.guns.plcserver.server.COP010.callback.*; -import cn.stylefeng.guns.plcserver.server.COP020.callback.*; -import cn.stylefeng.guns.plcserver.server.COP030.callback.*; -import cn.stylefeng.guns.plcserver.server.DOP010.callback.*; -import cn.stylefeng.guns.plcserver.server.DOP020.callback.*; -import cn.stylefeng.guns.plcserver.server.EOP010.callback.*; -import cn.stylefeng.guns.plcserver.server.EOP020.callback.*; -import cn.stylefeng.guns.plcserver.server.EOP030.callback.*; -import cn.stylefeng.guns.plcserver.server.EOP040.callback.DataCallBack_EOP040_F_HEART_BEAT; -import cn.stylefeng.guns.plcserver.server.EOP040.callback.DataCallBack_EOP040_J_PC_FINISH; -import cn.stylefeng.guns.plcserver.server.EOP040.callback.DataCallBack_EOP040_J_PLC_FINISH; -import cn.stylefeng.guns.plcserver.server.EOP040.callback.DataCallBack_EOP040_J_PLC_START; -import cn.stylefeng.guns.plcserver.server.EOP050.callback.*; -import cn.stylefeng.guns.plcserver.server.EOP060.callback.*; -import cn.stylefeng.guns.plcserver.server.EOP070.callback.*; -import cn.stylefeng.guns.plcserver.server.EOP070B.callback.DataCallBack_EOP070B_F_HEART_BEAT; -import cn.stylefeng.guns.plcserver.server.EOP080.callback.*; -import cn.stylefeng.guns.plcserver.server.EOP090.callback.*; -import cn.stylefeng.guns.plcserver.server.EOP090B.callback.DataCallBack_EOP090B_F_HEART_BEAT; -import cn.stylefeng.guns.plcserver.server.EOP090B.callback.DataCallBack_EOP090B_J_PC_FINISH; -import cn.stylefeng.guns.plcserver.server.EOP090B.callback.DataCallBack_EOP090B_J_PLC_FINISH; -import cn.stylefeng.guns.plcserver.server.EOP090B.callback.DataCallBack_EOP090B_J_PLC_START; -import cn.stylefeng.guns.plcserver.server.OP010.callback.*; -import cn.stylefeng.guns.plcserver.server.OP020.callback.*; -import cn.stylefeng.guns.plcserver.server.OP030.callback.*; -import cn.stylefeng.guns.plcserver.server.OP040.callback.*; -import cn.stylefeng.guns.plcserver.server.OP050.callback.*; -import cn.stylefeng.guns.plcserver.server.OP070.callback.*; -import cn.stylefeng.guns.plcserver.server.OP080.callback.*; -import cn.stylefeng.guns.plcserver.server.OP090.callback.*; -import cn.stylefeng.guns.plcserver.server.OP100.callback.*; -import cn.stylefeng.guns.plcserver.server.OP110.callback.*; -import cn.stylefeng.guns.plcserver.server.OP120.callback.*; -import cn.stylefeng.guns.plcserver.server.OP120B.callback.*; -import cn.stylefeng.guns.plcserver.server.OP130.callback.*; -import cn.stylefeng.guns.plcserver.server.OP130B.callback.DataCallBack_OP130B_F_HEART_BEAT; -import cn.stylefeng.guns.plcserver.server.OP130B.callback.DataCallBack_OP130B_J_PLC_FINISH; -import cn.stylefeng.guns.plcserver.server.OP130B.callback.DataCallBack_OP130B_J_PLC_START; -import cn.stylefeng.guns.plcserver.server.OP140.callback.*; -import cn.stylefeng.guns.plcserver.server.OP150.callback.*; -import cn.stylefeng.guns.plcserver.server.OP160.callback.*; -import cn.stylefeng.guns.plcserver.server.OP170.callback.*; -import org.jinterop.dcom.common.JIException; -import org.openscada.opc.lib.common.ConnectionInformation; -import org.openscada.opc.lib.da.*; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.concurrent.Executors; - -import static cn.stylefeng.guns.plcserver.opc.conf.OPCConfiguration.getCLSIDConnectionInfomation; - -/** - * 鍔熻兘锛歄PC閫氫俊绾跨▼ 鎻忚堪锛氶�氳繃寰幆璇诲彇蹇冭烦鍜岀姸鎬佹帶鍒跺瓧锛屾寜鐓у晢璁ソ鐨勪氦浜掓祦绋嬭鍐欏彉閲� - */ -public class OPCComm { - private static Logger logger = LoggerFactory.getLogger(OPCComm.class); - - private Server server; - - @Autowired - public ProductionOrdeInfoService productionOrdeInfoService; - @Autowired - public PassingStationCollectionService passingStationCollectionService; - @Autowired - public ParamCollectionService paramCollectionService; - @Autowired - public CollectionParamConfService collectionParamConfService; - @Autowired - public SerialNumbersConfService serialNumbersConfService; - @Autowired - public EquipmentStatusService equipmentStatusService; - @Autowired - public EquipmentAlarmService equipmentAlarmService; - @Autowired - public MaterialTraceabilityService materialTraceabilityService;//鐗╂枡杩芥函 - - @Autowired - public EquipmentInfoService equipmentInfoService; - - @Autowired - public RepairManageInfoService repairManageInfoService; - - @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 OP010_J_PLC_START;//PLC寮�濮� - private Item OP010_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP010_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP010_J_PC_FINISH;//PC瀹屾垚 - - private Item OP010_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP010_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP010_S_SFC_CODE;//鎬绘垚缂栫爜 - private Item OP010_S_RIGHT_CODE ;//鍙冲3浣撶紪鐮� - - private Item OP010_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - private Item OP010_S_NUMBER;//璁″垝鏁伴噺 - - private Item OP010_E_STATE;//璁惧鐘舵�� - - private Item OP010_P_REPAIR;//浜у搧杩斾慨 - private Item OP010_P_REPAIR_LOCATION;//浜у搧杩斾慨宸ヤ綅 - - - //OP020 - private Item OP020_F_HEART_BEAT;//蹇冭烦 - private Item OP020_J_PLC_START;//PLC寮�濮� - private Item OP020_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - - private Item OP020_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP020_J_PC_FINISH;//PC瀹屾垚 - - private Item OP020_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP020_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP020_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP020_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //OP030 - private Item OP030_F_HEART_BEAT;//蹇冭烦 - private Item OP030_J_PLC_START;//PLC寮�濮� - private Item OP030_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP030_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP030_J_PC_FINISH;//PC瀹屾垚 - - private Item OP030_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP030_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP030_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP030_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //OP040 - private Item OP040_F_HEART_BEAT;//蹇冭烦 - private Item OP040_J_PLC_START;//PLC寮�濮� - private Item OP040_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP040_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP040_J_PC_FINISH;//PC瀹屾垚 - - private Item OP040_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP040_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP040_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP040_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //OP050 - private Item OP050_F_HEART_BEAT;//蹇冭烦 - private Item OP050_J_PLC_START;//PLC寮�濮� - private Item OP050_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP050_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP050_J_PC_FINISH;//PC瀹屾垚 - - private Item OP050_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP050_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP050_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP050_S_SFC_CODE_COP;//COP鍒嗘�绘垚缂栫爜 - private Item OP050_S_SFC_CODE_BOP;//BOP鍒嗘�绘垚缂栫爜 - - 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 OP070_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP070_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP070_J_PC_FINISH;//PC瀹屾垚 - - private Item OP070_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP070_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP070_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP070_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //OP080 - private Item OP080_F_HEART_BEAT;//蹇冭烦 - private Item OP080_J_PLC_START;//PLC寮�濮� - private Item OP080_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP080_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP080_J_PC_FINISH;//PC瀹屾垚 - - private Item OP080_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP080_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP080_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP080_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - private Item OP080_P_REPAIR;//浜у搧杩斾慨 - private Item OP080_P_REPAIR_LOCATION;//浜у搧杩斾慨宸ヤ綅 - - //OP090 - private Item OP090_F_HEART_BEAT;//蹇冭烦 - private Item OP090_J_PLC_START;//PLC寮�濮� - private Item OP090_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP090_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP090_J_PC_FINISH;//PC瀹屾垚 - - private Item OP090_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP090_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP090_S_SFC_CODE;//鎬绘垚缂栫爜 - private Item OP090_S_SFC_CODE_EOP;//EOP鍒嗘�绘垚缂栫爜 - - private Item OP090_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //OP100 - private Item OP100_F_HEART_BEAT;//蹇冭烦 - private Item OP100_J_PLC_START;//PLC寮�濮� - private Item OP100_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP100_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP100_J_PC_FINISH;//PC瀹屾垚 - - private Item OP100_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP100_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP100_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP100_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //OP110 - private Item OP110_F_HEART_BEAT;//蹇冭烦 - private Item OP110_J_PLC_START;//PLC寮�濮� - private Item OP110_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP110_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP110_J_PC_FINISH;//PC瀹屾垚 - - private Item OP110_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP110_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP110_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP110_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //OP120 - private Item OP120_F_HEART_BEAT;//蹇冭烦 - private Item OP120_J_PLC_START;//PLC寮�濮� - private Item OP120_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP120_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP120_J_PC_FINISH;//PC瀹屾垚 - - private Item OP120_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP120_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP120_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP120_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //OP120B - private Item OP120B_F_HEART_BEAT;//蹇冭烦 - private Item OP120B_J_PLC_START;//PLC寮�濮� - private Item OP120B_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP120B_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP120B_J_PC_FINISH;//PC瀹屾垚 - - private Item OP120B_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP120B_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP120B_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP120B_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //OP130 - private Item OP130_F_HEART_BEAT;//蹇冭烦 - private Item OP130_J_PLC_START;//PLC寮�濮� - private Item OP130_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP130_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP130_J_PC_FINISH;//PC瀹屾垚 - - private Item OP130_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP130_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP130_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP130_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - - //OP130B - private Item OP130B_F_HEART_BEAT;//蹇冭烦 - private Item OP130B_J_PLC_START;//PLC寮�濮� - private Item OP130B_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP130B_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP130B_J_PC_FINISH;//PC瀹屾垚 - - private Item OP130B_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP130B_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP130B_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP130B_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - - //OP140 - private Item OP140_F_HEART_BEAT;//蹇冭烦 - private Item OP140_J_PLC_START;//PLC寮�濮� - private Item OP140_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP140_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP140_J_PC_FINISH;//PC瀹屾垚 - - private Item OP140_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP140_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP140_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP140_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //OP150 - private Item OP150_F_HEART_BEAT;//蹇冭烦 - private Item OP150_J_PLC_START;//PLC寮�濮� - private Item OP150_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP150_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP150_J_PC_FINISH;//PC瀹屾垚 - - private Item OP150_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP150_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP150_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP150_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //OP160 - private Item OP160_F_HEART_BEAT;//蹇冭烦 - private Item OP160_J_PLC_START;//PLC寮�濮� - private Item OP160_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP160_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item OP160_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item OP160_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP160_J_PC_FINISH;//PC瀹屾垚 - - private Item OP160_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP160_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP160_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP160_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //OP170 - private Item OP170_F_HEART_BEAT;//蹇冭烦 - private Item OP170_J_PLC_START;//PLC寮�濮� - private Item OP170_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item OP170_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item OP170_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item OP170_J_PLC_FINISH;//PLC瀹屾垚 - private Item OP170_J_PC_FINISH;//PC瀹屾垚 - - private Item OP170_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item OP170_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item OP170_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item OP170_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //COP010 - private Item COP010_F_HEART_BEAT;//蹇冭烦 - private Item COP010_J_PLC_START;//PLC寮�濮� - private Item COP010_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item COP010_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item COP010_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item COP010_J_PLC_FINISH;//PLC瀹屾垚 - private Item COP010_J_PC_FINISH;//PC瀹屾垚 - - private Item COP010_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item COP010_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item COP010_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item COP010_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - private Item COP010_S_NUMBER;//璁″垝鏁伴噺 - - private Item COP010_P_REPAIR;//浜у搧杩斾慨 - private Item COP010_P_REPAIR_LOCATION;//浜у搧杩斾慨宸ヤ綅 - - //COP020 - private Item COP020_F_HEART_BEAT;//蹇冭烦 - private Item COP020_J_PLC_START;//PLC寮�濮� - private Item COP020_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item COP020_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item COP020_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item COP020_J_PLC_FINISH;//PLC瀹屾垚 - private Item COP020_J_PC_FINISH;//PC瀹屾垚 - - private Item COP020_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item COP020_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item COP020_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item COP020_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //COP030 - private Item COP030_F_HEART_BEAT;//蹇冭烦 - private Item COP030_J_PLC_START;//PLC寮�濮� - private Item COP030_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item COP030_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item COP030_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item COP030_J_PLC_FINISH;//PLC瀹屾垚 - private Item COP030_J_PC_FINISH;//PC瀹屾垚 - - private Item COP030_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item COP030_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item COP030_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item COP030_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //BOP010 - private Item BOP010_F_HEART_BEAT;//蹇冭烦 - private Item BOP010_J_PLC_START;//PLC寮�濮� - private Item BOP010_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item BOP010_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item BOP010_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item BOP010_J_PLC_FINISH;//PLC瀹屾垚 - private Item BOP010_J_PC_FINISH;//PC瀹屾垚 - - private Item BOP010_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item BOP010_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item BOP010_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item BOP010_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - private Item BOP010_S_NUMBER;//璁″垝鏁伴噺 - - private Item BOP010_P_REPAIR;//浜у搧杩斾慨 - private Item BOP010_P_REPAIR_LOCATION;//浜у搧杩斾慨宸ヤ綅 - - //BOP020 - private Item BOP020_F_HEART_BEAT;//蹇冭烦 - private Item BOP020_J_PLC_START;//PLC寮�濮� - private Item BOP020_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item BOP020_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item BOP020_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item BOP020_J_PLC_FINISH;//PLC瀹屾垚 - private Item BOP020_J_PC_FINISH;//PC瀹屾垚 - - private Item BOP020_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item BOP020_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item BOP020_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item BOP020_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //BOP030 - private Item BOP030_F_HEART_BEAT;//蹇冭烦 - private Item BOP030_J_PLC_START;//PLC寮�濮� - private Item BOP030_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item BOP030_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item BOP030_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item BOP030_J_PLC_FINISH;//PLC瀹屾垚 - private Item BOP030_J_PC_FINISH;//PC瀹屾垚 - - private Item BOP030_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item BOP030_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item BOP030_S_SFC_CODE;//鎬绘垚缂栫爜 - - 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 BOP030B_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item BOP030B_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item BOP030B_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item BOP030B_J_PLC_FINISH;//PLC瀹屾垚 - private Item BOP030B_J_PC_FINISH;//PC瀹屾垚 - - private Item BOP030B_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item BOP030B_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item BOP030B_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item BOP030B_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //BOP040 - private Item BOP040_F_HEART_BEAT;//蹇冭烦 - private Item BOP040_J_PLC_START;//PLC寮�濮� - private Item BOP040_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item BOP040_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item BOP040_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item BOP040_J_PLC_FINISH;//PLC瀹屾垚 - private Item BOP040_J_PC_FINISH;//PC瀹屾垚 - - private Item BOP040_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item BOP040_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item BOP040_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item BOP040_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //BOP040B - private Item BOP040B_F_HEART_BEAT;//蹇冭烦 - private Item BOP040B_J_PLC_START;//PLC寮�濮� - private Item BOP040B_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item BOP040B_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item BOP040B_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item BOP040B_J_PLC_FINISH;//PLC瀹屾垚 - private Item BOP040B_J_PC_FINISH;//PC瀹屾垚 - - private Item BOP040B_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item BOP040B_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item BOP040B_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item BOP040B_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - - //EOP010 - private Item EOP010_F_HEART_BEAT;//蹇冭烦 - private Item EOP010_J_PLC_START;//PLC寮�濮� - private Item EOP010_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item EOP010_J_PLC_FINISH;//PLC瀹屾垚 - private Item EOP010_J_PC_FINISH;//PC瀹屾垚 - - private Item EOP010_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item EOP010_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item EOP010_S_SFC_CODE;//鎬绘垚缂栫爜 - private Item EOP010_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - private Item EOP010_S_MATERIAL_CODE;//鐗╂枡缂栫爜 - - //EOP020 - private Item EOP020_F_HEART_BEAT;//蹇冭烦 - private Item EOP020_J_PLC_START;//PLC寮�濮� - private Item EOP020_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item EOP020_J_PLC_FINISH;//PLC瀹屾垚 - private Item EOP020_J_PC_FINISH;//PC瀹屾垚 - - private Item EOP020_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item EOP020_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item EOP020_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item EOP020_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //EOP030 - private Item EOP030_F_HEART_BEAT;//蹇冭烦 - private Item EOP030_J_PLC_START;//PLC寮�濮� - private Item EOP030_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item EOP030_J_PLC_FINISH;//PLC瀹屾垚 - private Item EOP030_J_PC_FINISH;//PC瀹屾垚 - - private Item EOP030_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item EOP030_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item EOP030_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item EOP030_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //EOP040 - private Item EOP040_F_HEART_BEAT;//蹇冭烦 - private Item EOP040_J_PLC_START;//PLC寮�濮� - private Item EOP040_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item EOP040_J_PLC_FINISH;//PLC瀹屾垚 - private Item EOP040_J_PC_FINISH;//PC瀹屾垚 - - private Item EOP040_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item EOP040_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item EOP040_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item EOP040_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //EOP050 - private Item EOP050_F_HEART_BEAT;//蹇冭烦 - private Item EOP050_J_PLC_START;//PLC寮�濮� - private Item EOP050_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item EOP050_J_PLC_FINISH;//PLC瀹屾垚 - private Item EOP050_J_PC_FINISH;//PC瀹屾垚 - - private Item EOP050_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item EOP050_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item EOP050_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item EOP050_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //EOP060 - private Item EOP060_F_HEART_BEAT;//蹇冭烦 - private Item EOP060_J_PLC_START;//PLC寮�濮� - private Item EOP060_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item EOP060_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item EOP060_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item EOP060_J_PLC_FINISH;//PLC瀹屾垚 - private Item EOP060_J_PC_FINISH;//PC瀹屾垚 - - private Item EOP060_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item EOP060_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item EOP060_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item EOP060_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - private Item EOP060_P_REPAIR;//浜у搧杩斾慨 - private Item EOP060_P_REPAIR_LOCATION;//浜у搧杩斾慨宸ヤ綅 - - - //EOP070 - private Item EOP070_F_HEART_BEAT;//蹇冭烦 - private Item EOP070_J_PLC_START;//PLC寮�濮� - private Item EOP070_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item EOP070_J_PLC_FINISH;//PLC瀹屾垚 - private Item EOP070_J_PC_FINISH;//PC瀹屾垚 - - private Item EOP070_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item EOP070_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item EOP070_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item EOP070_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //EOP070B - private Item EOP070B_F_HEART_BEAT;//蹇冭烦 - private Item EOP070B_J_PLC_START;//PLC寮�濮� - private Item EOP070B_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item EOP070B_J_PLC_FINISH;//PLC瀹屾垚 - private Item EOP070B_J_PC_FINISH;//PC瀹屾垚 - - private Item EOP070B_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item EOP070B_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item EOP070B_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item EOP070B_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //EOP080 - private Item EOP080_F_HEART_BEAT;//蹇冭烦 - private Item EOP080_J_PLC_START;//PLC寮�濮� - private Item EOP080_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item EOP080_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item EOP080_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item EOP080_J_PLC_FINISH;//PLC瀹屾垚 - private Item EOP080_J_PC_FINISH;//PC瀹屾垚 - - private Item EOP080_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item EOP080_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item EOP080_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item EOP080_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //EOP090 - private Item EOP090_F_HEART_BEAT;//蹇冭烦 - private Item EOP090_J_PLC_START;//PLC寮�濮� - private Item EOP090_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item EOP090_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item EOP090_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item EOP090_J_PLC_FINISH;//PLC瀹屾垚 - private Item EOP090_J_PC_FINISH;//PC瀹屾垚 - - private Item EOP090_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item EOP090_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item EOP090_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item EOP090_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //EOP090B - private Item EOP090B_F_HEART_BEAT;//蹇冭烦 - private Item EOP090B_J_PLC_START;//PLC寮�濮� - private Item EOP090B_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item EOP090B_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item EOP090B_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item EOP090B_J_PLC_FINISH;//PLC瀹屾垚 - private Item EOP090B_J_PC_FINISH;//PC瀹屾垚 - - private Item EOP090B_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item EOP090B_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item EOP090B_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item EOP090B_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - //DOP010 - private Item DOP010_F_HEART_BEAT;//蹇冭烦 - private Item DOP010_J_PLC_START;//PLC寮�濮� - private Item DOP010_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item DOP010_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item DOP010_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item DOP010_J_PLC_FINISH;//PLC瀹屾垚 - private Item DOP010_J_PC_FINISH;//PC瀹屾垚 - - private Item DOP010_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item DOP010_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item DOP010_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item DOP010_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - private Item DOP010_S_NUMBER;//璁″垝鏁伴噺 - - private Item DOP010_P_REPAIR;//浜у搧杩斾慨 - private Item DOP010_P_REPAIR_LOCATION;//浜у搧杩斾慨宸ヤ綅 - - //DOP020 - private Item DOP020_F_HEART_BEAT;//蹇冭烦 - private Item DOP020_J_PLC_START;//PLC寮�濮� - private Item DOP020_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟 - private Item DOP020_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭� - private Item DOP020_J_PC_READ_INFO;//PC璇讳俊鎭� - private Item DOP020_J_PLC_FINISH;//PLC瀹屾垚 - private Item DOP020_J_PC_FINISH;//PC瀹屾垚 - - private Item DOP020_S_ORDER_CODE;//宸ュ崟缂栧彿 - private Item DOP020_S_PRODUCT_CODE;//浜у搧缂栧彿 - private Item DOP020_S_SFC_CODE;//鎬绘垚缂栫爜 - - private Item DOP020_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮� - - private Item DOP020_OIL_STATE;//娌硅剛鐘舵�� - - /** - * 鍗曚緥妯″紡 - */ - private static class SingletonHolder { - static final OPCComm doOPCComm = new OPCComm(); - } - public static OPCComm getInstance() { - return SingletonHolder.doOPCComm; - } - /** - * 鍚姩server 鍒涘缓涓�涓洃鎺х嚎绋� 鍒涘缓涓�涓啓鍏ョ嚎绋� - */ - public void init(ProductionOrdeInfoService productionOrdeInfoService, - PassingStationCollectionService passingStationCollectionService, - ParamCollectionService paramCollectionService, - CollectionParamConfService collectionParamConfService, - SerialNumbersConfService serialNumbersConfService, - EquipmentStatusService equipmentStatusService, - EquipmentAlarmService equipmentAlarmService, - MaterialTraceabilityService materialTraceabilityService, - EquipmentInfoService equipmentInfoService, - RepairManageInfoService repairManageInfoService, - LocationInfoService locationInfoService, - GreaseManageService greaseManageService, - ProductionOrderRecordsService productionOrderRecordsService, - ProductionOrderBatchInfoService productionOrderBatchInfoService - ) throws Exception { - this.productionOrdeInfoService = productionOrdeInfoService; - this.passingStationCollectionService = passingStationCollectionService; - this.paramCollectionService = paramCollectionService; - this.collectionParamConfService = collectionParamConfService; - this.serialNumbersConfService = serialNumbersConfService; - this.equipmentStatusService = equipmentStatusService; - this.equipmentAlarmService = equipmentAlarmService; - this.materialTraceabilityService = materialTraceabilityService; - this.equipmentInfoService = equipmentInfoService; - this.repairManageInfoService = repairManageInfoService; - this.locationInfoService = locationInfoService; - this.greaseManageService = greaseManageService; - this.productionOrderRecordsService = productionOrderRecordsService; - this.productionOrderBatchInfoService = productionOrderBatchInfoService; - - // 鍔犺浇閰嶇疆鏂囦欢 - final ConnectionInformation ci = getCLSIDConnectionInfomation(); - // 鍒涘缓server - final Server server = new Server(ci, Executors.newSingleThreadScheduledExecutor()); - - try { - // 鍚姩server - server.connect(); - logger.info("This is {} message.", "OPCserver connect success"); - this.server = server; - // 鍚屾璇诲彇锛�500ms涓�娆� - 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());//璁惧鐘舵��*/ - - //OP020鍥炶皟 - access.addItem(OPCElement.OP020_F_HEART_BEAT, new DataCallBack_OP020_F_HEART_BEAT());//蹇冭烦 - - - //OP030鍥炶皟 - access.addItem(OPCElement.OP030_F_HEART_BEAT, new DataCallBack_OP030_F_HEART_BEAT());//蹇冭烦 - - //OP040鍥炶皟 - access.addItem(OPCElement.OP040_F_HEART_BEAT, new DataCallBack_OP040_F_HEART_BEAT());//蹇冭烦 - - //OP050鍥炶皟 - access.addItem(OPCElement.OP050_F_HEART_BEAT, new DataCallBack_OP050_F_HEART_BEAT());//蹇冭烦 - - - //OP070鍥炶皟 - access.addItem(OPCElement.OP070_F_HEART_BEAT, new DataCallBack_OP070_F_HEART_BEAT());//蹇冭烦 - - //OP080鍥炶皟 - access.addItem(OPCElement.OP080_F_HEART_BEAT, new DataCallBack_OP080_F_HEART_BEAT());//蹇冭烦 - - //OP090鍥炶皟 - access.addItem(OPCElement.OP090_F_HEART_BEAT, new DataCallBack_OP090_F_HEART_BEAT());//蹇冭烦 - - //OP100鍥炶皟 - access.addItem(OPCElement.OP100_F_HEART_BEAT, new DataCallBack_OP100_F_HEART_BEAT());//蹇冭烦 - - //OP110鍥炶皟 - 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鍥炶皟 - access.addItem(OPCElement.OP130_F_HEART_BEAT, new DataCallBack_OP130_F_HEART_BEAT());//蹇冭烦 - - //OP130B鍥炶皟 - access.addItem(OPCElement.OP130B_F_HEART_BEAT, new DataCallBack_OP130B_F_HEART_BEAT());//蹇冭烦 - - //OP140鍥炶皟 - access.addItem(OPCElement.OP140_F_HEART_BEAT, new DataCallBack_OP140_F_HEART_BEAT());//蹇冭烦 - - //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());//蹇冭烦 - - - //OP170鍥炶皟 - access.addItem(OPCElement.OP170_F_HEART_BEAT, new DataCallBack_OP170_F_HEART_BEAT());//蹇冭烦 - - //COP010鍥炶皟 - access.addItem(OPCElement.COP010_F_HEART_BEAT, new DataCallBack_COP010_F_HEART_BEAT());//蹇冭烦 - - //COP020鍥炶皟 - access.addItem(OPCElement.COP020_F_HEART_BEAT, new DataCallBack_COP020_F_HEART_BEAT());//蹇冭烦 - - //COP030鍥炶皟 - access.addItem(OPCElement.COP030_F_HEART_BEAT, new DataCallBack_COP030_F_HEART_BEAT());//蹇冭烦 - - //BOP010鍥炶皟 - access.addItem(OPCElement.BOP010_F_HEART_BEAT, new DataCallBack_BOP010_F_HEART_BEAT());//蹇冭烦 - - //BOP020鍥炶皟 - access.addItem(OPCElement.BOP020_F_HEART_BEAT, new DataCallBack_BOP020_F_HEART_BEAT());//蹇冭烦 - - //BOP030鍥炶皟 - access.addItem(OPCElement.BOP030_F_HEART_BEAT, new DataCallBack_BOP030_F_HEART_BEAT());//蹇冭烦 - - //BOP030B鍥炶皟 - access.addItem(OPCElement.BOP030B_F_HEART_BEAT, new DataCallBack_BOP030B_F_HEART_BEAT());//蹇冭烦 - - //BOP040鍥炶皟 - access.addItem(OPCElement.BOP040_F_HEART_BEAT, new DataCallBack_BOP040_F_HEART_BEAT());//蹇冭烦 - - //BOP040B鍥炶皟 - access.addItem(OPCElement.BOP040B_F_HEART_BEAT, new DataCallBack_BOP040B_F_HEART_BEAT());//蹇冭烦 - - //DOP010鍥炶皟 - 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());//蹇冭烦*/ - - //EOP010鍥炶皟 - access.addItem(OPCElement.EOP010_F_HEART_BEAT, new DataCallBack_EOP010_F_HEART_BEAT());//蹇冭烦 - - //EOP020鍥炶皟 - access.addItem(OPCElement.EOP020_F_HEART_BEAT, new DataCallBack_EOP020_F_HEART_BEAT());//蹇冭烦 - - //EOP030鍥炶皟 - access.addItem(OPCElement.EOP030_F_HEART_BEAT, new DataCallBack_EOP030_F_HEART_BEAT());//蹇冭烦 - - //EOP040鍥炶皟 - access.addItem(OPCElement.EOP040_F_HEART_BEAT, new DataCallBack_EOP040_F_HEART_BEAT());//蹇冭烦 - - //EOP050鍥炶皟 - access.addItem(OPCElement.EOP050_F_HEART_BEAT, new DataCallBack_EOP050_F_HEART_BEAT());//蹇冭烦 - - //EOP060鍥炶皟 - access.addItem(OPCElement.EOP060_F_HEART_BEAT, new DataCallBack_EOP060_F_HEART_BEAT());//蹇冭烦 - - //EOP070鍥炶皟 - access.addItem(OPCElement.EOP070_F_HEART_BEAT, new DataCallBack_EOP070_F_HEART_BEAT());//蹇冭烦 - - //EOP070B鍥炶皟 - /*access.addItem(OPCElement.EOP070B_F_HEART_BEAT, new DataCallBack_EOP070B_F_HEART_BEAT());//蹇冭烦*/ - - //EOP080鍥炶皟 - access.addItem(OPCElement.EOP080_F_HEART_BEAT, new DataCallBack_EOP080_F_HEART_BEAT());//蹇冭烦 - - //EOP090鍥炶皟 - access.addItem(OPCElement.EOP090_F_HEART_BEAT, new DataCallBack_EOP090_F_HEART_BEAT());//蹇冭烦 - - - //EOP090B鍥炶皟 - access.addItem(OPCElement.EOP090B_F_HEART_BEAT, new DataCallBack_EOP090B_F_HEART_BEAT());//蹇冭烦 - - //OP010缁� - final Group OP010_GROUP = server.addGroup("OP010"); - OP010_F_HEART_BEAT = OP010_GROUP.addItem((OPCElement.OP010_F_HEART_BEAT));//蹇冭烦 - OP010_J_PLC_START = OP010_GROUP.addItem((OPCElement.OP010_J_PLC_START));//PLC寮�濮� - OP010_J_PC_WRITE_ORDER = OP010_GROUP.addItem((OPCElement.OP010_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - OP010_J_PLC_FINISH = OP010_GROUP.addItem((OPCElement.OP010_J_PLC_FINISH));//PLC瀹屾垚 - OP010_J_PC_FINISH = OP010_GROUP.addItem((OPCElement.OP010_J_PC_FINISH));//PC瀹屾垚 - - OP010_S_ORDER_CODE = OP010_GROUP.addItem((OPCElement.OP010_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP010_S_PRODUCT_CODE = OP010_GROUP.addItem((OPCElement.OP010_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP010_S_SFC_CODE = OP010_GROUP.addItem((OPCElement.OP010_S_SFC_CODE));//鎬绘垚缂栫爜 - OP010_S_RIGHT_CODE = OP010_GROUP.addItem((OPCElement.OP010_S_RIGHT_CODE)) ;//鍙冲3浣撶紪鐮� - - OP010_S_PRODUCT_STATE_CODE = OP010_GROUP.addItem((OPCElement.OP010_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - OP010_S_NUMBER = OP010_GROUP.addItem((OPCElement.OP010_S_NUMBER));//浜у搧璁″垝鏁伴噺 - OP010_E_STATE = OP010_GROUP.addItem((OPCElement.OP010_E_STATE));//璁惧鐘舵�� - - OP010_P_REPAIR = OP010_GROUP.addItem((OPCElement.OP010_P_REPAIR));//杩斾慨鐘舵�� - OP010_P_REPAIR_LOCATION = OP010_GROUP.addItem((OPCElement.OP010_P_REPAIR_LOCATION));//杩斾慨宸ヤ綅 - - - - //OP020缁� - final Group OP020_GROUP = server.addGroup("OP020"); - OP020_F_HEART_BEAT = OP020_GROUP.addItem((OPCElement.OP020_F_HEART_BEAT));//蹇冭烦 - OP020_J_PLC_START = OP020_GROUP.addItem((OPCElement.OP020_J_PLC_START));//PLC寮�濮� - OP020_J_PC_WRITE_ORDER = OP020_GROUP.addItem((OPCElement.OP020_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴� - OP020_J_PLC_FINISH = OP020_GROUP.addItem((OPCElement.OP020_J_PLC_FINISH));//PLC瀹屾垚 - OP020_J_PC_FINISH = OP020_GROUP.addItem((OPCElement.OP020_J_PC_FINISH));//PC瀹屾垚 - - OP020_S_ORDER_CODE = OP020_GROUP.addItem((OPCElement.OP020_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP020_S_PRODUCT_CODE = OP020_GROUP.addItem((OPCElement.OP020_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP020_S_SFC_CODE = OP020_GROUP.addItem((OPCElement.OP020_S_SFC_CODE));//鎬绘垚缂栫爜 - - OP020_S_PRODUCT_STATE_CODE = OP020_GROUP.addItem((OPCElement.OP020_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //OP030缁� - final Group OP030_GROUP = server.addGroup("OP030"); - OP030_F_HEART_BEAT = OP030_GROUP.addItem((OPCElement.OP030_F_HEART_BEAT));//蹇冭烦 - OP030_J_PLC_START = OP030_GROUP.addItem((OPCElement.OP030_J_PLC_START));//PLC寮�濮� - OP030_J_PC_WRITE_ORDER = OP030_GROUP.addItem((OPCElement.OP030_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴� - OP030_J_PLC_FINISH = OP030_GROUP.addItem((OPCElement.OP030_J_PLC_FINISH));//PLC瀹屾垚 - OP030_J_PC_FINISH = OP030_GROUP.addItem((OPCElement.OP030_J_PC_FINISH));//PC瀹屾垚 - - OP030_S_ORDER_CODE = OP030_GROUP.addItem((OPCElement.OP030_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP030_S_PRODUCT_CODE = OP030_GROUP.addItem((OPCElement.OP030_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP030_S_SFC_CODE = OP030_GROUP.addItem((OPCElement.OP030_S_SFC_CODE));//鎬绘垚缂栫爜 - - OP030_S_PRODUCT_STATE_CODE = OP030_GROUP.addItem((OPCElement.OP030_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //OP040缁� - final Group OP040_GROUP = server.addGroup("OP040"); - OP040_F_HEART_BEAT = OP040_GROUP.addItem((OPCElement.OP040_F_HEART_BEAT));//蹇冭烦 - OP040_J_PLC_START = OP040_GROUP.addItem((OPCElement.OP040_J_PLC_START));//PLC寮�濮� - OP040_J_PC_WRITE_ORDER = OP040_GROUP.addItem((OPCElement.OP040_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴� - OP040_J_PLC_FINISH = OP040_GROUP.addItem((OPCElement.OP040_J_PLC_FINISH));//PLC瀹屾垚 - OP040_J_PC_FINISH = OP040_GROUP.addItem((OPCElement.OP040_J_PC_FINISH));//PC瀹屾垚 - - OP040_S_ORDER_CODE = OP040_GROUP.addItem((OPCElement.OP040_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP040_S_PRODUCT_CODE = OP040_GROUP.addItem((OPCElement.OP040_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP040_S_SFC_CODE = OP040_GROUP.addItem((OPCElement.OP040_S_SFC_CODE));//鎬绘垚缂栫爜 - - OP040_S_PRODUCT_STATE_CODE = OP040_GROUP.addItem((OPCElement.OP040_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //OP050缁� - final Group OP050_GROUP = server.addGroup("OP050"); - OP050_F_HEART_BEAT = OP050_GROUP.addItem((OPCElement.OP050_F_HEART_BEAT));//蹇冭烦 - OP050_J_PLC_START = OP050_GROUP.addItem((OPCElement.OP050_J_PLC_START));//PLC寮�濮� - OP050_J_PC_WRITE_ORDER = OP050_GROUP.addItem((OPCElement.OP050_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴� - OP050_J_PLC_FINISH = OP050_GROUP.addItem((OPCElement.OP050_J_PLC_FINISH));//PLC瀹屾垚 - OP050_J_PC_FINISH = OP050_GROUP.addItem((OPCElement.OP050_J_PC_FINISH));//PC瀹屾垚 - - OP050_S_ORDER_CODE = OP050_GROUP.addItem((OPCElement.OP050_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP050_S_PRODUCT_CODE = OP050_GROUP.addItem((OPCElement.OP050_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP050_S_SFC_CODE = OP050_GROUP.addItem((OPCElement.OP050_S_SFC_CODE));//鎬绘垚缂栫爜 - - OP050_S_SFC_CODE_COP = OP050_GROUP.addItem((OPCElement.OP050_S_SFC_CODE_COP));//COP鍒嗘�绘垚缂栫爜 - OP050_S_SFC_CODE_BOP = OP050_GROUP.addItem((OPCElement.OP050_S_SFC_CODE_BOP));//BOP鍒嗘�绘垚缂栫爜 - - - 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"); - OP070_F_HEART_BEAT = OP070_GROUP.addItem((OPCElement.OP070_F_HEART_BEAT));//蹇冭烦 - OP070_J_PLC_START = OP070_GROUP.addItem((OPCElement.OP070_J_PLC_START));//PLC寮�濮� - OP070_J_PC_WRITE_ORDER = OP070_GROUP.addItem((OPCElement.OP070_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴� - OP070_J_PLC_FINISH = OP070_GROUP.addItem((OPCElement.OP070_J_PLC_FINISH));//PLC瀹屾垚 - OP070_J_PC_FINISH = OP070_GROUP.addItem((OPCElement.OP070_J_PC_FINISH));//PC瀹屾垚 - - OP070_S_ORDER_CODE = OP070_GROUP.addItem((OPCElement.OP070_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP070_S_PRODUCT_CODE = OP070_GROUP.addItem((OPCElement.OP070_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP070_S_SFC_CODE = OP070_GROUP.addItem((OPCElement.OP070_S_SFC_CODE));//鎬绘垚缂栫爜 - - OP070_S_PRODUCT_STATE_CODE = OP070_GROUP.addItem((OPCElement.OP070_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //OP080缁� - final Group OP080_GROUP = server.addGroup("OP080"); - OP080_F_HEART_BEAT = OP080_GROUP.addItem((OPCElement.OP080_F_HEART_BEAT));//蹇冭烦 - OP080_J_PLC_START = OP080_GROUP.addItem((OPCElement.OP080_J_PLC_START));//PLC寮�濮� - OP080_J_PC_WRITE_ORDER = OP080_GROUP.addItem((OPCElement.OP080_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴� - OP080_J_PLC_FINISH = OP080_GROUP.addItem((OPCElement.OP080_J_PLC_FINISH));//PLC瀹屾垚 - OP080_J_PC_FINISH = OP080_GROUP.addItem((OPCElement.OP080_J_PC_FINISH));//PC瀹屾垚 - - OP080_S_ORDER_CODE = OP080_GROUP.addItem((OPCElement.OP080_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP080_S_PRODUCT_CODE = OP080_GROUP.addItem((OPCElement.OP080_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP080_S_SFC_CODE = OP080_GROUP.addItem((OPCElement.OP080_S_SFC_CODE));//鎬绘垚缂栫爜 - - OP080_S_PRODUCT_STATE_CODE = OP080_GROUP.addItem((OPCElement.OP080_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - OP080_P_REPAIR = OP080_GROUP.addItem((OPCElement.OP080_P_REPAIR));//杩斾慨鐘舵�� - OP080_P_REPAIR_LOCATION = OP080_GROUP.addItem((OPCElement.OP080_P_REPAIR_LOCATION));//杩斾慨宸ヤ綅 - - //OP090缁� - final Group OP090_GROUP = server.addGroup("OP090"); - OP090_F_HEART_BEAT = OP090_GROUP.addItem((OPCElement.OP090_F_HEART_BEAT));//蹇冭烦 - OP090_J_PLC_START = OP090_GROUP.addItem((OPCElement.OP090_J_PLC_START));//PLC寮�濮� - OP090_J_PC_WRITE_ORDER = OP090_GROUP.addItem((OPCElement.OP090_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴� - OP090_J_PLC_FINISH = OP090_GROUP.addItem((OPCElement.OP090_J_PLC_FINISH));//PLC瀹屾垚 - OP090_J_PC_FINISH = OP090_GROUP.addItem((OPCElement.OP090_J_PC_FINISH));//PC瀹屾垚 - - OP090_S_ORDER_CODE = OP090_GROUP.addItem((OPCElement.OP090_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP090_S_PRODUCT_CODE = OP090_GROUP.addItem((OPCElement.OP090_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP090_S_SFC_CODE = OP090_GROUP.addItem((OPCElement.OP090_S_SFC_CODE));//鎬绘垚缂栫爜 - OP090_S_SFC_CODE_EOP = OP090_GROUP.addItem((OPCElement.OP090_S_SFC_CODE_EOP));//鎬绘垚缂栫爜 - - OP090_S_PRODUCT_STATE_CODE = OP090_GROUP.addItem((OPCElement.OP090_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //OP100缁� - final Group OP100_GROUP = server.addGroup("OP100"); - OP100_F_HEART_BEAT = OP100_GROUP.addItem((OPCElement.OP100_F_HEART_BEAT));//蹇冭烦 - OP100_J_PLC_START = OP100_GROUP.addItem((OPCElement.OP100_J_PLC_START));//PLC寮�濮� - OP100_J_PC_WRITE_ORDER = OP100_GROUP.addItem((OPCElement.OP100_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴� - OP100_J_PLC_FINISH = OP100_GROUP.addItem((OPCElement.OP100_J_PLC_FINISH));//PLC瀹屾垚 - OP100_J_PC_FINISH = OP100_GROUP.addItem((OPCElement.OP100_J_PC_FINISH));//PC瀹屾垚 - - OP100_S_ORDER_CODE = OP100_GROUP.addItem((OPCElement.OP100_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP100_S_PRODUCT_CODE = OP100_GROUP.addItem((OPCElement.OP100_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP100_S_SFC_CODE = OP100_GROUP.addItem((OPCElement.OP100_S_SFC_CODE));//鎬绘垚缂栫爜 - - OP100_S_PRODUCT_STATE_CODE = OP100_GROUP.addItem((OPCElement.OP100_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //OP110缁� - final Group OP110_GROUP = server.addGroup("OP110"); - OP110_F_HEART_BEAT = OP110_GROUP.addItem((OPCElement.OP110_F_HEART_BEAT));//蹇冭烦 - OP110_J_PLC_START = OP110_GROUP.addItem((OPCElement.OP110_J_PLC_START));//PLC寮�濮� - OP110_J_PC_WRITE_ORDER = OP110_GROUP.addItem((OPCElement.OP110_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴� - OP110_J_PLC_FINISH = OP110_GROUP.addItem((OPCElement.OP110_J_PLC_FINISH));//PLC瀹屾垚 - OP110_J_PC_FINISH = OP110_GROUP.addItem((OPCElement.OP110_J_PC_FINISH));//PC瀹屾垚 - - OP110_S_ORDER_CODE = OP110_GROUP.addItem((OPCElement.OP110_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP110_S_PRODUCT_CODE = OP110_GROUP.addItem((OPCElement.OP110_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP110_S_SFC_CODE = OP110_GROUP.addItem((OPCElement.OP110_S_SFC_CODE));//鎬绘垚缂栫爜 - - OP110_S_PRODUCT_STATE_CODE = OP110_GROUP.addItem((OPCElement.OP110_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //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璇绘暟鎹畬鎴� - OP120_J_PLC_FINISH = OP120_GROUP.addItem((OPCElement.OP120_J_PLC_FINISH));//PLC瀹屾垚 - OP120_J_PC_FINISH = OP120_GROUP.addItem((OPCElement.OP120_J_PC_FINISH));//PC瀹屾垚 - - OP120_S_ORDER_CODE = OP120_GROUP.addItem((OPCElement.OP120_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP120_S_PRODUCT_CODE = OP120_GROUP.addItem((OPCElement.OP120_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP120_S_SFC_CODE = OP120_GROUP.addItem((OPCElement.OP120_S_SFC_CODE));//鎬绘垚缂栫爜 - - OP120_S_PRODUCT_STATE_CODE = OP120_GROUP.addItem((OPCElement.OP120_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //OP120缁� - final Group OP120B_GROUP = server.addGroup("OP120B"); - OP120B_F_HEART_BEAT = OP120B_GROUP.addItem((OPCElement.OP120B_F_HEART_BEAT));//蹇冭烦 - OP120B_J_PLC_START = OP120B_GROUP.addItem((OPCElement.OP120B_J_PLC_START));//PLC寮�濮� - OP120B_J_PC_WRITE_ORDER = OP120B_GROUP.addItem((OPCElement.OP120B_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴� - OP120B_J_PLC_FINISH = OP120B_GROUP.addItem((OPCElement.OP120B_J_PLC_FINISH));//PLC瀹屾垚 - OP120B_J_PC_FINISH = OP120B_GROUP.addItem((OPCElement.OP120B_J_PC_FINISH));//PC瀹屾垚 - - OP120B_S_ORDER_CODE = OP120B_GROUP.addItem((OPCElement.OP120B_S_ORDER_CODE));//宸ュ崟缂栧彿 - 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));//浜у搧鐘舵�佺紪鐮� - - //OP130缁� - final Group OP130_GROUP = server.addGroup("OP130"); - OP130_F_HEART_BEAT = OP130_GROUP.addItem((OPCElement.OP130_F_HEART_BEAT));//蹇冭烦 - OP130_J_PLC_START = OP130_GROUP.addItem((OPCElement.OP130_J_PLC_START));//PLC寮�濮� - OP130_J_PC_WRITE_ORDER = OP130_GROUP.addItem((OPCElement.OP130_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - OP130_J_PLC_FINISH = OP130_GROUP.addItem((OPCElement.OP130_J_PLC_FINISH));//PLC瀹屾垚 - OP130_J_PC_FINISH = OP130_GROUP.addItem((OPCElement.OP130_J_PC_FINISH));//PC瀹屾垚 - - OP130_S_ORDER_CODE = OP130_GROUP.addItem((OPCElement.OP130_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP130_S_PRODUCT_CODE = OP130_GROUP.addItem((OPCElement.OP130_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP130_S_SFC_CODE = OP130_GROUP.addItem((OPCElement.OP130_S_SFC_CODE));//鎬绘垚缂栫爜 - - OP130_S_PRODUCT_STATE_CODE = OP130_GROUP.addItem((OPCElement.OP130_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //OP130B缁� - final Group OP130B_GROUP = server.addGroup("OP130B"); - OP130B_F_HEART_BEAT = OP130B_GROUP.addItem((OPCElement.OP130B_F_HEART_BEAT));//蹇冭烦 - OP130B_J_PLC_START = OP130B_GROUP.addItem((OPCElement.OP130B_J_PLC_START));//PLC寮�濮� - OP130B_J_PC_WRITE_ORDER = OP130B_GROUP.addItem((OPCElement.OP130B_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - OP130B_J_PLC_FINISH = OP130B_GROUP.addItem((OPCElement.OP130B_J_PLC_FINISH));//PLC瀹屾垚 - OP130B_J_PC_FINISH = OP130B_GROUP.addItem((OPCElement.OP130B_J_PC_FINISH));//PC瀹屾垚 - - OP130B_S_ORDER_CODE = OP130B_GROUP.addItem((OPCElement.OP130B_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP130B_S_PRODUCT_CODE = OP130B_GROUP.addItem((OPCElement.OP130B_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP130B_S_SFC_CODE = OP130B_GROUP.addItem((OPCElement.OP130B_S_SFC_CODE));//鎬绘垚缂栫爜 - - OP130B_S_PRODUCT_STATE_CODE = OP130B_GROUP.addItem((OPCElement.OP130B_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - - //OP140缁� - final Group OP140_GROUP = server.addGroup("OP140"); - OP140_F_HEART_BEAT = OP140_GROUP.addItem((OPCElement.OP140_F_HEART_BEAT));//蹇冭烦 - OP140_J_PLC_START = OP140_GROUP.addItem((OPCElement.OP140_J_PLC_START));//PLC寮�濮� - OP140_J_PC_WRITE_ORDER = OP140_GROUP.addItem((OPCElement.OP140_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - OP140_J_PLC_FINISH = OP140_GROUP.addItem((OPCElement.OP140_J_PLC_FINISH));//PLC瀹屾垚 - OP140_J_PC_FINISH = OP140_GROUP.addItem((OPCElement.OP140_J_PC_FINISH));//PC瀹屾垚 - - OP140_S_ORDER_CODE = OP140_GROUP.addItem((OPCElement.OP140_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP140_S_PRODUCT_CODE = OP140_GROUP.addItem((OPCElement.OP140_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP140_S_SFC_CODE = OP140_GROUP.addItem((OPCElement.OP140_S_SFC_CODE));//鎬绘垚缂栫爜 - - OP140_S_PRODUCT_STATE_CODE = OP140_GROUP.addItem((OPCElement.OP140_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //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_J_PLC_FINISH = OP150_GROUP.addItem((OPCElement.OP150_J_PLC_FINISH));//PLC瀹屾垚 - OP150_J_PC_FINISH = OP150_GROUP.addItem((OPCElement.OP150_J_PC_FINISH));//PC瀹屾垚 - - OP150_S_ORDER_CODE = OP150_GROUP.addItem((OPCElement.OP150_S_ORDER_CODE));//宸ュ崟缂栧彿 - 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));//浜у搧鐘舵�佺紪鐮�*/ - - //OP160缁� - final Group OP160_GROUP = server.addGroup("OP160"); - OP160_F_HEART_BEAT = OP160_GROUP.addItem((OPCElement.OP160_F_HEART_BEAT));//蹇冭烦 - OP160_J_PLC_START = OP160_GROUP.addItem((OPCElement.OP160_J_PLC_START));//PLC寮�濮� - OP160_J_PC_WRITE_ORDER = OP160_GROUP.addItem((OPCElement.OP160_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - OP160_J_PLC_FINISH = OP160_GROUP.addItem((OPCElement.OP160_J_PLC_FINISH));//PLC瀹屾垚 - OP160_J_PC_FINISH = OP160_GROUP.addItem((OPCElement.OP160_J_PC_FINISH));//PC瀹屾垚 - - OP160_S_ORDER_CODE = OP160_GROUP.addItem((OPCElement.OP160_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP160_S_PRODUCT_CODE = OP160_GROUP.addItem((OPCElement.OP160_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP160_S_SFC_CODE = OP160_GROUP.addItem((OPCElement.OP160_S_SFC_CODE));//鎬绘垚缂栫爜 - - OP160_S_PRODUCT_STATE_CODE = OP160_GROUP.addItem((OPCElement.OP160_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //OP170缁� - final Group OP170_GROUP = server.addGroup("OP170"); - OP170_F_HEART_BEAT = OP170_GROUP.addItem((OPCElement.OP170_F_HEART_BEAT));//蹇冭烦 - OP170_J_PLC_START = OP170_GROUP.addItem((OPCElement.OP170_J_PLC_START));//PLC寮�濮� - OP170_J_PC_WRITE_ORDER = OP170_GROUP.addItem((OPCElement.OP170_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - OP170_J_PLC_FINISH = OP170_GROUP.addItem((OPCElement.OP170_J_PLC_FINISH));//PLC瀹屾垚 - OP170_J_PC_FINISH = OP170_GROUP.addItem((OPCElement.OP170_J_PC_FINISH));//PC瀹屾垚 - - OP170_S_ORDER_CODE = OP170_GROUP.addItem((OPCElement.OP170_S_ORDER_CODE));//宸ュ崟缂栧彿 - OP170_S_PRODUCT_CODE = OP170_GROUP.addItem((OPCElement.OP170_S_PRODUCT_CODE));//浜у搧缂栧彿 - OP170_S_SFC_CODE = OP170_GROUP.addItem((OPCElement.OP170_S_SFC_CODE));//鎬绘垚缂栫爜 - - OP170_S_PRODUCT_STATE_CODE = OP170_GROUP.addItem((OPCElement.OP170_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - - //COP010缁� - final Group COP010_GROUP = server.addGroup("COP010"); - COP010_F_HEART_BEAT = COP010_GROUP.addItem((OPCElement.COP010_F_HEART_BEAT));//蹇冭烦 - COP010_J_PLC_START = COP010_GROUP.addItem((OPCElement.COP010_J_PLC_START));//PLC寮�濮� - COP010_J_PC_WRITE_ORDER = COP010_GROUP.addItem((OPCElement.COP010_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - COP010_J_PLC_FINISH = COP010_GROUP.addItem((OPCElement.COP010_J_PLC_FINISH));//PLC瀹屾垚 - COP010_J_PC_FINISH = COP010_GROUP.addItem((OPCElement.COP010_J_PC_FINISH));//PC瀹屾垚 - - COP010_S_ORDER_CODE = COP010_GROUP.addItem((OPCElement.COP010_S_ORDER_CODE));//宸ュ崟缂栧彿 - COP010_S_PRODUCT_CODE = COP010_GROUP.addItem((OPCElement.COP010_S_PRODUCT_CODE));//浜у搧缂栧彿 - COP010_S_SFC_CODE = COP010_GROUP.addItem((OPCElement.COP010_S_SFC_CODE));//鎬绘垚缂栫爜 - - COP010_S_PRODUCT_STATE_CODE = COP010_GROUP.addItem((OPCElement.COP010_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - COP010_S_NUMBER = COP010_GROUP.addItem((OPCElement.COP010_S_NUMBER));//浜у搧璁″垝鏁伴噺 - - COP010_P_REPAIR = COP010_GROUP.addItem((OPCElement.COP010_P_REPAIR));//杩斾慨鐘舵�� - COP010_P_REPAIR_LOCATION = COP010_GROUP.addItem((OPCElement.COP010_P_REPAIR_LOCATION));//杩斾慨宸ヤ綅 - - //COP020缁� - final Group COP020_GROUP = server.addGroup("COP020"); - COP020_F_HEART_BEAT = COP020_GROUP.addItem((OPCElement.COP020_F_HEART_BEAT));//蹇冭烦 - COP020_J_PLC_START = COP020_GROUP.addItem((OPCElement.COP020_J_PLC_START));//PLC寮�濮� - COP020_J_PC_WRITE_ORDER = COP020_GROUP.addItem((OPCElement.COP020_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - COP020_J_PLC_FINISH = COP020_GROUP.addItem((OPCElement.COP020_J_PLC_FINISH));//PLC瀹屾垚 - COP020_J_PC_FINISH = COP020_GROUP.addItem((OPCElement.COP020_J_PC_FINISH));//PC瀹屾垚 - - COP020_S_ORDER_CODE = COP020_GROUP.addItem((OPCElement.COP020_S_ORDER_CODE));//宸ュ崟缂栧彿 - COP020_S_PRODUCT_CODE = COP020_GROUP.addItem((OPCElement.COP020_S_PRODUCT_CODE));//浜у搧缂栧彿 - COP020_S_SFC_CODE = COP020_GROUP.addItem((OPCElement.COP020_S_SFC_CODE));//鎬绘垚缂栫爜 - - COP020_S_PRODUCT_STATE_CODE = COP020_GROUP.addItem((OPCElement.COP020_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //COP030缁� - final Group COP030_GROUP = server.addGroup("COP030"); - COP030_F_HEART_BEAT = COP030_GROUP.addItem((OPCElement.COP030_F_HEART_BEAT));//蹇冭烦 - COP030_J_PLC_START = COP030_GROUP.addItem((OPCElement.COP030_J_PLC_START));//PLC寮�濮� - COP030_J_PC_WRITE_ORDER = COP030_GROUP.addItem((OPCElement.COP030_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - COP030_J_PLC_FINISH = COP030_GROUP.addItem((OPCElement.COP030_J_PLC_FINISH));//PLC瀹屾垚 - COP030_J_PC_FINISH = COP030_GROUP.addItem((OPCElement.COP030_J_PC_FINISH));//PC瀹屾垚 - - COP030_S_ORDER_CODE = COP030_GROUP.addItem((OPCElement.COP030_S_ORDER_CODE));//宸ュ崟缂栧彿 - COP030_S_PRODUCT_CODE = COP030_GROUP.addItem((OPCElement.COP030_S_PRODUCT_CODE));//浜у搧缂栧彿 - COP030_S_SFC_CODE = COP030_GROUP.addItem((OPCElement.COP030_S_SFC_CODE));//鎬绘垚缂栫爜 - - COP030_S_PRODUCT_STATE_CODE = COP030_GROUP.addItem((OPCElement.COP030_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //BOP010缁� - final Group BOP010_GROUP = server.addGroup("BOP010"); - BOP010_F_HEART_BEAT = BOP010_GROUP.addItem((OPCElement.BOP010_F_HEART_BEAT));//蹇冭烦 - BOP010_J_PLC_START = BOP010_GROUP.addItem((OPCElement.BOP010_J_PLC_START));//PLC寮�濮� - BOP010_J_PC_WRITE_ORDER = BOP010_GROUP.addItem((OPCElement.BOP010_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - BOP010_J_PLC_FINISH = BOP010_GROUP.addItem((OPCElement.BOP010_J_PLC_FINISH));//PLC瀹屾垚 - BOP010_J_PC_FINISH = BOP010_GROUP.addItem((OPCElement.BOP010_J_PC_FINISH));//PC瀹屾垚 - - BOP010_S_ORDER_CODE = BOP010_GROUP.addItem((OPCElement.BOP010_S_ORDER_CODE));//宸ュ崟缂栧彿 - BOP010_S_PRODUCT_CODE = BOP010_GROUP.addItem((OPCElement.BOP010_S_PRODUCT_CODE));//浜у搧缂栧彿 - BOP010_S_SFC_CODE = BOP010_GROUP.addItem((OPCElement.BOP010_S_SFC_CODE));//鎬绘垚缂栫爜 - - BOP010_S_PRODUCT_STATE_CODE = BOP010_GROUP.addItem((OPCElement.BOP010_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - BOP010_S_NUMBER = BOP010_GROUP.addItem((OPCElement.BOP010_S_NUMBER));//浜у搧璁″垝鏁伴噺 - - BOP010_P_REPAIR = BOP010_GROUP.addItem((OPCElement.BOP010_P_REPAIR));//杩斾慨鐘舵�� - BOP010_P_REPAIR_LOCATION = BOP010_GROUP.addItem((OPCElement.BOP010_P_REPAIR_LOCATION));//杩斾慨宸ヤ綅 - - //BOP020缁� - final Group BOP020_GROUP = server.addGroup("BOP020"); - BOP020_F_HEART_BEAT = BOP020_GROUP.addItem((OPCElement.BOP020_F_HEART_BEAT));//蹇冭烦 - BOP020_J_PLC_START = BOP020_GROUP.addItem((OPCElement.BOP020_J_PLC_START));//PLC寮�濮� - BOP020_J_PC_WRITE_ORDER = BOP020_GROUP.addItem((OPCElement.BOP020_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - BOP020_J_PLC_FINISH = BOP020_GROUP.addItem((OPCElement.BOP020_J_PLC_FINISH));//PLC瀹屾垚 - BOP020_J_PC_FINISH = BOP020_GROUP.addItem((OPCElement.BOP020_J_PC_FINISH));//PC瀹屾垚 - - BOP020_S_ORDER_CODE = BOP020_GROUP.addItem((OPCElement.BOP020_S_ORDER_CODE));//宸ュ崟缂栧彿 - BOP020_S_PRODUCT_CODE = BOP020_GROUP.addItem((OPCElement.BOP020_S_PRODUCT_CODE));//浜у搧缂栧彿 - BOP020_S_SFC_CODE = BOP020_GROUP.addItem((OPCElement.BOP020_S_SFC_CODE));//鎬绘垚缂栫爜 - - BOP020_S_PRODUCT_STATE_CODE = BOP020_GROUP.addItem((OPCElement.BOP020_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //BOP030缁� - final Group BOP030_GROUP = server.addGroup("BOP030"); - BOP030_F_HEART_BEAT = BOP030_GROUP.addItem((OPCElement.BOP030_F_HEART_BEAT));//蹇冭烦 - BOP030_J_PLC_START = BOP030_GROUP.addItem((OPCElement.BOP030_J_PLC_START));//PLC寮�濮� - BOP030_J_PC_WRITE_ORDER = BOP030_GROUP.addItem((OPCElement.BOP030_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - BOP030_J_PLC_FINISH = BOP030_GROUP.addItem((OPCElement.BOP030_J_PLC_FINISH));//PLC瀹屾垚 - BOP030_J_PC_FINISH = BOP030_GROUP.addItem((OPCElement.BOP030_J_PC_FINISH));//PC瀹屾垚 - - BOP030_S_ORDER_CODE = BOP030_GROUP.addItem((OPCElement.BOP030_S_ORDER_CODE));//宸ュ崟缂栧彿 - BOP030_S_PRODUCT_CODE = BOP030_GROUP.addItem((OPCElement.BOP030_S_PRODUCT_CODE));//浜у搧缂栧彿 - 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"); - BOP030B_F_HEART_BEAT = BOP030B_GROUP.addItem((OPCElement.BOP030B_F_HEART_BEAT));//蹇冭烦 - BOP030B_J_PLC_START = BOP030B_GROUP.addItem((OPCElement.BOP030B_J_PLC_START));//PLC寮�濮� - BOP030B_J_PC_WRITE_ORDER = BOP030B_GROUP.addItem((OPCElement.BOP030B_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - BOP030B_J_PLC_FINISH = BOP030B_GROUP.addItem((OPCElement.BOP030B_J_PLC_FINISH));//PLC瀹屾垚 - BOP030B_J_PC_FINISH = BOP030B_GROUP.addItem((OPCElement.BOP030B_J_PC_FINISH));//PC瀹屾垚 - - BOP030B_S_ORDER_CODE = BOP030B_GROUP.addItem((OPCElement.BOP030B_S_ORDER_CODE));//宸ュ崟缂栧彿 - BOP030B_S_PRODUCT_CODE = BOP030B_GROUP.addItem((OPCElement.BOP030B_S_PRODUCT_CODE));//浜у搧缂栧彿 - BOP030B_S_SFC_CODE = BOP030B_GROUP.addItem((OPCElement.BOP030B_S_SFC_CODE));//鎬绘垚缂栫爜 - - BOP030B_S_PRODUCT_STATE_CODE = BOP030B_GROUP.addItem((OPCElement.BOP030B_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - - //BOP040缁� - final Group BOP040_GROUP = server.addGroup("BOP040"); - BOP040_F_HEART_BEAT = BOP040_GROUP.addItem((OPCElement.BOP040_F_HEART_BEAT));//蹇冭烦 - BOP040_J_PLC_START = BOP040_GROUP.addItem((OPCElement.BOP040_J_PLC_START));//PLC寮�濮� - BOP040_J_PC_WRITE_ORDER = BOP040_GROUP.addItem((OPCElement.BOP040_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - BOP040_J_PLC_FINISH = BOP040_GROUP.addItem((OPCElement.BOP040_J_PLC_FINISH));//PLC瀹屾垚 - BOP040_J_PC_FINISH = BOP040_GROUP.addItem((OPCElement.BOP040_J_PC_FINISH));//PC瀹屾垚 - - BOP040_S_ORDER_CODE = BOP040_GROUP.addItem((OPCElement.BOP040_S_ORDER_CODE));//宸ュ崟缂栧彿 - BOP040_S_PRODUCT_CODE = BOP040_GROUP.addItem((OPCElement.BOP040_S_PRODUCT_CODE));//浜у搧缂栧彿 - BOP040_S_SFC_CODE = BOP040_GROUP.addItem((OPCElement.BOP040_S_SFC_CODE));//鎬绘垚缂栫爜 - - BOP040_S_PRODUCT_STATE_CODE = BOP040_GROUP.addItem((OPCElement.BOP040_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //BOP040B缁� - final Group BOP040B_GROUP = server.addGroup("BOP040B"); - BOP040B_F_HEART_BEAT = BOP040B_GROUP.addItem((OPCElement.BOP040B_F_HEART_BEAT));//蹇冭烦 - BOP040B_J_PLC_START = BOP040B_GROUP.addItem((OPCElement.BOP040B_J_PLC_START));//PLC寮�濮� - BOP040B_J_PC_WRITE_ORDER = BOP040B_GROUP.addItem((OPCElement.BOP040B_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - BOP040B_J_PLC_FINISH = BOP040B_GROUP.addItem((OPCElement.BOP040B_J_PLC_FINISH));//PLC瀹屾垚 - BOP040B_J_PC_FINISH = BOP040B_GROUP.addItem((OPCElement.BOP040B_J_PC_FINISH));//PC瀹屾垚 - - BOP040B_S_ORDER_CODE = BOP040B_GROUP.addItem((OPCElement.BOP040B_S_ORDER_CODE));//宸ュ崟缂栧彿 - BOP040B_S_PRODUCT_CODE = BOP040B_GROUP.addItem((OPCElement.BOP040B_S_PRODUCT_CODE));//浜у搧缂栧彿 - BOP040B_S_SFC_CODE = BOP040B_GROUP.addItem((OPCElement.BOP040B_S_SFC_CODE));//鎬绘垚缂栫爜 - - BOP040B_S_PRODUCT_STATE_CODE = BOP040B_GROUP.addItem((OPCElement.BOP040B_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - - //EOP010缁� - final Group EOP010_GROUP = server.addGroup("EOP010"); - EOP010_F_HEART_BEAT = EOP010_GROUP.addItem((OPCElement.EOP010_F_HEART_BEAT));//蹇冭烦 - EOP010_J_PLC_START = EOP010_GROUP.addItem((OPCElement.EOP010_J_PLC_START));//PLC寮�濮� - EOP010_J_PC_WRITE_ORDER = EOP010_GROUP.addItem((OPCElement.EOP010_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - EOP010_J_PLC_FINISH = EOP010_GROUP.addItem((OPCElement.EOP010_J_PLC_FINISH));//PLC瀹屾垚 - EOP010_J_PC_FINISH = EOP010_GROUP.addItem((OPCElement.EOP010_J_PC_FINISH));//PC瀹屾垚 - - EOP010_S_ORDER_CODE = EOP010_GROUP.addItem((OPCElement.EOP010_S_ORDER_CODE));//宸ュ崟缂栧彿 - EOP010_S_PRODUCT_CODE = EOP010_GROUP.addItem((OPCElement.EOP010_S_PRODUCT_CODE));//浜у搧缂栧彿 - EOP010_S_SFC_CODE = EOP010_GROUP.addItem((OPCElement.EOP010_S_SFC_CODE));//鎬绘垚缂栫爜 - - EOP010_S_PRODUCT_STATE_CODE = EOP010_GROUP.addItem((OPCElement.EOP010_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - EOP010_S_MATERIAL_CODE = EOP010_GROUP.addItem((OPCElement.EOP010_S_MATERIAL_CODE));//浜у搧鐘舵�佺紪鐮� - - //EOP020缁� - final Group EOP020_GROUP = server.addGroup("EOP020"); - EOP020_F_HEART_BEAT = EOP020_GROUP.addItem((OPCElement.EOP020_F_HEART_BEAT));//蹇冭烦 - EOP020_J_PLC_START = EOP020_GROUP.addItem((OPCElement.EOP020_J_PLC_START));//PLC寮�濮� - EOP020_J_PC_WRITE_ORDER = EOP020_GROUP.addItem((OPCElement.EOP020_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - EOP020_J_PLC_FINISH = EOP020_GROUP.addItem((OPCElement.EOP020_J_PLC_FINISH));//PLC瀹屾垚 - EOP020_J_PC_FINISH = EOP020_GROUP.addItem((OPCElement.EOP020_J_PC_FINISH));//PC瀹屾垚 - - EOP020_S_ORDER_CODE = EOP020_GROUP.addItem((OPCElement.EOP020_S_ORDER_CODE));//宸ュ崟缂栧彿 - EOP020_S_PRODUCT_CODE = EOP020_GROUP.addItem((OPCElement.EOP020_S_PRODUCT_CODE));//浜у搧缂栧彿 - EOP020_S_SFC_CODE = EOP020_GROUP.addItem((OPCElement.EOP020_S_SFC_CODE));//鎬绘垚缂栫爜 - - EOP020_S_PRODUCT_STATE_CODE = EOP020_GROUP.addItem((OPCElement.EOP020_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //EOP030缁� - final Group EOP030_GROUP = server.addGroup("EOP030"); - EOP030_F_HEART_BEAT = EOP030_GROUP.addItem((OPCElement.EOP030_F_HEART_BEAT));//蹇冭烦 - EOP030_J_PLC_START = EOP030_GROUP.addItem((OPCElement.EOP030_J_PLC_START));//PLC寮�濮� - EOP030_J_PC_WRITE_ORDER = EOP030_GROUP.addItem((OPCElement.EOP030_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - EOP030_J_PLC_FINISH = EOP030_GROUP.addItem((OPCElement.EOP030_J_PLC_FINISH));//PLC瀹屾垚 - EOP030_J_PC_FINISH = EOP030_GROUP.addItem((OPCElement.EOP030_J_PC_FINISH));//PC瀹屾垚 - - EOP030_S_ORDER_CODE = EOP030_GROUP.addItem((OPCElement.EOP030_S_ORDER_CODE));//宸ュ崟缂栧彿 - EOP030_S_PRODUCT_CODE = EOP030_GROUP.addItem((OPCElement.EOP030_S_PRODUCT_CODE));//浜у搧缂栧彿 - EOP030_S_SFC_CODE = EOP030_GROUP.addItem((OPCElement.EOP030_S_SFC_CODE));//鎬绘垚缂栫爜 - - EOP030_S_PRODUCT_STATE_CODE = EOP030_GROUP.addItem((OPCElement.EOP030_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //EOP040缁� - final Group EOP040_GROUP = server.addGroup("EOP040"); - EOP040_F_HEART_BEAT = EOP040_GROUP.addItem((OPCElement.EOP040_F_HEART_BEAT));//蹇冭烦 - EOP040_J_PLC_START = EOP040_GROUP.addItem((OPCElement.EOP040_J_PLC_START));//PLC寮�濮� - EOP040_J_PC_WRITE_ORDER = EOP040_GROUP.addItem((OPCElement.EOP040_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - EOP040_J_PLC_FINISH = EOP040_GROUP.addItem((OPCElement.EOP040_J_PLC_FINISH));//PLC瀹屾垚 - EOP040_J_PC_FINISH = EOP040_GROUP.addItem((OPCElement.EOP040_J_PC_FINISH));//PC瀹屾垚 - - EOP040_S_ORDER_CODE = EOP040_GROUP.addItem((OPCElement.EOP040_S_ORDER_CODE));//宸ュ崟缂栧彿 - EOP040_S_PRODUCT_CODE = EOP040_GROUP.addItem((OPCElement.EOP040_S_PRODUCT_CODE));//浜у搧缂栧彿 - EOP040_S_SFC_CODE = EOP040_GROUP.addItem((OPCElement.EOP040_S_SFC_CODE));//鎬绘垚缂栫爜 - - EOP040_S_PRODUCT_STATE_CODE = EOP040_GROUP.addItem((OPCElement.EOP040_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //EOP050缁� - final Group EOP050_GROUP = server.addGroup("EOP050"); - EOP050_F_HEART_BEAT = EOP050_GROUP.addItem((OPCElement.EOP050_F_HEART_BEAT));//蹇冭烦 - EOP050_J_PLC_START = EOP050_GROUP.addItem((OPCElement.EOP050_J_PLC_START));//PLC寮�濮� - EOP050_J_PC_WRITE_ORDER = EOP050_GROUP.addItem((OPCElement.EOP050_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - EOP050_J_PLC_FINISH = EOP050_GROUP.addItem((OPCElement.EOP050_J_PLC_FINISH));//PLC瀹屾垚 - EOP050_J_PC_FINISH = EOP050_GROUP.addItem((OPCElement.EOP050_J_PC_FINISH));//PC瀹屾垚 - - EOP050_S_ORDER_CODE = EOP050_GROUP.addItem((OPCElement.EOP050_S_ORDER_CODE));//宸ュ崟缂栧彿 - EOP050_S_PRODUCT_CODE = EOP050_GROUP.addItem((OPCElement.EOP050_S_PRODUCT_CODE));//浜у搧缂栧彿 - EOP050_S_SFC_CODE = EOP050_GROUP.addItem((OPCElement.EOP050_S_SFC_CODE));//鎬绘垚缂栫爜 - - EOP050_S_PRODUCT_STATE_CODE = EOP050_GROUP.addItem((OPCElement.EOP050_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //EOP060缁� - final Group EOP060_GROUP = server.addGroup("EOP060"); - EOP060_F_HEART_BEAT = EOP060_GROUP.addItem((OPCElement.EOP060_F_HEART_BEAT));//蹇冭烦 - EOP060_J_PLC_START = EOP060_GROUP.addItem((OPCElement.EOP060_J_PLC_START));//PLC寮�濮� - EOP060_J_PC_WRITE_ORDER = EOP060_GROUP.addItem((OPCElement.EOP060_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - EOP060_J_PLC_FINISH = EOP060_GROUP.addItem((OPCElement.EOP060_J_PLC_FINISH));//PLC瀹屾垚 - EOP060_J_PC_FINISH = EOP060_GROUP.addItem((OPCElement.EOP060_J_PC_FINISH));//PC瀹屾垚 - - EOP060_S_ORDER_CODE = EOP060_GROUP.addItem((OPCElement.EOP060_S_ORDER_CODE));//宸ュ崟缂栧彿 - EOP060_S_PRODUCT_CODE = EOP060_GROUP.addItem((OPCElement.EOP060_S_PRODUCT_CODE));//浜у搧缂栧彿 - EOP060_S_SFC_CODE = EOP060_GROUP.addItem((OPCElement.EOP060_S_SFC_CODE));//鎬绘垚缂栫爜 - - EOP060_S_PRODUCT_STATE_CODE = EOP060_GROUP.addItem((OPCElement.EOP060_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - EOP060_P_REPAIR =EOP060_GROUP.addItem((OPCElement.OP010_P_REPAIR));//杩斾慨鐘舵�� - EOP060_P_REPAIR_LOCATION =EOP060_GROUP.addItem((OPCElement.OP010_P_REPAIR_LOCATION));//杩斾慨宸ヤ綅 - - //EOP070缁� - final Group EOP070_GROUP = server.addGroup("EOP070"); - EOP070_F_HEART_BEAT = EOP070_GROUP.addItem((OPCElement.EOP070_F_HEART_BEAT));//蹇冭烦 - EOP070_J_PLC_START = EOP070_GROUP.addItem((OPCElement.EOP070_J_PLC_START));//PLC寮�濮� - EOP070_J_PC_WRITE_ORDER = EOP070_GROUP.addItem((OPCElement.EOP070_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - EOP070_J_PLC_FINISH = EOP070_GROUP.addItem((OPCElement.EOP070_J_PLC_FINISH));//PLC瀹屾垚 - EOP070_J_PC_FINISH = EOP070_GROUP.addItem((OPCElement.EOP070_J_PC_FINISH));//PC瀹屾垚 - - EOP070_S_ORDER_CODE = EOP070_GROUP.addItem((OPCElement.EOP070_S_ORDER_CODE));//宸ュ崟缂栧彿 - EOP070_S_PRODUCT_CODE = EOP070_GROUP.addItem((OPCElement.EOP070_S_PRODUCT_CODE));//浜у搧缂栧彿 - EOP070_S_SFC_CODE = EOP070_GROUP.addItem((OPCElement.EOP070_S_SFC_CODE));//鎬绘垚缂栫爜 - - EOP070_S_PRODUCT_STATE_CODE = EOP070_GROUP.addItem((OPCElement.EOP070_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //EOP070B缁� - final Group EOP070B_GROUP = server.addGroup("EOP070B"); - EOP070B_F_HEART_BEAT = EOP070B_GROUP.addItem((OPCElement.EOP070B_F_HEART_BEAT));//蹇冭烦 - EOP070B_J_PLC_START = EOP070B_GROUP.addItem((OPCElement.EOP070B_J_PLC_START));//PLC寮�濮� - EOP070B_J_PC_WRITE_ORDER = EOP070B_GROUP.addItem((OPCElement.EOP070B_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - EOP070B_J_PLC_FINISH = EOP070B_GROUP.addItem((OPCElement.EOP070B_J_PLC_FINISH));//PLC瀹屾垚 - EOP070B_J_PC_FINISH = EOP070B_GROUP.addItem((OPCElement.EOP070B_J_PC_FINISH));//PC瀹屾垚 - - EOP070B_S_ORDER_CODE = EOP070B_GROUP.addItem((OPCElement.EOP070B_S_ORDER_CODE));//宸ュ崟缂栧彿 - EOP070B_S_PRODUCT_CODE = EOP070B_GROUP.addItem((OPCElement.EOP070B_S_PRODUCT_CODE));//浜у搧缂栧彿 - EOP070B_S_SFC_CODE = EOP070B_GROUP.addItem((OPCElement.EOP070B_S_SFC_CODE));//鎬绘垚缂栫爜 - - EOP070B_S_PRODUCT_STATE_CODE = EOP070B_GROUP.addItem((OPCElement.EOP070B_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //EOP080缁� - final Group EOP080_GROUP = server.addGroup("EOP080"); - EOP080_F_HEART_BEAT = EOP080_GROUP.addItem((OPCElement.EOP080_F_HEART_BEAT));//蹇冭烦 - EOP080_J_PLC_START = EOP080_GROUP.addItem((OPCElement.EOP080_J_PLC_START));//PLC寮�濮� - EOP080_J_PC_WRITE_ORDER = EOP080_GROUP.addItem((OPCElement.EOP080_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - EOP080_J_PLC_FINISH = EOP080_GROUP.addItem((OPCElement.EOP080_J_PLC_FINISH));//PLC瀹屾垚 - EOP080_J_PC_FINISH = EOP080_GROUP.addItem((OPCElement.EOP080_J_PC_FINISH));//PC瀹屾垚 - - EOP080_S_ORDER_CODE = EOP080_GROUP.addItem((OPCElement.EOP080_S_ORDER_CODE));//宸ュ崟缂栧彿 - EOP080_S_PRODUCT_CODE = EOP080_GROUP.addItem((OPCElement.EOP080_S_PRODUCT_CODE));//浜у搧缂栧彿 - EOP080_S_SFC_CODE = EOP080_GROUP.addItem((OPCElement.EOP080_S_SFC_CODE));//鎬绘垚缂栫爜 - - EOP080_S_PRODUCT_STATE_CODE = EOP080_GROUP.addItem((OPCElement.EOP080_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //EOP090缁� - final Group EOP090_GROUP = server.addGroup("EOP090"); - EOP090_F_HEART_BEAT = EOP090_GROUP.addItem((OPCElement.EOP090_F_HEART_BEAT));//蹇冭烦 - EOP090_J_PLC_START = EOP090_GROUP.addItem((OPCElement.EOP090_J_PLC_START));//PLC寮�濮� - EOP090_J_PC_WRITE_ORDER = EOP090_GROUP.addItem((OPCElement.EOP090_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - EOP090_J_PLC_FINISH = EOP090_GROUP.addItem((OPCElement.EOP090_J_PLC_FINISH));//PLC瀹屾垚 - EOP090_J_PC_FINISH = EOP090_GROUP.addItem((OPCElement.EOP090_J_PC_FINISH));//PC瀹屾垚 - - EOP090_S_ORDER_CODE = EOP090_GROUP.addItem((OPCElement.EOP090_S_ORDER_CODE));//宸ュ崟缂栧彿 - EOP090_S_PRODUCT_CODE = EOP090_GROUP.addItem((OPCElement.EOP090_S_PRODUCT_CODE));//浜у搧缂栧彿 - EOP090_S_SFC_CODE = EOP090_GROUP.addItem((OPCElement.EOP090_S_SFC_CODE));//鎬绘垚缂栫爜 - - EOP090_S_PRODUCT_STATE_CODE = EOP090_GROUP.addItem((OPCElement.EOP090_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //EOP090B缁� - final Group EOP090B_GROUP = server.addGroup("EOP090B"); - EOP090B_F_HEART_BEAT = EOP090B_GROUP.addItem((OPCElement.EOP090B_F_HEART_BEAT));//蹇冭烦 - EOP090B_J_PLC_START = EOP090B_GROUP.addItem((OPCElement.EOP090B_J_PLC_START));//PLC寮�濮� - EOP090B_J_PC_WRITE_ORDER = EOP090B_GROUP.addItem((OPCElement.EOP090B_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - EOP090B_J_PLC_FINISH = EOP090B_GROUP.addItem((OPCElement.EOP090B_J_PLC_FINISH));//PLC瀹屾垚 - EOP090B_J_PC_FINISH = EOP090B_GROUP.addItem((OPCElement.EOP090B_J_PC_FINISH));//PC瀹屾垚 - - EOP090B_S_ORDER_CODE = EOP090B_GROUP.addItem((OPCElement.EOP090B_S_ORDER_CODE));//宸ュ崟缂栧彿 - EOP090B_S_PRODUCT_CODE = EOP090B_GROUP.addItem((OPCElement.EOP090B_S_PRODUCT_CODE));//浜у搧缂栧彿 - EOP090B_S_SFC_CODE = EOP090B_GROUP.addItem((OPCElement.EOP090B_S_SFC_CODE));//鎬绘垚缂栫爜 - - EOP090B_S_PRODUCT_STATE_CODE = EOP090B_GROUP.addItem((OPCElement.EOP090B_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - - //DOP010缁� - final Group DOP010_GROUP = server.addGroup("DOP010"); - DOP010_F_HEART_BEAT = DOP010_GROUP.addItem((OPCElement.DOP010_F_HEART_BEAT));//蹇冭烦 - DOP010_J_PLC_START = DOP010_GROUP.addItem((OPCElement.DOP010_J_PLC_START));//PLC寮�濮� - DOP010_J_PC_WRITE_ORDER = DOP010_GROUP.addItem((OPCElement.DOP010_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟 - DOP010_J_PLC_FINISH = DOP010_GROUP.addItem((OPCElement.DOP010_J_PLC_FINISH));//PLC瀹屾垚 - DOP010_J_PC_FINISH = DOP010_GROUP.addItem((OPCElement.DOP010_J_PC_FINISH));//PC瀹屾垚 - - DOP010_S_ORDER_CODE = DOP010_GROUP.addItem((OPCElement.DOP010_S_ORDER_CODE));//宸ュ崟缂栧彿 - DOP010_S_PRODUCT_CODE = DOP010_GROUP.addItem((OPCElement.DOP010_S_PRODUCT_CODE));//浜у搧缂栧彿 - DOP010_S_SFC_CODE = DOP010_GROUP.addItem((OPCElement.DOP010_S_SFC_CODE));//鎬绘垚缂栫爜 - - DOP010_S_PRODUCT_STATE_CODE = DOP010_GROUP.addItem((OPCElement.DOP010_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮� - DOP010_S_NUMBER = DOP010_GROUP.addItem((OPCElement.DOP010_S_NUMBER));//浜у搧璁″垝鏁伴噺 - - DOP010_P_REPAIR = DOP010_GROUP.addItem((OPCElement.DOP010_P_REPAIR));//杩斾慨鐘舵�� - DOP010_P_REPAIR_LOCATION = DOP010_GROUP.addItem((OPCElement.DOP010_P_REPAIR_LOCATION));//杩斾慨宸ヤ綅 - - //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_J_PLC_FINISH = DOP020_GROUP.addItem((OPCElement.DOP020_J_PLC_FINISH));//PLC瀹屾垚 - DOP020_J_PC_FINISH = DOP020_GROUP.addItem((OPCElement.DOP020_J_PC_FINISH));//PC瀹屾垚 - - DOP020_S_ORDER_CODE = DOP020_GROUP.addItem((OPCElement.DOP020_S_ORDER_CODE));//宸ュ崟缂栧彿 - DOP020_S_PRODUCT_CODE = DOP020_GROUP.addItem((OPCElement.DOP020_S_PRODUCT_CODE));//浜у搧缂栧彿 - 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) { - Thread.sleep(1000*10); - //init(); - System.out.println(String.format("%08X: %s", e.getErrorCode(), server.getErrorMessage(e.getErrorCode()))); - } - } - - public Server getServer() { - return server; - - } - - public Item getOP010_F_HEART_BEAT() { - return OP010_F_HEART_BEAT; - } - - public Item getOP010_J_PLC_START() { - return OP010_J_PLC_START; - } - - public Item getOP010_J_PC_WRITE_ORDER() { - return OP010_J_PC_WRITE_ORDER; - } - - - public Item getOP010_J_PLC_FINISH() { - return OP010_J_PLC_FINISH; - } - - public Item getOP010_J_PC_FINISH() { - return OP010_J_PC_FINISH; - } - - public Item getOP010_S_ORDER_CODE() { - return OP010_S_ORDER_CODE; - } - - public Item getOP010_S_PRODUCT_CODE() { - return OP010_S_PRODUCT_CODE; - } - - public Item getOP010_S_SFC_CODE() { - return OP010_S_SFC_CODE; - } - - public Item getOP010_S_RIGHT_CODE() { - return OP010_S_RIGHT_CODE; - } - - - public Item getOP010_S_PRODUCT_STATE_CODE() { - return OP010_S_PRODUCT_STATE_CODE; - } - - public Item getOP020_F_HEART_BEAT() { - return OP020_F_HEART_BEAT; - } - - public Item getOP020_J_PLC_START() { - return OP020_J_PLC_START; - } - - public Item getOP020_J_PC_WRITE_ORDER() { - return OP020_J_PC_WRITE_ORDER; - } - - - public Item getOP020_J_PLC_FINISH() { - return OP020_J_PLC_FINISH; - } - - public Item getOP020_J_PC_FINISH() { - return OP020_J_PC_FINISH; - } - - public Item getOP020_S_ORDER_CODE() { - return OP020_S_ORDER_CODE; - } - - public Item getOP020_S_PRODUCT_CODE() { - return OP020_S_PRODUCT_CODE; - } - - public Item getOP020_S_SFC_CODE() { - return OP020_S_SFC_CODE; - } - - - public Item getOP020_S_PRODUCT_STATE_CODE() { - return OP020_S_PRODUCT_STATE_CODE; - } - - public Item getOP030_F_HEART_BEAT() { - return OP030_F_HEART_BEAT; - } - - public Item getOP030_J_PLC_START() { - return OP030_J_PLC_START; - } - - public Item getOP030_J_PC_WRITE_ORDER() { - return OP030_J_PC_WRITE_ORDER; - } - - - public Item getOP030_J_PLC_FINISH() { - return OP030_J_PLC_FINISH; - } - - public Item getOP030_J_PC_FINISH() { - return OP030_J_PC_FINISH; - } - - public Item getOP030_S_ORDER_CODE() { - return OP030_S_ORDER_CODE; - } - - public Item getOP030_S_PRODUCT_CODE() { - return OP030_S_PRODUCT_CODE; - } - - public Item getOP030_S_SFC_CODE() { - return OP030_S_SFC_CODE; - } - - public Item getOP030_S_PRODUCT_STATE_CODE() { - return OP030_S_PRODUCT_STATE_CODE; - } - - public Item getOP040_F_HEART_BEAT() { - return OP040_F_HEART_BEAT; - } - - public Item getOP040_J_PLC_START() { - return OP040_J_PLC_START; - } - - public Item getOP040_J_PC_WRITE_ORDER() { - return OP040_J_PC_WRITE_ORDER; - } - - - public Item getOP040_J_PLC_FINISH() { - return OP040_J_PLC_FINISH; - } - - public Item getOP040_J_PC_FINISH() { - return OP040_J_PC_FINISH; - } - - public Item getOP040_S_ORDER_CODE() { - return OP040_S_ORDER_CODE; - } - - public Item getOP040_S_PRODUCT_CODE() { - return OP040_S_PRODUCT_CODE; - } - - public Item getOP040_S_SFC_CODE() { - return OP040_S_SFC_CODE; - } - - public Item getOP040_S_PRODUCT_STATE_CODE() { - return OP040_S_PRODUCT_STATE_CODE; - } - - public Item getOP050_F_HEART_BEAT() { - return OP050_F_HEART_BEAT; - } - - public Item getOP050_J_PLC_START() { - return OP050_J_PLC_START; - } - - public Item getOP050_J_PC_WRITE_ORDER() { - return OP050_J_PC_WRITE_ORDER; - } - - - public Item getOP050_J_PLC_FINISH() { - return OP050_J_PLC_FINISH; - } - - public Item getOP050_J_PC_FINISH() { - return OP050_J_PC_FINISH; - } - - public Item getOP050_S_ORDER_CODE() { - return OP050_S_ORDER_CODE; - } - - public Item getOP050_S_PRODUCT_CODE() { - return OP050_S_PRODUCT_CODE; - } - - public Item getOP050_S_SFC_CODE() { - return OP050_S_SFC_CODE; - } - - public Item getOP050_S_PRODUCT_STATE_CODE() { - return OP050_S_PRODUCT_STATE_CODE; - } - - public Item getOP070_F_HEART_BEAT() { - return OP070_F_HEART_BEAT; - } - - public Item getOP070_J_PLC_START() { - return OP070_J_PLC_START; - } - - public Item getOP070_J_PC_WRITE_ORDER() { - return OP070_J_PC_WRITE_ORDER; - } - - - public Item getOP070_J_PLC_FINISH() { - return OP070_J_PLC_FINISH; - } - - public Item getOP070_J_PC_FINISH() { - return OP070_J_PC_FINISH; - } - - public Item getOP070_S_ORDER_CODE() { - return OP070_S_ORDER_CODE; - } - - public Item getOP070_S_PRODUCT_CODE() { - return OP070_S_PRODUCT_CODE; - } - - public Item getOP070_S_SFC_CODE() { - return OP070_S_SFC_CODE; - } - - public Item getOP070_S_PRODUCT_STATE_CODE() { - return OP070_S_PRODUCT_STATE_CODE; - } - - public Item getOP080_F_HEART_BEAT() { - return OP080_F_HEART_BEAT; - } - - public Item getOP080_J_PLC_START() { - return OP080_J_PLC_START; - } - - public Item getOP080_J_PC_WRITE_ORDER() { - return OP080_J_PC_WRITE_ORDER; - } - - - public Item getOP080_J_PLC_FINISH() { - return OP080_J_PLC_FINISH; - } - - public Item getOP080_J_PC_FINISH() { - return OP080_J_PC_FINISH; - } - - public Item getOP080_S_ORDER_CODE() { - return OP080_S_ORDER_CODE; - } - - public Item getOP080_S_PRODUCT_CODE() { - return OP080_S_PRODUCT_CODE; - } - - public Item getOP080_S_SFC_CODE() { - return OP080_S_SFC_CODE; - } - - public Item getOP080_S_PRODUCT_STATE_CODE() { - return OP080_S_PRODUCT_STATE_CODE; - } - - public Item getOP090_F_HEART_BEAT() { - return OP090_F_HEART_BEAT; - } - - public Item getOP090_J_PLC_START() { - return OP090_J_PLC_START; - } - - public Item getOP090_J_PC_WRITE_ORDER() { - return OP090_J_PC_WRITE_ORDER; - } - - - public Item getOP090_J_PLC_FINISH() { - return OP090_J_PLC_FINISH; - } - - public Item getOP090_J_PC_FINISH() { - return OP090_J_PC_FINISH; - } - - public Item getOP090_S_ORDER_CODE() { - return OP090_S_ORDER_CODE; - } - - public Item getOP090_S_PRODUCT_CODE() { - return OP090_S_PRODUCT_CODE; - } - - public Item getOP090_S_SFC_CODE() { - return OP090_S_SFC_CODE; - } - - public Item getOP090_S_PRODUCT_STATE_CODE() { - return OP090_S_PRODUCT_STATE_CODE; - } - - public Item getOP100_F_HEART_BEAT() { - return OP100_F_HEART_BEAT; - } - - public Item getOP100_J_PLC_START() { - return OP100_J_PLC_START; - } - - public Item getOP100_J_PC_WRITE_ORDER() { - return OP100_J_PC_WRITE_ORDER; - } - - - public Item getOP100_J_PLC_FINISH() { - return OP100_J_PLC_FINISH; - } - - public Item getOP100_J_PC_FINISH() { - return OP100_J_PC_FINISH; - } - - public Item getOP100_S_ORDER_CODE() { - return OP100_S_ORDER_CODE; - } - - public Item getOP100_S_PRODUCT_CODE() { - return OP100_S_PRODUCT_CODE; - } - - public Item getOP100_S_SFC_CODE() { - return OP100_S_SFC_CODE; - } - - public Item getOP100_S_PRODUCT_STATE_CODE() { - return OP100_S_PRODUCT_STATE_CODE; - } - - public Item getOP110_F_HEART_BEAT() { - return OP110_F_HEART_BEAT; - } - - public Item getOP110_J_PLC_START() { - return OP110_J_PLC_START; - } - - public Item getOP110_J_PC_WRITE_ORDER() { - return OP110_J_PC_WRITE_ORDER; - } - - - public Item getOP110_J_PLC_FINISH() { - return OP110_J_PLC_FINISH; - } - - public Item getOP110_J_PC_FINISH() { - return OP110_J_PC_FINISH; - } - - public Item getOP110_S_ORDER_CODE() { - return OP110_S_ORDER_CODE; - } - - public Item getOP110_S_PRODUCT_CODE() { - return OP110_S_PRODUCT_CODE; - } - - public Item getOP110_S_SFC_CODE() { - return OP110_S_SFC_CODE; - } - - public Item getOP110_S_PRODUCT_STATE_CODE() { - return OP110_S_PRODUCT_STATE_CODE; - } - - public Item getOP120_F_HEART_BEAT() { - return OP120_F_HEART_BEAT; - } - - public Item getOP120_J_PLC_START() { - return OP120_J_PLC_START; - } - - public Item getOP120_J_PC_WRITE_ORDER() { - return OP120_J_PC_WRITE_ORDER; - } - - - public Item getOP120_J_PLC_FINISH() { - return OP120_J_PLC_FINISH; - } - - public Item getOP120_J_PC_FINISH() { - return OP120_J_PC_FINISH; - } - - public Item getOP120_S_ORDER_CODE() { - return OP120_S_ORDER_CODE; - } - - public Item getOP120_S_PRODUCT_CODE() { - return OP120_S_PRODUCT_CODE; - } - - public Item getOP120_S_SFC_CODE() { - return OP120_S_SFC_CODE; - } - - public Item getOP120_S_PRODUCT_STATE_CODE() { - return OP120_S_PRODUCT_STATE_CODE; - } - - public Item getOP130_F_HEART_BEAT() { - return OP130_F_HEART_BEAT; - } - - public Item getOP130_J_PLC_START() { - return OP130_J_PLC_START; - } - - public Item getOP130_J_PC_WRITE_ORDER() { - return OP130_J_PC_WRITE_ORDER; - } - - public Item getOP130_J_PLC_FINISH() { - return OP130_J_PLC_FINISH; - } - - public Item getOP130_J_PC_FINISH() { - return OP130_J_PC_FINISH; - } - - public Item getOP130_S_ORDER_CODE() { - return OP130_S_ORDER_CODE; - } - - public Item getOP130_S_PRODUCT_CODE() { - return OP130_S_PRODUCT_CODE; - } - - public Item getOP130_S_SFC_CODE() { - return OP130_S_SFC_CODE; - } - - public Item getOP130_S_PRODUCT_STATE_CODE() { - return OP130_S_PRODUCT_STATE_CODE; - } - - public Item getOP140_F_HEART_BEAT() { - return OP140_F_HEART_BEAT; - } - - public Item getOP140_J_PLC_START() { - return OP140_J_PLC_START; - } - - public Item getOP140_J_PC_WRITE_ORDER() { - return OP140_J_PC_WRITE_ORDER; - } - - - public Item getOP140_J_PLC_FINISH() { - return OP140_J_PLC_FINISH; - } - - public Item getOP140_J_PC_FINISH() { - return OP140_J_PC_FINISH; - } - - public Item getOP140_S_ORDER_CODE() { - return OP140_S_ORDER_CODE; - } - - public Item getOP140_S_PRODUCT_CODE() { - return OP140_S_PRODUCT_CODE; - } - - public Item getOP140_S_SFC_CODE() { - return OP140_S_SFC_CODE; - } - - public Item getOP140_S_PRODUCT_STATE_CODE() { - return OP140_S_PRODUCT_STATE_CODE; - } - - public Item getOP150_F_HEART_BEAT() { - return OP150_F_HEART_BEAT; - } - - public Item getOP150_J_PLC_START() { - return OP150_J_PLC_START; - } - - public Item getOP150_J_PC_WRITE_ORDER() { - return OP150_J_PC_WRITE_ORDER; - } - - - public Item getOP150_J_PLC_FINISH() { - return OP150_J_PLC_FINISH; - } - - public Item getOP150_J_PC_FINISH() { - return OP150_J_PC_FINISH; - } - - public Item getOP150_S_ORDER_CODE() { - return OP150_S_ORDER_CODE; - } - - public Item getOP150_S_PRODUCT_CODE() { - return OP150_S_PRODUCT_CODE; - } - - public Item getOP150_S_SFC_CODE() { - return OP150_S_SFC_CODE; - } - - public Item getOP150_S_PRODUCT_STATE_CODE() { - return OP150_S_PRODUCT_STATE_CODE; - } - - public Item getOP160_F_HEART_BEAT() { - return OP160_F_HEART_BEAT; - } - - public Item getOP160_J_PLC_START() { - return OP160_J_PLC_START; - } - - public Item getOP160_J_PC_WRITE_ORDER() { - return OP160_J_PC_WRITE_ORDER; - } - - public Item getOP160_J_PLC_WRITE_INFO() { - return OP160_J_PLC_WRITE_INFO; - } - - public Item getOP160_J_PC_READ_INFO() { - return OP160_J_PC_READ_INFO; - } - - public Item getOP160_J_PLC_FINISH() { - return OP160_J_PLC_FINISH; - } - - public Item getOP160_J_PC_FINISH() { - return OP160_J_PC_FINISH; - } - - public Item getOP160_S_ORDER_CODE() { - return OP160_S_ORDER_CODE; - } - - public Item getOP160_S_PRODUCT_CODE() { - return OP160_S_PRODUCT_CODE; - } - - public Item getOP160_S_SFC_CODE() { - return OP160_S_SFC_CODE; - } - - public Item getOP160_S_PRODUCT_STATE_CODE() { - return OP160_S_PRODUCT_STATE_CODE; - } - - public Item getOP170_F_HEART_BEAT() { - return OP170_F_HEART_BEAT; - } - - public Item getOP170_J_PLC_START() { - return OP170_J_PLC_START; - } - - public Item getOP170_J_PC_WRITE_ORDER() { - return OP170_J_PC_WRITE_ORDER; - } - - public Item getOP170_J_PLC_WRITE_INFO() { - return OP170_J_PLC_WRITE_INFO; - } - - public Item getOP170_J_PC_READ_INFO() { - return OP170_J_PC_READ_INFO; - } - - public Item getOP170_J_PLC_FINISH() { - return OP170_J_PLC_FINISH; - } - - public Item getOP170_J_PC_FINISH() { - return OP170_J_PC_FINISH; - } - - public Item getOP170_S_ORDER_CODE() { - return OP170_S_ORDER_CODE; - } - - public Item getOP170_S_PRODUCT_CODE() { - return OP170_S_PRODUCT_CODE; - } - - public Item getOP170_S_SFC_CODE() { - return OP170_S_SFC_CODE; - } - - public Item getOP170_S_PRODUCT_STATE_CODE() { - return OP170_S_PRODUCT_STATE_CODE; - } - - public Item getOP120B_F_HEART_BEAT() { - return OP120B_F_HEART_BEAT; - } - - public Item getOP120B_J_PLC_START() { - return OP120B_J_PLC_START; - } - - public Item getOP120B_J_PC_WRITE_ORDER() { - return OP120B_J_PC_WRITE_ORDER; - } - - - public Item getOP120B_J_PLC_FINISH() { - return OP120B_J_PLC_FINISH; - } - - public Item getOP120B_J_PC_FINISH() { - return OP120B_J_PC_FINISH; - } - - public Item getOP120B_S_ORDER_CODE() { - return OP120B_S_ORDER_CODE; - } - - public Item getOP120B_S_PRODUCT_CODE() { - return OP120B_S_PRODUCT_CODE; - } - - public Item getOP120B_S_SFC_CODE() { - return OP120B_S_SFC_CODE; - } - - public Item getOP120B_S_PRODUCT_STATE_CODE() { - return OP120B_S_PRODUCT_STATE_CODE; - } - - public Item getOP090_S_SFC_CODE_EOP() { - return OP090_S_SFC_CODE_EOP; - } - - public Item getCOP010_F_HEART_BEAT() { - return COP010_F_HEART_BEAT; - } - - public Item getCOP010_J_PLC_START() { - return COP010_J_PLC_START; - } - - public Item getCOP010_J_PC_WRITE_ORDER() { - return COP010_J_PC_WRITE_ORDER; - } - - public Item getCOP010_J_PLC_WRITE_INFO() { - return COP010_J_PLC_WRITE_INFO; - } - - public Item getCOP010_J_PC_READ_INFO() { - return COP010_J_PC_READ_INFO; - } - - public Item getCOP010_J_PLC_FINISH() { - return COP010_J_PLC_FINISH; - } - - public Item getCOP010_J_PC_FINISH() { - return COP010_J_PC_FINISH; - } - - public Item getCOP010_S_ORDER_CODE() { - return COP010_S_ORDER_CODE; - } - - public Item getCOP010_S_PRODUCT_CODE() { - return COP010_S_PRODUCT_CODE; - } - - public Item getCOP010_S_SFC_CODE() { - return COP010_S_SFC_CODE; - } - - public Item getCOP010_S_PRODUCT_STATE_CODE() { - return COP010_S_PRODUCT_STATE_CODE; - } - - public Item getCOP020_F_HEART_BEAT() { - return COP020_F_HEART_BEAT; - } - - public Item getCOP020_J_PLC_START() { - return COP020_J_PLC_START; - } - - public Item getCOP020_J_PC_WRITE_ORDER() { - return COP020_J_PC_WRITE_ORDER; - } - - public Item getCOP020_J_PLC_WRITE_INFO() { - return COP020_J_PLC_WRITE_INFO; - } - - public Item getCOP020_J_PC_READ_INFO() { - return COP020_J_PC_READ_INFO; - } - - public Item getCOP020_J_PLC_FINISH() { - return COP020_J_PLC_FINISH; - } - - public Item getCOP020_J_PC_FINISH() { - return COP020_J_PC_FINISH; - } - - public Item getCOP020_S_ORDER_CODE() { - return COP020_S_ORDER_CODE; - } - - public Item getCOP020_S_PRODUCT_CODE() { - return COP020_S_PRODUCT_CODE; - } - - public Item getCOP020_S_SFC_CODE() { - return COP020_S_SFC_CODE; - } - - public Item getCOP020_S_PRODUCT_STATE_CODE() { - return COP020_S_PRODUCT_STATE_CODE; - } - - public Item getCOP030_F_HEART_BEAT() { - return COP030_F_HEART_BEAT; - } - - public Item getCOP030_J_PLC_START() { - return COP030_J_PLC_START; - } - - public Item getCOP030_J_PC_WRITE_ORDER() { - return COP030_J_PC_WRITE_ORDER; - } - - public Item getCOP030_J_PLC_WRITE_INFO() { - return COP030_J_PLC_WRITE_INFO; - } - - public Item getCOP030_J_PC_READ_INFO() { - return COP030_J_PC_READ_INFO; - } - - public Item getCOP030_J_PLC_FINISH() { - return COP030_J_PLC_FINISH; - } - - public Item getCOP030_J_PC_FINISH() { - return COP030_J_PC_FINISH; - } - - public Item getCOP030_S_ORDER_CODE() { - return COP030_S_ORDER_CODE; - } - - public Item getCOP030_S_PRODUCT_CODE() { - return COP030_S_PRODUCT_CODE; - } - - public Item getCOP030_S_SFC_CODE() { - return COP030_S_SFC_CODE; - } - - public Item getCOP030_S_PRODUCT_STATE_CODE() { - return COP030_S_PRODUCT_STATE_CODE; - } - - public Item getBOP010_F_HEART_BEAT() { - return BOP010_F_HEART_BEAT; - } - - public Item getBOP010_J_PLC_START() { - return BOP010_J_PLC_START; - } - - public Item getBOP010_J_PC_WRITE_ORDER() { - return BOP010_J_PC_WRITE_ORDER; - } - - public Item getBOP010_J_PLC_WRITE_INFO() { - return BOP010_J_PLC_WRITE_INFO; - } - - public Item getBOP010_J_PC_READ_INFO() { - return BOP010_J_PC_READ_INFO; - } - - public Item getBOP010_J_PLC_FINISH() { - return BOP010_J_PLC_FINISH; - } - - public Item getBOP010_J_PC_FINISH() { - return BOP010_J_PC_FINISH; - } - - public Item getBOP010_S_ORDER_CODE() { - return BOP010_S_ORDER_CODE; - } - - public Item getBOP010_S_PRODUCT_CODE() { - return BOP010_S_PRODUCT_CODE; - } - - public Item getBOP010_S_SFC_CODE() { - return BOP010_S_SFC_CODE; - } - - public Item getBOP010_S_PRODUCT_STATE_CODE() { - return BOP010_S_PRODUCT_STATE_CODE; - } - - public Item getBOP020_F_HEART_BEAT() { - return BOP020_F_HEART_BEAT; - } - - public Item getBOP020_J_PLC_START() { - return BOP020_J_PLC_START; - } - - public Item getBOP020_J_PC_WRITE_ORDER() { - return BOP020_J_PC_WRITE_ORDER; - } - - public Item getBOP020_J_PLC_WRITE_INFO() { - return BOP020_J_PLC_WRITE_INFO; - } - - public Item getBOP020_J_PC_READ_INFO() { - return BOP020_J_PC_READ_INFO; - } - - public Item getBOP020_J_PLC_FINISH() { - return BOP020_J_PLC_FINISH; - } - - public Item getBOP020_J_PC_FINISH() { - return BOP020_J_PC_FINISH; - } - - public Item getBOP020_S_ORDER_CODE() { - return BOP020_S_ORDER_CODE; - } - - public Item getBOP020_S_PRODUCT_CODE() { - return BOP020_S_PRODUCT_CODE; - } - - public Item getBOP020_S_SFC_CODE() { - return BOP020_S_SFC_CODE; - } - - public Item getBOP020_S_PRODUCT_STATE_CODE() { - return BOP020_S_PRODUCT_STATE_CODE; - } - - public Item getBOP030_F_HEART_BEAT() { - return BOP030_F_HEART_BEAT; - } - - public Item getBOP030_J_PLC_START() { - return BOP030_J_PLC_START; - } - - public Item getBOP030_J_PC_WRITE_ORDER() { - return BOP030_J_PC_WRITE_ORDER; - } - - public Item getBOP030_J_PLC_WRITE_INFO() { - return BOP030_J_PLC_WRITE_INFO; - } - - public Item getBOP030_J_PC_READ_INFO() { - return BOP030_J_PC_READ_INFO; - } - - public Item getBOP030_J_PLC_FINISH() { - return BOP030_J_PLC_FINISH; - } - - public Item getBOP030_J_PC_FINISH() { - return BOP030_J_PC_FINISH; - } - - public Item getBOP030_S_ORDER_CODE() { - return BOP030_S_ORDER_CODE; - } - - public Item getBOP030_S_PRODUCT_CODE() { - return BOP030_S_PRODUCT_CODE; - } - - public Item getBOP030_S_SFC_CODE() { - return BOP030_S_SFC_CODE; - } - - public Item getBOP030_S_PRODUCT_STATE_CODE() { - return BOP030_S_PRODUCT_STATE_CODE; - } - - public Item getBOP040_F_HEART_BEAT() { - return BOP040_F_HEART_BEAT; - } - - public Item getBOP040_J_PLC_START() { - return BOP040_J_PLC_START; - } - - public Item getBOP040_J_PC_WRITE_ORDER() { - return BOP040_J_PC_WRITE_ORDER; - } - - public Item getBOP040_J_PLC_WRITE_INFO() { - return BOP040_J_PLC_WRITE_INFO; - } - - public Item getBOP040_J_PC_READ_INFO() { - return BOP040_J_PC_READ_INFO; - } - - public Item getBOP040_J_PLC_FINISH() { - return BOP040_J_PLC_FINISH; - } - - public Item getBOP040_J_PC_FINISH() { - return BOP040_J_PC_FINISH; - } - - public Item getBOP040_S_ORDER_CODE() { - return BOP040_S_ORDER_CODE; - } - - public Item getBOP040_S_PRODUCT_CODE() { - return BOP040_S_PRODUCT_CODE; - } - - public Item getBOP040_S_SFC_CODE() { - return BOP040_S_SFC_CODE; - } - - public Item getBOP040_S_PRODUCT_STATE_CODE() { - return BOP040_S_PRODUCT_STATE_CODE; - } - - public Item getEOP010_F_HEART_BEAT() { - return EOP010_F_HEART_BEAT; - } - - public Item getEOP010_J_PLC_START() { - return EOP010_J_PLC_START; - } - - public Item getEOP010_J_PC_WRITE_ORDER() { - return EOP010_J_PC_WRITE_ORDER; - } - - - public Item getEOP010_J_PLC_FINISH() { - return EOP010_J_PLC_FINISH; - } - - public Item getEOP010_J_PC_FINISH() { - return EOP010_J_PC_FINISH; - } - - public Item getEOP010_S_ORDER_CODE() { - return EOP010_S_ORDER_CODE; - } - - public Item getEOP010_S_PRODUCT_CODE() { - return EOP010_S_PRODUCT_CODE; - } - - public Item getEOP010_S_SFC_CODE() { - return EOP010_S_SFC_CODE; - } - - public Item getEOP010_S_PRODUCT_STATE_CODE() { - return EOP010_S_PRODUCT_STATE_CODE; - } - - public Item getEOP020_F_HEART_BEAT() { - return EOP020_F_HEART_BEAT; - } - - public Item getEOP020_J_PLC_START() { - return EOP020_J_PLC_START; - } - - public Item getEOP020_J_PC_WRITE_ORDER() { - return EOP020_J_PC_WRITE_ORDER; - } - - - public Item getEOP020_J_PLC_FINISH() { - return EOP020_J_PLC_FINISH; - } - - public Item getEOP020_J_PC_FINISH() { - return EOP020_J_PC_FINISH; - } - - public Item getEOP020_S_ORDER_CODE() { - return EOP020_S_ORDER_CODE; - } - - public Item getEOP020_S_PRODUCT_CODE() { - return EOP020_S_PRODUCT_CODE; - } - - public Item getEOP020_S_SFC_CODE() { - return EOP020_S_SFC_CODE; - } - - public Item getEOP020_S_PRODUCT_STATE_CODE() { - return EOP020_S_PRODUCT_STATE_CODE; - } - - public Item getEOP030_F_HEART_BEAT() { - return EOP030_F_HEART_BEAT; - } - - public Item getEOP030_J_PLC_START() { - return EOP030_J_PLC_START; - } - - public Item getEOP030_J_PC_WRITE_ORDER() { - return EOP030_J_PC_WRITE_ORDER; - } - - - public Item getEOP030_J_PLC_FINISH() { - return EOP030_J_PLC_FINISH; - } - - public Item getEOP030_J_PC_FINISH() { - return EOP030_J_PC_FINISH; - } - - public Item getEOP030_S_ORDER_CODE() { - return EOP030_S_ORDER_CODE; - } - - public Item getEOP030_S_PRODUCT_CODE() { - return EOP030_S_PRODUCT_CODE; - } - - public Item getEOP030_S_SFC_CODE() { - return EOP030_S_SFC_CODE; - } - - public Item getEOP030_S_PRODUCT_STATE_CODE() { - return EOP030_S_PRODUCT_STATE_CODE; - } - - public Item getEOP050_F_HEART_BEAT() { - return EOP050_F_HEART_BEAT; - } - - public Item getEOP050_J_PLC_START() { - return EOP050_J_PLC_START; - } - - public Item getEOP050_J_PC_WRITE_ORDER() { - return EOP050_J_PC_WRITE_ORDER; - } - - - public Item getEOP050_J_PLC_FINISH() { - return EOP050_J_PLC_FINISH; - } - - public Item getEOP050_J_PC_FINISH() { - return EOP050_J_PC_FINISH; - } - - public Item getEOP050_S_ORDER_CODE() { - return EOP050_S_ORDER_CODE; - } - - public Item getEOP050_S_PRODUCT_CODE() { - return EOP050_S_PRODUCT_CODE; - } - - public Item getEOP050_S_SFC_CODE() { - return EOP050_S_SFC_CODE; - } - - public Item getEOP050_S_PRODUCT_STATE_CODE() { - return EOP050_S_PRODUCT_STATE_CODE; - } - - public Item getEOP060_F_HEART_BEAT() { - return EOP060_F_HEART_BEAT; - } - - public Item getEOP060_J_PLC_START() { - return EOP060_J_PLC_START; - } - - public Item getEOP060_J_PC_WRITE_ORDER() { - return EOP060_J_PC_WRITE_ORDER; - } - - public Item getEOP060_J_PLC_WRITE_INFO() { - return EOP060_J_PLC_WRITE_INFO; - } - - public Item getEOP060_J_PC_READ_INFO() { - return EOP060_J_PC_READ_INFO; - } - - public Item getEOP060_J_PLC_FINISH() { - return EOP060_J_PLC_FINISH; - } - - public Item getEOP060_J_PC_FINISH() { - return EOP060_J_PC_FINISH; - } - - public Item getEOP060_S_ORDER_CODE() { - return EOP060_S_ORDER_CODE; - } - - public Item getEOP060_S_PRODUCT_CODE() { - return EOP060_S_PRODUCT_CODE; - } - - public Item getEOP060_S_SFC_CODE() { - return EOP060_S_SFC_CODE; - } - - public Item getEOP060_S_PRODUCT_STATE_CODE() { - return EOP060_S_PRODUCT_STATE_CODE; - } - - public Item getEOP070_F_HEART_BEAT() { - return EOP070_F_HEART_BEAT; - } - - public Item getEOP070_J_PLC_START() { - return EOP070_J_PLC_START; - } - - public Item getEOP070_J_PC_WRITE_ORDER() { - return EOP070_J_PC_WRITE_ORDER; - } - - - public Item getEOP070_J_PLC_FINISH() { - return EOP070_J_PLC_FINISH; - } - - public Item getEOP070_J_PC_FINISH() { - return EOP070_J_PC_FINISH; - } - - public Item getEOP070_S_ORDER_CODE() { - return EOP070_S_ORDER_CODE; - } - - public Item getEOP070_S_PRODUCT_CODE() { - return EOP070_S_PRODUCT_CODE; - } - - public Item getEOP070_S_SFC_CODE() { - return EOP070_S_SFC_CODE; - } - - public Item getEOP070_S_PRODUCT_STATE_CODE() { - return EOP070_S_PRODUCT_STATE_CODE; - } - - public Item getEOP080_F_HEART_BEAT() { - return EOP080_F_HEART_BEAT; - } - - public Item getEOP080_J_PLC_START() { - return EOP080_J_PLC_START; - } - - public Item getEOP080_J_PC_WRITE_ORDER() { - return EOP080_J_PC_WRITE_ORDER; - } - - public Item getEOP080_J_PLC_WRITE_INFO() { - return EOP080_J_PLC_WRITE_INFO; - } - - public Item getEOP080_J_PC_READ_INFO() { - return EOP080_J_PC_READ_INFO; - } - - public Item getEOP080_J_PLC_FINISH() { - return EOP080_J_PLC_FINISH; - } - - public Item getEOP080_J_PC_FINISH() { - return EOP080_J_PC_FINISH; - } - - public Item getEOP080_S_ORDER_CODE() { - return EOP080_S_ORDER_CODE; - } - - public Item getEOP080_S_PRODUCT_CODE() { - return EOP080_S_PRODUCT_CODE; - } - - public Item getEOP080_S_SFC_CODE() { - return EOP080_S_SFC_CODE; - } - - public Item getEOP080_S_PRODUCT_STATE_CODE() { - return EOP080_S_PRODUCT_STATE_CODE; - } - - public Item getEOP090_F_HEART_BEAT() { - return EOP090_F_HEART_BEAT; - } - - public Item getEOP090_J_PLC_START() { - return EOP090_J_PLC_START; - } - - public Item getEOP090_J_PC_WRITE_ORDER() { - return EOP090_J_PC_WRITE_ORDER; - } - - public Item getEOP090_J_PLC_WRITE_INFO() { - return EOP090_J_PLC_WRITE_INFO; - } - - public Item getEOP090_J_PC_READ_INFO() { - return EOP090_J_PC_READ_INFO; - } - - public Item getEOP090_J_PLC_FINISH() { - return EOP090_J_PLC_FINISH; - } - - public Item getEOP090_J_PC_FINISH() { - return EOP090_J_PC_FINISH; - } - - public Item getEOP090_S_ORDER_CODE() { - return EOP090_S_ORDER_CODE; - } - - public Item getEOP090_S_PRODUCT_CODE() { - return EOP090_S_PRODUCT_CODE; - } - - public Item getEOP090_S_SFC_CODE() { - return EOP090_S_SFC_CODE; - } - - public Item getEOP090_S_PRODUCT_STATE_CODE() { - return EOP090_S_PRODUCT_STATE_CODE; - } - - public Item getDOP010_F_HEART_BEAT() { - return DOP010_F_HEART_BEAT; - } - - public Item getDOP010_J_PLC_START() { - return DOP010_J_PLC_START; - } - - public Item getDOP010_J_PC_WRITE_ORDER() { - return DOP010_J_PC_WRITE_ORDER; - } - - public Item getDOP010_J_PLC_WRITE_INFO() { - return DOP010_J_PLC_WRITE_INFO; - } - - public Item getDOP010_J_PC_READ_INFO() { - return DOP010_J_PC_READ_INFO; - } - - public Item getDOP010_J_PLC_FINISH() { - return DOP010_J_PLC_FINISH; - } - - public Item getDOP010_J_PC_FINISH() { - return DOP010_J_PC_FINISH; - } - - public Item getDOP010_S_ORDER_CODE() { - return DOP010_S_ORDER_CODE; - } - - public Item getDOP010_S_PRODUCT_CODE() { - return DOP010_S_PRODUCT_CODE; - } - - public Item getDOP010_S_SFC_CODE() { - return DOP010_S_SFC_CODE; - } - - public Item getDOP010_S_PRODUCT_STATE_CODE() { - return DOP010_S_PRODUCT_STATE_CODE; - } - - public Item getDOP020_F_HEART_BEAT() { - return DOP020_F_HEART_BEAT; - } - - public Item getDOP020_J_PLC_START() { - return DOP020_J_PLC_START; - } - - public Item getDOP020_J_PC_WRITE_ORDER() { - return DOP020_J_PC_WRITE_ORDER; - } - - public Item getDOP020_J_PLC_WRITE_INFO() { - return DOP020_J_PLC_WRITE_INFO; - } - - public Item getDOP020_J_PC_READ_INFO() { - return DOP020_J_PC_READ_INFO; - } - - public Item getDOP020_J_PLC_FINISH() { - return DOP020_J_PLC_FINISH; - } - - public Item getDOP020_J_PC_FINISH() { - return DOP020_J_PC_FINISH; - } - - public Item getDOP020_S_ORDER_CODE() { - return DOP020_S_ORDER_CODE; - } - - public Item getDOP020_S_PRODUCT_CODE() { - return DOP020_S_PRODUCT_CODE; - } - - public Item getDOP020_S_SFC_CODE() { - return DOP020_S_SFC_CODE; - } - - public Item getDOP020_S_PRODUCT_STATE_CODE() { - return DOP020_S_PRODUCT_STATE_CODE; - } - - public Item getOP010_S_NUMBER() { - return OP010_S_NUMBER; - } - - public Item getCOP010_S_NUMBER() { - return COP010_S_NUMBER; - } - - public Item getDOP010_S_NUMBER() { - return DOP010_S_NUMBER; - } - - public Item getEOP040_F_HEART_BEAT() { - return EOP040_F_HEART_BEAT; - } - - public Item getEOP040_J_PLC_START() { - return EOP040_J_PLC_START; - } - - public Item getEOP040_J_PC_WRITE_ORDER() { - return EOP040_J_PC_WRITE_ORDER; - } - - public Item getEOP040_J_PLC_FINISH() { - return EOP040_J_PLC_FINISH; - } - - public Item getEOP040_J_PC_FINISH() { - return EOP040_J_PC_FINISH; - } - - public Item getEOP040_S_ORDER_CODE() { - return EOP040_S_ORDER_CODE; - } - - public Item getEOP040_S_PRODUCT_CODE() { - return EOP040_S_PRODUCT_CODE; - } - - public Item getEOP040_S_SFC_CODE() { - return EOP040_S_SFC_CODE; - } - - public Item getEOP040_S_PRODUCT_STATE_CODE() { - return EOP040_S_PRODUCT_STATE_CODE; - } - - public Item getBOP010_S_NUMBER() { - return BOP010_S_NUMBER; - } - - public Item getEOP090B_F_HEART_BEAT() { - return EOP090B_F_HEART_BEAT; - } - - public Item getEOP090B_J_PLC_START() { - return EOP090B_J_PLC_START; - } - - public Item getEOP090B_J_PC_WRITE_ORDER() { - return EOP090B_J_PC_WRITE_ORDER; - } - - public Item getEOP090B_J_PLC_WRITE_INFO() { - return EOP090B_J_PLC_WRITE_INFO; - } - - public Item getEOP090B_J_PC_READ_INFO() { - return EOP090B_J_PC_READ_INFO; - } - - public Item getEOP090B_J_PLC_FINISH() { - return EOP090B_J_PLC_FINISH; - } - - public Item getEOP090B_J_PC_FINISH() { - return EOP090B_J_PC_FINISH; - } - - public Item getEOP090B_S_ORDER_CODE() { - return EOP090B_S_ORDER_CODE; - } - - public Item getEOP090B_S_PRODUCT_CODE() { - return EOP090B_S_PRODUCT_CODE; - } - - public Item getEOP090B_S_SFC_CODE() { - return EOP090B_S_SFC_CODE; - } - - public Item getEOP090B_S_PRODUCT_STATE_CODE() { - return EOP090B_S_PRODUCT_STATE_CODE; - } - - public Item getOP010_E_STATE() { - return OP010_E_STATE; - } - - public Item getOP130B_F_HEART_BEAT() { - return OP130B_F_HEART_BEAT; - } - - public Item getOP130B_J_PLC_START() { - return OP130B_J_PLC_START; - } - - public Item getOP130B_J_PC_WRITE_ORDER() { - return OP130B_J_PC_WRITE_ORDER; - } - - public Item getOP130B_J_PLC_FINISH() { - return OP130B_J_PLC_FINISH; - } - - public Item getOP130B_J_PC_FINISH() { - return OP130B_J_PC_FINISH; - } - - public Item getOP130B_S_ORDER_CODE() { - return OP130B_S_ORDER_CODE; - } - - public Item getOP130B_S_PRODUCT_CODE() { - return OP130B_S_PRODUCT_CODE; - } - - public Item getOP130B_S_SFC_CODE() { - return OP130B_S_SFC_CODE; - } - - public Item getOP130B_S_PRODUCT_STATE_CODE() { - return OP130B_S_PRODUCT_STATE_CODE; - } - - public Item getEOP070B_F_HEART_BEAT() { - return EOP070B_F_HEART_BEAT; - } - - public Item getEOP070B_J_PLC_START() { - return EOP070B_J_PLC_START; - } - - public Item getEOP070B_J_PC_WRITE_ORDER() { - return EOP070B_J_PC_WRITE_ORDER; - } - - public Item getEOP070B_J_PLC_FINISH() { - return EOP070B_J_PLC_FINISH; - } - - public Item getEOP070B_J_PC_FINISH() { - return EOP070B_J_PC_FINISH; - } - - public Item getEOP070B_S_ORDER_CODE() { - return EOP070B_S_ORDER_CODE; - } - - public Item getEOP070B_S_PRODUCT_CODE() { - return EOP070B_S_PRODUCT_CODE; - } - - public Item getEOP070B_S_SFC_CODE() { - return EOP070B_S_SFC_CODE; - } - - public Item getEOP070B_S_PRODUCT_STATE_CODE() { - return EOP070B_S_PRODUCT_STATE_CODE; - } - - public Item getOP050_S_SFC_CODE_COP() { - return OP050_S_SFC_CODE_COP; - } - - public Item getOP050_S_SFC_CODE_BOP() { - return OP050_S_SFC_CODE_BOP; - } - - public Item getBOP030B_F_HEART_BEAT() { - return BOP030B_F_HEART_BEAT; - } - - public Item getBOP030B_J_PLC_START() { - return BOP030B_J_PLC_START; - } - - public Item getBOP030B_J_PC_WRITE_ORDER() { - return BOP030B_J_PC_WRITE_ORDER; - } - - public Item getBOP030B_J_PLC_WRITE_INFO() { - return BOP030B_J_PLC_WRITE_INFO; - } - - public Item getBOP030B_J_PC_READ_INFO() { - return BOP030B_J_PC_READ_INFO; - } - - public Item getBOP030B_J_PLC_FINISH() { - return BOP030B_J_PLC_FINISH; - } - - public Item getBOP030B_J_PC_FINISH() { - return BOP030B_J_PC_FINISH; - } - - public Item getBOP030B_S_ORDER_CODE() { - return BOP030B_S_ORDER_CODE; - } - - public Item getBOP030B_S_PRODUCT_CODE() { - return BOP030B_S_PRODUCT_CODE; - } - - public Item getBOP030B_S_SFC_CODE() { - return BOP030B_S_SFC_CODE; - } - - public Item getBOP030B_S_PRODUCT_STATE_CODE() { - return BOP030B_S_PRODUCT_STATE_CODE; - } - - public Item getBOP040B_F_HEART_BEAT() { - return BOP040B_F_HEART_BEAT; - } - - public Item getBOP040B_J_PLC_START() { - return BOP040B_J_PLC_START; - } - - public Item getBOP040B_J_PC_WRITE_ORDER() { - return BOP040B_J_PC_WRITE_ORDER; - } - - public Item getBOP040B_J_PLC_WRITE_INFO() { - return BOP040B_J_PLC_WRITE_INFO; - } - - public Item getBOP040B_J_PC_READ_INFO() { - return BOP040B_J_PC_READ_INFO; - } - - public Item getBOP040B_J_PLC_FINISH() { - return BOP040B_J_PLC_FINISH; - } - - public Item getBOP040B_J_PC_FINISH() { - return BOP040B_J_PC_FINISH; - } - - public Item getBOP040B_S_ORDER_CODE() { - return BOP040B_S_ORDER_CODE; - } - - public Item getBOP040B_S_PRODUCT_CODE() { - return BOP040B_S_PRODUCT_CODE; - } - - public Item getBOP040B_S_SFC_CODE() { - return BOP040B_S_SFC_CODE; - } - - public Item getBOP040B_S_PRODUCT_STATE_CODE() { - return BOP040B_S_PRODUCT_STATE_CODE; - } - - public Item getEOP010_S_MATERIAL_CODE() { - return EOP010_S_MATERIAL_CODE; - } - - public Item getOP010_P_REPAIR() { - return OP010_P_REPAIR; - } - - public Item getOP010_P_REPAIR_LOCATION() { - return OP010_P_REPAIR_LOCATION; - } - - public Item getOP080_P_REPAIR() { - return OP080_P_REPAIR; - } - - public Item getOP080_P_REPAIR_LOCATION() { - return OP080_P_REPAIR_LOCATION; - } - - public Item getCOP010_P_REPAIR() { - return COP010_P_REPAIR; - } - - public Item getCOP010_P_REPAIR_LOCATION() { - return COP010_P_REPAIR_LOCATION; - } - - public Item getBOP010_P_REPAIR() { - return BOP010_P_REPAIR; - } - - public Item getBOP010_P_REPAIR_LOCATION() { - return BOP010_P_REPAIR_LOCATION; - } - - public Item getEOP060_P_REPAIR() { - return EOP060_P_REPAIR; - } - - public Item getEOP060_P_REPAIR_LOCATION() { - return EOP060_P_REPAIR_LOCATION; - } - - public Item getDOP010_P_REPAIR() { - return DOP010_P_REPAIR; - } - - 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; - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/conf/OPCConfiguration.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/conf/OPCConfiguration.java deleted file mode 100644 index 5fcd056..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/conf/OPCConfiguration.java +++ /dev/null @@ -1,67 +0,0 @@ -package cn.stylefeng.guns.plcserver.opc.conf; - -import org.openscada.opc.lib.common.ConnectionInformation; - -public final class OPCConfiguration { - - private final static ConnectionInformation ci; - private static String HOST = "172.20.1.10"; - //private static String HOST = "192.168.1.100"; - private static String USER = "OPCServer"; - private static String PASSWORD = "admin@123"; - private static String CLSID= "7BC0CC8E-482C-47CA-ABDC-0FE7F9C6E729"; - private static String PROGID = ""; - - /*public final static String CONFIG_USERNAME = "username"; - public final static String CONFIG_PASSWORD = "password"; - public final static String CONFIG_HOST = "host"; - public final static String CONFIG_DOMAIN = "domain"; - public final static String CONFIG_CLSID = "clsid"; - public final static String CONFIG_PROGID = "progid"; - private final static String CONFIG_FILE_NAME = "opc.properties";*/ - /** - * 鍔犺浇閰嶇疆鏂囦欢 - */ - static { - ci = new ConnectionInformation(); - /*prop = new Properties(); - try { - prop.load(OPCConfiguration.class.getClassLoader().getResourceAsStream(CONFIG_FILE_NAME)); - } catch (IOException e) { - e.printStackTrace(); - }*/ - } - /** - * 閫氳繃鍚嶅瓧鑾峰緱閰嶇疆鐨勫�� - */ - /*public static String getEntryValue(String name) { - return prop.getProperty(name); - }*/ - /** - * 鑾峰緱鍖呭惈ClsId鐨勮繛鎺ヤ俊鎭� - */ - public static ConnectionInformation getCLSIDConnectionInfomation() { - ci.setProgId(null); - getConnectionInfomation(); - ci.setClsid(CLSID); - return ci; - } - /** - * 鑾峰緱鍖呭惈ProgId鐨勮繛鎺ヤ俊鎭� - */ - public static ConnectionInformation getPROGIDConnectionInfomation() { - ci.setClsid(null); - getConnectionInfomation(); - ci.setProgId(PROGID); - return ci; - } - /** - * 鑾峰緱鍩虹鐨勮繛鎺ヤ俊鎭� - */ - private static void getConnectionInfomation() { - ci.setHost(HOST); - ci.setDomain(""); - ci.setUser(USER); - ci.setPassword(PASSWORD); - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/BOP010ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/BOP010ServerInterface.java deleted file mode 100644 index 00f12b3..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/BOP010ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP010; - -public interface BOP010ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_F_HEART_BEAT.java deleted file mode 100644 index 6e41964..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP010_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getBOP010_F_HEART_BEAT(), "true"); - GlobalVariable.BOP010_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.BOP010_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_FINISH.java deleted file mode 100644 index 72d3088..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP010_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP010_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_READ_INFO.java deleted file mode 100644 index b7b6cc7..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP010_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP010_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_WRITE_ORDER.java deleted file mode 100644 index e023d92..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP010_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP010_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_FINISH.java deleted file mode 100644 index ef0f253..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP010_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP010_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_START.java deleted file mode 100644 index 14e7bea..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP010_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP010_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_WRITE_INFO.java deleted file mode 100644 index 6d684d9..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP010_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP010_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/impl/BOP010ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/impl/BOP010ServerInterfaceImpl.java deleted file mode 100644 index 6f52b1a..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/impl/BOP010ServerInterfaceImpl.java +++ /dev/null @@ -1,286 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP010.impl; - - -import cn.stylefeng.guns.modular.bs.locationInfo.model.params.LocationInfoParam; -import cn.stylefeng.guns.modular.bs.locationInfo.model.result.LocationInfoResult; -import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.result.MaterialTraceabilityResult; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.params.RepairManageInfoParam; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.result.RepairManageInfoResult; -import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService; -import cn.stylefeng.guns.modular.sc.serialNumbersConf.model.params.SerialNumbersConfParam; -import cn.stylefeng.guns.modular.sc.serialNumbersConf.model.result.SerialNumbersConfResult; -import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import cn.stylefeng.guns.plcserver.opc.unit.qrCode; -import cn.stylefeng.guns.plcserver.server.BOP010.BOP010ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; - -import java.util.Date; -import java.util.List; -import java.util.Random; - - -public class BOP010ServerInterfaceImpl implements BOP010ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(BOP010ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "BOP";//浜х嚎鍙� - private static String LOCATION_CODE = "BOP010";//宸ヤ綅鍙� - private static String GROUP_NAME = "BOP010_P";//宸ヤ綅鍙� - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if (value.equals("false")) { - OPCUnit.write(opc.getBOP010_F_HEART_BEAT(), "true"); - GlobalVariable.BOP010_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.BOP010_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /*String isHeartBeat = OPCUnit.read(opc.getBOP010_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.BOP010_F_HEART_BEAT) { - - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getBOP010_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - - String isFinish = OPCUnit.read(opc.getBOP010_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - - if(isFinish.equals("false")){ - String isRepair = OPCUnit.read(opc.getBOP010_P_REPAIR());//鏄惁杩斾慨 - if(isRepair.equals("true")){ - handleRepair(); - }else{ - handleOrder(); - } - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getBOP010_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getBOP010_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleMaterial(); - } - } - - - }else{ - logger.info("BOP010宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - public void handleRepair() { - RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam(); - repairManageInfoParam.setLocationCode(LOCATION_CODE); - repairManageInfoParam.setManageType("2"); - repairManageInfoParam.setUpPlc("0"); - RepairManageInfoService repairManageInfoService = opc.repairManageInfoService; - List<RepairManageInfoResult> list = repairManageInfoService.findListBySpec(repairManageInfoParam); - if(list.size()>0) { - RepairManageInfoResult result = list.get(0); - - //鑷姩鐢熸垚鍞竴鐮� - Random random = new Random(System.currentTimeMillis()); - S_SFC_CODE = "BOP" + random.nextLong(); - - - S_ORDER_CODE = result.getWorkOrderNo(); - S_PRODUCT_CODE = result.getProductCode(); - S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE); - String repairLocation = result.getPoorLocationCode();// - - //鏍规嵁宸ヤ綅缂栫爜鏌ヨ宸ヤ綅琛ㄤ腑閰嶇疆鐨勮繑淇伐浣嶅彿 - LocationInfoParam param = new LocationInfoParam(); - param.setLocationCode(repairLocation); - LocationInfoService locationInfoService = opc.locationInfoService; - List<LocationInfoResult> results = locationInfoService.findListBySpec(param); - if(results.size()>0) { - LocationInfoResult r = results.get(0); - String repairLocationNo = r.getSpareField2(); - if(null != repairLocationNo && "" != repairLocationNo){ - OPCUnit.write(opc.getBOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿 - OPCUnit.write(opc.getBOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧缂栧彿 - OPCUnit.write(opc.getBOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜 - OPCUnit.write(opc.getBOP010_P_REPAIR_LOCATION(), repairLocationNo); //杩斾慨宸ヤ綅鍙� - OPCUnit.write(opc.getBOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚 - - //鏇存柊涓哄凡缁忚繑淇笂绾� - Long id = result.getId(); - repairManageInfoParam.setId(id); - repairManageInfoParam.setUpPlc("1"); - repairManageInfoService.update(repairManageInfoParam); - - }else{ - logger.info("BOP010宸ヤ綅,handleRepair 璇锋煡璇�"+repairLocation+"宸ヤ綅鏄惁閰嶇疆杩斾慨宸ヤ綅鍙凤紒"); - } - }else{ - logger.info("BOP010宸ヤ綅,handleRepair 鏃犳硶鏌ヨ鍒�"+repairLocation+"宸ヤ綅锛�"); - } - } - } - //PC涓嬪彂宸ュ崟 - public void handleOrder() { - - IN_TIME = DateTool.getLocalTimeForDate(); - ProductionOrdeInfoParam param = new ProductionOrdeInfoParam(); - param.setProductionLine("");//浜х嚎 - param.setOrderStatus("3");//宸ュ崟鐘舵�� - - ProductionOrdeInfoService productionOrdeInfoService = opc.productionOrdeInfoService; - List<ProductionOrdeInfoResult> list = productionOrdeInfoService.findListBySpec(param); - - if(list.size()>0) { - ProductionOrdeInfoResult result = list.get(0); - - S_ORDER_CODE = result.getWorkOrderNo(); - S_PRODUCT_CODE = result.getMaterialCode(); - S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE); - - //鑷姩鐢熸垚鍞竴鐮� - Random random = new Random(System.currentTimeMillis()); - S_SFC_CODE = "BOP" + random.nextLong(); - - - OPCUnit.write(opc.getBOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿 - OPCUnit.write(opc.getBOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧绫诲瀷 - OPCUnit.write(opc.getBOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜 - // OPCUnit.write(opc.getBOP010_S_RIGHT_CODE(), S_RIGHT_CODE); //鍙冲3浣撶紪鐮� - OPCUnit.write(opc.getBOP010_S_NUMBER(), result.getPlanQty().toString()); //璁″垝鏁伴噺 - - OPCUnit.write(opc.getBOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚 - logger.info("BOP010宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�2"); - }else{ - logger.info("BOP010宸ヤ綅娌℃湁鍙墽琛岀殑宸ュ崟,璇疯仈绯诲伐鍗曠鐞嗗憳涓嬪彂璇ヤ骇绾跨殑宸ュ崟锛�"); - } - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC瀹屾垚 - public void handleFinsh() { - - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getBOP010_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP010_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getBOP010_S_SFC_CODE());//鎬绘垚缂栫爜 - } - - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getBOP010_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - //鍐欏畬鎴� - OPCUnit.write(opc.getBOP010_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("BOP010宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/BOP020ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/BOP020ServerInterface.java deleted file mode 100644 index c42bf6d..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/BOP020ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP020; - -public interface BOP020ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_F_HEART_BEAT.java deleted file mode 100644 index 7f95220..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP020_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getBOP020_F_HEART_BEAT(), "true"); - GlobalVariable.BOP020_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.BOP020_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_FINISH.java deleted file mode 100644 index 031d6a0..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP020_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP020_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_READ_INFO.java deleted file mode 100644 index fc8b21d..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP020_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP020_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_WRITE_ORDER.java deleted file mode 100644 index b9fac05..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP020_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP020_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_FINISH.java deleted file mode 100644 index 35d19e9..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP020_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP020_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_START.java deleted file mode 100644 index cb1cb23..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP020_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP020_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_WRITE_INFO.java deleted file mode 100644 index 3ee15c3..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP020_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP020_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/impl/BOP020ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/impl/BOP020ServerInterfaceImpl.java deleted file mode 100644 index 4f4374c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/impl/BOP020ServerInterfaceImpl.java +++ /dev/null @@ -1,244 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP020.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.BOP020.BOP020ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class BOP020ServerInterfaceImpl implements BOP020ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(BOP020ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "BOP";//浜х嚎鍙� - private static String LOCATION_CODE = "BOP020";//宸ヤ綅鍙� - private static String GROUP_NAME = "BOP020_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if (value.equals("false")) { - OPCUnit.write(opc.getBOP020_F_HEART_BEAT(), "true"); - GlobalVariable.BOP020_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.BOP020_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /*String isHeartBeat = OPCUnit.read(opc.getBOP020_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.BOP020_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getBOP020_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getBOP020_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getBOP020_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getBOP020_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - - - } - } - - }else{ - logger.info("BOP020宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getBOP020_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP020_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getBOP020_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getBOP020_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("BOP020宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("BOP020宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("BOP020宸ヤ綅,handleInfo END锛�"); - } - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getBOP020_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP020_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getBOP020_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getBOP020_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getBOP020_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("BOP020宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/BOP030ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/BOP030ServerInterface.java deleted file mode 100644 index 2068336..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/BOP030ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP030; - -public interface BOP030ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_F_HEART_BEAT.java deleted file mode 100644 index 0c23838..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP030_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getBOP030_F_HEART_BEAT(), "true"); - GlobalVariable.BOP030_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.BOP030_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_FINISH.java deleted file mode 100644 index f0a4798..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP030_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP030_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_READ_INFO.java deleted file mode 100644 index bca7b2a..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP030_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP030_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_WRITE_ORDER.java deleted file mode 100644 index bf6d6f8..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP030_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP030_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_FINISH.java deleted file mode 100644 index 37a2d18..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP030_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP030_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_START.java deleted file mode 100644 index f6364b8..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP030_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP030_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_WRITE_INFO.java deleted file mode 100644 index beee4d7..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP030_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP030_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/impl/BOP030ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/impl/BOP030ServerInterfaceImpl.java deleted file mode 100644 index 413e49c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/impl/BOP030ServerInterfaceImpl.java +++ /dev/null @@ -1,278 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP030.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.gm.greaseManage.model.params.GreaseManageParam; -import cn.stylefeng.guns.modular.gm.greaseManage.model.result.GreaseManageResult; -import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.BOP030.BOP030ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.text.SimpleDateFormat; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; -import java.time.temporal.ChronoUnit; -import java.util.Date; -import java.util.List; - - -public class BOP030ServerInterfaceImpl implements BOP030ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(BOP030ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "BOP";//浜х嚎鍙� - private static String LOCATION_CODE = "BOP030";//宸ヤ綅鍙� - private static String GROUP_NAME = "BOP030_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if (value.equals("false")) { - OPCUnit.write(opc.getBOP030_F_HEART_BEAT(), "true"); - GlobalVariable.BOP030_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.BOP030_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getBOP030_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.BOP030_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getBOP030_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getBOP030_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getBOP030_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getBOP030_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - } - } - handleOilState(); - }else{ - logger.info("BOP030宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - public void handleOilState(){ - GreaseManageParam param = new GreaseManageParam(); - GreaseManageService greaseManageService = opc.greaseManageService; - param.setLocationCode(LOCATION_CODE); - List<GreaseManageResult> list = greaseManageService.findListBySpec(param); - if(list.size()>0) { - String duaDate = list.get(0).getDuaDate(); - - SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); - String currentDate = format.format(new Date()); - long daysBetween = getRemainder(currentDate,duaDate); - if(daysBetween>0){ - OPCUnit.write(opc.getBOP030_OIL_STATE(), "false"); //鍐欐补鑴傜姸鎬� - }else{ - OPCUnit.write(opc.getBOP030_OIL_STATE(), "true"); //鍐欐补鑴傜姸鎬� - } - //logger.info("鍒版湡鏃ユ湡锛�"+duaDate+"褰撳墠鏃ユ湡锛�"+currentDate+"鍓╀綑澶╂暟锛氾細"+daysBetween); - } - } - - public static long getRemainder(String currentDate,String tableDate){ - DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd"); - LocalDate localDate1 = LocalDate.parse(currentDate, dateFormatter); - LocalDate localDate2 = LocalDate.parse(tableDate, dateFormatter); - long days = ChronoUnit.DAYS.between(localDate1, localDate2); - return days; - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getBOP030_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP030_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getBOP030_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getBOP030_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("BOP030宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("BOP030宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("BOP030宸ヤ綅,handleInfo END锛�"); - } - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getBOP030_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP030_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getBOP030_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getBOP030_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getBOP030_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("BOP030宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/BOP030BServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/BOP030BServerInterface.java deleted file mode 100644 index db2bed1..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/BOP030BServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP030B; - -public interface BOP030BServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/callback/DataCallBack_BOP030B_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/callback/DataCallBack_BOP030B_F_HEART_BEAT.java deleted file mode 100644 index 8ea42e5..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/callback/DataCallBack_BOP030B_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP030B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP030B_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getBOP030B_F_HEART_BEAT(), "true"); - GlobalVariable.BOP030B_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.BOP030B_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/impl/BOP030BServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/impl/BOP030BServerInterfaceImpl.java deleted file mode 100644 index 930f273..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/impl/BOP030BServerInterfaceImpl.java +++ /dev/null @@ -1,202 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP030B.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import cn.stylefeng.guns.plcserver.server.BOP030.BOP030ServerInterface; -import cn.stylefeng.guns.plcserver.server.BOP030B.BOP030BServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class BOP030BServerInterfaceImpl implements BOP030BServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(BOP030BServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "BOP";//浜х嚎鍙� - private static String LOCATION_CODE = "BOP030B";//宸ヤ綅鍙� - private static String GROUP_NAME = "BOP030B_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if (value.equals("false")) { - OPCUnit.write(opc.getBOP030B_F_HEART_BEAT(), "true"); - GlobalVariable.BOP030B_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.BOP030B_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getBOP030B_F_HEART_BEAT()); - assert isHeartBeat != null; - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.BOP030B_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getBOP030B_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getBOP030B_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getBOP030B_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getBOP030B_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - } - } - - }else{ - logger.info("BOP030B宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getBOP030B_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP030B_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getBOP030B_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getBOP030B_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("BOP030B宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("BOP030B宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("BOP030B宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getBOP030B_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP030B_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getBOP030B_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getBOP030B_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getBOP030B_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("BOP030B宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/BOP040ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/BOP040ServerInterface.java deleted file mode 100644 index 105495f..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/BOP040ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP040; - -public interface BOP040ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_F_HEART_BEAT.java deleted file mode 100644 index fca0790..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP040_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getBOP040_F_HEART_BEAT(), "true"); - GlobalVariable.BOP040_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.BOP040_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_FINISH.java deleted file mode 100644 index c862a6c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP040_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP040_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_READ_INFO.java deleted file mode 100644 index 3aa4714..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP040_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP040_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_WRITE_ORDER.java deleted file mode 100644 index 358ccb8..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP040_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP040_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_FINISH.java deleted file mode 100644 index 3c849b4..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP040_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP040_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_START.java deleted file mode 100644 index a5daa18..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP040_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP040_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_WRITE_INFO.java deleted file mode 100644 index 1880208..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP040_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.BOP040_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/impl/BOP040ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/impl/BOP040ServerInterfaceImpl.java deleted file mode 100644 index 05277f8..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/impl/BOP040ServerInterfaceImpl.java +++ /dev/null @@ -1,243 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP040.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.BOP040.BOP040ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class BOP040ServerInterfaceImpl implements BOP040ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(BOP040ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "BOP";//浜х嚎鍙� - private static String LOCATION_CODE = "BOP040";//宸ヤ綅鍙� - private static String GROUP_NAME = "BOP040_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if (value.equals("false")) { - OPCUnit.write(opc.getBOP040_F_HEART_BEAT(), "true"); - GlobalVariable.BOP040_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.BOP040_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getBOP040_F_HEART_BEAT()); - assert isHeartBeat != null; - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.BOP040_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getBOP040_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getBOP040_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getBOP040_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getBOP040_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - } - } - - }else{ - logger.info("BOP040宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getBOP040_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP040_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getBOP040_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getBOP040_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("BOP040宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("BOP040宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("BOP040宸ヤ綅,handleInfo END锛�"); - } - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getBOP040_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP040_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getBOP040_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getBOP040_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getBOP040_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("BOP040宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/BOP040BServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/BOP040BServerInterface.java deleted file mode 100644 index 06a513d..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/BOP040BServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP040B; - -public interface BOP040BServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/callback/DataCallBack_BOP040B_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/callback/DataCallBack_BOP040B_F_HEART_BEAT.java deleted file mode 100644 index 46cb9c5..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/callback/DataCallBack_BOP040B_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP040B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_BOP040B_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getBOP040B_F_HEART_BEAT(), "true"); - GlobalVariable.BOP040B_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.BOP040B_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/impl/BOP040BServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/impl/BOP040BServerInterfaceImpl.java deleted file mode 100644 index 5ceef9b..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/impl/BOP040BServerInterfaceImpl.java +++ /dev/null @@ -1,202 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.BOP040B.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import cn.stylefeng.guns.plcserver.server.BOP040.BOP040ServerInterface; -import cn.stylefeng.guns.plcserver.server.BOP040B.BOP040BServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class BOP040BServerInterfaceImpl implements BOP040BServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(BOP040BServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "BOP";//浜х嚎鍙� - private static String LOCATION_CODE = "BOP040B";//宸ヤ綅鍙� - private static String GROUP_NAME = "BOP040B_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if (value.equals("false")) { - OPCUnit.write(opc.getBOP040B_F_HEART_BEAT(), "true"); - GlobalVariable.BOP040B_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.BOP040B_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getBOP040B_F_HEART_BEAT()); - assert isHeartBeat != null; - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.BOP040B_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getBOP040B_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getBOP040B_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getBOP040B_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getBOP040B_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - } - } - - }else{ - logger.info("BOP040B宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getBOP040B_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP040B_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getBOP040B_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getBOP040B_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("BOP040B宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("BOP040B宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("BOP040B宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getBOP040B_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP040B_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getBOP040B_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getBOP040B_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getBOP040B_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("BOP040B宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/COP010ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/COP010ServerInterface.java deleted file mode 100644 index 29a9b0e..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/COP010ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP010; - -public interface COP010ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_F_HEART_BEAT.java deleted file mode 100644 index 337e1a5..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP010_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getCOP010_F_HEART_BEAT(), "true"); - GlobalVariable.COP010_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.COP010_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_FINISH.java deleted file mode 100644 index d0f5d30..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP010_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP010_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_READ_INFO.java deleted file mode 100644 index 2425334..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP010_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP010_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_WRITE_ORDER.java deleted file mode 100644 index c3c44f1..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP010_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP010_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_FINISH.java deleted file mode 100644 index c46d70f..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP010_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP010_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_START.java deleted file mode 100644 index 3173f6c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP010_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP010_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_WRITE_INFO.java deleted file mode 100644 index 34adf03..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP010_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP010_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/impl/COP010ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/impl/COP010ServerInterfaceImpl.java deleted file mode 100644 index 42ffd9b..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/impl/COP010ServerInterfaceImpl.java +++ /dev/null @@ -1,281 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP010.impl; - - -import cn.stylefeng.guns.modular.bs.locationInfo.model.params.LocationInfoParam; -import cn.stylefeng.guns.modular.bs.locationInfo.model.result.LocationInfoResult; -import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.params.RepairManageInfoParam; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.result.RepairManageInfoResult; -import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService; -import cn.stylefeng.guns.modular.sc.serialNumbersConf.model.params.SerialNumbersConfParam; -import cn.stylefeng.guns.modular.sc.serialNumbersConf.model.result.SerialNumbersConfResult; -import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import cn.stylefeng.guns.plcserver.opc.unit.qrCode; -import cn.stylefeng.guns.plcserver.server.COP010.COP010ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; - -import java.util.Date; -import java.util.List; -import java.util.Random; - - -public class COP010ServerInterfaceImpl implements COP010ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(COP010ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "COP";//浜х嚎鍙� - private static String LOCATION_CODE = "COP010";//宸ヤ綅鍙� - private static String GROUP_NAME = "COP010_P";//宸ヤ綅鍙� - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getCOP010_F_HEART_BEAT(), "true"); - GlobalVariable.COP010_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.COP010_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getCOP010_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - - if(GlobalVariable.COP010_F_HEART_BEAT) { - - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getCOP010_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getCOP010_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - String isRepair = OPCUnit.read(opc.getCOP010_P_REPAIR());//鏄惁杩斾慨 - if(isRepair.equals("true")){ - handleRepair(); - }else{ - handleOrder(); - } - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getCOP010_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getCOP010_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleMaterial(); - } - } - - - }else{ - logger.info("COP010宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - public void handleRepair() { - RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam(); - repairManageInfoParam.setLocationCode(LOCATION_CODE); - repairManageInfoParam.setManageType("2"); - repairManageInfoParam.setUpPlc("0"); - RepairManageInfoService repairManageInfoService = opc.repairManageInfoService; - List<RepairManageInfoResult> list = repairManageInfoService.findListBySpec(repairManageInfoParam); - if(list.size()>0) { - RepairManageInfoResult result = list.get(0); - - //鑷姩鐢熸垚鍞竴鐮� - Random random = new Random(System.currentTimeMillis()); - S_SFC_CODE = "COP" + random.nextLong(); - - - S_ORDER_CODE = result.getWorkOrderNo(); - S_PRODUCT_CODE = result.getProductCode(); - S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE); - String repairLocation = result.getPoorLocationCode();// - - //鏍规嵁宸ヤ綅缂栫爜鏌ヨ宸ヤ綅琛ㄤ腑閰嶇疆鐨勮繑淇伐浣嶅彿 - LocationInfoParam param = new LocationInfoParam(); - param.setLocationCode(repairLocation); - LocationInfoService locationInfoService = opc.locationInfoService; - List<LocationInfoResult> results = locationInfoService.findListBySpec(param); - if(results.size()>0) { - LocationInfoResult r = results.get(0); - String repairLocationNo = r.getSpareField2(); - if(null != repairLocationNo && "" != repairLocationNo){ - OPCUnit.write(opc.getCOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿 - OPCUnit.write(opc.getCOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧缂栧彿 - OPCUnit.write(opc.getCOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜 - OPCUnit.write(opc.getCOP010_P_REPAIR_LOCATION(), repairLocationNo); //杩斾慨宸ヤ綅鍙� - OPCUnit.write(opc.getCOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚 - - //鏇存柊涓哄凡缁忚繑淇笂绾� - Long id = result.getId(); - repairManageInfoParam.setId(id); - repairManageInfoParam.setUpPlc("1"); - repairManageInfoService.update(repairManageInfoParam); - - }else{ - logger.info("COP010宸ヤ綅,handleRepair 璇锋煡璇�"+repairLocation+"宸ヤ綅鏄惁閰嶇疆杩斾慨宸ヤ綅鍙凤紒"); - } - }else{ - logger.info("COP010宸ヤ綅,handleRepair 鏃犳硶鏌ヨ鍒�"+repairLocation+"宸ヤ綅锛�"); - } - } - } - - //PC涓嬪彂宸ュ崟 - public void handleOrder() { - - IN_TIME = DateTool.getLocalTimeForDate(); - ProductionOrdeInfoParam param = new ProductionOrdeInfoParam(); - param.setProductionLine("");//浜х嚎 - param.setOrderStatus("3");//宸ュ崟鐘舵�� - - ProductionOrdeInfoService productionOrdeInfoService = opc.productionOrdeInfoService; - List<ProductionOrdeInfoResult> list = productionOrdeInfoService.findListBySpec(param); - - if(list.size()>0) { - ProductionOrdeInfoResult result = list.get(0); - - S_ORDER_CODE = result.getWorkOrderNo(); - S_PRODUCT_CODE = result.getMaterialCode(); - S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE); - - //鑷姩鐢熸垚鍞竴鐮� - Random random = new Random(System.currentTimeMillis()); - S_SFC_CODE = "COP"+ random.nextLong(); - - - OPCUnit.write(opc.getCOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿 - OPCUnit.write(opc.getCOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧绫诲瀷 - OPCUnit.write(opc.getCOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜 - // OPCUnit.write(opc.getCOP010_S_RIGHT_CODE(), S_RIGHT_CODE); //鍙冲3浣撶紪鐮� - OPCUnit.write(opc.getCOP010_S_NUMBER(), result.getPlanQty().toString()); //璁″垝鏁伴噺 - - OPCUnit.write(opc.getCOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚 - logger.info("COP010宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�2"); - }else{ - logger.info("COP010宸ヤ綅娌℃湁鍙墽琛岀殑宸ュ崟,璇疯仈绯诲伐鍗曠鐞嗗憳涓嬪彂璇ヤ骇绾跨殑宸ュ崟锛�"); - } - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getCOP010_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getCOP010_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getCOP010_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getCOP010_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - //鍐欏畬鎴� - OPCUnit.write(opc.getCOP010_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("COP010宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/COP020ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/COP020ServerInterface.java deleted file mode 100644 index 2c6c60b..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/COP020ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP020; - -public interface COP020ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_F_HEART_BEAT.java deleted file mode 100644 index 4b04334..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP020_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getCOP020_F_HEART_BEAT(), "true"); - GlobalVariable.COP020_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.COP020_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_FINISH.java deleted file mode 100644 index 5f25163..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP020_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP020_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_READ_INFO.java deleted file mode 100644 index b1e0c98..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP020_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP020_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_WRITE_ORDER.java deleted file mode 100644 index 0fe13d2..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP020_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP020_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_FINISH.java deleted file mode 100644 index 746c234..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP020_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP020_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_START.java deleted file mode 100644 index a1d8237..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP020_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP020_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_WRITE_INFO.java deleted file mode 100644 index b658187..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP020_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP020_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/impl/COP020ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/impl/COP020ServerInterfaceImpl.java deleted file mode 100644 index 9e7bc93..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/impl/COP020ServerInterfaceImpl.java +++ /dev/null @@ -1,241 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP020.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.COP020.COP020ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class COP020ServerInterfaceImpl implements COP020ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(COP020ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "COP";//浜х嚎鍙� - private static String LOCATION_CODE = "COP020";//宸ヤ綅鍙� - private static String GROUP_NAME = "COP020_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getCOP020_F_HEART_BEAT(), "true"); - GlobalVariable.COP020_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.COP020_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getCOP020_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.COP020_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getCOP020_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getCOP020_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getCOP020_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getCOP020_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - } - } - - }else{ - logger.info("COP020宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getCOP020_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getCOP020_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getCOP020_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getCOP020_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("COP020宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("COP020宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("COP020宸ヤ綅,handleInfo END锛�"); - } - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getCOP020_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getCOP020_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getCOP020_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getCOP020_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getCOP020_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("COP020宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/COP030ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/COP030ServerInterface.java deleted file mode 100644 index 2b3a4a5..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/COP030ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP030; - -public interface COP030ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_F_HEART_BEAT.java deleted file mode 100644 index 63c340c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP030_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getCOP030_F_HEART_BEAT(), "true"); - GlobalVariable.COP030_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.COP030_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_FINISH.java deleted file mode 100644 index 1cdeb5c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP030_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP030_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_READ_INFO.java deleted file mode 100644 index 40bf51b..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP030_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP030_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_WRITE_ORDER.java deleted file mode 100644 index 7af13ac..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP030_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP030_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_FINISH.java deleted file mode 100644 index 9ecf0f2..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP030_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP030_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_START.java deleted file mode 100644 index ab17f74..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP030_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP030_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_WRITE_INFO.java deleted file mode 100644 index 5145a3a..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_COP030_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.COP030_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/impl/COP030ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/impl/COP030ServerInterfaceImpl.java deleted file mode 100644 index 8600293..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/impl/COP030ServerInterfaceImpl.java +++ /dev/null @@ -1,240 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.COP030.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.COP030.COP030ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class COP030ServerInterfaceImpl implements COP030ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(COP030ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "COP";//浜х嚎鍙� - private static String LOCATION_CODE = "COP030";//宸ヤ綅鍙� - private static String GROUP_NAME = "COP030_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getCOP030_F_HEART_BEAT(), "true"); - GlobalVariable.COP030_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.COP030_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getCOP030_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.COP030_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getCOP030_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getCOP030_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getCOP030_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getCOP030_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - } - } - - }else{ - logger.info("COP030宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getCOP030_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getCOP030_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getCOP030_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getCOP030_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("COP030宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("COP030宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("COP030宸ヤ綅,handleInfo END锛�"); - } - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getCOP030_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getCOP030_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getCOP030_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getCOP030_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getCOP030_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("COP030宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/DOP010ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/DOP010ServerInterface.java deleted file mode 100644 index e734a2f..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/DOP010ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP010; - -public interface DOP010ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_F_HEART_BEAT.java deleted file mode 100644 index e0ca583..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_DOP010_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getDOP010_F_HEART_BEAT(), "true"); - GlobalVariable.DOP010_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.DOP010_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_FINISH.java deleted file mode 100644 index 4e83aa3..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_DOP010_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.DOP010_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_READ_INFO.java deleted file mode 100644 index 0bcb29b..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_DOP010_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.DOP010_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_WRITE_ORDER.java deleted file mode 100644 index f301fae..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_DOP010_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.DOP010_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_FINISH.java deleted file mode 100644 index 904a178..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_DOP010_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.DOP010_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_START.java deleted file mode 100644 index ae4cd7c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_DOP010_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.DOP010_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_WRITE_INFO.java deleted file mode 100644 index 4543fe5..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_DOP010_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.DOP010_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/impl/DOP010ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/impl/DOP010ServerInterfaceImpl.java deleted file mode 100644 index 814b5b1..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/impl/DOP010ServerInterfaceImpl.java +++ /dev/null @@ -1,298 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP010.impl; - - -import cn.stylefeng.guns.modular.bs.locationInfo.model.params.LocationInfoParam; -import cn.stylefeng.guns.modular.bs.locationInfo.model.result.LocationInfoResult; -import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.result.MaterialTraceabilityResult; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.params.RepairManageInfoParam; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.result.RepairManageInfoResult; -import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import cn.stylefeng.guns.plcserver.server.COP010.COP010ServerInterface; -import cn.stylefeng.guns.plcserver.server.DOP010.DOP010ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; - -import java.util.Date; -import java.util.List; -import java.util.Random; - - -public class DOP010ServerInterfaceImpl implements DOP010ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(DOP010ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� - private static String LOCATION_CODE = "DOP010";//宸ヤ綅鍙� - private static String GROUP_NAME = "DOP010_P";//宸ヤ綅鍙� - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getDOP010_F_HEART_BEAT(), "true"); - GlobalVariable.DOP010_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.DOP010_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getDOP010_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.DOP010_F_HEART_BEAT) { - - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getDOP010_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getDOP010_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - - if(isFinish.equals("false")){ - String isRepair = OPCUnit.read(opc.getDOP010_P_REPAIR());//鏄惁杩斾慨 - if(isRepair.equals("true")){ - handleRepair(); - }else{ - handleOrder(); - } - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getDOP010_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getDOP010_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleMaterial(); - } - } - - }else{ - logger.info("DOP010宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - public void handleRepair() { - RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam(); - repairManageInfoParam.setLocationCode(LOCATION_CODE); - repairManageInfoParam.setManageType("2"); - repairManageInfoParam.setUpPlc("0"); - RepairManageInfoService repairManageInfoService = opc.repairManageInfoService; - List<RepairManageInfoResult> list = repairManageInfoService.findListBySpec(repairManageInfoParam); - if(list.size()>0) { - RepairManageInfoResult result = list.get(0); - - S_SFC_CODE = result.getSfc(); - - //鏌ヨsfc缂栫爜 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setMaterialCode(result.getSfc()); - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - List<MaterialTraceabilityResult> materialTraceabilityResults = materialTraceabilityService.findListBySpec(materialTraceabilityParam); - if(materialTraceabilityResults.size()>0){ - MaterialTraceabilityResult materialTraceabilityResult = materialTraceabilityResults.get(0); - S_SFC_CODE = materialTraceabilityResult.getProductNo(); - } - - S_ORDER_CODE = result.getWorkOrderNo(); - S_PRODUCT_CODE = result.getProductCode(); - S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE); - String repairLocation = result.getPoorLocationCode();// - - //鏍规嵁宸ヤ綅缂栫爜鏌ヨ宸ヤ綅琛ㄤ腑閰嶇疆鐨勮繑淇伐浣嶅彿 - LocationInfoParam param = new LocationInfoParam(); - param.setLocationCode(repairLocation); - LocationInfoService locationInfoService = opc.locationInfoService; - List<LocationInfoResult> results = locationInfoService.findListBySpec(param); - if(results.size()>0) { - LocationInfoResult r = results.get(0); - String repairLocationNo = r.getSpareField2(); - if(null != repairLocationNo && "" != repairLocationNo){ - OPCUnit.write(opc.getDOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿 - OPCUnit.write(opc.getDOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧缂栧彿 - OPCUnit.write(opc.getDOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜 - OPCUnit.write(opc.getDOP010_P_REPAIR_LOCATION(), repairLocationNo); //杩斾慨宸ヤ綅鍙� - OPCUnit.write(opc.getDOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚 - - //鏇存柊涓哄凡缁忚繑淇笂绾� - Long id = result.getId(); - repairManageInfoParam.setId(id); - repairManageInfoParam.setUpPlc("1"); - repairManageInfoService.update(repairManageInfoParam); - - }else{ - logger.info("DOP010宸ヤ綅,handleRepair 璇锋煡璇�"+repairLocation+"宸ヤ綅鏄惁閰嶇疆杩斾慨宸ヤ綅鍙凤紒"); - } - }else{ - logger.info("DOP010宸ヤ綅,handleRepair 鏃犳硶鏌ヨ鍒�"+repairLocation+"宸ヤ綅锛�"); - } - } - } - - //PC涓嬪彂宸ュ崟 - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - ProductionOrdeInfoParam param = new ProductionOrdeInfoParam(); - param.setProductionLine("");//浜х嚎 - param.setOrderStatus("3");//宸ュ崟鐘舵�� - - ProductionOrdeInfoService productionOrdeInfoService = opc.productionOrdeInfoService; - List<ProductionOrdeInfoResult> list = productionOrdeInfoService.findListBySpec(param); - - if(list.size()>0) { - ProductionOrdeInfoResult result = list.get(0); - - S_ORDER_CODE = result.getWorkOrderNo(); - S_PRODUCT_CODE = result.getMaterialCode(); - - S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE); - - //ACTUAL_ONLINE_QTY = result.getActualOnlineQty(); - //S_SFC_CODE = qrCode.unitNoRetrospect(); - //S_RIGHT_CODE = qrCode.SerialNumbers; - - //鑷姩鐢熸垚鍞竴鐮� - Random random = new Random(System.currentTimeMillis()); - S_SFC_CODE = "EOP"+ random.nextLong(); - - - OPCUnit.write(opc.getDOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿 - OPCUnit.write(opc.getDOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧绫诲瀷 - OPCUnit.write(opc.getDOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜 - // OPCUnit.write(opc.getDOP010_S_RIGHT_CODE(), S_RIGHT_CODE); //鍙冲3浣撶紪鐮� - OPCUnit.write(opc.getDOP010_S_NUMBER(), result.getPlanQty().toString()); //璁″垝鏁伴噺 - OPCUnit.write(opc.getDOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚 - logger.info("DOP010宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - }else{ - logger.info("DOP010宸ヤ綅娌℃湁鍙墽琛岀殑宸ュ崟,璇疯仈绯诲伐鍗曠鐞嗗憳涓嬪彂璇ヤ骇绾跨殑宸ュ崟锛�"); - } - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - - //PC瀹屾垚 - public void handleFinsh() { - - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getDOP010_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getDOP010_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getDOP010_S_SFC_CODE());//鎬绘垚缂栫爜 - } - - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getDOP010_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - //涓婄嚎鏁伴噺鍔�1 鏍规嵁宸ュ崟鍙凤紝鏇存柊 ACTUAL_ONLINE_QTY +1 - /* ProductionOrdeInfoParam orderParam = new ProductionOrdeInfoParam(); - orderParam.setWorkOrderNo(S_ORDER_CODE); - orderParam.setActualOnlineQty(ACTUAL_ONLINE_QTY+1); - ProductionOrdeInfoService productionOrdeInfoService = opc.productionOrdeInfoService; - productionOrdeInfoService.updateOrderOnlineQry(orderParam);*/ - - //鍐欏畬鎴� - OPCUnit.write(opc.getDOP010_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("DOP010宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/DOP020ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/DOP020ServerInterface.java deleted file mode 100644 index 71569cc..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/DOP020ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP020; - -public interface DOP020ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_F_HEART_BEAT.java deleted file mode 100644 index 4fb9012..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_DOP020_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getDOP020_F_HEART_BEAT(), "true"); - GlobalVariable.DOP020_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.DOP020_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_FINISH.java deleted file mode 100644 index 7d34a06..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_DOP020_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.DOP020_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_READ_INFO.java deleted file mode 100644 index f00f09d..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_DOP020_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.DOP020_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_WRITE_ORDER.java deleted file mode 100644 index c2464ec..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_DOP020_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.DOP020_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_FINISH.java deleted file mode 100644 index e94ab9e..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_DOP020_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.DOP020_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_START.java deleted file mode 100644 index dfef504..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_DOP020_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.DOP020_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_WRITE_INFO.java deleted file mode 100644 index 8a8d11c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_DOP020_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.DOP020_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/impl/DOP020ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/impl/DOP020ServerInterfaceImpl.java deleted file mode 100644 index dd78843..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/impl/DOP020ServerInterfaceImpl.java +++ /dev/null @@ -1,276 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.DOP020.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.gm.greaseManage.model.params.GreaseManageParam; -import cn.stylefeng.guns.modular.gm.greaseManage.model.result.GreaseManageResult; -import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.DOP020.DOP020ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.text.SimpleDateFormat; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; -import java.time.temporal.ChronoUnit; -import java.util.Date; -import java.util.List; - - -public class DOP020ServerInterfaceImpl implements DOP020ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(DOP020ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� - private static String LOCATION_CODE = "DOP020";//宸ヤ綅鍙� - private static String GROUP_NAME = "DOP020_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getDOP020_F_HEART_BEAT(), "true"); - GlobalVariable.DOP020_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.DOP020_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getDOP020_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.DOP020_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getDOP020_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getDOP020_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getDOP020_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getDOP020_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - } - } - handleOilState(); - }else{ - logger.info("DOP020宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - public void handleOilState(){ - GreaseManageParam param = new GreaseManageParam(); - GreaseManageService greaseManageService = opc.greaseManageService; - param.setLocationCode(LOCATION_CODE); - List<GreaseManageResult> list = greaseManageService.findListBySpec(param); - if(list.size()>0) { - String duaDate = list.get(0).getDuaDate(); - - SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); - String currentDate = format.format(new Date()); - long daysBetween = getRemainder(currentDate,duaDate); - if(daysBetween>0){ - OPCUnit.write(opc.getDOP020_OIL_STATE(), "false"); //鍐欐补鑴傜姸鎬� - }else{ - OPCUnit.write(opc.getDOP020_OIL_STATE(), "true"); //鍐欐补鑴傜姸鎬� - } - //logger.info("鍒版湡鏃ユ湡锛�"+duaDate+"褰撳墠鏃ユ湡锛�"+currentDate+"鍓╀綑澶╂暟锛氾細"+daysBetween); - } - } - - public static long getRemainder(String currentDate,String tableDate){ - DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd"); - LocalDate localDate1 = LocalDate.parse(currentDate, dateFormatter); - LocalDate localDate2 = LocalDate.parse(tableDate, dateFormatter); - long days = ChronoUnit.DAYS.between(localDate1, localDate2); - return days; - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getDOP020_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getDOP020_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getDOP020_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getDOP020_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("DOP020宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("DOP020宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("DOP020宸ヤ綅,handleInfo END锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getDOP020_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getDOP020_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getDOP020_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getDOP020_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getDOP020_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("DOP020宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/EOP010ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/EOP010ServerInterface.java deleted file mode 100644 index 2485171..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/EOP010ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP010; - -public interface EOP010ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_F_HEART_BEAT.java deleted file mode 100644 index bb729b4..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP010_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getEOP010_F_HEART_BEAT(), "true"); - GlobalVariable.EOP010_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP010_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PC_FINISH.java deleted file mode 100644 index 32de374..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP010_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP010_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PC_WRITE_ORDER.java deleted file mode 100644 index d92ff88..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP010_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP010_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PLC_FINISH.java deleted file mode 100644 index 6234ae2..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP010_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP010_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PLC_START.java deleted file mode 100644 index 1aec23c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP010_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP010_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/impl/EOP010ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/impl/EOP010ServerInterfaceImpl.java deleted file mode 100644 index ba022d3..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/impl/EOP010ServerInterfaceImpl.java +++ /dev/null @@ -1,246 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP010.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.EOP010.EOP010ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class EOP010ServerInterfaceImpl implements EOP010ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(EOP010ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� - private static String LOCATION_CODE = "EOP010";//宸ヤ綅鍙� - private static String GROUP_NAME = "EOP010_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getEOP010_F_HEART_BEAT(), "true"); - GlobalVariable.EOP010_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP010_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getEOP010_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.EOP010_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getEOP010_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP010_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getEOP010_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP010_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - - } - } - - }else{ - logger.info("EOP010宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP010_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP010_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP010_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getEOP010_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("EOP010宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - - String materialCode = OPCUnit.read(opc.getEOP010_S_MATERIAL_CODE()); - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setMaterialCode(materialCode); - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityService.add(materialTraceabilityParam); - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - materialTraceabilityService.add(materialTraceabilityParam); - - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - - } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("EOP010宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("EOP010宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP010_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP010_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP010_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP010_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getEOP010_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("EOP010宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/EOP020ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/EOP020ServerInterface.java deleted file mode 100644 index 76c36e5..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/EOP020ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP020; - -public interface EOP020ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_F_HEART_BEAT.java deleted file mode 100644 index c9eb27c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP020_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getEOP020_F_HEART_BEAT(), "true"); - GlobalVariable.EOP020_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP020_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PC_FINISH.java deleted file mode 100644 index 0117fd1..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP020_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP020_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PC_WRITE_ORDER.java deleted file mode 100644 index 0a733c8..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP020_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP020_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PLC_FINISH.java deleted file mode 100644 index 9964c52..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP020_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP020_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PLC_START.java deleted file mode 100644 index 8eeaf18..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP020_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP020_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/impl/EOP020ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/impl/EOP020ServerInterfaceImpl.java deleted file mode 100644 index 9097f30..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/impl/EOP020ServerInterfaceImpl.java +++ /dev/null @@ -1,241 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP020.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.EOP020.EOP020ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class EOP020ServerInterfaceImpl implements EOP020ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(EOP020ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� - private static String LOCATION_CODE = "EOP020";//宸ヤ綅鍙� - private static String GROUP_NAME = "EOP020_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getEOP020_F_HEART_BEAT(), "true"); - GlobalVariable.EOP020_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP020_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getEOP020_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.EOP020_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getEOP020_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP020_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getEOP020_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP020_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - } - } - - }else{ - logger.info("EOP020宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP020_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP020_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP020_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getEOP020_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("EOP020宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("EOP020宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("EOP020宸ヤ綅,handleInfo END锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP020_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP020_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP020_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP020_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getEOP020_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("EOP020宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/EOP030ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/EOP030ServerInterface.java deleted file mode 100644 index d8761db..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/EOP030ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP030; - -public interface EOP030ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_F_HEART_BEAT.java deleted file mode 100644 index b369683..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP030_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getEOP030_F_HEART_BEAT(), "true"); - GlobalVariable.EOP030_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP030_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PC_FINISH.java deleted file mode 100644 index 81a85d5..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP030_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP030_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PC_WRITE_ORDER.java deleted file mode 100644 index d9246cf..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP030_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP030_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PLC_FINISH.java deleted file mode 100644 index 3e66a40..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP030_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP030_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PLC_START.java deleted file mode 100644 index 1e4e642..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP030_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP030_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/impl/EOP030ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/impl/EOP030ServerInterfaceImpl.java deleted file mode 100644 index 50976b8..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/impl/EOP030ServerInterfaceImpl.java +++ /dev/null @@ -1,247 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP030.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.gm.greaseManage.model.params.GreaseManageParam; -import cn.stylefeng.guns.modular.gm.greaseManage.model.result.GreaseManageResult; -import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.EOP030.EOP030ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.time.LocalDate; -import java.time.temporal.ChronoUnit; -import java.util.Date; -import java.util.List; - - -public class EOP030ServerInterfaceImpl implements EOP030ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(EOP030ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� - private static String LOCATION_CODE = "EOP030";//宸ヤ綅鍙� - private static String GROUP_NAME = "EOP030_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getEOP030_F_HEART_BEAT(), "true"); - GlobalVariable.EOP030_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP030_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getEOP030_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.EOP030_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getEOP030_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP030_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getEOP030_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP030_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - } - } - - }else{ - logger.info("EOP030宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP030_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP030_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP030_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getEOP030_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("EOP030宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("EOP030宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("EOP030宸ヤ綅,handleInfo END锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP030_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP030_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP030_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP030_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getEOP030_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("EOP030宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/EOP040ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/EOP040ServerInterface.java deleted file mode 100644 index b0325b0..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/EOP040ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP040; - -public interface EOP040ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_F_HEART_BEAT.java deleted file mode 100644 index ab1cc2b..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP040_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getEOP040_F_HEART_BEAT(), "true"); - GlobalVariable.EOP040_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP040_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PC_FINISH.java deleted file mode 100644 index b490e87..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP040_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP040_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PLC_FINISH.java deleted file mode 100644 index 21068de..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP040_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP040_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PLC_START.java deleted file mode 100644 index 14db2ae..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP040_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP040_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/impl/EOP040ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/impl/EOP040ServerInterfaceImpl.java deleted file mode 100644 index c1a9ee0..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/impl/EOP040ServerInterfaceImpl.java +++ /dev/null @@ -1,241 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP040.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.EOP040.EOP040ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class EOP040ServerInterfaceImpl implements EOP040ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(EOP040ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� - private static String LOCATION_CODE = "EOP040";//宸ヤ綅鍙� - private static String GROUP_NAME = "EOP040_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getEOP040_F_HEART_BEAT(), "true"); - GlobalVariable.EOP040_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP040_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getEOP040_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.EOP040_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getEOP040_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP040_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getEOP040_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP040_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - } - } - - }else{ - logger.info("EOP040宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP040_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP040_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP040_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getEOP040_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("EOP040宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("EOP040宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("EOP040宸ヤ綅,handleInfo END锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP040_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP040_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP040_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP040_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getEOP040_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("EOP040宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/EOP050ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/EOP050ServerInterface.java deleted file mode 100644 index b982681..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/EOP050ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP050; - -public interface EOP050ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_F_HEART_BEAT.java deleted file mode 100644 index 6a1f306..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP050.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP050_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getEOP050_F_HEART_BEAT(), "true"); - GlobalVariable.EOP050_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP050_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PC_FINISH.java deleted file mode 100644 index ae7ee89..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP050.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP050_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP050_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PC_WRITE_ORDER.java deleted file mode 100644 index fbec941..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP050.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP050_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP050_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PLC_FINISH.java deleted file mode 100644 index 4b9b390..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP050.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP050_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP050_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PLC_START.java deleted file mode 100644 index 9776143..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP050.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP050_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP050_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/impl/EOP050ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/impl/EOP050ServerInterfaceImpl.java deleted file mode 100644 index daf9ab1..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/impl/EOP050ServerInterfaceImpl.java +++ /dev/null @@ -1,242 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP050.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.EOP050.EOP050ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class EOP050ServerInterfaceImpl implements EOP050ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(EOP050ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� - private static String LOCATION_CODE = "EOP050";//宸ヤ綅鍙� - private static String GROUP_NAME = "EOP050_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getEOP050_F_HEART_BEAT(), "true"); - GlobalVariable.EOP050_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP050_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getEOP050_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.EOP050_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getEOP050_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP050_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getEOP050_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP050_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - } - } - - }else{ - logger.info("EOP050宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP050_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP050_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP050_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getEOP050_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("EOP050宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("EOP050宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("EOP050宸ヤ綅,handleInfo END锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP050_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP050_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP050_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP050_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getEOP050_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("EOP050宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/EOP060ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/EOP060ServerInterface.java deleted file mode 100644 index ff47456..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/EOP060ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP060; - -public interface EOP060ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_F_HEART_BEAT.java deleted file mode 100644 index e477ce4..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP060.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP060_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getEOP060_F_HEART_BEAT(), "true"); - GlobalVariable.EOP060_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP060_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PC_FINISH.java deleted file mode 100644 index 50c77d3..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP060.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP060_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP060_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PC_WRITE_ORDER.java deleted file mode 100644 index 3786478..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP060.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP060_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP060_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PLC_FINISH.java deleted file mode 100644 index 0191852..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP060.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP060_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP060_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PLC_START.java deleted file mode 100644 index 1c2ed89..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP060.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP060_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP060_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/impl/EOP060ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/impl/EOP060ServerInterfaceImpl.java deleted file mode 100644 index 36a16e2..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/impl/EOP060ServerInterfaceImpl.java +++ /dev/null @@ -1,312 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP060.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.bs.locationInfo.model.params.LocationInfoParam; -import cn.stylefeng.guns.modular.bs.locationInfo.model.result.LocationInfoResult; -import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.result.MaterialTraceabilityResult; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.params.RepairManageInfoParam; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.result.RepairManageInfoResult; -import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.EOP060.EOP060ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class EOP060ServerInterfaceImpl implements EOP060ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(EOP060ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� - private static String LOCATION_CODE = "EOP060";//宸ヤ綅鍙� - private static String GROUP_NAME = "EOP060_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getEOP060_F_HEART_BEAT(), "true"); - GlobalVariable.EOP060_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP060_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getEOP060_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.EOP060_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getEOP060_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP060_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - - if(isFinish.equals("false")){ - String isRepair = OPCUnit.read(opc.getEOP060_P_REPAIR());//鏄惁杩斾慨 - if(isRepair.equals("true")){ - handleRepair(); - }else{ - handleOrder(); - } - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getEOP060_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP060_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - } - } - - }else{ - logger.info("EOP060宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - public void handleRepair() { - RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam(); - repairManageInfoParam.setLocationCode(LOCATION_CODE); - repairManageInfoParam.setManageType("2"); - repairManageInfoParam.setUpPlc("0"); - RepairManageInfoService repairManageInfoService = opc.repairManageInfoService; - List<RepairManageInfoResult> list = repairManageInfoService.findListBySpec(repairManageInfoParam); - if(list.size()>0) { - RepairManageInfoResult result = list.get(0); - - S_SFC_CODE = result.getSfc(); - - //鏌ヨsfc缂栫爜 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setMaterialCode(result.getSfc()); - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - List<MaterialTraceabilityResult> materialTraceabilityResults = materialTraceabilityService.findListBySpec(materialTraceabilityParam); - if(materialTraceabilityResults.size()>0){ - MaterialTraceabilityResult materialTraceabilityResult = materialTraceabilityResults.get(0); - S_SFC_CODE = materialTraceabilityResult.getProductNo(); - } - - S_ORDER_CODE = result.getWorkOrderNo(); - S_PRODUCT_CODE = result.getProductCode(); - S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE); - String repairLocation = result.getPoorLocationCode();// - - //鏍规嵁宸ヤ綅缂栫爜鏌ヨ宸ヤ綅琛ㄤ腑閰嶇疆鐨勮繑淇伐浣嶅彿 - LocationInfoParam param = new LocationInfoParam(); - param.setLocationCode(repairLocation); - LocationInfoService locationInfoService = opc.locationInfoService; - List<LocationInfoResult> results = locationInfoService.findListBySpec(param); - if(results.size()>0) { - LocationInfoResult r = results.get(0); - String repairLocationNo = r.getSpareField2(); - if(null != repairLocationNo && "" != repairLocationNo){ - OPCUnit.write(opc.getEOP060_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿 - OPCUnit.write(opc.getEOP060_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧缂栧彿 - OPCUnit.write(opc.getEOP060_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜 - OPCUnit.write(opc.getEOP060_P_REPAIR_LOCATION(), repairLocationNo); //杩斾慨宸ヤ綅鍙� - OPCUnit.write(opc.getEOP060_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚 - - //鏇存柊涓哄凡缁忚繑淇笂绾� - Long id = result.getId(); - repairManageInfoParam.setId(id); - repairManageInfoParam.setUpPlc("1"); - repairManageInfoService.update(repairManageInfoParam); - - }else{ - logger.info("EOP060宸ヤ綅,handleRepair 璇锋煡璇�"+repairLocation+"宸ヤ綅鏄惁閰嶇疆杩斾慨宸ヤ綅鍙凤紒"); - } - }else{ - logger.info("EOP060宸ヤ綅,handleRepair 鏃犳硶鏌ヨ鍒�"+repairLocation+"宸ヤ綅锛�"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP060_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP060_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP060_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getEOP060_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("EOP060宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("EOP060宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("EOP060宸ヤ綅,handleInfo END锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP060_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP060_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP060_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP060_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getEOP060_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("EOP060宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/EOP070ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/EOP070ServerInterface.java deleted file mode 100644 index d8741b1..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/EOP070ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP070; - -public interface EOP070ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_F_HEART_BEAT.java deleted file mode 100644 index 7d95c06..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP070.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP070_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getEOP070_F_HEART_BEAT(), "true"); - GlobalVariable.EOP070_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP070_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PC_FINISH.java deleted file mode 100644 index f9bd24c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP070.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP070_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP070_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PC_WRITE_ORDER.java deleted file mode 100644 index 8e62f70..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP070.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP070_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP070_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PLC_FINISH.java deleted file mode 100644 index 53eed32..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP070.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP070_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP070_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PLC_START.java deleted file mode 100644 index 432f2ba..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP070.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP070_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP070_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/impl/EOP070ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/impl/EOP070ServerInterfaceImpl.java deleted file mode 100644 index 8cfe9bf..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/impl/EOP070ServerInterfaceImpl.java +++ /dev/null @@ -1,240 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP070.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.EOP070.EOP070ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class EOP070ServerInterfaceImpl implements EOP070ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(EOP070ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� - private static String LOCATION_CODE = "EOP070";//宸ヤ綅鍙� - private static String GROUP_NAME = "EOP070_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getEOP070_F_HEART_BEAT(), "true"); - GlobalVariable.EOP070_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP070_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getEOP070_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.EOP070_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getEOP070_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP070_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getEOP070_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP070_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - } - } - - }else{ - logger.info("EOP070宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP070_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP070_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP070_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getEOP070_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("EOP070宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("EOP070宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("EOP070宸ヤ綅,handleInfo END锛�"); - } - - public void handleMaterial() { - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP070_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP070_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP070_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP070_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getEOP070_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("EOP070宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/EOP070BServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/EOP070BServerInterface.java deleted file mode 100644 index ba94af5..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/EOP070BServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP070B; - -public interface EOP070BServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/callback/DataCallBack_EOP070B_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/callback/DataCallBack_EOP070B_F_HEART_BEAT.java deleted file mode 100644 index 87d81b2..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/callback/DataCallBack_EOP070B_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP070B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP070B_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getEOP070_F_HEART_BEAT(), "true"); - GlobalVariable.EOP070B_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP070B_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/impl/EOP070BServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/impl/EOP070BServerInterfaceImpl.java deleted file mode 100644 index cf6ef23..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/impl/EOP070BServerInterfaceImpl.java +++ /dev/null @@ -1,200 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP070B.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.EOP070B.EOP070BServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class EOP070BServerInterfaceImpl implements EOP070BServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(EOP070BServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� - private static String LOCATION_CODE = "EOP070B";//宸ヤ綅鍙� - private static String GROUP_NAME = "EOP070B_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getEOP070B_F_HEART_BEAT(), "true"); - GlobalVariable.EOP070B_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP070B_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getEOP070B_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.EOP070B_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getEOP070B_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP070B_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getEOP070B_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP070B_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - } - } - - }else{ - logger.info("EOP070B宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP070B_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP070B_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP070B_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getEOP070B_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("EOP070B宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("EOP070B宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("EOP070B宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP070B_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP070B_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP070B_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP070B_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getEOP070B_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("EOP070B宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/EOP080ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/EOP080ServerInterface.java deleted file mode 100644 index 984a9e0..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/EOP080ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP080; - -public interface EOP080ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_F_HEART_BEAT.java deleted file mode 100644 index e499b02..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP080.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP080_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getEOP080_F_HEART_BEAT(), "true"); - GlobalVariable.EOP080_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP080_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_FINISH.java deleted file mode 100644 index 43f400c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP080.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP080_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP080_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_READ_INFO.java deleted file mode 100644 index 61f662c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP080.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP080_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP080_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_WRITE_ORDER.java deleted file mode 100644 index 91f88dc..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP080.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP080_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP080_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_FINISH.java deleted file mode 100644 index 1f87ea8..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP080.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP080_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP080_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_START.java deleted file mode 100644 index b292ef7..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP080.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP080_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP080_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_WRITE_INFO.java deleted file mode 100644 index 3945de5..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP080.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP080_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP080_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/impl/EOP080ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/impl/EOP080ServerInterfaceImpl.java deleted file mode 100644 index d18fd54..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/impl/EOP080ServerInterfaceImpl.java +++ /dev/null @@ -1,239 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP080.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.EOP080.EOP080ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class EOP080ServerInterfaceImpl implements EOP080ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(EOP080ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� - private static String LOCATION_CODE = "EOP080";//宸ヤ綅鍙� - private static String GROUP_NAME = "EOP080_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getEOP080_F_HEART_BEAT(), "true"); - GlobalVariable.EOP080_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP080_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getEOP080_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.EOP080_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getEOP080_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP080_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getEOP080_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP080_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - } - } - - }else{ - logger.info("EOP080宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP080_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP080_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP080_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getEOP080_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("EOP080宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("EOP080宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("EOP080宸ヤ綅,handleInfo END锛�"); - } - - public void handleMaterial() { - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP080_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP080_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP080_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP080_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getEOP080_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("EOP080宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/EOP090ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/EOP090ServerInterface.java deleted file mode 100644 index aafd0bf..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/EOP090ServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090; - -public interface EOP090ServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_F_HEART_BEAT.java deleted file mode 100644 index 76a1318..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP090_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getEOP090_F_HEART_BEAT(), "true"); - GlobalVariable.EOP090_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP090_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_FINISH.java deleted file mode 100644 index bd3ae08..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP090_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP090_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_READ_INFO.java deleted file mode 100644 index deb2fcd..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP090_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP090_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_WRITE_ORDER.java deleted file mode 100644 index 5be85ed..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP090_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP090_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_FINISH.java deleted file mode 100644 index 2f1253c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP090_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP090_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_START.java deleted file mode 100644 index 1cb70dd..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP090_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP090_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_WRITE_INFO.java deleted file mode 100644 index 7acde15..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP090_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP090_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/impl/EOP090ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/impl/EOP090ServerInterfaceImpl.java deleted file mode 100644 index c5c3c52..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/impl/EOP090ServerInterfaceImpl.java +++ /dev/null @@ -1,240 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.EOP090.EOP090ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class EOP090ServerInterfaceImpl implements EOP090ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(EOP090ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� - private static String LOCATION_CODE = "EOP090";//宸ヤ綅鍙� - private static String GROUP_NAME = "EOP090_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getEOP090_F_HEART_BEAT(), "true"); - GlobalVariable.EOP090_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP090_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getEOP090_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.EOP090_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getEOP090_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP090_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getEOP090_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP090_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - handleMaterial(); - } - } - - }else{ - logger.info("EOP090宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP090_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP090_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP090_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getEOP090_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("EOP090宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("EOP090宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("EOP090宸ヤ綅,handleInfo END锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP090_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP090_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP090_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP090_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getEOP090_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("EOP090宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/EOP090BServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/EOP090BServerInterface.java deleted file mode 100644 index b6b2c58..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/EOP090BServerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090B; - -public interface EOP090BServerInterface { - public void monitor(); - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_F_HEART_BEAT.java deleted file mode 100644 index d814485..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP090B_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getEOP090B_F_HEART_BEAT(), "true"); - GlobalVariable.EOP090B_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP090B_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PC_FINISH.java deleted file mode 100644 index 4635c18..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP090B_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP090B_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PLC_FINISH.java deleted file mode 100644 index 3caab23..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP090B_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP090B_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PLC_START.java deleted file mode 100644 index 4c47610..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_EOP090B_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.EOP090B_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/impl/EOP090BServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/impl/EOP090BServerInterfaceImpl.java deleted file mode 100644 index cc9484c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/impl/EOP090BServerInterfaceImpl.java +++ /dev/null @@ -1,200 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.EOP090B.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.EOP090B.EOP090BServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class EOP090BServerInterfaceImpl implements EOP090BServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(EOP090BServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� - private static String LOCATION_CODE = "EOP090B";//宸ヤ綅鍙� - private static String GROUP_NAME = "EOP090B_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getEOP090B_F_HEART_BEAT(), "true"); - GlobalVariable.EOP090B_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.EOP090B_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - /* String isHeartBeat = OPCUnit.read(opc.getEOP090B_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.EOP090B_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getEOP090B_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP090B_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getEOP090B_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getEOP090B_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - } - } - - }else{ - logger.info("EOP090B宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP090B_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP090B_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP090B_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getEOP090B_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("EOP090B宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("EOP090B宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("EOP090B宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getEOP090B_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP090B_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getEOP090B_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP090B_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getEOP090B_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("EOP090B宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/OP010ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/OP010ServerInterface.java deleted file mode 100644 index 15327ea..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/OP010ServerInterface.java +++ /dev/null @@ -1,7 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP010; - -import lombok.Synchronized; - -public interface OP010ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_E_STATE.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_E_STATE.java deleted file mode 100644 index fd6571d..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_E_STATE.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP010.callback; - -import cn.stylefeng.guns.modular.em.equipmentAlarm.model.params.EquipmentAlarmParam; -import cn.stylefeng.guns.modular.em.equipmentAlarm.service.EquipmentAlarmService; -import cn.stylefeng.guns.modular.em.equipmentStatus.model.params.EquipmentStatusParam; -import cn.stylefeng.guns.modular.em.equipmentStatus.model.result.EquipmentStatusResult; -import cn.stylefeng.guns.modular.em.equipmentStatus.service.EquipmentStatusService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -import java.util.List; - -public class DataCallBack_OP010_E_STATE implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_I2) { - int value = itemState.getValue().getObjectAsShort(); - if(value != GlobalVariable.OP010_E_STATE){ - EquipmentStatusParam equipmentStatusParam = new EquipmentStatusParam(); - equipmentStatusParam.setLocationCode("OP010"); - - EquipmentStatusService equipmentStatusService = opc.equipmentStatusService; - List<EquipmentStatusResult> list = equipmentStatusService.findListBySpec(equipmentStatusParam); - if(list.size()>0){ - EquipmentStatusResult equipmentStatusResult = list.get(0); - equipmentStatusParam.setId(equipmentStatusResult.getId()); - equipmentStatusParam.setStatus(String.valueOf(value)); - equipmentStatusService.update(equipmentStatusParam); - GlobalVariable.OP010_E_STATE = value; - } - if(value == 3){ - EquipmentAlarmParam equipmentAlarmParam = new EquipmentAlarmParam(); - equipmentAlarmParam.setLocationCode("OP010"); - equipmentAlarmParam.setErrorDesc("璁惧鍛婅"); - equipmentAlarmParam.setAlarmTime(DateTool.getLocalTimeForDate()); - EquipmentAlarmService equipmentAlarmService = opc.equipmentAlarmService; - equipmentAlarmService.add(equipmentAlarmParam); - } - } - - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_F_HEART_BEAT.java deleted file mode 100644 index 80aa5f1..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP010_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP010_F_HEART_BEAT(), "true"); - GlobalVariable.OP010_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP010_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_FINISH.java deleted file mode 100644 index b2968b5..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP010_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP010_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_READ_INFO.java deleted file mode 100644 index 3919c46..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP010_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP010_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_WRITE_ORDER.java deleted file mode 100644 index 9670710..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP010_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP010_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_FINISH.java deleted file mode 100644 index 0c13966..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP010_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP010_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_START.java deleted file mode 100644 index e3b1214..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP010_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP010_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_WRITE_INFO.java deleted file mode 100644 index d29d4fc..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP010.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP010_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP010_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/impl/OP010ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/impl/OP010ServerInterfaceImpl.java deleted file mode 100644 index d26236e..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/impl/OP010ServerInterfaceImpl.java +++ /dev/null @@ -1,366 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP010.impl; - - -import cn.stylefeng.guns.GunsApplication; -import cn.stylefeng.guns.modular.bs.locationInfo.model.params.LocationInfoParam; -import cn.stylefeng.guns.modular.bs.locationInfo.model.result.LocationInfoResult; -import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.entity.ProductionOrdeInfo; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.params.RepairManageInfoParam; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.result.RepairManageInfoResult; -import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService; -import cn.stylefeng.guns.modular.sc.serialNumbersConf.model.params.SerialNumbersConfParam; -import cn.stylefeng.guns.modular.sc.serialNumbersConf.model.result.SerialNumbersConfResult; -import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import cn.stylefeng.guns.plcserver.opc.unit.SFCCodeTool; -import cn.stylefeng.guns.plcserver.server.OP010.OP010ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import cn.stylefeng.roses.core.util.ToolUtil; -import lombok.Synchronized; -import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; -import org.springframework.boot.SpringApplication; - -import java.util.Calendar; -import java.util.Date; -import java.util.List; - - - -public class OP010ServerInterfaceImpl implements OP010ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP010ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_SFC_CODE = "test222";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "test333";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP010";//宸ヤ綅鍙� - private static Date IN_TIME = null;//杩涚珯鏃堕棿 - - private static Integer ACTUAL_ONLINE_QTY = 0 ;//涓婄嚎鏁伴噺 - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP010_F_HEART_BEAT(), "true"); - GlobalVariable.OP010_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP010_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP010_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP010_F_HEART_BEAT) { - - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP010_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP010_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - - String isRepair = OPCUnit.read(opc.getOP010_P_REPAIR());//鏄惁杩斾慨 - if(isRepair.equals("true")){ - handleRepair(); - }else{ - handleOrder(); - } - - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP010_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP010_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - } - } - - }else{ - logger.info("OP010宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - public void handleRepair() { - RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam(); - repairManageInfoParam.setLocationCode(LOCATION_CODE); - repairManageInfoParam.setManageType("2"); - repairManageInfoParam.setUpPlc("0"); - RepairManageInfoService repairManageInfoService = opc.repairManageInfoService; - List<RepairManageInfoResult> list = repairManageInfoService.findListBySpec(repairManageInfoParam); - if(list.size()>0) { - RepairManageInfoResult result = list.get(0); - - S_SFC_CODE = result.getSfc(); - S_ORDER_CODE = result.getWorkOrderNo(); - S_PRODUCT_CODE = result.getProductCode(); - S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE); - String repairLocation = result.getPoorLocationCode();// - - //鏍规嵁宸ヤ綅缂栫爜鏌ヨ宸ヤ綅琛ㄤ腑閰嶇疆鐨勮繑淇伐浣嶅彿 - LocationInfoParam param = new LocationInfoParam(); - param.setLocationCode(repairLocation); - LocationInfoService locationInfoService = opc.locationInfoService; - List<LocationInfoResult> results = locationInfoService.findListBySpec(param); - if(results.size()>0) { - LocationInfoResult r = results.get(0); - String repairLocationNo = r.getSpareField2(); - if(null != repairLocationNo && "" != repairLocationNo){ - OPCUnit.write(opc.getOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿 - OPCUnit.write(opc.getOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧缂栧彿 - OPCUnit.write(opc.getOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP010_P_REPAIR_LOCATION(), repairLocationNo); //杩斾慨宸ヤ綅鍙� - OPCUnit.write(opc.getOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚 - - //鏇存柊涓哄凡缁忚繑淇笂绾� - Long id = result.getId(); - repairManageInfoParam.setId(id); - repairManageInfoParam.setUpPlc("1"); - repairManageInfoService.update(repairManageInfoParam); - - }else{ - logger.info("OP010宸ヤ綅,handleRepair 璇锋煡璇�"+repairLocation+"宸ヤ綅鏄惁閰嶇疆杩斾慨宸ヤ綅鍙凤紒"); - } - }else{ - logger.info("OP010宸ヤ綅,handleRepair 鏃犳硶鏌ヨ鍒�"+repairLocation+"宸ヤ綅锛�"); - } - - - - } - } - //PC涓嬪彂宸ュ崟 - public void handleOrder() { - - logger.info("OP010宸ヤ綅,handleOrder PC澶勭悊寮�濮嬶紒"); - IN_TIME = DateTool.getLocalTimeForDate(); - ProductionOrdeInfoParam param = new ProductionOrdeInfoParam(); - param.setProductionLine("");//浜х嚎 - param.setOrderStatus("3");//宸ュ崟鐘舵�� - - ProductionOrdeInfoService productionOrdeInfoService = opc.productionOrdeInfoService; - List<ProductionOrdeInfoResult> list = productionOrdeInfoService.findListBySpec(param); - - if(list.size()>0) { - ProductionOrdeInfoResult result = list.get(0); - - String customerCode = result.getCustom();//瀹㈡埛缂栫爜 - String productCode = result.getMaterialCode();//浜у搧缂栫爜 - String softwareVersionCode = result.getSoftwareVersionCode();//浜у搧鍨嬪彿 - String productCompanyCode = result.getProductCompanyCode();//鐝 - - //搴忓垪鍙� - String serialNumbers = "0000"; - SerialNumbersConfParam serialNumbersConfParam = new SerialNumbersConfParam(); - Calendar calendar = Calendar.getInstance(); - String Years = String.valueOf(calendar.get(Calendar.YEAR)); //骞翠唤 - String Months = StringUtils.leftPad(String.valueOf(calendar.get(Calendar.MONTH) + 1),2, "0"); //鏈堜唤 - String Dates = StringUtils.leftPad(String.valueOf(calendar.get(Calendar.DATE)),2, "0"); //鏃ユ湡 - serialNumbersConfParam.setYears(Years+Months+Dates);//鑾峰彇褰撳墠鏄摢涓�澶� - serialNumbersConfParam.setState("1"); - SerialNumbersConfService serialNumbersConfService = opc.serialNumbersConfService; - List<SerialNumbersConfResult> serialNumberslist = serialNumbersConfService.findListBySpec(serialNumbersConfParam); - if(serialNumberslist.size()>0){ - SerialNumbersConfResult serialNumbersConfResult = serialNumberslist.get(0); - serialNumbers = serialNumbersConfResult.getSerialNumber(); - serialNumbersConfParam.setId(serialNumbersConfResult.getId()); - }else{ - serialNumbersConfParam.setSerialNumber(serialNumbers); - serialNumbersConfParam.setLengths("4"); - serialNumbersConfService.add(serialNumbersConfParam); - List<SerialNumbersConfResult> serialNumberslist2 = serialNumbersConfService.findListBySpec(serialNumbersConfParam); - if(serialNumberslist2.size()>0){ - SerialNumbersConfResult serialNumbersConfResult = serialNumberslist2.get(0); - //serialNumbers = serialNumbersConfResult.getSerialNumber(); - serialNumbersConfParam.setId(serialNumbersConfResult.getId()); - } - //logger.info("搴忓垪鍙锋病鏈夐厤缃紝璇锋壘绠$悊鍛樿繘琛岄厤缃紒"); - } - - //鏇存柊搴忓垪鍙�+1 - int i = Integer.valueOf(serialNumbers)+1; - serialNumbers = StringUtils.leftPad(String.valueOf(i),4, "0"); - serialNumbersConfParam.setSerialNumber(serialNumbers); - serialNumbersConfService.update(serialNumbersConfParam); - - //鐢熸垚鎬绘垚缂栫爜 - String sfcCode = SFCCodeTool.createCodingRulesSFC(softwareVersionCode,productCompanyCode,serialNumbers);//鎬绘垚鍙� - S_SFC_CODE = sfcCode; - - S_ORDER_CODE = result.getWorkOrderNo(); - S_PRODUCT_CODE = result.getMaterialCode(); - S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE); - ACTUAL_ONLINE_QTY = result.getActualOnlineQty(); - - - //鏂板鎶ュ伐璁板綍 - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - productionOrderRecordsParam.setMaterialCode(S_PRODUCT_CODE); - productionOrderRecordsParam.setStartTime(DateTool.getLocalTimeForDate()); - productionOrderRecordsParam.setWhetherPass("true"); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - productionOrderRecordsService.add(productionOrderRecordsParam); - - - OPCUnit.write(opc.getOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿 - OPCUnit.write(opc.getOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧缂栧彿 - OPCUnit.write(opc.getOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜 - //OPCUnit.write(opc.getOP010_S_RIGHT_CODE(), S_RIGHT_CODE); //鍙冲3浣撶紪鐮� - OPCUnit.write(opc.getOP010_S_NUMBER(), result.getPlanQty().toString()); //璁″垝鏁伴噺 - OPCUnit.write(opc.getOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚 - logger.info("OP010宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛乛--------------------------------------------"); - }else{ - logger.info("OP010宸ヤ綅娌℃湁鍙墽琛岀殑宸ュ崟,璇疯仈绯诲伐鍗曠鐞嗗憳涓嬪彂璇ヤ骇绾跨殑宸ュ崟锛�"); - } - } - - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC瀹屾垚 - public void handleFinsh() { - logger.info("OP010宸ヤ綅,handleFinsh PC澶勭悊寮�濮嬶紒"); - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP010_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP010_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP010_S_SFC_CODE());//鎬绘垚缂栫爜 - } - - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP010_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - //澶勭悊杩囩珯淇℃伅 - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - //涓婄嚎鏁伴噺鍔�1 鏍规嵁宸ュ崟鍙凤紝鏇存柊 ACTUAL_ONLINE_QTY +1 - /* ProductionOrdeInfoParam orderParam = new ProductionOrdeInfoParam(); - orderParam.setWorkOrderNo(S_ORDER_CODE); - orderParam.setActualOnlineQty(ACTUAL_ONLINE_QTY+1); - ProductionOrdeInfoService productionOrdeInfoService = opc.productionOrdeInfoService; - productionOrdeInfoService.updateOrderOnlineQry(orderParam);*/ - //鍐欏畬鎴� - OPCUnit.write(opc.getOP010_J_PC_FINISH(), "true"); //PC瀹屾垚 - logger.info("OP010宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�-------------------------------"); - } - - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/OP020ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/OP020ServerInterface.java deleted file mode 100644 index 1c28fb8..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/OP020ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP020; - -public interface OP020ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_F_HEART_BEAT.java deleted file mode 100644 index f4ec5b9..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP020_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP020_F_HEART_BEAT(), "true"); - GlobalVariable.OP020_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP020_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_FINISH.java deleted file mode 100644 index bae34b5..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP020_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP020_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_READ_INFO.java deleted file mode 100644 index 4f8d256..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP020_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP020_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_WRITE_ORDER.java deleted file mode 100644 index 002298d..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP020_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP020_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_FINISH.java deleted file mode 100644 index 8648011..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP020_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP020_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_START.java deleted file mode 100644 index 7ec2126..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP020_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP020_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_WRITE_INFO.java deleted file mode 100644 index c88ffcd..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP020.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP020_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP020_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/impl/OP020ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/impl/OP020ServerInterfaceImpl.java deleted file mode 100644 index 4e1a1c1..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/impl/OP020ServerInterfaceImpl.java +++ /dev/null @@ -1,272 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP020.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP020.OP020ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP020ServerInterfaceImpl implements OP020ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP020ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP020";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP020_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP020_F_HEART_BEAT(), "true"); - GlobalVariable.OP020_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP020_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP020_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP020_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP020_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP020_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP020_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP020_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleInfo寮�濮嬫椂闂�:"+new Date()); - handleInfo(); - logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - } - } - - }else{ - logger.info("OP020宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP020_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP020_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP020_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP020_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP020宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - //productionOrderBatchInfoParam.setProductionLine((remainingQuantity-1)+""); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP020宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP020宸ヤ綅,handleInfo END锛�"); - } - - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP020_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP020_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP020_S_SFC_CODE());//鎬绘垚缂栫爜 - } - - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP020_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - //澶勭悊杩囩珯淇℃伅 - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getOP020_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP020宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/OP030ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/OP030ServerInterface.java deleted file mode 100644 index dbd6326..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/OP030ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP030; - -public interface OP030ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_F_HEART_BEAT.java deleted file mode 100644 index 97b5784..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP030_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP030_F_HEART_BEAT(), "true"); - GlobalVariable.OP030_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃10娆★紝涔熷氨鏄�5s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP030_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_FINISH.java deleted file mode 100644 index 1c2a9bd..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP030_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP030_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_READ_INFO.java deleted file mode 100644 index 79bebfc..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP030_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP030_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_WRITE_ORDER.java deleted file mode 100644 index 34d194a..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP030_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP030_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_FINISH.java deleted file mode 100644 index 29ad6ff..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP030_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP030_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_START.java deleted file mode 100644 index 38f6d7f..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP030_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP030_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_WRITE_INFO.java deleted file mode 100644 index 1ef98b8..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP030.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP030_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP030_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/impl/OP030ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/impl/OP030ServerInterfaceImpl.java deleted file mode 100644 index 83e0c14..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/impl/OP030ServerInterfaceImpl.java +++ /dev/null @@ -1,269 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP030.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP030.OP030ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP030ServerInterfaceImpl implements OP030ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP030ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP030";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP030_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP030_F_HEART_BEAT(), "true"); - GlobalVariable.OP030_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP030_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP030_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP030_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP030_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP030_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP030_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP030_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleInfo寮�濮嬫椂闂�:"+new Date()); - handleInfo(); - logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - } - } - - }else{ - logger.info("OP030宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP030_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP030_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP030_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP030_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP030宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP030宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP030宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP030_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP030_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP030_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP030_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getOP030_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP030宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/OP040ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/OP040ServerInterface.java deleted file mode 100644 index a33d43c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/OP040ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP040; - -public interface OP040ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_F_HEART_BEAT.java deleted file mode 100644 index f351144..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP040_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP040_F_HEART_BEAT(), "true"); - GlobalVariable.OP040_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP040_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_FINISH.java deleted file mode 100644 index f0cd271..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP040_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP040_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_READ_INFO.java deleted file mode 100644 index 1680048..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP040_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP040_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_WRITE_ORDER.java deleted file mode 100644 index 7e29381..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP040_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP040_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_FINISH.java deleted file mode 100644 index 429b854..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP040_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP040_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_START.java deleted file mode 100644 index d015ced..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP040_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP040_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_WRITE_INFO.java deleted file mode 100644 index ac9f814..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP040.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP040_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP040_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/impl/OP040ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/impl/OP040ServerInterfaceImpl.java deleted file mode 100644 index e074a75..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/impl/OP040ServerInterfaceImpl.java +++ /dev/null @@ -1,268 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP040.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP040.OP040ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP040ServerInterfaceImpl implements OP040ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP040ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP040";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP040_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP040_F_HEART_BEAT(), "true"); - GlobalVariable.OP040_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP040_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP040_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP040_F_HEART_BEAT) { - - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP040_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP040_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP040_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP040_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleInfo寮�濮嬫椂闂�:"+new Date()); - handleInfo(); - logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - } - } - - }else{ - logger.info("OP040宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP040_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP040_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP040_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP040_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP040宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP040宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP040宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP040_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP040_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP040_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP040_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getOP040_J_PC_FINISH(), "true"); //PC瀹屾垚 - - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/OP050ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/OP050ServerInterface.java deleted file mode 100644 index f2deabd..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/OP050ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP050; - -public interface OP050ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_F_HEART_BEAT.java deleted file mode 100644 index e6e4fe9..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP050.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP050_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP050_F_HEART_BEAT(), "true"); - GlobalVariable.OP050_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP050_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_FINISH.java deleted file mode 100644 index a57be93..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP050.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP050_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP050_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_READ_INFO.java deleted file mode 100644 index 62ceaf7..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP050.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP050_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP050_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_WRITE_ORDER.java deleted file mode 100644 index 8fa95c7..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP050.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP050_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP050_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_FINISH.java deleted file mode 100644 index aa164cf..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP050.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP050_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP050_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_START.java deleted file mode 100644 index 5f891f3..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP050.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP050_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP050_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_WRITE_INFO.java deleted file mode 100644 index 9df1979..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP050.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP050_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP050_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/impl/OP050ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/impl/OP050ServerInterfaceImpl.java deleted file mode 100644 index 9c6aeee..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/impl/OP050ServerInterfaceImpl.java +++ /dev/null @@ -1,347 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP050.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.result.PassingStationCollectionResult; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.gm.greaseManage.model.params.GreaseManageParam; -import cn.stylefeng.guns.modular.gm.greaseManage.model.result.GreaseManageResult; -import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP050.OP050ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.text.SimpleDateFormat; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; -import java.time.temporal.ChronoUnit; -import java.util.Date; -import java.util.List; - - -public class OP050ServerInterfaceImpl implements OP050ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP050ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP050";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP050_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP050_F_HEART_BEAT(), "true"); - GlobalVariable.OP050_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP050_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP050_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP050_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP050_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP050_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP050_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP050_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleInfo寮�濮嬫椂闂�:"+new Date()); - handleInfo(); - logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - } - } - - handleOilState(); - - }else{ - logger.info("OP050宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - - public void handleOilState(){ - GreaseManageParam param = new GreaseManageParam(); - GreaseManageService greaseManageService = opc.greaseManageService; - param.setLocationCode(LOCATION_CODE); - List<GreaseManageResult> list = greaseManageService.findListBySpec(param); - if(list.size()>0) { - String duaDate = list.get(0).getDuaDate(); - - SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); - String currentDate = format.format(new Date()); - long daysBetween = getRemainder(currentDate,duaDate); - if(daysBetween>0){ - OPCUnit.write(opc.getOP050_OIL_STATE(), "false"); //鍐欐补鑴傜姸鎬� - }else{ - OPCUnit.write(opc.getOP050_OIL_STATE(), "true"); //鍐欐补鑴傜姸鎬� - } - //logger.info("鍒版湡鏃ユ湡锛�"+duaDate+"褰撳墠鏃ユ湡锛�"+currentDate+"鍓╀綑澶╂暟锛氾細"+daysBetween); - } - } - - public static long getRemainder(String currentDate,String tableDate){ - DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd"); - LocalDate localDate1 = LocalDate.parse(currentDate, dateFormatter); - LocalDate localDate2 = LocalDate.parse(tableDate, dateFormatter); - long days = ChronoUnit.DAYS.between(localDate1, localDate2); - return days; - } - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP050_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP050_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP050_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP050_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP050宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP050宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP050宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP050_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP050_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP050_S_SFC_CODE());//鎬绘垚缂栫爜 - } - - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP050_S_PRODUCT_STATE_CODE()); - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - - - String copSfcCode = OPCUnit.read(opc.getOP050_S_SFC_CODE_COP());//COP鍒嗘�绘垚 - String bopSfcCode = OPCUnit.read(opc.getOP050_S_SFC_CODE_BOP());//BOP鍒嗘�绘垚 - - //鏍规嵁鍒嗘�绘垚缂栫爜锛屽皢EOP鐗╂枡鏁版嵁缁戝畾鍏崇郴淇敼涓烘�绘垚缂栫爜 - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.updateSFC(S_SFC_CODE,copSfcCode); - materialTraceabilityService.updateSFC(S_SFC_CODE,bopSfcCode); - - //鏍规嵁鍒嗘�绘垚缂栫爜锛屽皢EOP杩囩珯鏁版嵁缁戝畾鍏崇郴淇敼涓烘�绘垚缂栫爜 - passingStationCollectionService.updateSFC(S_SFC_CODE,copSfcCode); - passingStationCollectionService.updateSFC(S_SFC_CODE,bopSfcCode); - - - //鏍规嵁鍒嗘�绘垚缂栫爜锛屽皢EOP閲囬泦鏁版嵁缁戝畾鍏崇郴淇敼涓烘�绘垚缂栫爜 - ParamCollectionService paramCollectionService = opc.paramCollectionService; - paramCollectionService.updateSFC(S_SFC_CODE,copSfcCode); - paramCollectionService.updateSFC(S_SFC_CODE,bopSfcCode); - - logger.info("S_SFC_CODE:"+S_SFC_CODE); - logger.info("copSfcCode:"+copSfcCode); - logger.info("bopSfcCode:"+bopSfcCode); - - //鏌ヨCOP鍜孊OP鏄惁鍚堟牸 - PassingStationCollectionParam passingStationCollectionParam = new PassingStationCollectionParam(); - passingStationCollectionParam.setSfcCode(S_SFC_CODE); - List<PassingStationCollectionResult> passingStationCollectionResultList = - opc.passingStationCollectionService.findListBySpec(passingStationCollectionParam); - - String isProductState = "true"; - for(int i=0;i<passingStationCollectionResultList.size();i++){ - PassingStationCollectionResult passingStationCollectionResult = passingStationCollectionResultList.get(i); - if("false".equals(passingStationCollectionResult.getOutRsSign())){ - isProductState = "false"; - break; - } - } - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE) || "false".equals(isProductState)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass("false"); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - - OPCUnit.write(opc.getOP050_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP050宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/OP070ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/OP070ServerInterface.java deleted file mode 100644 index bc481c2..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/OP070ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP070; - -public interface OP070ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_F_HEART_BEAT.java deleted file mode 100644 index 0621828..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP070.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP070_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP070_F_HEART_BEAT(), "true"); - GlobalVariable.OP070_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP070_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_FINISH.java deleted file mode 100644 index 965b900..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP070.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP070_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP070_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_READ_INFO.java deleted file mode 100644 index 02c4138..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP070.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP070_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP070_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_WRITE_ORDER.java deleted file mode 100644 index 5a72c76..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP070.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP070_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP070_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_FINISH.java deleted file mode 100644 index 6215111..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP070.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP070_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP070_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_START.java deleted file mode 100644 index aa38fa8..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP070.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP070_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP070_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_WRITE_INFO.java deleted file mode 100644 index 8bcaa7f..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP070.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP070_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP070_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/impl/OP070ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/impl/OP070ServerInterfaceImpl.java deleted file mode 100644 index 8aa33b7..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/impl/OP070ServerInterfaceImpl.java +++ /dev/null @@ -1,268 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP070.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP070.OP070ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP070ServerInterfaceImpl implements OP070ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP070ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP070";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP070_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP070_F_HEART_BEAT(), "true"); - GlobalVariable.OP070_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP070_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /*String isHeartBeat = OPCUnit.read(opc.getOP070_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP070_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP070_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP070_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP070_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP070_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleInfo寮�濮嬫椂闂�:"+new Date()); - handleInfo(); - logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - } - } - - }else{ - logger.info("OP070宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP070_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP070_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP070_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP070_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP070宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP070宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP070宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP070_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP070_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP070_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP070_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getOP070_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP070宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/OP080ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/OP080ServerInterface.java deleted file mode 100644 index 9824857..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/OP080ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP080; - -public interface OP080ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_F_HEART_BEAT.java deleted file mode 100644 index b75cc44..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP080.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP080_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP080_F_HEART_BEAT(), "true"); - GlobalVariable.OP080_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP080_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_FINISH.java deleted file mode 100644 index 482ad3c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP080.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP080_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP080_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_READ_INFO.java deleted file mode 100644 index ed4a7bb..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP080.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP080_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP080_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_WRITE_ORDER.java deleted file mode 100644 index d547945..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP080.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP080_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP080_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_FINISH.java deleted file mode 100644 index a8e1f7f..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP080.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP080_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP080_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_START.java deleted file mode 100644 index f4e0438..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP080.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP080_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP080_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_WRITE_INFO.java deleted file mode 100644 index 3242e7a..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP080.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP080_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP080_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/impl/OP080ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/impl/OP080ServerInterfaceImpl.java deleted file mode 100644 index 334f2be..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/impl/OP080ServerInterfaceImpl.java +++ /dev/null @@ -1,328 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP080.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.bs.locationInfo.model.params.LocationInfoParam; -import cn.stylefeng.guns.modular.bs.locationInfo.model.result.LocationInfoResult; -import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.params.RepairManageInfoParam; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.result.RepairManageInfoResult; -import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP080.OP080ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP080ServerInterfaceImpl implements OP080ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP080ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP080";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP080_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP080_F_HEART_BEAT(), "true"); - GlobalVariable.OP080_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP080_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP080_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP080_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP080_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP080_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - - String isRepair = OPCUnit.read(opc.getOP080_P_REPAIR());//鏄惁杩斾慨 - if(isRepair.equals("true")){ - handleRepair(); - }else{ - handleOrder(); - } - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP080_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP080_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleInfo寮�濮嬫椂闂�:"+new Date()); - handleInfo(); - logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - } - } - - }else{ - logger.info("OP080宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - public void handleRepair() { - RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam(); - repairManageInfoParam.setLocationCode(LOCATION_CODE); - repairManageInfoParam.setManageType("2"); - repairManageInfoParam.setUpPlc("0"); - RepairManageInfoService repairManageInfoService = opc.repairManageInfoService; - List<RepairManageInfoResult> list = repairManageInfoService.findListBySpec(repairManageInfoParam); - if(list.size()>0) { - RepairManageInfoResult result = list.get(0); - - S_SFC_CODE = result.getSfc(); - S_ORDER_CODE = result.getWorkOrderNo(); - S_PRODUCT_CODE = result.getProductCode(); - S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE); - String repairLocation = result.getPoorLocationCode();// - - //鏍规嵁宸ヤ綅缂栫爜鏌ヨ宸ヤ綅琛ㄤ腑閰嶇疆鐨勮繑淇伐浣嶅彿 - LocationInfoParam param = new LocationInfoParam(); - param.setLocationCode(repairLocation); - LocationInfoService locationInfoService = opc.locationInfoService; - List<LocationInfoResult> results = locationInfoService.findListBySpec(param); - if(results.size()>0) { - LocationInfoResult r = results.get(0); - String repairLocationNo = r.getSpareField2(); - if(null != repairLocationNo && "" != repairLocationNo){ - OPCUnit.write(opc.getOP080_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿 - OPCUnit.write(opc.getOP080_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧缂栧彿 - OPCUnit.write(opc.getOP080_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP080_P_REPAIR_LOCATION(), repairLocationNo); //杩斾慨宸ヤ綅鍙� - OPCUnit.write(opc.getOP080_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚 - - //鏇存柊涓哄凡缁忚繑淇笂绾� - Long id = result.getId(); - repairManageInfoParam.setId(id); - repairManageInfoParam.setUpPlc("1"); - repairManageInfoService.update(repairManageInfoParam); - - }else{ - logger.info("OP080宸ヤ綅,handleRepair 璇锋煡璇�"+repairLocation+"宸ヤ綅鏄惁閰嶇疆杩斾慨宸ヤ綅鍙凤紒"); - } - }else{ - logger.info("OP080宸ヤ綅,handleRepair 鏃犳硶鏌ヨ鍒�"+repairLocation+"宸ヤ綅锛�"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP080_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP080_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP080_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP080_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP080宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP080宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP080宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP080_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP080_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP080_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP080_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getOP080_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP080宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/OP090ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/OP090ServerInterface.java deleted file mode 100644 index 1b46539..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/OP090ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP090; - -public interface OP090ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_F_HEART_BEAT.java deleted file mode 100644 index 4f8c17d..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP090.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP090_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP090_F_HEART_BEAT(), "true"); - GlobalVariable.OP090_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP090_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_FINISH.java deleted file mode 100644 index 304ae13..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP090.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP090_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP090_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_READ_INFO.java deleted file mode 100644 index cc15fe2..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP090.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP090_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP090_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_WRITE_ORDER.java deleted file mode 100644 index ab75682..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP090.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP090_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP090_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_FINISH.java deleted file mode 100644 index 2d0778e..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP090.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP090_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP090_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_START.java deleted file mode 100644 index d9a39ca..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP090.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP090_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP090_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_WRITE_INFO.java deleted file mode 100644 index bc45903..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP090.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP090_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP090_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/impl/OP090ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/impl/OP090ServerInterfaceImpl.java deleted file mode 100644 index ed5608c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/impl/OP090ServerInterfaceImpl.java +++ /dev/null @@ -1,299 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP090.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.result.PassingStationCollectionResult; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP090.OP090ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP090ServerInterfaceImpl implements OP090ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP090ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP090";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP090_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP090_F_HEART_BEAT(), "true"); - GlobalVariable.OP090_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP090_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP090_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP090_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP090_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP090_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP090_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP090_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleInfo寮�濮嬫椂闂�:"+new Date()); - handleInfo(); - logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - } - } - - }else{ - logger.info("OP090宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP090_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP090_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP090_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP090_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP090宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP090宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP090宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP090_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP090_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP090_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP090_S_PRODUCT_STATE_CODE()); - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - - String eopSfcCode = OPCUnit.read(opc.getOP090_S_SFC_CODE_EOP());//EOP鍒嗘�绘垚 - - //鏍规嵁鍒嗘�绘垚缂栫爜锛屽皢EOP鐗╂枡鏁版嵁缁戝畾鍏崇郴淇敼涓烘�绘垚缂栫爜 - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.updateSFC(S_SFC_CODE,eopSfcCode); - - //鏍规嵁鍒嗘�绘垚缂栫爜锛屽皢EOP杩囩珯鏁版嵁缁戝畾鍏崇郴淇敼涓烘�绘垚缂栫爜 - passingStationCollectionService.updateSFC(S_SFC_CODE,eopSfcCode); - - //鏍规嵁鍒嗘�绘垚缂栫爜锛屽皢EOP閲囬泦鏁版嵁缁戝畾鍏崇郴淇敼涓烘�绘垚缂栫爜 - ParamCollectionService paramCollectionService = opc.paramCollectionService; - paramCollectionService.updateSFC(S_SFC_CODE,eopSfcCode); - - logger.info("S_SFC_CODE:"+S_SFC_CODE); - logger.info("eopSfcCode:"+eopSfcCode); - - //鏌ヨCOP鍜孊OP鏄惁鍚堟牸 - PassingStationCollectionParam passingStationCollectionParam = new PassingStationCollectionParam(); - passingStationCollectionParam.setSfcCode(S_SFC_CODE); - List<PassingStationCollectionResult> passingStationCollectionResultList = - opc.passingStationCollectionService.findListBySpec(passingStationCollectionParam); - - String isProductState = "true"; - for(int i=0;i<passingStationCollectionResultList.size();i++){ - PassingStationCollectionResult passingStationCollectionResult = passingStationCollectionResultList.get(i); - if("false".equals(passingStationCollectionResult.getOutRsSign())){ - isProductState = "false"; - break; - } - } - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE) || "false".equals(isProductState)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass("false"); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - OPCUnit.write(opc.getOP090_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP090宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/OP100ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/OP100ServerInterface.java deleted file mode 100644 index 081d681..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/OP100ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP100; - -public interface OP100ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_F_HEART_BEAT.java deleted file mode 100644 index 11a5784..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP100.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP100_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP100_F_HEART_BEAT(), "true"); - GlobalVariable.OP100_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP100_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_FINISH.java deleted file mode 100644 index 48174d8..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP100.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP100_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP100_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_READ_INFO.java deleted file mode 100644 index f9b2989..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP100.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP100_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP100_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_WRITE_ORDER.java deleted file mode 100644 index 035aea6..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP100.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP100_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP100_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_FINISH.java deleted file mode 100644 index 3b02822..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP100.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP100_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP100_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_START.java deleted file mode 100644 index 72f5922..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP100.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP100_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP100_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_WRITE_INFO.java deleted file mode 100644 index 5faf9cd..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP100.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP100_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP100_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/impl/OP100ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/impl/OP100ServerInterfaceImpl.java deleted file mode 100644 index 21a62da..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/impl/OP100ServerInterfaceImpl.java +++ /dev/null @@ -1,273 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP100.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP100.OP100ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP100ServerInterfaceImpl implements OP100ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP100ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP100";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP100_P";//宸ヤ綅鍙� - private static List list = null; - private static Group group = null; - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP100_F_HEART_BEAT(), "true"); - GlobalVariable.OP100_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP100_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP100_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP100_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP100_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP100_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP100_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP100_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleInfo寮�濮嬫椂闂�:"+new Date()); - handleInfo(); - logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - } - } - - }else{ - logger.info("OP100宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP100_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP100_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP100_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP100_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP100宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP100_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP100_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP100_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 ){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP100宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP100宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP100_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP100_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP100_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP100_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getOP100_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP100宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/OP110ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/OP110ServerInterface.java deleted file mode 100644 index 246d71c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/OP110ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP110; - -public interface OP110ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_F_HEART_BEAT.java deleted file mode 100644 index 740f8d4..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP110.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP110_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP110_F_HEART_BEAT(), "true"); - GlobalVariable.OP110_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP110_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_FINISH.java deleted file mode 100644 index ef43d2f..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP110.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP110_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP110_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_READ_INFO.java deleted file mode 100644 index 75ce711..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP110.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP110_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP110_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_WRITE_ORDER.java deleted file mode 100644 index dc6ee3a..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP110.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP110_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP110_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_FINISH.java deleted file mode 100644 index 14a44cf..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP110.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP110_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP110_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_START.java deleted file mode 100644 index 834066d..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP110.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP110_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP110_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_WRITE_INFO.java deleted file mode 100644 index 5baed3b..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP110.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP110_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP110_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/impl/OP110ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/impl/OP110ServerInterfaceImpl.java deleted file mode 100644 index 43193e4..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/impl/OP110ServerInterfaceImpl.java +++ /dev/null @@ -1,267 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP110.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP110.OP110ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP110ServerInterfaceImpl implements OP110ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP110ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP110";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP110_P";//宸ヤ綅鍙� - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP110_F_HEART_BEAT(), "true"); - GlobalVariable.OP110_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP110_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP110_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP110_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP110_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP110_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP110_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP110_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleInfo寮�濮嬫椂闂�:"+new Date()); - handleInfo(); - logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - } - } - - }else{ - logger.info("OP110宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP110_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP110_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP110_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP110_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP110宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP110宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP110宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP110_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP110_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP110_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP110_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getOP110_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP110宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/OP120ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/OP120ServerInterface.java deleted file mode 100644 index 69e9bb5..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/OP120ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120; - -public interface OP120ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_F_HEART_BEAT.java deleted file mode 100644 index 4c6a631..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP120_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP120_F_HEART_BEAT(), "true"); - GlobalVariable.OP120_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > 6) { - GlobalVariable.OP120_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_FINISH.java deleted file mode 100644 index fc35c5e..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP120_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP120_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_READ_INFO.java deleted file mode 100644 index 7a56525..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP120_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP120_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_WRITE_ORDER.java deleted file mode 100644 index efb9120..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP120_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP120_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_FINISH.java deleted file mode 100644 index a58eaf2..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP120_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP120_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_START.java deleted file mode 100644 index 0f89614..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP120_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP120_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_WRITE_INFO.java deleted file mode 100644 index f402655..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP120_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP120_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/impl/OP120ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/impl/OP120ServerInterfaceImpl.java deleted file mode 100644 index 2daada2..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/impl/OP120ServerInterfaceImpl.java +++ /dev/null @@ -1,269 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP120.OP120ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP120ServerInterfaceImpl implements OP120ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP120ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP120";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP120_P";//宸ヤ綅鍙� - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP120_F_HEART_BEAT(), "true"); - GlobalVariable.OP120_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP120_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /*String isHeartBeat = OPCUnit.read(opc.getOP120_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP120_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP120_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP120_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP120_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP120_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleInfo寮�濮嬫椂闂�:"+new Date()); - handleInfo(); - logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - } - } - - }else{ - logger.info("OP120宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP120_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP120_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP120_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP120_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP120宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP120宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP120宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP120_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP120_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP120_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP120_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getOP120_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP120宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/OP120BServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/OP120BServerInterface.java deleted file mode 100644 index 5970552..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/OP120BServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120B; - -public interface OP120BServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_F_HEART_BEAT.java deleted file mode 100644 index bacedae..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP120B_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP120B_F_HEART_BEAT(), "true"); - GlobalVariable.OP120B_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > 6) { - GlobalVariable.OP120B_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_FINISH.java deleted file mode 100644 index 62f4344..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP120B_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP120B_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_READ_INFO.java deleted file mode 100644 index 6d2081d..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP120B_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP120B_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_WRITE_ORDER.java deleted file mode 100644 index 5ed58c9..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP120B_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP120B_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_FINISH.java deleted file mode 100644 index f9c9a55..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP120B_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP120B_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_START.java deleted file mode 100644 index e40faa7..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP120B_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP120B_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_WRITE_INFO.java deleted file mode 100644 index 9d09212..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP120B_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP120B_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/impl/OP120BServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/impl/OP120BServerInterfaceImpl.java deleted file mode 100644 index 04b1dba..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/impl/OP120BServerInterfaceImpl.java +++ /dev/null @@ -1,284 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP120B.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP120B.OP120BServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP120BServerInterfaceImpl implements OP120BServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP120BServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP120B";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP120B_P";//宸ヤ綅鍙� - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP120B_F_HEART_BEAT(), "true"); - GlobalVariable.OP120B_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP120B_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /*String isHeartBeat = OPCUnit.read(opc.getOP120B_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP120B_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP120B_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP120B_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP120B_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP120B_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - // handleMaterial(); - - } - } - - }else{ - logger.info("OP120B宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP120B_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP120B_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP120B_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP120B_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP120B宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP120B_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP120B_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP120B_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - //鍒ゆ柇鏄惁鏈夎宸ヤ綅 - String[] locationCodes = productionOrderBatchInfoResult.getLocationCode().split("/"); - logger.info("褰撳墠宸ヤ綅锛�"+locationCodes.toString()); - boolean isLocationCode = false; - if(locationCodes.length>0) - { - for (int j=0;j<locationCodes.length;j++){ - String location = locationCodes[j]; - if(location.equals(LOCATION_CODE)){ - isLocationCode = true; - } - } - } - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 && isLocationCode){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP120B宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP120B宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP120B_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP120B_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP120B_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP120B_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getOP120B_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP120B宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/OP130ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/OP130ServerInterface.java deleted file mode 100644 index d0f51a6..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/OP130ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP130; - -public interface OP130ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_F_HEART_BEAT.java deleted file mode 100644 index 18a59f4..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP130.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP130_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP130_F_HEART_BEAT(), "true"); - GlobalVariable.OP130_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP130_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_FINISH.java deleted file mode 100644 index 8dd51b2..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP130.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP130_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP130_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_READ_INFO.java deleted file mode 100644 index ba0c3fc..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP130.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP130_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP130_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_WRITE_ORDER.java deleted file mode 100644 index 9d9e5cf..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP130.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP130_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP130_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_FINISH.java deleted file mode 100644 index 0d5638a..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP130.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP130_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP130_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_START.java deleted file mode 100644 index f03e6a8..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP130.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP130_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP130_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_WRITE_INFO.java deleted file mode 100644 index 002aa43..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP130.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP130_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP130_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/impl/OP130ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/impl/OP130ServerInterfaceImpl.java deleted file mode 100644 index dd4203b..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/impl/OP130ServerInterfaceImpl.java +++ /dev/null @@ -1,280 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP130.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP130.OP130ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP130ServerInterfaceImpl implements OP130ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP130ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP130";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP130_P";//宸ヤ綅鍙� - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP130_F_HEART_BEAT(), "true"); - GlobalVariable.OP130_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP130_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP130_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP130_F_HEART_BEAT) { - - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP130_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP130_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP130_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP130_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleInfo寮�濮嬫椂闂�:"+new Date()); - handleInfo(); - logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - } - } - - }else{ - logger.info("OP130宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP130_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP130_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP130_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP130_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP130宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP130_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP130_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP130_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP130宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP130宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - logger.info("OP130宸ヤ綅,handleFinsh PC澶勭悊寮�濮嬶紒"); - - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP130_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP130_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP130_S_SFC_CODE());//鎬绘垚缂栫爜 - } - - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP130_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getOP130_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP130宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/OP130BServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/OP130BServerInterface.java deleted file mode 100644 index 6711f3a..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/OP130BServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP130B; - -public interface OP130BServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_F_HEART_BEAT.java deleted file mode 100644 index ac1d4e4..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP130B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP130B_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP130B_F_HEART_BEAT(), "true"); - GlobalVariable.OP130B_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP130B_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_J_PLC_FINISH.java deleted file mode 100644 index 2808091..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP130B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP130B_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP130B_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_J_PLC_START.java deleted file mode 100644 index 8393ba4..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP130B.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP130B_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP130B_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/impl/OP130BServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/impl/OP130BServerInterfaceImpl.java deleted file mode 100644 index bc4ed9f..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/impl/OP130BServerInterfaceImpl.java +++ /dev/null @@ -1,286 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP130B.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import cn.stylefeng.guns.plcserver.server.OP130.OP130ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP130B.OP130BServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP130BServerInterfaceImpl implements OP130BServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP130BServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP130B";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP130B_P";//宸ヤ綅鍙� - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP130B_F_HEART_BEAT(), "true"); - GlobalVariable.OP130B_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP130B_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP130B_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP130B_F_HEART_BEAT) { - - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP130B_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP130B_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP130B_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP130B_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - handleInfo(); - //handleMaterial(); - - } - } - - }else{ - logger.info("OP130B宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP130B_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP130B_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP130B_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP130B_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP130B宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP130B_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP130B_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP130B_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - //鍒ゆ柇鏄惁鏈夎宸ヤ綅 - String[] locationCodes = productionOrderBatchInfoResult.getLocationCode().split("/"); - logger.info("褰撳墠宸ヤ綅锛�"+locationCodes.toString()); - boolean isLocationCode = false; - if(locationCodes.length>0) - { - for (int j=0;j<locationCodes.length;j++){ - String location = locationCodes[j]; - if(location.equals(LOCATION_CODE)){ - isLocationCode = true; - } - } - } - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0 && isLocationCode){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setProductionLine((remainingQuantity-1)+""); - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP130B宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP130B宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - logger.info("OP130B宸ヤ綅,handleFinsh PC澶勭悊寮�濮嬶紒"); - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP130B_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP130B_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP130B_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP130B_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getOP130B_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP130B宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/OP140ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/OP140ServerInterface.java deleted file mode 100644 index a90b7a1..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/OP140ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP140; - -public interface OP140ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_F_HEART_BEAT.java deleted file mode 100644 index 9441197..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP140.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP140_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP140_F_HEART_BEAT(), "true"); - GlobalVariable.OP140_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP140_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_FINISH.java deleted file mode 100644 index 97d2760..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP140.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP140_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP140_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_READ_INFO.java deleted file mode 100644 index f7b33a4..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP140.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP140_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP140_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_WRITE_ORDER.java deleted file mode 100644 index 88ee464..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP140.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP140_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP140_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_FINISH.java deleted file mode 100644 index 61a261a..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP140.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP140_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP140_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_START.java deleted file mode 100644 index 4c8c24a..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP140.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP140_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP140_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_WRITE_INFO.java deleted file mode 100644 index d47a8eb..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP140.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP140_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP140_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/impl/OP140ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/impl/OP140ServerInterfaceImpl.java deleted file mode 100644 index 8c4f676..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/impl/OP140ServerInterfaceImpl.java +++ /dev/null @@ -1,277 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP140.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP140.OP140ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP140ServerInterfaceImpl implements OP140ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP140ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP140";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP140_P";//宸ヤ綅鍙� - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP140_F_HEART_BEAT(), "true"); - GlobalVariable.OP140_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP140_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP140_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP140_F_HEART_BEAT) { - - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP140_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP140_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP140_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP140_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleInfo寮�濮嬫椂闂�:"+new Date()); - handleInfo(); - logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - - } - } - - }else{ - logger.info("OP140宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP140_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP140_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP140_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP140_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP140宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP140_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP140_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP140_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP140宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP140宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP140_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP140_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP140_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP140_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getOP140_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP140宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/OP150ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/OP150ServerInterface.java deleted file mode 100644 index 132cb55..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/OP150ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP150; - -public interface OP150ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_F_HEART_BEAT.java deleted file mode 100644 index 00154a5..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP150.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP150_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP150_F_HEART_BEAT(), "true"); - GlobalVariable.OP150_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP150_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_FINISH.java deleted file mode 100644 index de459da..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP150.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP150_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP150_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_READ_INFO.java deleted file mode 100644 index 1ae16da..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP150.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP150_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP150_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_WRITE_ORDER.java deleted file mode 100644 index eac5fb6..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP150.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP150_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP150_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_FINISH.java deleted file mode 100644 index 13041c7..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP150.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP150_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP150_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_START.java deleted file mode 100644 index f207a2f..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP150.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP150_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP150_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_WRITE_INFO.java deleted file mode 100644 index ed9141f..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP150.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP150_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP150_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/impl/OP150ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/impl/OP150ServerInterfaceImpl.java deleted file mode 100644 index 9202896..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/impl/OP150ServerInterfaceImpl.java +++ /dev/null @@ -1,264 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP150.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import cn.stylefeng.guns.plcserver.server.OP150.OP150ServerInterface; -import cn.stylefeng.guns.plcserver.server.OP170.OP170ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP150ServerInterfaceImpl implements OP150ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP150ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP150";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP150_P";//宸ヤ綅鍙� - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP150_F_HEART_BEAT(), "true"); - GlobalVariable.OP150_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP150_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP150_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP150_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP150_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP150_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP150_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP150_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - handleFinsh(); - //handleInfo(); - handleMaterial(); - - } - } - - }else{ - logger.info("OP150宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP150_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP150_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP150_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP150_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP150宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP150宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP150宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP150_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP150_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP150_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP150_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getOP150_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP150宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/OP160ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/OP160ServerInterface.java deleted file mode 100644 index f68f6b6..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/OP160ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP160; - -public interface OP160ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_F_HEART_BEAT.java deleted file mode 100644 index f6aff96..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP160.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP160_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP160_F_HEART_BEAT(), "true"); - GlobalVariable.OP160_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP160_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_FINISH.java deleted file mode 100644 index 3ba7ddf..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP160.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP160_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP160_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_READ_INFO.java deleted file mode 100644 index 5f93d62..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP160.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP160_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP160_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_WRITE_ORDER.java deleted file mode 100644 index e8ffd66..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP160.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP160_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP160_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_FINISH.java deleted file mode 100644 index 98834b8..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP160.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP160_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP160_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_START.java deleted file mode 100644 index 4a0dd85..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP160.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP160_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP160_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_WRITE_INFO.java deleted file mode 100644 index 41afe4c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP160.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP160_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP160_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/impl/OP160ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/impl/OP160ServerInterfaceImpl.java deleted file mode 100644 index e1ad2e1..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/impl/OP160ServerInterfaceImpl.java +++ /dev/null @@ -1,270 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP160.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP160.OP160ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP160ServerInterfaceImpl implements OP160ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP160ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP160";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP160_P";//缁勫悕 - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP160_F_HEART_BEAT(), "true"); - GlobalVariable.OP160_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP160_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP160_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP160_F_HEART_BEAT) { - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP160_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP160_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP160_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP160_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleInfo寮�濮嬫椂闂�:"+new Date()); - handleInfo(); - logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - - } - } - - }else{ - logger.info("OP160宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP160_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP160_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP160_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP160_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP160宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP160宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP160宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP160_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP160_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP160_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP160_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - if("false".equals(S_PRODUCT_STATE_CODE)){ - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - } - - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - OPCUnit.write(opc.getOP160_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP160宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/OP170ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/OP170ServerInterface.java deleted file mode 100644 index 3342a3c..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/OP170ServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP170; - -public interface OP170ServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_F_HEART_BEAT.java deleted file mode 100644 index 873d4e9..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_F_HEART_BEAT.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP170.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP170_F_HEART_BEAT implements DataCallback { - - private OPCComm opc = OPCComm.getInstance(); - private int count = 0; - - @Override - public void changed(Item item, ItemState itemState) { - // 璇诲彇蹇冭烦鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - setHeartbeat(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(boolean value) { - if (!value) { - OPCUnit.write(opc.getOP170_F_HEART_BEAT(), "true"); - GlobalVariable.OP170_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP170_F_HEART_BEAT = false; - } - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_FINISH.java deleted file mode 100644 index 15461cc..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP170.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP170_J_PC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP170_J_PC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_READ_INFO.java deleted file mode 100644 index 353c547..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_READ_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP170.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP170_J_PC_READ_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP170_J_PC_READ_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_WRITE_ORDER.java deleted file mode 100644 index ef6ea2f..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_WRITE_ORDER.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP170.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP170_J_PC_WRITE_ORDER implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP170_J_PC_WRITE_ORDER = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_FINISH.java deleted file mode 100644 index d2df2db..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_FINISH.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP170.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP170_J_PLC_FINISH implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP050_J_PLC_FINISH = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_START.java deleted file mode 100644 index ea37e98..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_START.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP170.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP170_J_PLC_START implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP170_J_PLC_START = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_WRITE_INFO.java deleted file mode 100644 index 2d3dd88..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_WRITE_INFO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP170.callback; - -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.DataCallback; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -public class DataCallBack_OP170_J_PLC_WRITE_INFO implements DataCallback { - @Override - public void changed(Item item, ItemState itemState) { - - // 璇诲彇鍙橀噺鐨勫�� - try { - if (itemState.getValue().getType() == JIVariant.VT_BOOL) { - boolean value = itemState.getValue().getObjectAsBoolean(); - GlobalVariable.OP170_J_PLC_WRITE_INFO = value; - } - } catch (JIException e) { - e.printStackTrace(); - } - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/impl/OP170ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/impl/OP170ServerInterfaceImpl.java deleted file mode 100644 index 95a7b07..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/impl/OP170ServerInterfaceImpl.java +++ /dev/null @@ -1,290 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.OP170.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; - -import cn.stylefeng.guns.plcserver.server.OP170.OP170ServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.List; - - -public class OP170ServerInterfaceImpl implements OP170ServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(OP170ServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String S_RIGHT_CODE = "";//鍙冲3浣撶紪鐮� - private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� - private static String LOCATION_CODE = "OP170";//宸ヤ綅鍙� - private static String GROUP_NAME = "OP170_P";//宸ヤ綅鍙� - private static List list = null; - private static Group group = null; - - private int count = 0; - - /** - * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺 - */ - public void setHeartbeat(String value) { - if ("false".equals(value)) { - OPCUnit.write(opc.getOP170_F_HEART_BEAT(), "true"); - GlobalVariable.OP170_F_HEART_BEAT = true; - count = 0; - } else { - count++; - } - // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂 - if (count > GlobalVariable.HEART_MAX_COUNT) { - GlobalVariable.OP170_F_HEART_BEAT = false; - } - } - - @Override - public synchronized void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - - /* String isHeartBeat = OPCUnit.read(opc.getOP170_F_HEART_BEAT()); - setHeartbeat(isHeartBeat);*/ - - if(GlobalVariable.OP170_F_HEART_BEAT) { - - //PC璇诲伐鍗� - String isPLCStart = OPCUnit.read(opc.getOP170_J_PLC_START());//PLC寮�濮� - if(isPLCStart.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP170_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚 - if(isFinish.equals("false")){ - handleOrder(); - } - } - - - //PC瀹屾垚 - String isPLCFinish = OPCUnit.read(opc.getOP170_J_PLC_FINISH());//PLC瀹屾垚 - if(isPLCFinish.equals("true")){ - String isFinish = OPCUnit.read(opc.getOP170_J_PC_FINISH());//PC鎿嶄綔瀹屾垚 - if(isFinish.equals("false")){ - logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date()); - handleFinsh(); - logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleInfo寮�濮嬫椂闂�:"+new Date()); - handleInfo(); - logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date()); - logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date()); - handleMaterial(); - logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date()); - } - } - - }else{ - logger.info("OP170宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒"); - } - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - //PC璇诲伐鍗� - public void handleOrder() { - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP170_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP170_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP170_S_SFC_CODE());//鎬绘垚缂栫爜 - OPCUnit.write(opc.getOP170_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴� - logger.info("OP170宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�"); - } - - public void handleMaterial() { - - //鏌ヨ鎵规涓婃枡淇℃伅 - ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); - productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE); - ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService; - List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam); - for(int i=0;i<list1.size();i++){ - ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i); - int remainingQuantity = productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺 - if(remainingQuantity>0){ - //鏂板鐗╂枡杩芥函 - MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam(); - materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE); - materialTraceabilityParam.setProductCode(S_PRODUCT_CODE); - materialTraceabilityParam.setProductNo(S_SFC_CODE); - materialTraceabilityParam.setLineCode(PRODUCTION_LINE); - materialTraceabilityParam.setLocationCode(LOCATION_CODE); - materialTraceabilityParam.setAssemblyQty(1); - materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate()); - materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜 - materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规 - - MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService; - materialTraceabilityService.add(materialTraceabilityParam); - //鏇存柊鍓╀綑鏁伴噺 - productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId()); - productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺 - productionOrderBatchInfoService.update(productionOrderBatchInfoParam); - } - } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP170宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - //collectionParamConfParam.setProductCode(S_PRODUCT_CODE); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - CollectionParamConfService collectionParamConfService = opc.collectionParamConfService; - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - - - for(int i=0;i<list.size();i++){ - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = group.addItem(result.getGatherAddress()); - result.setItem(item); - list.set(i,result); - } - //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE; - } - - if(null != list && list.size()>0) { - ParamCollectionService paramCollectionService = opc.paramCollectionService; - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� - 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("OP170宸ヤ綅,handleInfo END锛�"); - } - - //PC瀹屾垚 - public void handleFinsh() { - if("".equals(S_ORDER_CODE)){ - IN_TIME = DateTool.getLocalTimeForDate(); - S_ORDER_CODE = OPCUnit.read(opc.getOP170_S_ORDER_CODE());//宸ュ崟缂栧彿 - S_PRODUCT_TYPE = OPCUnit.read(opc.getOP170_S_PRODUCT_CODE());//浜у搧缂栧彿 - S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE); - S_SFC_CODE = OPCUnit.read(opc.getOP170_S_SFC_CODE());//鎬绘垚缂栫爜 - } - //澶勭悊杩囩珯淇℃伅 - String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP170_S_PRODUCT_STATE_CODE()); - - //淇敼鎶ュ伐璁板綍 - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService; - - List<ProductionOrderRecordsResult> list2 = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(list2.size()>0){ - ProductionOrderRecordsResult productionOrderRecordsResult = list2.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); - productionOrderRecordsService.update(productionOrderRecordsParam); - } - - - - PassingStationCollectionParam param = new PassingStationCollectionParam(); - param.setWorkOrderNo(S_ORDER_CODE); - param.setProductCode(S_PRODUCT_CODE); - param.setSfcCode(S_SFC_CODE); - param.setProductionLine(PRODUCTION_LINE); - param.setLocationCode(LOCATION_CODE); - param.setInboundTime(IN_TIME); - param.setOutboundTime(DateTool.getLocalTimeForDate()); - param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸 - PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService; - passingStationCollectionService.add(param); - - - - //鏇存柊宸ュ崟瀹屾垚鏁伴噺 - ProductionOrdeInfoParam orderParam = new ProductionOrdeInfoParam(); - orderParam.setWorkOrderNo(S_ORDER_CODE); - if(!"".equals(S_ORDER_CODE)&&null!=S_ORDER_CODE){ - ProductionOrdeInfoService productionOrdeInfoService = opc.productionOrdeInfoService; - List<ProductionOrdeInfoResult> list = productionOrdeInfoService.findListBySpec(orderParam); - if(list.size()>0) { - ProductionOrdeInfoResult result = list.get(0); - orderParam.setId(result.getId()); - if (null == result.getActualQty() || "".equals(result.getActualQty())){ - result.setActualQty(0); - } - orderParam.setActualQty(result.getActualQty()+1); - productionOrdeInfoService.update(orderParam); - } - } - OPCUnit.write(opc.getOP170_J_PC_FINISH(), "true"); //PC瀹屾垚 - - logger.info("OP170宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); - } - -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/state/StateServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/state/StateServerInterface.java deleted file mode 100644 index aa8c0f6..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/state/StateServerInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.state; - -public interface StateServerInterface { - public void monitor(); -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/state/impl/StateServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/state/impl/StateServerInterfaceImpl.java deleted file mode 100644 index b6fbd20..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/state/impl/StateServerInterfaceImpl.java +++ /dev/null @@ -1,152 +0,0 @@ -package cn.stylefeng.guns.plcserver.server.state.impl; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.bs.equipmentInfo.model.params.EquipmentInfoParam; -import cn.stylefeng.guns.modular.bs.equipmentInfo.model.result.EquipmentInfoResult; -import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.em.equipmentAlarm.model.params.EquipmentAlarmParam; -import cn.stylefeng.guns.modular.em.equipmentAlarm.service.EquipmentAlarmService; -import cn.stylefeng.guns.modular.em.equipmentStatus.model.params.EquipmentStatusParam; -import cn.stylefeng.guns.modular.em.equipmentStatus.model.result.EquipmentStatusResult; -import cn.stylefeng.guns.modular.em.equipmentStatus.service.EquipmentStatusService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCComm; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import cn.stylefeng.guns.plcserver.server.OP100.OP100ServerInterface; -import cn.stylefeng.guns.plcserver.server.state.StateServerInterface; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; - -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - - -public class StateServerInterfaceImpl implements StateServerInterface { - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(StateServerInterfaceImpl.class); - } - - private OPCComm opc = OPCComm.getInstance(); - - private static String GROUP_NAME = "STATE_GROUP";//缁� - private static List list = null; - private static Group group = null; - - @Override - public void monitor() { - String ecpStr = "";//寮傚父璁板綍鏍囪 - try{ - handleInfo(); - - }catch (Exception e) { - ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e); - }finally { - if(!"".equals(ecpStr)){ - logger.info(ecpStr+"\r\n"); - } - } - } - - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("OP100宸ヤ綅,handleInfo START锛�"); - - if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){ - if(group != null){ - opc.getServer().removeGroup(group,true); - } - group = opc.getServer().addGroup(GROUP_NAME); - - EquipmentInfoParam equipmentInfoParam = new EquipmentInfoParam(); - EquipmentInfoService equipmentInfoService = opc.equipmentInfoService; - list = equipmentInfoService.findListBySpec(equipmentInfoParam); - - for(int i=0;i<list.size();i++){ - EquipmentInfoResult result = (EquipmentInfoResult) list.get(i); - Item item = group.addItem(result.getSpareField1()); - result.setItem(item); - list.set(i,result); - } - } - if(null != list && list.size()>0) { - EquipmentStatusService equipmentStatusService = opc.equipmentStatusService; - - for (int i = 0; i < list.size(); i++) { - EquipmentInfoResult result = (EquipmentInfoResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� 璁惧鐘舵�� - String equipmentNo = result.getEquipmentNo(); - - EquipmentStatusParam equipmentStatusParam = new EquipmentStatusParam(); - equipmentStatusParam.setEquipmentNo(equipmentNo); - List statuslist = equipmentStatusService.findListBySpec(equipmentStatusParam); - if(statuslist.size()>0){ - EquipmentStatusResult equipmentStatusResult = (EquipmentStatusResult) statuslist.get(0); - if(!value.equals(equipmentStatusResult.getStatus())){ - equipmentStatusParam.setId(equipmentStatusResult.getId()); - equipmentStatusParam.setStatus(value); - equipmentStatusParam.setUpdateTime(DateTool.getLocalTimeForDate()); - equipmentStatusService.update(equipmentStatusParam);//鏇存柊璁惧鐘舵�� - - //娣诲姞璁惧鎶ヨ - if("3".equals(value)){ - EquipmentAlarmParam equipmentAlarmParam = new EquipmentAlarmParam(); - equipmentAlarmParam.setEquipmentNo(equipmentNo); - equipmentAlarmParam.setEquipmentName(result.getEquipmentName()); - equipmentAlarmParam.setWorkshopCode(result.getWorkshopCode()); - equipmentAlarmParam.setProductionLineCode(result.getProductionLineCode()); - equipmentAlarmParam.setLocationCode(result.getLocationCode()); - equipmentAlarmParam.setErrorDesc(result.getEquipmentName()+"鎶ヨ锛�"); - equipmentAlarmParam.setAlarmTime(DateTool.getLocalTimeForDate()); - EquipmentAlarmService equipmentAlarmService = opc.equipmentAlarmService; - equipmentAlarmService.add(equipmentAlarmParam); - } - } - - }else{ - equipmentStatusParam.setEquipmentName(result.getEquipmentName()); - equipmentStatusParam.setWorkshopCode(result.getWorkshopCode()); - equipmentStatusParam.setProductionLineCode(result.getProductionLineCode()); - equipmentStatusParam.setLocationCode(result.getLocationCode()); - equipmentStatusParam.setStatus(value); - equipmentStatusParam.setUpdateTime(DateTool.getLocalTimeForDate()); - equipmentStatusService.add(equipmentStatusParam); - - //娣诲姞璁惧鎶ヨ - if("3".equals(value)){ - EquipmentAlarmParam equipmentAlarmParam = new EquipmentAlarmParam(); - equipmentAlarmParam.setEquipmentNo(equipmentNo); - equipmentAlarmParam.setEquipmentName(result.getEquipmentName()); - equipmentAlarmParam.setWorkshopCode(result.getWorkshopCode()); - equipmentAlarmParam.setProductionLineCode(result.getProductionLineCode()); - equipmentAlarmParam.setLocationCode(result.getLocationCode()); - equipmentAlarmParam.setErrorDesc(result.getEquipmentName()+"鎶ヨ锛�"); - equipmentAlarmParam.setAlarmTime(DateTool.getLocalTimeForDate()); - EquipmentAlarmService equipmentAlarmService = opc.equipmentAlarmService; - equipmentAlarmService.add(equipmentAlarmParam); - } - } - - } - } - - } - - -} -- Gitblit v1.9.3