From 2d92826d942cd4c06e1f415d4a3896b99ec65e2b Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期四, 07 十一月 2024 19:32:00 +0800
Subject: [PATCH] 更改配片逻辑
---
springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java | 187 +++++++++++++++++++++++++++++++---------------
1 files changed, 124 insertions(+), 63 deletions(-)
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
index dc51f1c..8756fe9 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
@@ -1,26 +1,22 @@
package com.example.springboot.component;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Date;
+
import org.springframework.beans.factory.annotation.Autowired;
-import com.example.springboot.service.JdbcConnections;
import com.example.springboot.service.SpianServiceNew;
-import com.example.springboot.entity.north_glass_buffer1;
+import com.example.springboot.service.StorageCageService;
+import com.example.springboot.entity.GlassInfo;
import com.example.springboot.entity.device.PlcParameterObject;
-import com.example.springboot.mapper.AlarmMapper;
import com.example.springboot.mapper.AlbaniaMapper;
-import com.example.springboot.mapper.SpianMapper;
public class PlcHoldNew extends Thread {
- private AlarmMapper alarmMapper;
-
@Autowired
- private JdbcConnections jdbcConnections;
private AlbaniaMapper albaniaMapper;
private SpianServiceNew spianService;
+ private StorageCageService storageCageService;
int aaa;
+ String huibao = "";
@Override
public void run() {
@@ -28,72 +24,137 @@
while (this != null) {
try {
- Thread.sleep(100);
+ Thread.sleep(300);
} catch (InterruptedException e) {
- // \\ TODO Auto-generated catch block
e.printStackTrace();
}
- // List<Short> ss= S7control.getinstance().ReadWord("DB14.0", 1);
- // System.out.println(ss);
-
- String E01id = S7control.getinstance().readStrings("DB14.0");
- System.out.println(E01id);
- // if (S7control.getinstance().CheckConnected() == false) {
+
+ storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
spianService = WebSocketServer.applicationContext.getBean(SpianServiceNew.class);
albaniaMapper = WebSocketServer.applicationContext.getBean(AlbaniaMapper.class);
- //spianService.selectAll(albaniaMapper.SelectGlass());
- //璇诲彇DB14鍖烘枃浠�
- PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+ spianService.selectout(1);
+ // 璇诲彇DB14鍖烘枃浠�
+ PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
+ if (plcmes.getPlcParameter("PLCToMES").getValue() != null) {
-
- String ExportTOMES1=plcmes.getPlcParameter("ExportTOMES1").getValue();//鍑虹墖璇锋眰涓�绾�
- String ExportToMES2=plcmes.getPlcParameter("ExportToMES2").getValue();//鍑虹墖璇锋眰浜岀嚎
- String PLCToMES=plcmes.getPlcParameter("PLCToMES").getValue();//杩涚墖璇锋眰
- String B01State=plcmes.getPlcParameter("B01State").getValue();//杩愰�佽溅璇锋眰
- String TastState=plcmes.getPlcParameter("MESToPLCStatus1").getValue();//浠诲姟瀹屾垚
-
-
- //涓�鍙风嚎璇锋眰
- if (ExportTOMES1.equals("1") == true&&B01State.equals("0")==true) {
- //灏嗚繍杈撹溅鐘舵�佹敼涓哄繖纰�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(), (short) 1);
- spianService.selectout(1);
- }
- //浜岀嚎鍙疯姹傛椂
- if (ExportToMES2.equals("1") == true&&B01State.equals("0")==true) {
- //灏嗚繍杈撹溅鐘舵�佹敼涓哄繖纰�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(), (short) 1);
- spianService.selectout(2);
- }
- //杩涚墖璇锋眰鏃�
- if(PLCToMES.equals("1")==true&&B01State.equals("0")==true){
- //灏嗚繍杈撹溅鐘舵�佹敼涓哄繖纰�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(), (short) 1);
-
- spianService.selectAll(albaniaMapper.SelectGlass());
- }
-
-
- //浠诲姟瀹屾垚鏃�
- if(TastState.equals("1")==true){
-
- //瀹屾垚纭瀛�
- for(int i=1;i<7;i++){
- String Tastover=plcmes.getPlcParameter("IDStatus"+i).getValue();//渚濇鑾峰彇浠诲姟绫诲瀷
- String Glassid=plcmes.getPlcParameter("MESID"+i).getValue();//渚濇鑾峰彇浠诲姟绫诲瀷
- if(Tastover.equals("1")){
-
- //璋冪敤瀹屾垚浠诲姟 Glassid
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCStatus"+i).getAddress(), (short) 1);//瀹屾垚纭瀛�
+ String ExportTOMES1 = plcmes.getPlcParameter("ExportTOMES1").getValue();// 鍑虹墖璇锋眰涓�绾�
+ String PLCToMES = plcmes.getPlcParameter("PLCToMES").getValue();// 杩愰�佽溅璇锋眰
+ String IDStatus1 = plcmes.getPlcParameter("IDStatus1").getValue();// 1鍙蜂换鍔″畬鎴�
+ String MESToPLCStatus1 = plcmes.getPlcParameter("MESToPLCStatus1").getValue();// 1鍙风‘璁ゅ瓧
+ String MESToPLC = plcmes.getPlcParameter("MESToPLC").getValue();// 鍙戦�佷换鍔″瓧
+ int taskcont = albaniaMapper.SelectTaskcount(); // 姝e湪杩涜鐨勪换鍔℃暟閲�
+ int outtask = albaniaMapper.SelectOutTaskCount(); // 绛夊緟琛ュ彂鐨勫嚭鐗囦换鍔℃暟閲�
+ if(outtask>0){
+ spianService.mateOut();
+ }
+ // String scan=plcmes.getPlcParameter("scan").getValue();//鍙戦�佹壂鐮佷俊鎭�
+ // if(scan.equals("1")==true){
+ // spianService.scan(scan);
+ // }
+ // 鑾峰彇褰撳墠鏃堕棿
+ String currentTime = new Date().toString();
+ if (!huibao.equals(IDStatus1)) {
+ System.out.println("姹囨姤璁板綍:" + IDStatus1 + "鏃堕棿" + currentTime);
+ }
+ huibao = IDStatus1;
+ // 涓�鍙风嚎璇锋眰
+ if (ExportTOMES1 != null && MESToPLC != null && taskcont == 0) {
+ if (ExportTOMES1.equals("1") == true && MESToPLC.equals("0") == true && PLCToMES.equals("1") == true
+ && MESToPLCStatus1.equals("0") == true) {
+ System.out
+ .println("鍑虹墖鐘舵��:MESToPLC:" + MESToPLC + "PLCToMES:" + PLCToMES + "MESToPLCStatus1:" + MESToPLCStatus1);
+ spianService.selectout(1);
+ try {
+ Thread.sleep(200); // 姣�100姣妫�鏌ヤ竴娆�
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt(); // 澶勭悊绾跨▼涓柇
+ }
}
}
+
+ PLCToMES = plcmes.getPlcParameter("PLCToMES").getValue();// 杩愰�佽溅璇锋眰
+ IDStatus1 = plcmes.getPlcParameter("IDStatus1").getValue();// 1鍙蜂换鍔″畬鎴�
+ MESToPLCStatus1 = plcmes.getPlcParameter("MESToPLCStatus1").getValue();// 1鍙风‘璁ゅ瓧
+ MESToPLC = plcmes.getPlcParameter("MESToPLC").getValue();// 鍙戦�佷换鍔″瓧
+ // 杩愰�佽溅璇锋眰鍜屾祴閲忓畬鎴愯姹�
+ GlassInfo glass = albaniaMapper.SelectGlass();
+ if (PLCToMES != null && glass != null && MESToPLC != null && taskcont == 0) {
+ if (PLCToMES.equals("1") == true && MESToPLC.equals("0") == true && MESToPLCStatus1.equals("0") == true) {
+ try {
+ Thread.sleep(100); // 姣�100姣妫�鏌ヤ竴娆�
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt(); // 澶勭悊绾跨▼涓柇
+ }
+ System.out
+ .println("杩涚墖鐘舵��:MESToPLC:" + MESToPLC + "PLCToMES:" + PLCToMES + "MESToPLCStatus1:" + MESToPLCStatus1);
+ spianService.selectAll(glass);
+ }
+ }
+
+ // 浠诲姟瀹屾垚鏃�
+ if ((IDStatus1.equals("1") && MESToPLCStatus1.equals("0")) ||
+ (IDStatus1.equals("4") && MESToPLCStatus1.equals("0"))) {
+ // 瀹屾垚纭瀛�
+ for (int i = 1; i < 7; i++) {
+ String Tastover = plcmes.getPlcParameter("IDStatus" + i).getValue();// PLC鐞嗙墖浠诲姟鐘舵�佹眹鎶�
+ String Glassid = plcmes.getPlcParameter("MESID" + i).getValueString();// MES鐜荤拑ID
+ GlassInfo id = albaniaMapper.SelectTaskId(Glassid);
+ if (Tastover.equals("1")) {
+ // 璋冪敤瀹屾垚浠诲姟 Glassid
+ storageCageService.FinishTask();
+ System.out.println("瀹屾垚浠诲姟ID:" + id);
+ } else if (Tastover.equals("4")) {
+ storageCageService.FinishTask();
+ System.out.println("瀹屾垚澶辫触浠诲姟ID:" + id);
+ }
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCStatus" + i).getAddress(), (short) 1);// 瀹屾垚纭瀛�
+ }
+ System.out.println("瀹屾垚纭瀛桵ESToPLCStatus");
+ // 娓呴櫎浠诲姟鍦板潃
+ for (int i = 1; i < 7; i++) {
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCStart" + i).getAddress(), (short) 0);// 娓呴櫎浠诲姟鍦板潃
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCTarget" + i).getAddress(), (short) 0);// 娓呴櫎浠诲姟鍦板潃
+ }
+ System.out.println("娓呴櫎浠诲姟鍦板潃");
+ while (true) {
+ String currentValue = plcmes.getPlcParameter("MESToPLC").getValue();
+ // 妫�鏌� MESToPLC 鐨勫�兼槸鍚︿负 0
+ if (currentValue.equals("0")) {
+ System.out.println("MESToPLC 宸插彉涓� 0,鍋滄寰幆鍐欏叆");
+ break; // 閫�鍑哄惊鐜�
+ }
+ // 濡傛灉涓嶄负 0锛岀户缁啓鍏�
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(),
+ (short) 0);// 娓呴櫎浠诲姟鍙戦�佸瓧
+ System.out.println("缁х画鍐欏叆 MESToPLC,褰撳墠鍊�:" + currentValue);
+ // 鍔犱笂寤舵椂锛岄伩鍏嶅崰鐢ㄨ繃澶� CPU 璧勬簮
+ try {
+ Thread.sleep(100); // 渚嬪姣忕妫�鏌ヤ竴娆�
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ }
+
+ // 姹囨姤鍙栨秷鏃�
+ if ((IDStatus1.equals("0")) && MESToPLCStatus1.equals("1")) {
+ // 鍙栨秷纭瀛�
+ for (int i = 1; i < 7; i++) {
+ String Tastover = plcmes.getPlcParameter("IDStatus" + i).getValue();// 渚濇鑾峰彇浠诲姟姹囨姤
+ if (Tastover.equals("0")) {
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCStatus" + i).getAddress(), (short) 0);// 娓呴櫎纭瀛�
+
+ }
+ }
+ System.out.println("娓呴櫎纭瀛桵ESToPLCStatus");
+ }
+
}
-
// 鏌ヨ鏁版嵁搴�
// 鎺ㄩ�佸埌鍓嶇
- // }
}
}
--
Gitblit v1.8.0