From 2c7661d0bca739a9b403cdd420d2b91eb77470e6 Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期一, 29 四月 2024 19:48:32 +0800 Subject: [PATCH] - --- jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java | 58 ++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 36 insertions(+), 22 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java index 5dd407c..2824bdc 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java +++ b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java @@ -34,11 +34,19 @@ public SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - //鑷姩宸ヤ綅 - public List<String> automaticList = Arrays.asList("OP300","OP280", "OP320", "OP340", "OP350", "OP360","OP370", "OP390", "OP470", "OP530", "OP540"); + //鏂拌嚜鍔ㄥ伐绔� + public List<String> automaticList = Arrays.asList("OP280", "OP300A","OP300B", "OP320A","OP320B", "OP340A","OP340B", "OP350A","OP350B", "OP360","OP365","OP370", "OP390", "OP470"); - //閲囬泦妯$粍宸ヤ綅 - public List<String> moduleCodeList = Arrays.asList("OP300","OP310", "OP320", "OP340", "OP350", "OP330"); + //閲囬泦妯$粍宸ヤ綅 ModuleCode + public List<String> moduleCodeList = Arrays.asList("OP300A","OP300B","OP320A","OP320B","OP340A","OP340B","OP365", "OP350A", "OP350B", "OP330"); + + //鍖哄垎妯$粍鍨嬪彿宸ヤ綅 + public List<String> distinguishingModules = Arrays.asList("OP300","OP310", "OP340", "OP350", "OP330"); + + + //鍖哄垎pack鍨嬪彿鐨勫伐浣� + public List<String> packIdList = Arrays.asList("OP280","OP360","OP390","OP470"); + //绌虹殑 public List<String> nullList = Arrays.asList("OP250","OP260"); @@ -73,7 +81,7 @@ public void onSubscribe(String identifier, Object value) { try { - if(null != value) { + if(null != value && Integer.valueOf(value.toString())!= 0) { String[] nodes = identifier.split("[.]"); String thoroughfare = nodes[0];//閫氶亾 String device = nodes[1];//璁惧 @@ -104,24 +112,32 @@ // } //鑷姩宸ヤ綅 - //plc缁欐垜浠竴涓猵ack鐮侊紝鎷縫ack鐮佹牎楠屽嚭鍨嬪彿 - if(moduleCodeList.stream().anyMatch(s -> s.equals(device))){ - //璇绘ā缁勭爜 - String moduleCode = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCode").getValue().toString(); - String productTye = thoroughfare + "." + device + ".ProductType"; - if(null!=moduleCode && moduleCode.length() == 24){ - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(productTye).value(Integer.valueOf(moduleCode.substring(7,8))).build()); - //杩涚珯淇濆瓨鏁版嵁 -// inSaveDate(thoroughfare,device) + if(automaticList.stream().anyMatch(s -> s.equals(device))){ + //plc缁欐垜浠竴涓ā缁勭爜锛屾嬁妯$粍鐮佹牎楠屽嚭鍨嬪彿 + if(distinguishingModules.stream().anyMatch(s -> s.equals(device))) { + //璇绘ā缁勭爜 +// String moduleCode = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCode").getValue().toString(); +// String productTye = thoroughfare + "." + device + ".ProductType"; +// if (null != moduleCode && moduleCode.length() == 24) { +// miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(productTye).value(Integer.valueOf(moduleCode.substring(7, 8))).build()); +// //杩涚珯淇濆瓨鏁版嵁 +//// inSaveDate(thoroughfare,device) +// //璁板綍鏁版嵁瀹屾垚 +// String RecordDataDoneAddress = thoroughfare + "." + device + ".RecordDataDone"; +// +// miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(11).build()); +// +// +// //璇锋眰宸ュ崟 +// } else { +// miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(12).build()); +// } + }else { + //pack 濡傛灉鍖哄垎鍨嬪彿鐨勮瘽灏辫澶勭悊 //璁板綍鏁版嵁瀹屾垚 String RecordDataDoneAddress = thoroughfare + "." + device + ".RecordDataDone"; miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(11).build()); - - - //璇锋眰宸ュ崟 - }else { - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(12).build()); } }else { //鎵嬪姩宸ヤ綅澶勭悊閫昏緫 @@ -143,7 +159,7 @@ recordDataDoneValue = outSaveDate(thoroughfare,device); //璁板綍鏁版嵁瀹屾垚 String RecordDataDoneAddress = thoroughfare + "." + device + ".RecordDataDone"; - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(Integer.valueOf(RecordDataDoneAddress)).build()); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(Integer.valueOf(recordDataDoneValue)).build()); }else { //鎵嬪姩宸ヤ綅 WebSocketUsers.sendMessageToUserByText(map.get(device), "END"); @@ -209,8 +225,6 @@ String workOrderNo = ""; String productCode = ""; //2銆佷繚瀛樿繃绔欓噰闆嗘暟鎹� -// String workOrderNo = miloService.readFromOpcUa(thoroughfare + "." + device + "." + "WorkOrderNumber").getValue().toString(); -// String productCode = miloService.readFromOpcUa(thoroughfare + "." + device + "." + "ProductType").getValue().toString(); Object orderNumberObject = miloService.readFromOpcUa(thoroughfare + "." + device + "." + "WorkOrderNumber").getValue(); if(orderNumberObject!=null){ workOrderNo = orderNumberObject.toString(); -- Gitblit v1.9.3