From fdf4247830b270f4b6a5d2eb259a77aabd115837 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期一, 22 一月 2024 19:16:07 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++
src/main/java/com/zy/core/MainProcess.java | 2
2 files changed, 158 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 8f1e56f..7aeadc4 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -579,6 +579,162 @@
}
/**
+ * 2妤�212鍛煎彨绌烘澘
+ */
+ public synchronized void stnToCrnStnPick3Auto(Integer sign) {
+ try{
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+ StaProtocol staProtocol = devpThread.getStation().get(212);
+ if (staProtocol == null) {
+ return;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && !staProtocol.isLoading() && staProtocol.getWorkNo()==0 ){
+ switch (sign){
+ //鎵ц灏忚溅璐х墿鎼繍浠诲姟
+ case 1:
+ case 4:
+ stnToCrnStnPick3();
+ return;
+ //鎵ц灏忚溅绌烘澘鎼繍浠诲姟
+ case 2://鏀�//鎷嗙洏
+ case 5://鏀�//鎷嗙洏
+ stnToCrnStnPick4();
+ return;
+ case 3://婊℃斁
+ case 6://婊℃斁
+ stnToCrnStnPick5();
+ return;
+ default:
+ return;
+ }
+ }
+ }catch (Exception e){
+ log.error("2妤�212鍛煎彨绌烘澘"+e);
+ }
+ }
+ /**
+ * 2妤�212鍛煎彨绌烘澘
+ */
+ public synchronized void stnToCrnStnPick3() {
+ int workNo = 20211;
+ WrkMast wrkMast = wrkMastMapper.selectPakInStep3(workNo);
+ if (Cools.isEmpty(wrkMast) || wrkMast.getWrkSts()!=61){//61銆佺瓑寰呯┖鏉�
+ return;
+ }
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ for (DevpSlave.Sta driveSta : devp.getDriveSta()) {
+ if (driveSta.getStaNo()!=215){
+ continue;
+ }
+ // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(driveSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo()==0
+ || (staProtocol.getWorkNo()>9899 && staProtocol.getWorkNo()<10000)) ){
+ boolean result1 = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol));
+
+ staProtocol.setWorkNo(workNo-1);
+ staProtocol.setStaNo(driveSta.getStaNo()==215? 217:221);
+ boolean result2 = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result2) {
+ log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+ }
+ wrkMast.setWrkSts(62L);
+ wrkMastMapper.updateById(wrkMast);
+
+ boolean result3 = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol));
+ return;
+ }
+ }
+ }
+ }
+
+ /**
+ * 2妤�212鍛煎彨绌烘澘
+ */
+ public synchronized void stnToCrnStnPick4() {
+ int workNo = 20211;
+ WrkMast wrkMast = wrkMastMapper.selectPakInStep3(workNo);
+ if (Cools.isEmpty(wrkMast) || wrkMast.getWrkSts()!=62){//62銆佺瓑寰呭皬杞︽惉杩�
+ return;
+ }
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ for (DevpSlave.Sta driveSta : devp.getInSta()) {
+ if (driveSta.getStaNo()!=217){
+ continue;
+ }
+ // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(driveSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ StaProtocol staProtocol212 = devpThread.getStation().get(212);
+ if (staProtocol212 == null) {
+ continue;
+ } else {
+ staProtocol212 = staProtocol212.clone();
+ }
+ if (staProtocol212.isAutoing() && !staProtocol212.isLoading() && staProtocol212.getWorkNo()==0){
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo()==0
+ || (staProtocol.getWorkNo()>9899 && staProtocol.getWorkNo()<10000) || staProtocol.getWorkNo()==20210) ){
+ boolean result1 = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol));
+
+ staProtocol.setWorkNo(workNo-1);
+ staProtocol.setStaNo(212);
+ boolean result2 = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result2) {
+ log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+ }
+ wrkMast.setWrkSts(63L);
+ wrkMastMapper.updateById(wrkMast);
+
+ boolean result3 = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol));
+ return;
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * 2妤�212鍛煎彨绌烘澘
+ */
+ public synchronized void stnToCrnStnPick5() {
+ int workNo = 20211;
+ WrkMast wrkMast = wrkMastMapper.selectPakInStep3(workNo);
+ if (Cools.isEmpty(wrkMast) || wrkMast.getWrkSts()!=63){//63銆佺瓑寰呭畬鎴�
+ return;
+ }
+
+ // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+ StaProtocol staProtocol = devpThread.getStation().get(212);
+ if (staProtocol == null) {
+ return;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo()==workNo ){
+ boolean result1 = MessageQueue.offer(SlaveType.Devp, 2, new Task(3, staProtocol));
+
+ wrkMast.setWrkSts(64L);
+ wrkMastMapper.updateById(wrkMast);
+
+ boolean result3 = MessageQueue.offer(SlaveType.Devp, 2, new Task(4, staProtocol));
+ return;
+ }
+ }
+ /**
* 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱 鎷嗗灈浣嶇疆
*/
public synchronized void storeEmptyPlt4() {
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index da89273..7466feb 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -61,6 +61,8 @@
mainService.stnToCrnStnPick();
// 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱鎷嗙洏鍖� 1妤兼媶鍨涗綅缃�
mainService.stnToCrnStnPick2();
+ // 2妤�212鍛煎彨绌烘澘
+ mainService.stnToCrnStnPick3Auto(i);
// 鍑哄簱 ===>> 鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯
mainService.crnStnToOutStn();
// 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
--
Gitblit v1.9.1