From 11cc328a4aff3aa3ba430e84fe3640abd29dc959 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期三, 26 二月 2025 15:30:02 +0800 Subject: [PATCH] * --- src/main/java/com/zy/core/thread/MelsecCrnThread.java | 1 src/main/java/com/zy/core/thread/SiemensDevpThread.java | 125 ++---------------------------- src/main/java/com/zy/core/ServerBootstrap.java | 59 ++------------ 3 files changed, 19 insertions(+), 166 deletions(-) diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java index 5f17a58..d548941 100644 --- a/src/main/java/com/zy/core/ServerBootstrap.java +++ b/src/main/java/com/zy/core/ServerBootstrap.java @@ -12,14 +12,10 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; -import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -74,14 +70,14 @@ for (Slave led : slaveProperties.getLed()) { MessageQueue.init(SlaveType.Led, led); } - // 鍒濆鍖栫绉癿q - for (Slave scale : slaveProperties.getScale()) { - MessageQueue.init(SlaveType.Scale, scale); - } - // 鍒濆鍖栧彴杞q - for (Slave car : slaveProperties.getCar()) { - MessageQueue.init(SlaveType.Car, car); - } +// // 鍒濆鍖栫绉癿q +// for (Slave scale : slaveProperties.getScale()) { +// MessageQueue.init(SlaveType.Scale, scale); +// } +// // 鍒濆鍖栧彴杞q +// for (Slave car : slaveProperties.getCar()) { +// MessageQueue.init(SlaveType.Car, car); +// } } private void initThread() throws InterruptedException { @@ -127,45 +123,6 @@ @PreDestroy public void destroy() { - } - - @Component - class killThread { - - @Scheduled(cron = "0/3 * * * * ? ") - public void kill() { - for (Map.Entry<CrnThread, Thread> entry : map.entrySet()) { - CRN_COUNT++; - MelsecCrnThread key = (MelsecCrnThread) entry.getKey(); -// System.out.println("绗�"+i+"涓爢鍨涙満绾跨▼閲嶅惎绾跨▼鏉′欢锛�"+(System.currentTimeMillis() - key.getSign())); - if (CRN_COUNT>10000){ - continue; - } - if (System.currentTimeMillis() - key.getSign() > 120000 && System.currentTimeMillis() - key.getSign()<1200000) { - System.out.println("绗�"+CRN_COUNT+"涓爢鍨涙満绾跨▼琚噸鍚�"); - - // 璇锋眰绾跨▼瀹夊叏鍋滄 - key.requestStop(); - - // 绛夊緟绾跨▼瀹屾垚鍋滄, 鍙互杩欐牱鍋氫篃鍙互閫夋嫨涓嶈繖涔堝仛锛屽彇鍐充簬鏄惁闇�瑕佺瓑寰呯嚎绋嬬粨鏉� - try { - entry.getValue().join(20000); // 绛夊緟鏈�澶�20绉� - } catch (InterruptedException e) { -// // 鍙�傚綋澶勭悊涓柇 -// Thread.currentThread().interrupt(); // 淇濈暀涓柇鐘舵�� - entry.getValue().stop(); - } - - // 閲嶆柊鍚姩绾跨▼ - Thread thread = new Thread((Runnable) key); // 鍋囪CrnThread瀹炵幇浜哛unnable - thread.start(); - - // 鏇挎崲鏄犲皠鍏崇郴涓殑鏃х嚎绋� - map.put(entry.getKey(), thread); - } - } - } - } diff --git a/src/main/java/com/zy/core/thread/MelsecCrnThread.java b/src/main/java/com/zy/core/thread/MelsecCrnThread.java index 59ae02d..e2265ce 100644 --- a/src/main/java/com/zy/core/thread/MelsecCrnThread.java +++ b/src/main/java/com/zy/core/thread/MelsecCrnThread.java @@ -175,6 +175,7 @@ crnProtocol = new CrnProtocol(); crnProtocol.setCrnNo(slave.getId()); } + crnProtocol.setCrnNo(slave.getId()); crnProtocol.setMode(melsecMcNet.getByteTransform().TransInt16(result.Content, 0)); crnProtocol.setTaskNo(melsecMcNet.getByteTransform().TransInt16(result.Content, 2)); crnProtocol.setStatus(melsecMcNet.getByteTransform().TransInt16(result.Content, 4)); diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 0afbc14..6092201 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -47,29 +47,7 @@ // // }}; public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{ - add(100);add(101);add(102);add(103); - add(104);add(105);add(106);add(107); - add(108);add(109);add(110);add(111); - add(112);add(113);add(114);add(115); - add(116);add(117);add(118);add(119); - add(120);add(121);add(122);add(123); - add(124);add(125);add(126);add(127); - add(128);add(129);add(130);add(131); - add(132);add(133);add(134);add(135); - add(136);add(137);add(138);add(139); - add(140);add(141);add(142);add(143); - add(144);add(145);add(146);add(147); - add(148);add(149);add(150);add(151); - add(152);add(153);add(154);add(155); - add(156);add(157);add(158); - }}; - - public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{ - add(200);add(201);add(202);add(203); - add(204);add(205);add(206);add(207); - add(208);add(209);add(210);add(211); - add(212);add(213);add(214);add(215); - add(216);add(217); + add(101);add(102); }}; @@ -78,7 +56,7 @@ /** * 鏉$爜鏁伴噺 */ - private int barcodeSize = 6; + private int barcodeSize = 1; /** * 鍏ュ嚭搴撴ā寮� @@ -101,8 +79,6 @@ switch (slave.getId()) { case 1: return staNos1; - case 2: - return staNos2; default: throw new CoolException("鏈嶅姟鍣ㄥ紓甯�"); } @@ -210,6 +186,7 @@ staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } + staProtocol.setSiteId(siteId); staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*2)); // 宸ヤ綔鍙� staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result4.Content, i*2)); // 鐩爣绔� @@ -231,27 +208,17 @@ // } //鏉$爜鎵弿鍣� Thread.sleep(200); - OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.200",(short)(barcodeSize/2*8)); + OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.200",(short)(barcodeSize*8)); if (result2.IsSuccess) { - if (slave.getId()==1){ - for (int i = 0; i < barcodeSize/2; i++) { - String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8"); - BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1); - if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)){ + for (int i = 0; i < barcodeSize; i++) { + String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8"); + BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1); + if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)){ // && !Cools.isEmpty(barcode) && Cools.isEmpty(barcodeThread.getBarcode())) { - barcodeThread.setBarcode(barcode); - } - } - }else if (slave.getId()==2){ - for (int i = barcodeSize/2; i < barcodeSize; i++) { - String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,(i-barcodeSize/2)*8,8, "UTF-8"); - BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1); - if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)){ -// && !Cools.isEmpty(barcode) && Cools.isEmpty(barcodeThread.getBarcode())) { - barcodeThread.setBarcode(barcode); - } + barcodeThread.setBarcode(barcode); } } + } Thread.sleep(200); @@ -281,58 +248,8 @@ staProtocol.setStamp(staProtocol.getStamp()+1); } -// //20230110锛屾棩蹇楁墦鍗帮紝纭鏀跺埌鍏ュ簱绔欏彲鍏ヤ俊鍙锋椂锛屽搴旀潯鐮佹暟鎹槸鍚﹀凡鏈� -// if ((siteId==101 || siteId==109 || siteId==117 || siteId==201 || siteId==207 || siteId==213) -// && staProtocol.isInEnable()){ -// Integer barcodeId = 0; -// switch (siteId){ -// case 101: -// barcodeId=1; -// break; -// case 109: -// barcodeId=2; -// break; -// case 117: -// barcodeId=3; -// break; -// case 201: -// barcodeId=4; -// break; -// case 207: -// barcodeId=5; -// break; -// case 213: -// barcodeId=6; -// break; -// } -// BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId); -// if(barcodeThread!=null){ -// //lfd鍏ュ簱鍗拌 褰搒tamp>=2鏃舵墠鍏ュ簱 -// staProtocol.setStamp(staProtocol.getStamp()+1); -// News.info("{}绔欐湁鍙叆淇″彿鏃讹紝鏉$爜鍊间负{}", siteId, barcodeThread.getBarcode()); -// if(Cools.isEmpty(barcodeThread.getBarcode())){ -// staProtocol.setInEnable(false);//鏉$爜鏁版嵁涓虹┖鏃讹紝鍏堟竻涓�娆″唴瀛樼殑绔欑偣鍙叆淇″彿锛岀瓑寰呬笅涓�娆¤幏鍙栧彲鍏ヤ俊鍙� -// } -// } -// } } } - -// //RGV灏忚溅 -// Thread.sleep(200); -// OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.160",(short)2); -// if (result3.IsSuccess) { -// Integer siteId = 16; -// StaProtocol staProtocol = station.get(siteId); -// if (null == staProtocol) { -// staProtocol = new StaProtocol(); -// staProtocol.setSiteId(siteId); -// station.put(siteId, staProtocol); -// } -// staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, 0))); -// } - - if (result.IsSuccess && result1.IsSuccess) { @@ -359,7 +276,6 @@ } else { OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); -// log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); } } @@ -477,26 +393,5 @@ System.out.println(index*2); System.out.println(index*2 + 200); } - -// public static void main(String[] args) throws Exception { -// DevpSlave slave = new DevpSlave(); -// slave.setIp("192.168.2.125"); -// SiemensDevpThread devpThread = new SiemensDevpThread(slave); -// devpThread.connect(); -// devpThread.read(); -// // 鍐� -// StaProtocol staProtocol = devpThread.getStation().get(1); -// staProtocol.setWorkNo((short) 232); -// staProtocol.setStaNo((short) 6); -// staProtocol.setAutoing(true); -// staProtocol.setEmptyMk(true); -// staProtocol.setInEnable(true); -// devpThread.write(staProtocol); -// System.out.println("----------------------------------------"); -// // 璇� -// devpThread.read(); -// System.out.println(JSON.toJSONString(devpThread.station)); -// -// } } -- Gitblit v1.9.1