From 0d3f741da10c048bc4eb25c4b46b842759f54905 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期五, 26 一月 2024 13:52:24 +0800
Subject: [PATCH] 增加测试位 ,标志位,报警 DB区
---
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java | 285 +++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 196 insertions(+), 89 deletions(-)
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
index 9de15ae..d81c8d7 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -1,23 +1,24 @@
package com.example.springboot.component;
+import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
+import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
+import com.example.springboot.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import com.example.springboot.entity.Out_slice;
import com.example.springboot.entity.Queue;
import com.example.springboot.entity.StorageCage;
import com.example.springboot.entity.alarmmg;
+import com.example.springboot.entity.north_glass_buffer1;
import com.example.springboot.mapper.HomeMapper;
import com.example.springboot.mapper.SpianMapper;
-import com.example.springboot.service.JdbcConnections;
-import com.example.springboot.service.North_Glass_Buffer1Service;
-import com.example.springboot.service.OutSliceServive;
-import com.example.springboot.service.SpianService;
public class Plchome extends Thread {
@@ -30,30 +31,42 @@
private JdbcConnections dbserve;
// 鍑虹墖闃熷垪鏄惁鍏佽鍑虹墖
public static Boolean isAllowQueue = true;
+ public static Boolean isAllowReordering = true;
+ // 鍑虹墖闃熷垪璀﹀憡
+ public static Boolean isQueueWarning = false;
// 閾濇id
- public static String FrameNo;
+ public static String FrameNo = "";
// 鏄惁闇�瑕佹墜鍔ㄧ‘璁ょ幓鐠�
public static Boolean isConfirm = false;
+ // 寰呯‘璁ょ殑鍑虹墖闃熷垪
+ public static List<north_glass_buffer1> AluminumFrame;
+
+ // private Configuration config;
+
+ private StorageCageService storageCageService;
+
+ // public Plchome() throws IOException {
+ // config = new Configuration("config.properties");
+ // }
// public static Map b=new HashMap<>();
// b.put()
@Override
public void run() {
while (this != null) {
+ JSONObject jsonObject = new JSONObject();
try {
Thread.sleep(1000);
+ // 娉ㄥ叆mapper
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- JSONObject jsonObject = new JSONObject();
-
- // 娉ㄥ叆mapper
homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
outSliceServive = WebSocketServer.applicationContext.getBean(OutSliceServive.class);
north_Glass_Buffer1Service = WebSocketServer.applicationContext.getBean(North_Glass_Buffer1Service.class);
+ storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
+ dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
+
// 绗煎瓙浣跨敤鎯呭喌
List<StorageCage> tableData = homeMapper.selectAll();
jsonObject.append("tableData", tableData);
@@ -92,95 +105,178 @@
// 鑾峰彇鍑虹墖闃熷垪淇℃伅
List<Out_slice> listoutslice = outSliceServive.SelectProductionqueue();
jsonObject.append("listoutslice", listoutslice);
- // 鑾峰彇褰撳墠鍑虹墖闃熷垪鐘舵��
+ // 鑾峰彇褰撳墠鍑虹墖闃熷垪鍑虹墖鐘舵��
jsonObject.append("isAllowQueue", Plchome.isAllowQueue);
+ // 鑾峰彇鍑虹墖闃熷垪璀﹀憡鐘舵��
+ jsonObject.append("isQueueWarning", Plchome.isQueueWarning);
+ // 鑾峰彇褰撳墠鍑虹墖闃熷垪璋冨簭鐘舵��
+ jsonObject.append("isAllowReordering", Plchome.isAllowReordering);
// 鏄惁闇�瑕佷汉宸ョ‘璁や笂鐗囩幓鐠�
jsonObject.append("isConfirm", isConfirm);
+ // 鏌ヨ褰撳墠閾濇淇℃伅
+ Out_slice CurrentFrame = outSliceServive.SelectCurrentFrame();
+ jsonObject.append("CurrentFrame", CurrentFrame);
- // 璇诲幓Plc杩涚墖杞︿笌鍑虹墖杞︿綅缃甒
- List<String> addressList = new ArrayList<String>();
- addressList.add("DB106.12");
- addressList.add("DB106.0");
- List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
- if (paramlist != null) {
- jsonObject.append("params", paramlist);
- }
- // 鑾峰彇杩涚墖杞︾姸鎬�
- List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
- 1);// 鑾峰彇杩涚墖杞︾姸鎬�
- boolean exist1 = datas1ListState.contains((short) 0);
- jsonObject.append("zhuangtai", exist1);
- // 鑾峰彇杩涚墖鐜荤拑淇℃伅
- List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
- if (inglassInfo != null) {
- if (inglassInfo.size() > 0)
- jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
- }
+ // String E01id = new String( S7controlLK.getinstance().ReadByte("DB17.0",16));
+ // String J01id = new String( S7controlLK.getinstance().ReadByte("DB17.22",14));
+
- // 鑾峰彇閾濇idDB106.DBW64
- String frameno=spianService.queGlassid("DB103.270",14).toString();
- if(frameno!=Plchome.FrameNo&&frameno!=""){
- Plchome.FrameNo=frameno;
- }
- try {
- north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+
- // 鑾峰彇杩涚墖璇锋眰鐘舵��
- List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
- boolean D01RequestState = D01Request.contains((short) 1);
- // boolean D01RequestState =true;
- jsonObject.append("D01RequestState", D01RequestState);
-
- // 澶嶄綅鍊掕鏃�
- // 鍦板潃104.9.6
- List<Boolean> countdown = S7control.getinstance().ReadBits("DB104.9.6", 1);
- for (Boolean countdowns : countdown) {
- jsonObject.append("countdown", countdowns);
- }
- // jsonObject.append("countdown", true);
- // 澶嶄綅瀹屾垚淇″彿
- List<Boolean> resets = S7control.getinstance().ReadBits("DB103.284", 1);
- for (Boolean reset : resets) {
- jsonObject.append("reset", reset);
- }
-
- // 鏄惁鎬ュ仠
- List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
- for (Boolean emergencystop : emergencystops) {
- jsonObject.append("emergencystop", emergencystop);
- }
+
// 閾濇绾夸氦浜�
+ if (CurrentFrame != null) {
+ S7controlLK.getinstance().writeStrings(CurrentFrame.getBarCode(),"DB17.0");
+ }
+ String E01id=S7controlLK.getinstance().readStrings("DB17.0");
+ String J01id=S7controlLK.getinstance().readStrings("DB17.22");
+
+ List<Short> liststates=S7controlLK.getinstance().ReadWord("DB17.38", 1);
+ List<Short> liststate=S7controlLK.getinstance().ReadWord("DB17.20", 1);
+ Short framerequest = liststate.get(0);
+ if (framerequest == 1) {
+ // 閾濇id
+ String position;
+ try {
+ position = dbserve.SelectPositionByFrameBarcode(J01id);
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ position = "0";
+ e.printStackTrace();
+ }
+ Short send;
+ if (position.equals("0")) {
+ send = 0;
+ } else {
+ send = 1;
+ }
+ S7controlLK.getinstance().WriteWord("DB17.38", (short) send);
+ }
+
+
- // //閾濇id璇锋眰瀛�
- // List<Short> framerequest = S7control.getinstance().ReadWord("閾濇id璇锋眰瀛楀湴鍧�", 1);
- // if(framerequest!=null){
- // //閾濇id
- // String franmeno= spianService.queGlassid("閾濇id鍦板潃", 14).toString();
- // String position;
- // try {
- // position=dbserve.SelectPositionByFrameBarcode(franmeno);
- // } catch (SQLException e) {
- // // TODO Auto-generated catch block
- // position="0";
- // e.printStackTrace();
- // }
- // Short send;
- // if(position=="0"){
- // send=0;
- // }else{
- // send=1;
- // }
- // S7control.getinstance().WriteWord("閾濇缈昏浆鍙戦�佸湴鍧�", (short)send);
- // }
+ if (S7control.getinstance().CheckConnected() == true) {
+ // 鑾峰彇褰撳墠鎵爜鏂瑰紡
- dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
+ List<Boolean> Scanningmethods = S7control.getinstance().ReadBits("DB101.11.4", 1);
+ if (Scanningmethods != null) {
+ for (Boolean Scanningmethod : Scanningmethods) {
+ jsonObject.append("Scanningmethod", Scanningmethod);
+ }
+ }
+
+ String CurrrentGlassId = spianService.queGlassid("DB103.256", 14).toString();
+ jsonObject.append("CurrrentGlassId", CurrrentGlassId);
+
+ // 鑾峰彇D01-D06,A01,A02,B01,B02鐘舵��
+ List<Short> DeviceList = S7control.getinstance().ReadWord("DB103.0", 10);
+ jsonObject.append("DeviceList", DeviceList);
+ // 鑾峰彇D01-D06,A01,A02,B01,B02鐜荤拑id
+ List<String> GlassIdList = new ArrayList<String>();
+ GlassIdList.add(spianService.queGlassid("DB103.44", 14).toString());
+ GlassIdList.add(spianService.queGlassid("DB103.58", 14).toString());
+
+ GlassIdList.add(spianService.queGlassid("DB103.184", 14).toString());
+ GlassIdList.add(spianService.queGlassid("DB103.212", 14).toString());
+
+ GlassIdList.add(spianService.queGlassid("DB103.128", 14).toString());
+ GlassIdList.add(spianService.queGlassid("DB103.142", 14).toString());
+ GlassIdList.add(spianService.queGlassid("DB103.156", 14).toString());
+
+ GlassIdList.add(spianService.queGlassid("DB103.72", 14).toString());
+ GlassIdList.add(spianService.queGlassid("DB103.86", 14).toString());
+ GlassIdList.add(spianService.queGlassid("DB103.100", 14).toString());
+ GlassIdList.add(spianService.queGlassid("DB103.114", 14).toString());
+ jsonObject.append("GlassIdList", GlassIdList);
+
+ // 璇诲幓Plc杩涚墖杞︿笌鍑虹墖杞︿綅缃甒
+ List<String> addressList = new ArrayList<String>();
+ addressList.add("DB106.12");
+ addressList.add("DB106.0");
+ List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
+ if (paramlist != null) {
+ jsonObject.append("params", paramlist);
+ }
+ // 鑾峰彇杩涚墖杞︾姸鎬�
+ List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
+ 1);// 鑾峰彇杩涚墖杞︾姸鎬�
+ if (datas1ListState != null) {
+ boolean exist1 = datas1ListState.contains((short) 0);
+ jsonObject.append("zhuangtai", exist1);
+ }
+
+ // 鑾峰彇杩涚墖鐜荤拑淇℃伅
+ List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
+ if (inglassInfo != null) {
+ if (inglassInfo.size() > 0) {
+ jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
+ }
+ }
+ // // 鑾峰彇閾濇idDB106.DBW64锛屾坊鍔犲埌鍑虹墖闃熷垪
+ // String frameno="X21763329601FB";
+ String frameno = spianService.queGlassid("DB103.270", 14).toString();
+ if (!frameno.equals(Plchome.FrameNo)) {
+ Plchome.FrameNo = frameno;
+ try {
+ Short num = 0;
+ List<north_glass_buffer1> north_glass_buffer1s = north_Glass_Buffer1Service
+ .SelectAluminumFrameInfoById(Plchome.FrameNo);
+ for (north_glass_buffer1 north_glass_buffer1 : north_glass_buffer1s) {
+ if (north_glass_buffer1.getstorageCage() == null) {
+ break;
+ }
+ num++;
+ }
+ if (num == north_glass_buffer1s.size()) {
+ north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
+ } else {
+ Plchome.AluminumFrame = north_glass_buffer1s;
+ }
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ if (AluminumFrame != null) {
+ jsonObject.append("AluminumFrame", AluminumFrame);
+ }
+
+ // 鑾峰彇杩涚墖璇锋眰鐘舵��
+ List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
+ boolean D01RequestState = D01Request.contains((short) 1);
+ // boolean D01RequestState =true;
+ jsonObject.append("D01RequestState", D01RequestState);
+
+ // 澶嶄綅鍊掕鏃�
+ // 鍦板潃104.9.6
+ List<Boolean> countdown = S7control.getinstance().ReadBits("DB104.9.6", 1);
+ for (Boolean countdowns : countdown) {
+ jsonObject.append("countdown", countdowns);
+ }
+ // jsonObject.append("countdown", true);
+ // 澶嶄綅瀹屾垚淇″彿ss
+ List<Boolean> resetss = S7control.getinstance().ReadBits("DB103.284", 1);
+ for (Boolean reset : resetss) {
+ jsonObject.append("reset", reset);
+ }
+
+ // 鏄惁鎬ュ仠
+ List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
+ for (Boolean emergencystop : emergencystops) {
+ jsonObject.append("emergencystop", emergencystop);
+ }
+ }
+
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+
+
+
boolean dbconnected = false;
try {
dbserve.getConn();
@@ -195,9 +291,20 @@
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
webserver.sendMessage(jsonObject.toString());
+
+ if (webserver != null) {
+
+ List<String> messages = webserver.getMessages();
+
+ if (!messages.isEmpty()) {
+ // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+ webserver.clearMessages();
+ }
+
+ }
+
}
}
-
}
}
}
--
Gitblit v1.8.0