From 7181328e9948c183b9ee7b9baebee6488c05c6c4 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 02 九月 2020 11:08:57 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/properties/SlaveProperties.java | 3 + src/main/java/com/zy/core/model/CrnSlave.java | 2 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 39 +++++++++++++++++-- src/main/java/com/zy/core/model/LedSlave.java | 24 ++++++++++++ src/main/java/com/zy/core/MainProcess.java | 2 + src/main/resources/application.yml | 4 ++ src/main/java/com/zy/core/ServerBootstrap.java | 3 + 7 files changed, 70 insertions(+), 7 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 6273854..41cf5bf 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -16,6 +16,7 @@ import com.zy.core.enums.*; import com.zy.core.model.CrnSlave; import com.zy.core.model.DevpSlave; +import com.zy.core.model.LedSlave; import com.zy.core.model.Task; import com.zy.core.model.command.CrnCommand; import com.zy.core.model.protocol.CrnProtocol; @@ -80,6 +81,9 @@ // 鑾峰彇鍏ュ簱绔欎俊鎭� DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); + if (staProtocol == null) { + continue; + } // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && staProtocol.isLoading() && !staProtocol.isEmptyMk() && staProtocol.getWorkNo() == 0 @@ -175,6 +179,7 @@ // 鑾峰彇鍏ュ簱绔欎俊鎭� DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); + if (staProtocol == null) { continue; } // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && staProtocol.isLoading() && !staProtocol.isEmptyMk() && staProtocol.getWorkNo() == 0 @@ -223,7 +228,7 @@ // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭� DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo()); - + if (staProtocol == null) { continue; } if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInreq1() && staProtocol.getWorkNo() > 0 && staProtocol.isPakMk()){ WrkMast wrkMast = wrkMastMapper.selectPickStep(staProtocol.getWorkNo().intValue()); @@ -301,6 +306,7 @@ // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); + if (staProtocol == null) { continue; } if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) { // 鏌ヨ宸ヤ綔妗� WrkMast wrkMast = wrkMastMapper.selectPakOutStep2(staProtocol.getSiteId()); @@ -358,6 +364,7 @@ // 鑾峰彇鍫嗗灈鏈轰俊鎭� CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + if (crnProtocol == null) { continue; } BasCrnp basCrnp = basCrnpService.selectById(crn.getId()); if (basCrnp == null) { log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId()); @@ -401,6 +408,7 @@ // 鑾峰彇鍫嗗灈鏈哄叆搴撶珯淇℃伅 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); + if (staProtocol == null) { continue; } // 鏌ヨ绔欑偣璇︾粏淇℃伅 BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); if (staDetl == null) { @@ -488,6 +496,7 @@ // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); + if (staProtocol == null) { continue; } // 鏌ヨ绔欑偣璇︾粏淇℃伅 BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); if (staDetl == null) { @@ -605,6 +614,7 @@ // 鑾峰彇鍫嗗灈鏈轰俊鎭� CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + if (crnProtocol == null) { continue; } // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1 if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) { // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。 @@ -662,9 +672,7 @@ // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭� DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo()); - if (staProtocol == null) { - continue; - } + if (staProtocol == null) { continue; } // 绔欑偣鏉′欢鍒ゆ柇 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isEmptyMk() && staProtocol.getWorkNo() == 0 && staProtocol.isPakMk()) { @@ -722,4 +730,27 @@ } } + /** + * 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣� + */ + @Async + public void ledExecute() { + for (LedSlave led : slaveProperties.getLed()) { + // 鑾峰彇杈撻�佺嚎plc绾跨▼ + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId()); + for (Integer staNo : led.getStaArr()) { + // 鑾峰彇鍙夎溅绔欑偣 + StaProtocol staProtocol = devpThread.getStation().get(staNo); + if (null == staProtocol || null == staProtocol.getWorkNo() || 0 == staProtocol.getWorkNo()) { continue; } + // 鑾峰彇宸ヤ綔妗f暟鎹� + WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo()); + + + + } + + + } + } + } diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index 0a91183..ffc21dc 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -54,6 +54,8 @@ mainService.recCrnErr(); // 鍏ュ簱 ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐� mainService.storeEmptyPlt(); + // 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣� + mainService.ledExecute(); } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java index 57860a6..4023026 100644 --- a/src/main/java/com/zy/core/ServerBootstrap.java +++ b/src/main/java/com/zy/core/ServerBootstrap.java @@ -5,6 +5,7 @@ import com.zy.core.enums.SlaveType; import com.zy.core.model.CrnSlave; import com.zy.core.model.DevpSlave; +import com.zy.core.model.LedSlave; import com.zy.core.properties.SlaveProperties; import com.zy.core.thread.CrnThread; import com.zy.core.thread.DevpThread; @@ -91,7 +92,7 @@ // } // 鍒濆鍖朙ED绾跨▼ log.info("鍒濆鍖朙ED绾跨▼..................................................."); - for (Slave led : slaveProperties.getLed()) { + for (LedSlave led : slaveProperties.getLed()) { LedThread ledThread = new LedThread(led); new Thread(ledThread).start(); SlaveConnection.put(SlaveType.Led, led.getId(), ledThread); diff --git a/src/main/java/com/zy/core/model/CrnSlave.java b/src/main/java/com/zy/core/model/CrnSlave.java index 457fa29..42d2822 100644 --- a/src/main/java/com/zy/core/model/CrnSlave.java +++ b/src/main/java/com/zy/core/model/CrnSlave.java @@ -29,7 +29,7 @@ @Data public static class CrnStn { - // 鍫嗗灈鏈簆lc缂栧彿 + // 杈撻�佺嚎plc缂栧彿 private Integer devpPlcId; // 鍫嗗灈鏈虹珯鐐圭紪鍙� diff --git a/src/main/java/com/zy/core/model/LedSlave.java b/src/main/java/com/zy/core/model/LedSlave.java new file mode 100644 index 0000000..af02dfc --- /dev/null +++ b/src/main/java/com/zy/core/model/LedSlave.java @@ -0,0 +1,24 @@ +package com.zy.core.model; + +import com.zy.core.Slave; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.ArrayList; +import java.util.List; + +/** + * LED閰嶇疆 + * Created by vincent on 2020/8/6 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class LedSlave extends Slave { + + // 杈撻�佺嚎plc缂栧彿 + private Integer devpPlcId; + + // 鍙夎溅绔欑偣鏁扮粍 + private List<Integer> staArr = new ArrayList<>(); + +} diff --git a/src/main/java/com/zy/core/properties/SlaveProperties.java b/src/main/java/com/zy/core/properties/SlaveProperties.java index 5f5e393..a6931f3 100644 --- a/src/main/java/com/zy/core/properties/SlaveProperties.java +++ b/src/main/java/com/zy/core/properties/SlaveProperties.java @@ -3,6 +3,7 @@ import com.zy.core.Slave; import com.zy.core.model.CrnSlave; import com.zy.core.model.DevpSlave; +import com.zy.core.model.LedSlave; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; @@ -24,7 +25,7 @@ private List<Slave> barcode = new ArrayList<>(); - private List<Slave> led = new ArrayList<>(); + private List<LedSlave> led = new ArrayList<>(); private List<Slave> scale = new ArrayList<>(); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 3c300fe..9746d36 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -125,11 +125,15 @@ id: 1 ip: 192.168.10.61 port: 5005 + devpPlcId: ${wcs-slave.devp[0].id} + staArr: 1,2 # LED2 led[1]: id: 2 ip: 192.168.10.62 port: 5005 + devpPlcId: ${wcs-slave.devp[0].id} + staArr: 5,6 # 纾呯О scale[0]: id: 1 -- Gitblit v1.9.1