From 41dda7ced4e6864ce494106d666ff74b10fec35c Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期二, 18 七月 2023 14:47:22 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 100 ++++++++++++++++++++++++++++++++
src/main/java/com/zy/core/thread/MelsecCrnThread.java | 9 +++
src/main/java/com/zy/core/MainProcess.java | 4 +
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 11 +++
4 files changed, 121 insertions(+), 3 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 e33f2c0..a0e6a2e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1,5 +1,7 @@
package com.zy.asrs.service.impl;
+import HslCommunication.Core.Types.OperateResultExOne;
+import HslCommunication.Profinet.Siemens.SiemensS7Net;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -89,7 +91,6 @@
private BasCrnErrorMapper basCrnErrorMapper;
@Autowired
private WrkMastService wrkMastService;
-
@Value("${wms.url}")
private String wmsUrl;
@@ -146,9 +147,44 @@
// continue;
// }
// }
+ //瓒呭瓒呴珮娌℃壂鍒版潯鐮佹姤璀�
+ boolean fig=false;
+ for(int i=0;i<8;i++){
+ switch (i){
+ case 0: if(devpThread.startSignal[i]){
+ log.error("鍓嶈秴鎶ヨ");
+ fig=true;
+ };
+ case 1: if(devpThread.startSignal[i]){
+ log.error("鍚庤秴鎶ヨ");
+ fig=true;
+ };
+ case 2: if(devpThread.startSignal[i]){
+ log.error("楂樿秴鎶ヨ");
+ fig=true;
+ };
+ case 3: if(devpThread.startSignal[i]){
+ log.error("宸﹁秴鎶ヨ");
+ fig=true;
+ };
+ case 4: if(devpThread.startSignal[i]){
+ log.error("鍙宠秴鎶ヨ");
+ fig=true;
+ };
+ case 5: if(devpThread.startSignal[i]){
+ log.error("瓒呴噸鎶ヨ");
+ fig=true;
+ };
+ case 6: if(devpThread.startSignal[i]){
+ log.error("鏈壂鍒扮爜鎶ヨ");
+ fig=true;
+ };
+
+ }
+ }
if (staProtocol.isAutoing() && staProtocol.isInEnable()
&& !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990)
- && staProtocol.isPakMk()) { //&& staProtocol.getStamp()>=2) {// && !Cools.isEmpty(barcode)) {
+ && staProtocol.isPakMk() && !fig) { //&& staProtocol.getStamp()>=2) {// && !Cools.isEmpty(barcode)) {
News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛�");
// try {
// Thread.sleep(300);
@@ -2237,4 +2273,64 @@
}
}
}
+
+ /**
+ * 鎺ユ敹瓒呭瓒呴珮娌℃壂鍒版潯鐮佹姤璀�
+ * @param mark
+ */
+ public synchronized void DevpCallThePolice(Integer mark){
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ for (DevpSlave devp : slaveProperties.getDevp()) { //閬嶅巻杈撻�佺嚎
+ // 閬嶅巻鍏ュ簱鍙�
+ for (DevpSlave.Sta inSta : devp.getInSta()) { // 閬嶅巻鍏ュ簱鍙�
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+ if(null != devpThread){
+ boolean fig=false;
+ for (int i=0;i<8;i++){
+ switch (i){
+ case 0: if(devpThread.startSignal[i]){
+ log.error("鍓嶈秴鎶ヨ");
+ fig=true;
+ };
+ case 1: if(devpThread.startSignal[i]){
+ log.error("鍚庤秴鎶ヨ");
+ fig=true;
+ };
+ case 2: if(devpThread.startSignal[i]){
+ log.error("楂樿秴鎶ヨ");
+ fig=true;
+ };
+ case 3: if(devpThread.startSignal[i]){
+ log.error("宸﹁秴鎶ヨ");
+ fig=true;
+ };
+ case 4: if(devpThread.startSignal[i]){
+ log.error("鍙宠秴鎶ヨ");
+ fig=true;
+ };
+ case 5: if(devpThread.startSignal[i]){
+ log.error("瓒呴噸鎶ヨ");
+ fig=true;
+ };
+ case 6: if(devpThread.startSignal[i]){
+ log.error("鏈壂鍒扮爜鎶ヨ");
+ fig=true;
+ };
+
+ }
+ }
+ //鍙戠敓鎶ヨ锛岄��鍥炲叆搴撳彛
+ if(fig){
+ staProtocol.setWorkNo((short)9991);
+ staProtocol.setStaNo((short)100);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ }
+ }
+ }
+ }
+ }
+
}
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index e328fc6..6315b0b 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -72,6 +72,10 @@
mainService.outOfDevp(11);
+ //mainService.DevpCallThePolice(12);
+
+
+
//绌烘墭鐩樿嚜鍔ㄥ嚭搴�
// mainService.autoEmptyOut();
// //绌烘墭鐩樿嚜鍔ㄥ叆搴�
diff --git a/src/main/java/com/zy/core/thread/MelsecCrnThread.java b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
index fb24a86..811ec57 100644
--- a/src/main/java/com/zy/core/thread/MelsecCrnThread.java
+++ b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
@@ -473,4 +473,13 @@
}
+ @Override
+ public void setCmdFlag(boolean flag) {
+
+ }
+
+ @Override
+ public boolean isCmdFlag() {
+ return false;
+ }
}
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 4ca9c91..96d1699 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -41,6 +41,8 @@
private DevpSlave slave;
private SiemensS7Net siemensS7Net;
+
+ public boolean[] startSignal = new boolean[8];
private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
private short heartBeatVal = 1;
// public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
@@ -212,7 +214,7 @@
// }
//鏉$爜鎵弿鍣�
Thread.sleep(200);
- OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.33",(short)(8));
+ OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.26",(short)(8));
if (result2.IsSuccess) {
if (slave.getId()==1){
String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,0,8, "UTF-8");
@@ -226,6 +228,13 @@
}
+ //鎺ユ敹瓒呭瓒呴珮娌℃壂鍒版潯鐮佹姤璀�
+ Thread.sleep(200);
+ OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB101.34",(short)(1));
+ if (result4.IsSuccess) {
+ startSignal = siemensS7Net.getByteTransform().TransBool(result4.Content, 0, 1);
+ }
+
Thread.sleep(200);
OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB101.0", (short) (staNoSize * 2));
if (result1.IsSuccess) {
--
Gitblit v1.9.1