From 5902545a506691139ecc1d1d9930cd357fd87b3c Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期一, 22 七月 2024 16:22:41 +0800 Subject: [PATCH] 1、完善RTU模拟器; 2、RTU模拟器增加38上报数据。 --- pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd38.java | 80 ++++++++++++++++++++++++++++++++++++++++ pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/TcpClUnit.java | 13 +++++- pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java | 2 pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/resources/Config.xml | 4 +- pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/Server.java | 1 pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java | 9 +++- pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java | 2 pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd84.java | 4 +- pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/ServerProperties.java | 1 9 files changed, 105 insertions(+), 11 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/Server.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/Server.java index a7da4eb..6dd6f12 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/Server.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/Server.java @@ -92,6 +92,7 @@ // /////////////// // 鍩虹閰嶇疆 ServerProperties.rtuAddr = conf.getSetAttrTxt(doc, "config.base", "rtuAddr", null, false, null); + ServerProperties.onlyOneHeartBeat = conf.getSetAttrBoolean(doc, "config.base", "onlyOneHeartBeat", null, null); ServerProperties.icCardAddr = conf.getSetAttrTxt(doc, "config.base", "icCardAddr", null, false, null); ServerProperties.icCardNo = conf.getSetAttrTxt(doc, "config.base", "icCardNo", null, false, null); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/ServerProperties.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/ServerProperties.java index 229a7c7..2af487d 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/ServerProperties.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/ServerProperties.java @@ -7,6 +7,7 @@ */ public class ServerProperties { public static String rtuAddr ; + public static Boolean onlyOneHeartBeat ; public static String icCardAddr ; public static String icCardNo ; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java index 6c9ad33..7518550 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java @@ -1,6 +1,7 @@ package com.dy.pipIrrMwTestRtu.p206V1_0_0; import com.dy.common.webUtil.BaseResponse; +import com.dy.pipIrrMwTestRtu.tcpClient.upData.UpCd38; import com.dy.pipIrrMwTestRtu.tcpClient.upData.UpCd83Close; import com.dy.pipIrrMwTestRtu.tcpClient.upData.UpCd83Open; import com.dy.pipIrrMwTestRtu.tcpClient.upData.UpCd84; @@ -23,11 +24,13 @@ @GetMapping(path = "test") public BaseResponse<String> test(String com) { if(com.equals("83Open")){ - UpCd83Open.upCd83Data(); + UpCd83Open.upData(); }else if(com.equals("83Close")){ - UpCd83Close.upCd83Data(); + UpCd83Close.upData(); }else if(com.equals("84")){ - UpCd84.upCd84Data(); + UpCd84.upData(); + }else if(com.equals("38")){ + UpCd38.upData(); } BaseResponse<String> rt = new BaseResponse<String>() ; rt.setCode("001") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/TcpClUnit.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/TcpClUnit.java index d698a66..6d8eced 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/TcpClUnit.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/TcpClUnit.java @@ -108,13 +108,22 @@ new Thread(new Runnable(){ @Override public void run() { - while(true){ + if(ServerProperties.onlyOneHeartBeat){ try { UpHeartBeat.upCd02Data(ServerProperties.rtuAddr); Thread.sleep(30000L); //Thread.sleep(30000000L); }catch (Exception e){ - continue; + } + }else{ + while(true){ + try { + UpHeartBeat.upCd02Data(ServerProperties.rtuAddr); + Thread.sleep(30000L); + //Thread.sleep(30000000L); + }catch (Exception e){ + continue; + } } } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd38.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd38.java new file mode 100644 index 0000000..6a1deab --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd38.java @@ -0,0 +1,80 @@ +package com.dy.pipIrrMwTestRtu.tcpClient.upData; + +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.DateTime; +import com.dy.pipIrrMwTestRtu.ServerProperties; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author: liurunyu + * @Date: 2024/7/22 15:01 + * @Description + */ +public class UpCd38 extends UpData { + + private static final Logger log = LogManager.getLogger(UpCd38.class); + + public static void upData() { + try { + if (UpData.session != null && UpData.session.isConnected()) { + byte[] bs = createData(ServerProperties.rtuAddr); + UpData.upSend(bs); + } else { + log.error("鏈繛鎺ラ�氫俊涓棿浠讹紝涓嶈兘鍙戦�佹暟鎹�"); + } + } catch (Exception e) { + log.error("鍚戦�氫俊涓棿浠跺彂閫佹暟鎹骇鐢熷紓甯�", e); + } + } + + + /** + * 鏋勯�犳暟鎹� + * + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + private static byte[] createData(String rtuAddr) throws Exception { + byte[] bytes = creatHead(rtuAddr, "38", (byte)0xB0); + + byte[] bs = new byte[1] ; + bs[0] = (byte)0x00 ;//鎶ヨ閲戦楂樹綅 + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[1] ; + ByteUtil.int2BCD_LE(40, bs, 0); + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + + bs = new byte[1] ;//绉掗挓 + ByteUtil.int2BCD_LE(Integer.parseInt(DateTime.ss()), bs, 0); + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[1] ;//鍒嗛挓 + ByteUtil.int2BCD_LE(Integer.parseInt(DateTime.mm()), bs, 0); + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[1] ;//鏃堕挓 + ByteUtil.int2BCD_LE(Integer.parseInt(DateTime.HH()), bs, 0); + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[1] ;//鏃� + ByteUtil.int2BCD_LE(Integer.parseInt(DateTime.dd()), bs, 0); + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[]{(byte)0x0A} ;// + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } +} + + diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java index 05a43a0..4f30f01 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java @@ -15,7 +15,7 @@ private static final Logger log = LogManager.getLogger(UpCd83Close.class); - public static void upCd83Data() { + public static void upData() { try { if (UpData.session != null && UpData.session.isConnected()) { byte[] bs = createData(ServerProperties.rtuAddr); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java index d2dad7c..c7c4eae 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java @@ -16,7 +16,7 @@ private static final Logger log = LogManager.getLogger(UpCd83Open.class); - public static void upCd83Data() { + public static void upData() { try { if (UpData.session != null && UpData.session.isConnected()) { byte[] bs = createData(ServerProperties.rtuAddr); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd84.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd84.java index c015151..3c70638 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd84.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd84.java @@ -15,7 +15,7 @@ private static final Logger log = LogManager.getLogger(UpCd84.class); - public static void upCd84Data() { + public static void upData() { try { if (UpData.session != null && UpData.session.isConnected()) { byte[] bs = createData(ServerProperties.rtuAddr); @@ -30,7 +30,7 @@ /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犳暟鎹� * * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/resources/Config.xml b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/resources/Config.xml index d2541cf..58f8a1d 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/resources/Config.xml +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/resources/Config.xml @@ -2,7 +2,7 @@ <config> <server name="RTU妯℃嫙鍣�" showStartInfo="true" company="http://www.dyjs.com"/> - <base rtuAddr="532328059995" icCardAddr="3B7D1E1A" icCardNo="61181622830147821"></base> + <base rtuAddr="532328059995" onlyOneHeartBeat="true" icCardAddr="3B7D1E1A" icCardNo="61181622830147821"></base> <!-- --> - <tcpCl mwServerIp="127.0.0.1" mwServerPort="60000" connectTimeout="3000" /> + <tcpCl mwServerIp="192.168.40.182" mwServerPort="60000" connectTimeout="3000" /> </config> \ No newline at end of file -- Gitblit v1.8.0