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