From 161c2226aa491e20a6d2547095d698d4c4854d90 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 17 六月 2024 10:48:59 +0800
Subject: [PATCH] 手动页面地址变更
---
springboot-vue3/src/main/java/com/example/springboot/component/S7control.java | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 53 insertions(+), 1 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 d4a7529..be24e33 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;
@@ -470,8 +471,59 @@
}
return addresslist;
}
-
+ public void writeString(String addr,String data) {
+ s7PLC.writeString(addr,data);
+ }
+
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);
+ }
+
+ public List<Long> readtimes(List<String> addr) {
+ List<Long> result=new ArrayList<>();
+ for (String string : addr) {
+ result.add(s7PLC.readTime(string));
+
+ }
+ return result;
+}
}
--
Gitblit v1.8.0