From af5d5be655d00d2b3bd6e4a6202955de45a56439 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期四, 27 六月 2024 13:19:24 +0800
Subject: [PATCH] 增加大屏线程
---
hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java | 43 ++++++++++++++++++++++++++++++++++++-------
1 files changed, 36 insertions(+), 7 deletions(-)
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
index e78a0f6..e8bfd42 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
@@ -1,5 +1,8 @@
package com.mes.device;
+import com.github.xingshuangs.iot.utils.IntegerUtil;
+import com.github.xingshuangs.iot.utils.ShortUtil;
+
import java.lang.reflect.Array;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
@@ -157,15 +160,14 @@
Array.setByte(valueList, i, plcValueArray[plcParameterInfo.getAddressIndex() + i]);
}
if (plcParameterInfo.getAddressLength() == 2) {
- plcParameterInfo.setValue(String.valueOf(byte2short(valueList)));
+ plcParameterInfo.setValue(String.valueOf(ShortUtil.toUInt16(valueList)));
} else if (plcParameterInfo.getAddressLength() == 4) {
- plcParameterInfo.setValue(String.valueOf(byte2int(valueList)));
+ plcParameterInfo.setValue(String.valueOf(IntegerUtil.toUInt32(valueList)));
}
else if (plcParameterInfo.getAddressLength() >10) {
plcParameterInfo.setValue((byteToHexString(valueList)));
} else {
- String valuestr = new String(valueList);
- plcParameterInfo.setValue(valuestr);
+ plcParameterInfo.setValue((byteToHexString(valueList)));
}
}
}
@@ -196,6 +198,25 @@
}
}*/
}
+ /**
+ * 鎶婂啓鍏ュ�艰浆鍖栦负byte[]
+ * @param param 鍙傛暟瀹炰緥
+ * @param data 鍐欏叆鍊肩殑瀛楃绫诲瀷
+ */
+ public byte[] setValueToBytes(PlcParameterInfo param, String data) {
+ if (param.getAddressLength() == 2) {
+ return ShortUtil.toByteArray(Integer.parseInt(data));
+
+ } else if (param.getAddressLength() == 4) {
+
+ return IntegerUtil.toByteArray(Long.parseLong(data));
+ }
+ else if (param.getAddressLength() >10) {
+ return data.getBytes();
+ } else {
+ return data.getBytes();
+ }
+ }
/**
* short绫诲瀷杞琤yte[]
@@ -205,7 +226,7 @@
public static byte[] short2byte(short s) {
byte[] b = new byte[2];
for (int i = 0; i < 2; i++) {
- int offset = 16 - (i + 1) * 8; //鍥犱负byte鍗�4涓瓧鑺傦紝鎵�浠ヨ璁$畻鍋忕Щ閲�
+ int offset = 16 - (i + 1) * 8; //璁$畻鍋忕Щ閲�
b[i] = (byte) ((s >> offset) & 0xff); //鎶�16浣嶅垎涓�2涓�8浣嶈繘琛屽垎鍒瓨鍌�
}
return b;
@@ -230,14 +251,22 @@
*
* @param b byte[]绫诲瀷鍊�
*/
- public static short byte2int(byte[] b) {
- short l = 0;
+ public static int byte2int(byte[] b) {
+ int l = 0;
for (int i = 0; i < 4; i++) {
l <<= 8; //<<=鍜屾垜浠殑 +=鏄竴鏍风殑锛屾剰鎬濆氨鏄� l = l << 8
l |= (b[3-i] & 0xff); //鍜屼笂闈篃鏄竴鏍风殑 l = l | (b[i]&0xff)
}
return l;
}
+ public static byte[] int2byte(int s){
+ byte[] b = new byte[2];
+ for(int i = 0; i < 4; i++){
+ int offset = 16 - (i+1)*8; //鍥犱负byte鍗�4涓瓧鑺傦紝鎵�浠ヨ璁$畻鍋忕Щ閲�
+ b[i] = (byte)((s >> offset)&0xff); //鎶�32浣嶅垎涓�4涓�8浣嶈繘琛屽垎鍒瓨鍌�
+ }
+ return b;
+ }
public static String byteToHexString(byte[] bytes) {
String str = new String(bytes, StandardCharsets.UTF_8).trim();
return str;
--
Gitblit v1.8.0