From cfc2855d2fe063e26947bad7277a1091efbb3bbb Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期四, 28 十一月 2024 02:16:21 +0800
Subject: [PATCH] 协议地址更新,手动页面更新
---
springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java | 200 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 140 insertions(+), 60 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 886fb12..fa710ad 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,95 +1,175 @@
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 = "";
+ String qidong = "";
@Override
public void run() {
while (this != null) {
try {
- Thread.sleep(100);
+ Thread.sleep(300);
} catch (InterruptedException e) {
- // \\ TODO Auto-generated catch block
e.printStackTrace();
}
-
+ 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;
-
-
- 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!=null && B01State!=null){
- if(PLCToMES.equals("1")==true&&B01State.equals("0")==true){
- //灏嗚繍杈撹溅鐘舵�佹敼涓哄繖纰�
- //S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(), (short) 1);
-
- spianService.selectAll(albaniaMapper.SelectGlass());
- }
-
+ // spianService.selectout(1);
+ // storageCageService.ScanMatch("123",1,1);
+ // spianService.mateOut();
+ // 璇诲彇DB14鍖烘枃浠�
+ PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
+ if (plcmes.getPlcParameter("PLCToMES").getValue() != null) {
- //浠诲姟瀹屾垚鏃�
- if(TastState.equals("1")==true){
+ 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();// 鍙戦�佷换鍔″瓧
+ String GaToMES = plcmes.getPlcParameter("GaToMES").getValue();// 娴嬮噺鎴愬姛淇″彿
- //瀹屾垚纭瀛�
- 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);//瀹屾垚纭瀛�
+ int taskcont = albaniaMapper.SelectTaskcount(); // 姝e湪杩涜鐨勪换鍔℃暟閲�
+ int outtask = albaniaMapper.SelectOutTaskCount(); // 绛夊緟琛ュ彂鐨勫嚭鐗囦换鍔℃暟閲�
+ if (ExportTOMES1 != null && MESToPLC != null && taskcont == 0) {
+ //褰撳彲浠ュ彂浠诲姟骞朵笖鍑虹墖闃熷垪鏈変换鍔℃椂
+ if (ExportTOMES1.equals("1") == true && MESToPLC.equals("0") == true && PLCToMES.equals("1") == true&&outtask>0 && MESToPLCStatus1.equals("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 (!qidong.equals(MESToPLC)) {
+ System.out.println("鍚姩璁板綍:" + MESToPLC + "鏃堕棿" + currentTime);
+ }
+ qidong = MESToPLC;
+
+ PLCToMES = plcmes.getPlcParameter("PLCToMES").getValue();// 杩愰�佽溅璇锋眰
+ IDStatus1 = plcmes.getPlcParameter("IDStatus1").getValue();// 1鍙蜂换鍔″畬鎴�
+ MESToPLCStatus1 = plcmes.getPlcParameter("MESToPLCStatus1").getValue();// 1鍙风‘璁ゅ瓧
+ MESToPLC = plcmes.getPlcParameter("MESToPLC").getValue();// 鍙戦�佷换鍔″瓧
+
+ // 涓�鍙风嚎璇锋眰
+ if (ExportTOMES1 != null && MESToPLC != null && taskcont == 0) {
+ if (ExportTOMES1.equals("1") == true && MESToPLC.equals("0") == true && PLCToMES.equals("1") == true
+ && MESToPLCStatus1.equals("0") == true&&outtask == 0) {
+ // System.out
+ // .println("鍑虹墖鐘舵��:MESToPLC:" + MESToPLC + "PLCToMES:" + PLCToMES + "MESToPLCStatus1:" + MESToPLCStatus1);
+ spianService.selectout(1);
+ try {
+ Thread.sleep(100); // 姣�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) {
+ if (PLCToMES.equals("1")&& MESToPLC.equals("0")&&("1".equals(GaToMES)||"2".equals(GaToMES))) {
+ try {
+ Thread.sleep(100); // 姣�100姣妫�鏌ヤ竴娆�
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt(); // 澶勭悊绾跨▼涓柇
+ }
+ 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