From 8c8e78eac51fdc57942e1e348ba54d0116515408 Mon Sep 17 00:00:00 2001
From: zhangyong <517047165@qq.com>
Date: 星期三, 08 五月 2024 10:38:46 +0800
Subject: [PATCH] 修正plc读取代码方式
---
hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java | 21 ++++++++++++++++++---
1 files changed, 18 insertions(+), 3 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 10a3b2f..2d34674 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
@@ -148,7 +148,10 @@
}
if (plcParameterInfo.getAddressLength() == 2) {
plcParameterInfo.setValue(String.valueOf(byte2short(valueList)));
- } else if (plcParameterInfo.getAddressLength() == 14) {
+ } else if (plcParameterInfo.getAddressLength() == 4) {
+ plcParameterInfo.setValue(String.valueOf(byte2int(valueList)));
+ }
+ else if (plcParameterInfo.getAddressLength() >10) {
plcParameterInfo.setValue((byteToHexString(valueList)));
} else {
String valuestr = new String(valueList);
@@ -186,9 +189,21 @@
return l;
}
+ /**
+ * byte[]绫诲瀷杞瑂hort
+ *
+ * @param b byte[]绫诲瀷鍊�
+ */
+ public static short byte2int(byte[] b) {
+ short 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 String byteToHexString(byte[] bytes) {
-
- String str = new String(bytes, StandardCharsets.UTF_8);
+ String str = new String(bytes, StandardCharsets.UTF_8).trim();
return str;
}
--
Gitblit v1.8.0