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