From 9ebd56f767376149ef5ec706e5816c23d53bf718 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期三, 28 二月 2024 10:53:09 +0800
Subject: [PATCH] 覆盖
---
CacheGlassModule/src/main/java/com/mes/MesApplication.java | 1
UnLoadGlassModule/src/main/java/com/mes/entity/OrderTest.java | 26 ++
UnLoadGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java | 464 ++++++++++++++++++++++++++++++++++++++
CacheGlassModule/MES-Module.iml | 133 +++++++++++
CacheGlassModule/target/classes/application.yml | 32 ++
CacheGlassModule/src/main/resources/application.yml | 2
UI-Project/vite.config.js | 7
7 files changed, 663 insertions(+), 2 deletions(-)
diff --git a/CacheGlassModule/MES-Module.iml b/CacheGlassModule/MES-Module.iml
new file mode 100644
index 0000000..1069076
--- /dev/null
+++ b/CacheGlassModule/MES-Module.iml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="web" name="Web">
+ <configuration>
+ <webroots />
+ <sourceRoots>
+ <root url="file://$MODULE_DIR$/src/main/java" />
+ <root url="file://$MODULE_DIR$/src/main/resources" />
+ </sourceRoots>
+ </configuration>
+ </facet>
+ <facet type="Spring" name="Spring">
+ <configuration />
+ </facet>
+ </component>
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+ <output url="file://$MODULE_DIR$/target/classes" />
+ <output-test url="file://$MODULE_DIR$/target/test-classes" />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+ <excludeFolder url="file://$MODULE_DIR$/target" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.5.9" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.5.9" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.5.9" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.5.9" level="project" />
+ <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.10" level="project" />
+ <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.10" level="project" />
+ <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.17.1" level="project" />
+ <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.17.1" level="project" />
+ <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.33" level="project" />
+ <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
+ <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.28" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.5.9" level="project" />
+ <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.12.6" level="project" />
+ <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.12.6" level="project" />
+ <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.12.6" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.5.9" level="project" />
+ <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.56" level="project" />
+ <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.56" level="project" />
+ <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.56" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework:spring-web:5.3.15" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.3.15" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.15" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.15" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.15" level="project" />
+ <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.3.1" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.5.9" level="project" />
+ <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:4.0.3" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.3.15" level="project" />
+ <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.3.1" level="project" />
+ <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.13" level="project" />
+ <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.1.1" level="project" />
+ <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.70" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.3.1.RELEASE" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.15" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.15" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.15" level="project" />
+ <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.33" level="project" />
+ <orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:8.0.20" level="project" />
+ <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.22" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.5.9" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.5.9" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.5.9" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.5.0" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.4.7" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:2.4.7" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:9.1" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.7.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.7.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.7.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.7.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.7.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.9.0" level="project" />
+ <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.22" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.22" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:3.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:3.9.0" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.3.15" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.8.4" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter-test:2.3.1" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-test-autoconfigure:2.3.1" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.15" level="project" />
+ <orderEntry type="library" name="Maven: com.auth0:java-jwt:3.10.3" level="project" />
+ <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.12.6" level="project" />
+ <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.12.6" level="project" />
+ <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.12.6" level="project" />
+ <orderEntry type="library" scope="RUNTIME" name="Maven: commons-codec:commons-codec:1.15" level="project" />
+ <orderEntry type="library" name="Maven: org.assertj:assertj-core:3.19.0" level="project" />
+ <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.4.0" level="project" />
+ <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.5.1" level="project" />
+ <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.5.1" level="project" />
+ <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.5.1" level="project" />
+ <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.5.1" level="project" />
+ <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.5.1" level="project" />
+ <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.3" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.5.9" level="project" />
+ <orderEntry type="library" name="Maven: com.baomidou:dynamic-datasource-spring-boot-starter:3.5.1" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.5.9" level="project" />
+ <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" />
+ <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" />
+ <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.20" level="project" />
+ <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" />
+ <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" />
+ <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" />
+ <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.9.2" level="project" />
+ <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" />
+ <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
+ <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
+ <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" />
+ <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.9.2" level="project" />
+ <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" />
+ <orderEntry type="library" name="Maven: com.github.xingshuangs:iot-communication:1.4.2" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.5.9" level="project" />
+ <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.3.15" level="project" />
+ <orderEntry type="library" name="Maven: io.netty:netty-all:4.1.36.Final" level="project" />
+ </component>
+</module>
\ No newline at end of file
diff --git a/CacheGlassModule/src/main/java/com/mes/MesApplication.java b/CacheGlassModule/src/main/java/com/mes/MesApplication.java
index 9cc84b5..335c63e 100644
--- a/CacheGlassModule/src/main/java/com/mes/MesApplication.java
+++ b/CacheGlassModule/src/main/java/com/mes/MesApplication.java
@@ -16,6 +16,7 @@
public static void main(String[] args) {
SpringApplication.run(MesApplication.class, args);
try {
+ // System.out.println(" [x] Sent 3");
//new NettyServer(12345).start();
} catch (Exception e) {
throw new RuntimeException(e);
diff --git a/CacheGlassModule/src/main/resources/application.yml b/CacheGlassModule/src/main/resources/application.yml
index d74069d..2830b27 100644
--- a/CacheGlassModule/src/main/resources/application.yml
+++ b/CacheGlassModule/src/main/resources/application.yml
@@ -1,6 +1,6 @@
server:
- port: 8080
+ port: 8081
servlet:
context-path: /mesModuleTools
diff --git a/CacheGlassModule/target/classes/application.yml b/CacheGlassModule/target/classes/application.yml
new file mode 100644
index 0000000..2830b27
--- /dev/null
+++ b/CacheGlassModule/target/classes/application.yml
@@ -0,0 +1,32 @@
+
+server:
+ port: 8081
+ servlet:
+ context-path: /mesModuleTools
+
+spring:
+ datasource:
+ dynamic:
+ primary: user_info #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
+ strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
+ datasource:
+ user_info:
+ url: jdbc:mysql://10.153.19.150:3306/erp_user_info?serverTimezone=GMT%2b8
+ username: root
+ password: beibo.123/
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ sd:
+ url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8
+ username: root
+ password: beibo.123/
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ mm:
+ url: jdbc:mysql://10.153.19.150:3306/mm?serverTimezone=GMT%2b8
+ username: root
+ password: beibo.123/
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ pp:
+ url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8
+ username: root
+ password: beibo.123/
+ driver-class-name: com.mysql.cj.jdbc.Driver
\ No newline at end of file
diff --git a/UI-Project/vite.config.js b/UI-Project/vite.config.js
index b27e7e0..28fb7f8 100644
--- a/UI-Project/vite.config.js
+++ b/UI-Project/vite.config.js
@@ -29,7 +29,12 @@
// '^/api': ''
// }
// rewrite: (path) => path.replace(/^\/api/, "/mesModuleTools"), //閲嶅啓鐪熷疄璺緞,鏇挎崲/api
- }
+ },
+ '/api2': {
+ target: 'localhost:8081/mesModuleTools',
+ changeOrigin: true,
+ rewrite: (path) => path.replace(/^\/api2/, ""),
+ },
}
}
})
diff --git a/UnLoadGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java b/UnLoadGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
new file mode 100644
index 0000000..d62cad3
--- /dev/null
+++ b/UnLoadGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
@@ -0,0 +1,464 @@
+package com.mes.common.PlcTools;
+
+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.google.common.primitives.Bytes;
+
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.List;
+
+public class S7control {
+
+ S7PLC s7PLC; // PLC閫氳绫诲疄渚�
+ private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
+ private String ip = "192.168.10.1"; // plc ip鍦板潃
+ private int port = 102; // plc 绔彛鍙�
+
+ private static volatile S7control instance = null;
+
+ private S7control() {
+ if (s7PLC == null)
+ s7PLC = new S7PLC(plcType, ip, port,0,0);
+ }
+
+ // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
+ public static S7control getinstance() {
+ if (instance == null) {
+ synchronized (S7control.class) {
+ if (instance == null)
+ instance = new S7control();
+ }
+ }
+ return instance;
+ }
+
+ /**
+ * 鍏抽棴瑗块棬瀛恠7閫氳杩炴帴
+ */
+ public void CloseS7client() {
+ if (s7PLC == null)
+ s7PLC.close();
+ s7PLC.checkConnected();
+ }
+
+ /**
+ * s7閫氳杩炴帴鐘舵��
+ */
+ public boolean CheckConnected() {
+ return s7PLC.checkConnected();
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓獁ord
+ *
+ * @param address 鍦板潃
+ * @param data word鐨勫��
+ */
+ public void WriteWord(String address, short data) {
+ if (s7PLC==null)
+ {
+ return;
+ }
+ s7PLC.writeInt16(address, data);
+ }
+
+ /**
+ * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜word
+ *
+ * @param address 鍦板潃
+ * @param datas word鐨勫��
+ */
+ public void WriteWord(String address, List<Short> datas) {
+ if (s7PLC==null)
+ return;
+ // s7PLC.write(address, data);
+ List<String> addresslist = GetAddressList(address, datas.size(), 16);
+ MultiAddressWrite addressWrite = new MultiAddressWrite();
+ for (int i = 0; i < datas.size(); i++) {
+ addressWrite.addInt16(addresslist.get(i), datas.get(i));
+ }
+ s7PLC.writeMultiData(addressWrite);
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜word
+ *
+ * @param address 鍦板潃
+ * @param datas word鐨勫��
+ */
+
+
+
+
+
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓狟it
+ *
+ * @param address 鍦板潃
+ * @param data Bit鐨勫��
+ */
+ public void WriteBit(String address, Boolean data) {
+ if (s7PLC==null)
+ return;
+ s7PLC.writeBoolean(address, data);
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜bit
+ *
+ * @param address 鍦板潃
+ * @param datas bit鐨勫��
+ */
+ public void WriteBit(List<String> address, List<Boolean> datas) {
+ if (s7PLC==null)
+ return;
+ // s7PLC.write(address, data);
+
+ MultiAddressWrite addressWrite = new MultiAddressWrite();
+ for (int i = 0; i < address.size(); i++) {
+ addressWrite.addBoolean(address.get(i), datas.get(i));
+ }
+ s7PLC.writeMultiData(addressWrite);
+ }
+
+ /**
+ * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜bit
+ *
+ * @param address 鍦板潃
+ * @param datas word鐨勫��
+ */
+ public void WriteBit(String address, List<Boolean> datas) {
+ if (s7PLC==null)
+ return;
+ // s7PLC.write(address, data);
+ List<String> addresslist = GetAddressList(address, datas.size(), 1);
+ MultiAddressWrite addressWrite = new MultiAddressWrite();
+ for (int i = 0; i < datas.size(); i++) {
+ addressWrite.addBoolean(addresslist.get(i), datas.get(i));
+ }
+ s7PLC.writeMultiData(addressWrite);
+ }
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜byte
+ *
+ * @param address 鍦板潃
+ * @param datas byte鐨勫��
+ */
+ public void WriteByte(String address, byte[] datas) {
+ if (s7PLC==null)
+ return;
+ // s7PLC.write(address, data);
+ s7PLC.writeByte(address, datas);
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
+ *
+ * @param address 鍦板潃
+ * @return 缁撴灉
+ */
+ public List<Short> ReadWord(List<String> address) {
+ if (s7PLC == null)
+ return null;
+
+ try {
+ return s7PLC.readInt16(address);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+ }
+
+
+
+
+ private int getIndexFromAddress(String address) {
+
+ // 鍙互瑙f瀽鍑哄湴鍧�涓殑鏁板瓧閮ㄥ垎锛屽苟杞崲涓烘暣鏁�
+ return 0;
+ }
+
+ private String getAddressFromIndex(int index) {
+
+ // 鏁存暟杞崲涓哄湴鍧�鏍煎紡鐨勫瓧绗︿覆
+ return "";
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
+ *
+ * @param address 鍦板潃
+ * @param count 杩炵画璇诲灏戜釜word
+ * @return 缁撴灉
+ */
+ public List<Short> ReadWord(String address, int count) {
+ if (s7PLC == null)
+ return null;
+
+ List<String> addresslist = GetAddressList(address, count, 16);
+ try {
+ return s7PLC.readInt16(addresslist);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+
+ return null;
+ }
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 璇诲彇byte缁撴灉闆�
+ *
+ * @param address 鍦板潃
+ * @param count 杩炵画璇诲灏戜釜byte
+ * @return 缁撴灉
+ */
+ public byte[] ReadByte(String address, int count) {
+ if (s7PLC==null)
+ return null;
+ // List<String> addresslist = GetAddressList(address, count, 16);
+
+ try {
+ return s7PLC.readByte(address, count);
+ }catch (Exception e) {
+ // 澶勭悊寮傚父
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鎸塨it浣� 0 flase 1 true 璇诲彇缁撴灉
+ *
+ * @param addresslist 鍦板潃闆�
+ * @return Boolean缁撴灉
+ */
+ public List<Boolean> ReadBits(List<String> addresslist) {
+ if (s7PLC==null)
+ return null;
+ return s7PLC.readBoolean(addresslist);
+ }
+//璇诲彇涓嶈繛缁湴鍧�bit
+public List<Boolean> readBits(List<String> addressList) {
+ if (s7PLC == null || addressList.isEmpty()) {
+ return null;
+ }
+
+ List<Boolean> values = new ArrayList<>();
+ for (String address : addressList) {
+ try {
+ boolean value = s7PLC.readBoolean(address);
+ values.add(value);
+ } catch (Exception e) {
+ // 澶勭悊寮傚父
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ }
+ }
+
+ return values;
+}
+
+
+//璇诲彇String
+public List<String> readStrings(List<String> addressList) {
+ if (s7PLC == null) {
+ return null;
+ }
+ List<String> result = new ArrayList<>();
+ for (String address : addressList) {
+ try {
+ byte[] bytes = s7PLC.readByte(address, 14);
+ if (bytes != null) {
+ String str = new String(bytes, StandardCharsets.UTF_8);
+ result.add(str);
+ }
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ result.add(null);
+ }
+ }
+
+ return result;
+}
+
+
+
+
+
+ public List<String> readStringsandword(List<String> addressList) {
+ if (s7PLC == null) {
+ return null;
+ }
+ List<String> result = new ArrayList<>();
+ for (String address : addressList) {
+ try {
+ if (address.contains("-")) {
+ address = address.substring(0, address.indexOf("-"));
+
+ byte[] bytes = s7PLC.readByte(address, 14);
+ if (bytes != null) {
+ String str = new String(bytes, StandardCharsets.UTF_8);
+ result.add(str);
+ }
+
+ } else {
+ Short value = s7PLC.readInt16(address);
+ result.add(value.toString());
+
+ }
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ result.add(null);
+ }
+ }
+
+ return result;
+ }
+
+
+
+//涓嶈繛缁湴鍧�鍐欏叆Word
+ public void WriteWord(List<String> address, List<Short> datas) {
+ if (s7PLC == null)
+ return;
+
+ for (int i = 0; i < address.size(); i++) {
+ String addr = address.get(i);
+ short data = datas.get(i);
+
+ if (addr.contains("-")) {
+ outmesid(String.valueOf(data),addr); // 鍗曠嫭澶勭悊甯︾牬鎶樺彿鐨勫湴鍧�
+ } else {
+ s7PLC.writeInt16(addr, data); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
+ }
+ }
+ }
+
+
+
+//瀛楃涓插啓鍏�
+ public void outmesid(String data, String addr) {
+// System.out.println("outmesid: " + data);
+ List<Byte> glassidlist = new ArrayList<>();
+ String[] parts = addr.split("-");
+ if (parts.length == 2) {
+ addr = parts[0]; // 鍙繚鐣� "-" 鍓嶉潰鐨勯儴鍒�
+ }
+ for (char iditem : data.toCharArray()) {
+ glassidlist.add(Byte.valueOf(String.valueOf(iditem)));
+ }
+ byte[] bytes = Bytes.toArray(glassidlist);
+ S7control.getinstance().WriteByte(addr, bytes);
+ }
+
+//璇诲彇涓嶈繛缁瓀ord
+ public List<Short> readWords(List<String> addresses) {
+ if (s7PLC == null) {
+ return null;
+ }
+
+ List<Short> data = new ArrayList<>();
+
+ for (String address : addresses) {
+ try {
+
+ // 鍗曚釜鍦板潃
+ Short value = s7PLC.readInt16(address);
+ data.add(value);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+
+ }
+
+ }
+ return data;
+ }
+
+//璇诲彇鏃堕棿
+public Long readtime(String address) {
+ if (s7PLC == null)
+ return null;
+ try {
+ return s7PLC.readTime(address);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+}
+
+
+ public void writetime(String address, long datas) {
+ if (s7PLC == null)
+ return;
+
+
+ s7PLC.writeTime(address, datas); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
+ }
+
+
+
+
+
+ private int extractAddressNumber(String address) {
+ String numberStr = address.replaceAll("\\D+", ""); // 浣跨敤姝e垯琛ㄨ揪寮忔彁鍙栨暟瀛楅儴鍒�
+ return Integer.parseInt(numberStr);
+ }
+
+
+ /**
+ * 浠庢寚瀹氱殑鍦板潃寮�濮� 杩炵画鎸塨it浣嶈鍙�
+ *
+ * @param address 鍦板潃
+ * @param count 闀垮害
+ * @return Boolean缁撴灉
+ */
+ public List<Boolean> ReadBits(String address, int count) {
+ if (s7PLC == null)
+ return null;
+ List<String> addresslist = GetAddressList(address, count, 1);
+ try {
+ return s7PLC.readBoolean(addresslist);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+
+ };
+
+
+
+ private List<String> GetAddressList(String address, int count, int addedbit) {
+ List<String> addresslist = new ArrayList<String>();
+
+ String[] stringdatas = address.trim().split("\\.");
+ if (stringdatas.length < 2 || !address.startsWith("DB"))
+ return null;
+ int dbwindex = 0;
+ int bitindex = 0;
+ if (stringdatas.length == 2) {
+ dbwindex = Integer.parseInt(stringdatas[1]);
+ } else if (stringdatas.length == 3) {
+ dbwindex = Integer.parseInt(stringdatas[1]);
+ bitindex = Integer.parseInt(stringdatas[2]);
+ } else
+ return null;
+
+ addresslist.add(address);
+ for (int i = 0; i < count-1; i++) {
+
+ int bitcurrent = bitindex + addedbit;
+ if (bitcurrent > 7) {
+ dbwindex += bitcurrent / 8;
+ bitindex = 0;
+ } else
+ bitindex = bitcurrent;
+
+ String endstr=stringdatas.length==3?"." + bitindex:"";
+ addresslist.add(stringdatas[0] + "." + dbwindex + endstr);
+ }
+ return addresslist;
+ }
+}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/entity/OrderTest.java b/UnLoadGlassModule/src/main/java/com/mes/entity/OrderTest.java
new file mode 100644
index 0000000..e8ea030
--- /dev/null
+++ b/UnLoadGlassModule/src/main/java/com/mes/entity/OrderTest.java
@@ -0,0 +1,26 @@
+package com.mes.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
+@TableName("`order`")
+public class OrderTest {
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+ private String orderId;
+ private String recipeNo;
+ private String largeglassNo;
+ private String largeglassCompleted;
+ private String smallglassNo;
+ private String smallglassCompleted;
+ private String smallglassProcessing;
+ private String smallglassWorn;
+ private String orderStatus;
+ private String orderMaker;
+ private String makeTime;
+ private String updateTime;
+
+}
--
Gitblit v1.8.0