From 463363f6ef3f5761a074016cc7d61778db0d6cd9 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期三, 18 十月 2023 17:33:05 +0800
Subject: [PATCH] rtu管理
---
ard-work/src/main/java/com/ruoyi/device/dhsdk/module/ConfigModule.java | 36 +++++++++++++++++++++++++++++++++++-
1 files changed, 35 insertions(+), 1 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/device/dhsdk/module/ConfigModule.java b/ard-work/src/main/java/com/ruoyi/device/dhsdk/module/ConfigModule.java
index a435d75..bb99075 100644
--- a/ard-work/src/main/java/com/ruoyi/device/dhsdk/module/ConfigModule.java
+++ b/ard-work/src/main/java/com/ruoyi/device/dhsdk/module/ConfigModule.java
@@ -3,6 +3,7 @@
import com.ruoyi.device.dhsdk.lib.NetSDKLib;
import com.sun.jna.Structure;
import com.sun.jna.ptr.IntByReference;
+import static com.ruoyi.device.dhsdk.lib.ToolKits.getErrorCodePrint;
/**
* @Description:
@@ -12,6 +13,7 @@
**/
public class ConfigModule {
public static NetSDKLib netsdk = NetSDKLib.NETSDK_INSTANCE;
+ public static NetSDKLib configsdk = NetSDKLib.CONFIG_INSTANCE;
/**
* 鏌ヨ璁惧鐘舵��
*/
@@ -19,10 +21,42 @@
IntByReference intRetLen = new IntByReference();
stuInfo.write();
- if (!LoginModule.netsdk.CLIENT_QueryDevState(hLoginHandle, nType, stuInfo.getPointer(), stuInfo.size(), intRetLen, 3000)) {
+ if (!netsdk.CLIENT_QueryDevState(hLoginHandle, nType, stuInfo.getPointer(), stuInfo.size(), intRetLen, 3000)) {
return false;
}
stuInfo.read();
return true;
}
+ /**
+ * 璁剧疆鍗曚釜閰嶇疆
+ * @param hLoginHandle 鐧婚檰鍙ユ焺
+ * @param nChn 閫氶亾鍙凤紝-1 琛ㄧず鍏ㄩ�氶亾
+ * @param strCmd 閰嶇疆鍚嶇О
+ * @param cmdObject 閰嶇疆瀵瑰簲鐨勭粨鏋勪綋瀵硅薄
+ * @return 鎴愬姛杩斿洖 true
+ */
+ public static boolean SetDevConfig(NetSDKLib.LLong hLoginHandle, int nChn, String strCmd, Structure cmdObject) {
+ boolean result = false;
+ int nBufferLen = 2*1024*1024;
+ byte szBuffer[] = new byte[nBufferLen];
+ for(int i=0; i<nBufferLen; i++)szBuffer[i]=0;
+ IntByReference error = new IntByReference(0);
+ IntByReference restart = new IntByReference(0);
+ cmdObject.write();
+ if (configsdk.CLIENT_PacketData(strCmd, cmdObject.getPointer(), cmdObject.size(), szBuffer, nBufferLen)) {
+ cmdObject.read();
+ if( configsdk.CLIENT_SetNewDevConfig(hLoginHandle, strCmd , nChn , szBuffer, nBufferLen, error, restart, 3000)) {
+ result = true;
+ } else {
+ System.err.printf("Set %s Config Failed! Last Error = %s\n" , strCmd , getErrorCodePrint());
+ result = false;
+ }
+ } else {
+ System.err.println("Packet " + strCmd + " Config Failed!" + getErrorCodePrint());
+ result = false;
+ }
+
+ return result;
+ }
+
}
--
Gitblit v1.9.3