From bf3d6101a58cdec0e81f369d94b8191648813c41 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期三, 10 四月 2024 09:08:51 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/Albania_Mes

---
 springboot-vue3/src/main/java/com/example/springboot/component/S7control.java |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java b/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
index 9ad8e83..69e66f5 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
@@ -10,6 +10,7 @@
 import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
 import com.github.xingshuangs.iot.protocol.s7.service.MultiAddressWrite;
 import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
+import com.github.xingshuangs.iot.utils.FloatUtil;
 import com.google.common.primitives.Bytes;
 import org.apache.ibatis.jdbc.Null;
 
@@ -477,4 +478,45 @@
     public String readStrings(String addr) {
         return s7PLC.readString(addr);
     }
+
+    public float readFloat32(String addr) {
+        return s7PLC.readFloat32(addr);
+    }
+
+    public double readFloat64(String addr) {
+        return s7PLC.readFloat64(addr);
+    }
+    // public float[] readfloat32(List<String> addr) {
+    //     float[] result=new float[addr.size()];
+    //     for (int i=0;i<addr.size();i++) {
+    //         String address=addr.get(i);
+    //         result[i]=readFloat32(address);
+    //     }
+    //     return result;
+    // }
+
+    public List<Float> readFloat32(List<String> addr) {
+        List<Float> result=new ArrayList<>();
+        for (String string : addr) {
+            if(string.equals("DB10.2000")||string.equals("DB10.2008")){
+                result.add((float)s7PLC.readFloat64(string));
+            }else if (string.equals("DB10.224")||string.equals("DB10.226")||string.equals("DB10.228")||string.equals("DB10.230")) {
+                List<Short> word=ReadWord(string,1);
+                for (Short short1 : word) {
+                    result.add((float)short1);
+                }
+            }
+            else{
+                result.add(s7PLC.readFloat32(string));
+            }
+            
+        }
+        return result;
+    }
+
+    public void writeFloat32(String addr, float data) {
+      s7PLC.writeFloat32(addr,data);
+   }
+
+    
 }

--
Gitblit v1.8.0