From aeaf3e43e425ef0de84c1819f318f20e90471f90 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期四, 02 十月 2025 11:49:37 +0800
Subject: [PATCH] #和得服务器
---
src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java | 8 +
src/main/java/com/zy/core/thread/RgvThread.java | 3
src/main/java/com/zy/asrs/utils/RouteUtils.java | 7
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 109 +++++++++++-------
src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java | 2
src/main/resources/mapper/WrkMastMapper.xml | 2
src/main/java/com/zy/core/MainProcess.java | 6
src/main/java/com/zy/asrs/service/WrkMastStaService.java | 3
src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java | 1
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 180 ++++--------------------------
src/main/resources/application.yml | 4
src/main/resources/mapper/WrkMastStaMapper.xml | 6 +
12 files changed, 124 insertions(+), 207 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
index 32fcad3..8fcaed7 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
@@ -40,4 +40,5 @@
List<WrkMastSta> selectByWorkStaList(@Param("workSta") Integer workSta, @Param("rgvNo") Short rgvNo);
WrkMastSta selectByWorkSta(@Param("workSta") Integer workSta, @Param("rgvNo") Integer rgvNo);
+ List<WrkMastSta> selectLockWrk(@Param("rgvNo") Integer rgvNo);
}
diff --git a/src/main/java/com/zy/asrs/service/WrkMastStaService.java b/src/main/java/com/zy/asrs/service/WrkMastStaService.java
index 29f1e00..cd5e055 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastStaService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastStaService.java
@@ -3,5 +3,8 @@
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.WrkMastSta;
+import java.util.List;
+
public interface WrkMastStaService extends IService<WrkMastSta> {
+ List<WrkMastSta> selectLockWrk(Integer rgvNo);
}
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 ff0b065..1b70a6d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3045,7 +3045,7 @@
// 鑾峰彇RGV淇℃伅
RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
- if (rgvProtocol == null) {
+ if (rgvProtocol.getStatusType1() != RgvStatusType.IDLE && rgvProtocol.getModeType() != RgvModeType.AUTO) {
continue;
}
BasRgv basRgv = basRgvService.selectById(rgv.getId());
@@ -3054,10 +3054,16 @@
continue;
}
//灏忚溅鏃犱换鍔℃椂璺宠繃
- if(rgvProtocol.getTaskNo1() ==0 && rgvProtocol.getTaskNo2() == 0){
+ if(rgvProtocol.getTaskNo1() ==0 && rgvProtocol.getTaskNo2() == 0 ){
continue;
}
- //鍏ュ簱鏀捐揣
+ if(!rgvThread.isPaking()){
+ continue;
+ }
+ List<WrkMastSta> wrkMastStaLock = wrkMastStaService.selectLockWrk(rgv.getId());
+ if(wrkMastStaLock.size() == 1){
+ continue;
+ }
if(rgvThread.isPakIn()){
for(RgvSlave.RgvStn rgvStn : rgv.getRgvInPStn()){//鍏ュ簱鏀捐揣绔欑偣
boolean flag = false;
@@ -3101,6 +3107,7 @@
boolean sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂
if (sign){
try{
+ rgvThread.setPaking(false);
wrkMast.setSheetNo("2");
wrkMastSta.setWrkSts(2);
wrkMastStaMapper.updateById(wrkMastSta);
@@ -3163,6 +3170,7 @@
boolean sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂
if (sign){
try{
+ rgvThread.setPaking(false);
wrkMastSta.setWrkSts(2);
wrkMastStaMapper.updateById(wrkMastSta);
log.error("鏇存柊灏忚溅浠诲姟鎴愬姛");
@@ -3214,6 +3222,7 @@
&& !rgvProtocol.isLoaded1ing()
&& !rgvProtocol.isLoaded2ing()){
rgvThread.setPakRgv(true);
+ rgvThread.setPakMk(true);
rgvThread.setPakIn(true);
rgvThread.setPakOut(true);
rgvThread.setPakToCrn(true);
@@ -3239,8 +3248,12 @@
log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�4", rgv.getId());
continue;
}
+ if(rgvProtocol.getStatusType1() == RgvStatusType.WORKING){
+// log.error("瑙i攣");
+ rgvThread.setPaking(true);
+ }
// 鍙湁褰揜GV绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
- if (rgvProtocol.getStatusType1() == RgvStatusType.IDLE && rgvProtocol.getModeType() == RgvModeType.AUTO && rgvThread.isPakMk() && rgvThread.isPakToCrn()) {
+ if (rgvProtocol.getStatusType1() == RgvStatusType.IDLE && rgvProtocol.getModeType() == RgvModeType.AUTO && rgvThread.isPakMk() && rgvThread.isPakToCrn() && rgvThread.isPaking()) {
News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛孯GV鍏ュ嚭搴撲綔涓氫笅鍙�");
// 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
// rgvRunWrkMastInTest();
@@ -3279,11 +3292,12 @@
// rgvPreScheduling();//鑻ユ殏鏃犱笅鍙戜换鍔¢璋冨害鎻愬墠鍒板彇璐х偣
// }
- if (rgvProtocol.getStatusType1() == RgvStatusType.IDLE && rgvProtocol.getModeType() == RgvModeType.AUTO) {
- //灏忚溅鎵ц鏀捐揣浠诲姟
- rgvOutExecute();
- }
+// if (rgvProtocol.getStatusType1() == RgvStatusType.IDLE && rgvProtocol.getModeType() == RgvModeType.AUTO) {
+// //灏忚溅鎵ц鏀捐揣浠诲姟
+// rgvOutExecute();
+//
+// }
}
}
public synchronized void rgvRunWrkMastInTest(){
@@ -3335,6 +3349,7 @@
StaProtocol staProtocol = devpThread.getStation().get(rgvStn.getStaNo());
StaProtocol staProtocol2 = null; //杩炵画鍙栬揣浠诲姟绔欑偣
RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, (int) rgvProtocol.getRgvNo());
+ WrkMastSta wrkMastSta3 = null;//杩炲彇涓や釜
if(rgvStn.getStaNo2()!= null ){
staProtocol2 = devpThread.getStation().get(rgvStn.getStaNo2());
if (staProtocol2 == null) {
@@ -3348,18 +3363,9 @@
News.error("" + mark + " - 1" + " - 2" + " - 鍏ュ簱 ===>>Rgv绔欑偣鍦ㄦ暟鎹簱涓嶅瓨鍦�, 绔欑偣缂栧彿={}", rgvStn.getStaNo());
continue;
}
- WrkMastSta wrkMastSta2 = wrkMastStaMapper.selectByWrkNo(staProtocol2.getWorkNo());
- if(wrkMastSta2 != null){
- wrkMastSta2.setMk(1);
- try{
- wrkMastStaMapper.updateById(wrkMastSta2);
- log.error("閿佸畾鐩搁殧绔欑偣浠诲姟");
- }catch (Exception e){
- log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触");
- }
-
- }
+ wrkMastSta3 = wrkMastStaMapper.selectByWrkNo(staProtocol2.getWorkNo());
}
+
if (staProtocol == null) {
News.infoNoLog("" + mark + " - 1" + " - 1" + " - Rgv鍏ュ簱绔欎俊鎭�(staProtocol!=null缁х画鎵ц)锛歴taProtocol=" + staProtocol);
continue;
@@ -3389,7 +3395,7 @@
case 2: route = RouteUtils.getRouteTwo();break;
}
basRgvMap.setNowRoute(rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
- WrkMastSta wrkMastSta = wrkMastStaMapper.selectNoInterfere(route, route, Long.valueOf(staProtocol.getWorkNo()));//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。
+ WrkMastSta wrkMastSta = wrkMastStaMapper.selectNoInterfere(route, route, Long.valueOf(staProtocol.getWorkNo()));//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。
if( null == wrkMastSta ) {
News.infoNoLog("" + mark + " - 1" + " - 4" + " - 鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts0, 宸ヤ綔鍙�={}", staProtocol.getWorkNo());
continue;
@@ -3411,7 +3417,17 @@
boolean sign = false;
sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂
if (sign){
+ if(wrkMastSta3 != null){
+ wrkMastSta3.setMk(1);
+ try{
+ wrkMastStaMapper.updateById(wrkMastSta3);
+ log.error("閿佸畾鐩搁殧绔欑偣浠诲姟");
+ }catch (Exception e){
+ log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触");
+ }
+ }
+ rgvThread.setPaking(false);
rgvThread.setPakOut(false);//鍑哄簱涓嶅厑璁�
try{
wrkMastSta.setWrkSts(1);
@@ -3438,6 +3454,8 @@
StaProtocol staProtocol = devpThread.getStation().get(rgvStn.getStaNo());
RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, (int) rgvProtocol.getRgvNo());
StaProtocol staProtocol2 = null;
+ WrkMastSta wrkMastSta3 = null;
+
if(rgvStn.getStaNo2()!= null ){
staProtocol2 = devpThread.getStation().get(rgvStn.getStaNo2());
if (staProtocol2 == null) {
@@ -3451,18 +3469,7 @@
News.error("" + mark + " - 1" + " - 2" + " - 鍏ュ簱 ===>>Rgv绔欑偣鍦ㄦ暟鎹簱涓嶅瓨鍦�, 绔欑偣缂栧彿={}", rgvStn.getStaNo());
continue;
}
- WrkMastSta wrkMastSta2 = wrkMastStaMapper.selectByWrkNo(staProtocol2.getWorkNo());
- if(wrkMastSta2 != null){
- wrkMastSta2.setMk(1);
- try{
- wrkMastStaMapper.updateById(wrkMastSta2);
- log.error("閿佸畾鐩搁殧绔欑偣浠诲姟");
- }catch (Exception e){
- log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触");
- }
-
- }
-
+ wrkMastSta3 = wrkMastStaMapper.selectByWrkNo(staProtocol2.getWorkNo());
}
if (staProtocol == null) {
@@ -3519,6 +3526,17 @@
if(LEFT_POSITION.contains(wrkMastSta.getStaEnd())){
rgvThread.setPakToCrn(false); //閿佸畾灏忚溅鍙兘鎺ユ帴椹充换鍔�
}
+ if(wrkMastSta3 != null){
+ wrkMastSta3.setMk(1);
+ try{
+ wrkMastStaMapper.updateById(wrkMastSta3);
+ log.error("閿佸畾鐩搁殧绔欑偣浠诲姟");
+ }catch (Exception e){
+ log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触");
+ }
+
+ }
+ rgvThread.setPaking(false);
rgvThread.setPakIn(false);//鍏ュ簱涓嶅厑璁�
try{
wrkMastSta.setWrkSts(1);
@@ -3754,9 +3772,9 @@
// }
// return wrkEnable;
// }
-// /**
-// * 灏忚溅棰勮皟搴�
-// */
+ /**
+ * 灏忚溅棰勮皟搴�
+ */
// public synchronized void rgvPreScheduling(){
// try{
// List<BasRgvMap> basRgvMaps = basRgvMapService.selectList(new EntityWrapper<>());
@@ -3793,7 +3811,7 @@
// // 鏍规嵁杈撻�佺嚎plc閬嶅巻
// for (DevpSlave devp : slaveProperties.getDevp()) {
// // 閬嶅巻鍏ュ簱鍙� 鍏ュ簱棰勮皟搴�
-// List<Integer> staNos = Arrays.asList( 1043, 1104,1037);
+// List<Integer> staNos = Arrays.asList( 1043, 1104, 1029, 1022, 1019, 1008, 1005);
// for (Integer staNo : staNos) {
// SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
// StaProtocol staProtocol = devpThread.getStation().get(staNo);
@@ -3801,9 +3819,8 @@
// RgvCommand rgvCommand = new RgvCommand();
// rgvCommand.setRgvNo((int) rgvProtocol.getRgvNo()); // RGV缂栧彿
// rgvCommand.setAckFinish1(false); // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
-// rgvCommand.setTaskNo1(9999); // 宸ヤ綅1宸ヤ綔鍙�
+// rgvCommand.setTaskNo(9999); // 宸ヤ綅1宸ヤ綔鍙�
// rgvCommand.setTaskMode1(RgvTaskModeType.X_MOVE); // 宸ヤ綅1浠诲姟妯″紡: 绉诲姩
-// rgvCommand.setEndStaNo1(0); //宸ヤ綅1 鏀捐揣鍚庤鍘荤殑浣嶇疆
// switch (staNo){
// case 1043: rgvCommand.setTargetPosition1(1042);break; //宸ヤ綅1鐩爣绔欑偣
// case 1104: rgvCommand.setTargetPosition1(1105);break;
@@ -3858,6 +3875,7 @@
log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
return false;
} else {
+
return true;
}
@@ -3927,18 +3945,23 @@
for (DevpSlave devp : slaveProperties.getDevp()) {
// 閬嶅巻鎷f枡鍏ュ簱鍙�
for (DevpSlave.Sta armSta : devp.getArmSta()) {
- // 鑾峰彇鏉$爜鎵弿浠俊鎭�
- BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, armSta.getBarcode());
- if (barcodeThread == null) {
+
+ // 鑾峰彇绔欑偣淇℃伅
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(armSta.getStaNo());
+ if (staProtocol == null) {
continue;
+ } else {
+ staProtocol = staProtocol.clone();
}
- String barcode = barcodeThread.getBarcode();
- barcode="999997";
+ String barcode = staProtocol.getBarcode();
if(!Cools.isEmpty(barcode)) {
if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+ log.error("鏈烘鑷傛姄鍙栦换鍔″畬鎴愶細"+JSON.toJSON(barcode)+"===銆嬫墭鐩樻潯鐮佸紓甯�");
continue;
}
} else {
+ log.error("鏈烘鑷傛姄鍙栦换鍔″畬鎴愶細===銆嬫墭鐩樻潯鐮佷负绌�");
continue;
}
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
index bf4ca83..153d547 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -36,4 +36,6 @@
public WrkMast selectByWrkNo(int wrkNo) {
return this.baseMapper.selectByWrkNo(wrkNo);
}
+
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java
index f72f40a..32717ff 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java
@@ -6,7 +6,13 @@
import com.zy.asrs.service.WrkMastStaService;
import org.springframework.stereotype.Service;
+import java.util.List;
+
@Service("wrkMastStaService")
public class WrkMastStaServiceImpl extends ServiceImpl<WrkMastStaMapper, WrkMastSta> implements WrkMastStaService {
-
+ @Override
+ public List<WrkMastSta> selectLockWrk(Integer rgvNo){
+ Integer rgvNo1 = rgvNo;
+ return this.baseMapper.selectLockWrk(rgvNo);
+ }
}
diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index 15101f5..aa3e001 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -322,8 +322,11 @@
}
public static Short SouStaEnd(Integer endSta,Integer souSta){
- if (souSta == 159) {
- return (short)161;
+ if (souSta == 1103) {
+ return (short)1105;
+ }
+ if(souSta == 1047){
+ return (short)1042;
}
return souSta.shortValue();
}
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 2c8fec0..85c5b9f 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -90,7 +90,7 @@
// mainService.outOfDevp(11);
- if (i>10){
+ if (i>2){
//绌烘墭鐩樿嚜鍔ㄥ嚭搴�
// mainService.autoEmptyOut();
//绌烘墭鐩樿嚜鍔ㄥ叆搴�
@@ -132,6 +132,10 @@
try{
//RGV灏忚溅鍑哄叆搴撳彇璐т笅鍙�
mainService.rgvIoExecute(11);
+ if(k > 2){
+ mainService.rgvOutExecute();
+ k = 0;
+ }
}catch (Exception e){
log.error("RGV ===>> 灏忚溅浠诲姟浣滀笟涓嬪彂寮傚父"+e);
}
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 3bbc231..c41d911 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -71,6 +71,8 @@
private boolean PakRgv = true;
//鎺ラ┏鏍囪
private boolean PakToCrn = true;
+ // 浠诲姟閿佸畾
+ private boolean Paking = true;
public RgvThread(RgvSlave slave) {
this.slave = slave;
@@ -273,7 +275,6 @@
rgvProtocol.setErr11(status3[2]);
rgvProtocol.setErr12(status3[3]);
BasRgvMapService basRgvMapService = SpringUtils.getBean(BasRgvMapService.class);
-
OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
try {
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 0a4a413..7926c47 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -27,6 +27,7 @@
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
+import java.nio.charset.StandardCharsets;
import java.text.MessageFormat;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
@@ -110,6 +111,11 @@
// 鍏朵粬绔欑偣鍚岀悊缁х画鍔�
}};
+ public static final Map<Integer, Integer> siteErrOffsetMap = new HashMap<Integer, Integer>() {{
+ put(1036, 512);put(1103, 476);put(1047, 452);
+
+ }};
+
// 鐗规畩绔欑偣闆嗗悎
private static final Set<Integer> specialSites = new HashSet<>(
Arrays.asList(1001,1005,1008,1011,1015,1019,1022,1025,1029, 1032,1039));
@@ -129,7 +135,7 @@
add(3); add(4);
}};
public static final ArrayList<Integer> staNosErrList = new ArrayList<Integer>() {{
- add(1036);
+ add(1103);add(1036);add(1047);
}};
private Integer count=0;
@@ -286,6 +292,7 @@
OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB104.0", (short) (1268));//1042-1053
OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB103.0", (short) (2824));//1054-1079
OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB102.0", (short) (3428));//1080-1110
+ OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB3.0", (short) (536));//1080-1110
@@ -327,10 +334,24 @@
if(specialSites2.contains(siteId)){
staProtocol.setStaNo((short)siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 48)); // 鐩爣绔�
staProtocol.setBarcode(String.valueOf(siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 52))); //鏉$爜
-
+ }
+ if(staNosErrList.contains(siteId)){
+ Integer offsetErr = siteErrOffsetMap.get(siteId);
+ boolean[] statusErr = siemensS7Net.getByteTransform().TransBool(resultErr.Content, offsetErr, 2);
+ staProtocol.setFrontErr(statusErr[2]);
+ staProtocol.setBackErr(statusErr[3]);
+ staProtocol.setHighErr(statusErr[5]);
+ staProtocol.setLeftErr(statusErr[11]);
+ staProtocol.setRightErr(statusErr[12]);
+// 鍙栧嚭454~458浣嶇疆鐨�5涓瓧鑺�
+ byte[] bytes = Arrays.copyOfRange(resultErr.Content, (offsetErr + 14), (offsetErr + 19));
+// 杞崲鎴愬瓧绗︿覆锛圫7閲孋HAR鏄崟瀛楄妭缂栫爜锛岀洿鎺SCII鍗冲彲锛�
+ String plcStr = new String(bytes, StandardCharsets.US_ASCII).trim();
+// 鍒ゆ柇鏄惁绛変簬 "error"
+ staProtocol.setBarcodeErr("error".equalsIgnoreCase(plcStr));
}
- boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3, 2);
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3, 1);
staProtocol.setAutoing(!status[0]); // 鑷姩
boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3 - 4, 3);
@@ -387,159 +408,6 @@
// News.error(JSON.toJSONString(barcode+"绾跨▼"+barcodeId));
}
-
-
-// BasRgvMapService basRgvMapService = SpringUtils.getBean(BasRgvMapService.class);
-// RGV灏忚溅1
-// Thread.sleep(100);
-// OperateResultExOne<byte[]> resultCar1 = siemensS7Net.Read("DB101.0",(short)36);
-// if (resultCar1.IsSuccess) {
-// BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(resultCar1.Content, 0) + 1);
-// if (!Cools.isEmpty(basRgvMap)){
-// Integer siteId1 = 1;
-// Integer siteId2 = 2;
-// StaProtocol staProtocol1 = station.get(siteId1);
-// StaProtocol staProtocol2 = station.get(siteId2);
-//
-// if (null == staProtocol1) {
-// staProtocol1 = new StaProtocol();
-// staProtocol1.setSiteId(siteId1);
-// station.put(siteId1, staProtocol1);
-// }
-// if (null == staProtocol2) {
-// staProtocol2 = new StaProtocol();
-// staProtocol2.setSiteId(siteId2);
-// station.put(siteId2, staProtocol2);
-//
-// }
-// String pos = String.valueOf(getRgvPosI(siemensS7Net.getByteTransform().TransInt32(resultCar1.Content, 4)));
-// staProtocol1.setAutoing(siemensS7Net.getByteTransform().TransInt16(result.Content, 2) == 0);
-// staProtocol2.setAutoing(siemensS7Net.getByteTransform().TransInt16(result.Content, 2) == 0);
-// staProtocol1.setNearbySta(pos);
-// staProtocol1.setStaNo((short) siemensS7Net.getByteTransform().TransInt32(resultCar1.Content, 28));
-// staProtocol2.setStaNo((short) siemensS7Net.getByteTransform().TransInt32(resultCar1.Content, 32));
-// staProtocol1.setWorkNo(siemensS7Net.getByteTransform().TransInt32(resultCar1.Content, 16));
-// staProtocol2.setWorkNo(siemensS7Net.getByteTransform().TransInt32(resultCar1.Content, 20));
-// boolean[] status1 = siemensS7Net.getByteTransform().TransBool(resultCar1.Content, 24, 1);
-// staProtocol1.setLoading(status1[0]);
-// staProtocol2.setLoading(status1[1]);
-// // staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, 8)));
-// }
-// }
- //RGV灏忚溅2
-// Thread.sleep(100);
-// OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB50.212",(short)10);
-// if (result4.IsSuccess) {
-// BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result4.Content, 0));
-// if (!Cools.isEmpty(basRgvMap)){
-// Integer siteId = 2;
-// StaProtocol staProtocol = station.get(siteId);
-// if (null == staProtocol) {
-// staProtocol = new StaProtocol();
-// staProtocol.setSiteId(siteId);
-// station.put(siteId, staProtocol);
-// }
-// staProtocol.setAutoing(true);
-// staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result4.Content, 8)));
-// }
-// }
-
-// //RGV灏忚溅3
-//// Thread.sleep(100);
-// OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB50.224",(short)10);
-// if (result5.IsSuccess) {
-// BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result5.Content, 0));
-// if (!Cools.isEmpty(basRgvMap)){
-// Integer siteId = 3;
-// StaProtocol staProtocol = station.get(siteId);
-// if (null == staProtocol) {
-// staProtocol = new StaProtocol();
-// staProtocol.setSiteId(siteId);
-// station.put(siteId, staProtocol);
-// }
-// staProtocol.setAutoing(true);
-// staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result5.Content, 8)));
-// }
-// }
-
-
-
- //鏉$爜鎵弿鍣�
-// ArrayList<Integer> barcodeListMat = BarcodeListMat;
-// OperateResultExOne<byte[]> result2Mat = siemensS7Net.Read("DB103.0", (short) (barcodeListMat.size() * 30));
-// if (result2Mat.IsSuccess) {
-// for (int i = 0; i < barcodeListMat.size(); i++) {
-// Integer barcodeId = barcodeListMat.get(i);
-// String barcode = siemensS7Net.getByteTransform().TransString(result2Mat.Content,i*30,30, "UTF-8");
-// BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId + 1);
-// if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
-// barcodeThread.setBarcode(barcode);
-// }
-// }
-// }
- //澶栧舰妫�娴�
-// ArrayList<Integer> staNoErrs = staNosErrList;
-// int staNoErrsSize = staNoErrs.size();
-// OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.800", (short) (staNoErrsSize*8));
-// if (resultErr.IsSuccess){
-// for (int i = 0;i<3;i++){
-// Integer siteId = staNoErrs.get(i); // 绔欑偣缂栧彿
-// boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i*4+2, 1);
-// StaProtocol staProtocol = station.get(siteId);
-// staProtocol.setFrontErr(status[0]);
-// staProtocol.setBackErr(status[1]);
-// staProtocol.setHighErr(status[2]);
-// staProtocol.setLeftErr(status[3]);
-// staProtocol.setRightErr(status[4]);
-// staProtocol.setWeightErr(status[5]);
-// staProtocol.setBarcodeErr(status[6]);
-// }
-// }
-
-// OperateResultExOne<byte[]> resultErr2 = siemensS7Net.Read("DB13.2", (short) (staNoSize*4));
-// if (resultErr2.IsSuccess) {
-// for (int i = 0; i < staNoSize; i++) {
-// Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
-// boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr2.Content, i*4, 1);
-// StaProtocol staProtocol = station.get(siteId);
-// staProtocol.setBreakerErr(status[0]);
-// staProtocol.setInfraredErr(status[1]);
-// staProtocol.setOutTimeErr(status[2]);
-// staProtocol.setSeizeSeatErr(status[3]);
-// staProtocol.setWrkYgoodsN(status[4]);
-// staProtocol.setInverterErr(status[5]);
-// staProtocol.setContactErr(status[6]);
-// staProtocol.setUpcontactErr(status[7]);
-//
-// }
-// }
-// OperateResultExOne<byte[]> resultErr3 = siemensS7Net.Read("DB13.400", (short) 3);
-// if (resultErr3.IsSuccess) {
-// if (staError1 == null){
-// staError1 = new StaError1();
-// }
-// boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr3.Content, 0, 3);
-// staError1.setEMERGENCY_Stop_Core(status[0]);
-// staError1.setEMERGENCY_STOP1(status[1]);
-// staError1.setEMERGENCY_STOP2(status[2]);
-// staError1.setEMERGENCY_STOP3(status[3]);
-// staError1.setEMERGENCY_STOP4(status[4]);
-//
-// staError1.setDoor_EMERGENCY_STOP1(status[5]);
-// staError1.setDoor_EMERGENCY_STOP2(status[6]);
-// staError1.setDoor_EMERGENCY_STOP3(status[7]);
-// staError1.setDoor_EMERGENCY_STOP4(status[8]);
-// staError1.setDoor_EMERGENCY_STOP5(status[9]);
-// staError1.setDoor_EMERGENCY_STOP6(status[10]);
-//
-// staError1.setDoor_Open_Err1(status[11]);
-// staError1.setDoor_Open_Err1(status[12]);
-// staError1.setDoor_Open_Err1(status[13]);
-// staError1.setDoor_Open_Err1(status[14]);
-// staError1.setDoor_Open_Err1(status[15]);
-// staError1.setDoor_Open_Err1(status[16]);
-//
-// }
if (result1.IsSuccess && result2.IsSuccess) {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 89ffe04..10ca84f 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -434,7 +434,7 @@
led: ${wcs-slave.led[1].id}
# 鍏ュ簱鍙�1
inSta[0]:
- staNo: 1043
+ staNo: 1047
barcode: ${wcs-slave.barcode[1].id}
backSta: 1041
led: ${wcs-slave.led[1].id}
@@ -457,7 +457,7 @@
backSta: 1037
# 鍏ュ簱鍙�1
inSta[2]:
- staNo: 1104
+ staNo: 1103
barcode: ${wcs-slave.barcode[2].id}
backSta: 1041
led: ${wcs-slave.led[2].id}
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 66aac22..576d59f 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -78,7 +78,7 @@
select * from asr_wrk_mast
where wrk_sts=5
or (wrk_sts=15 and ove_mk='Y' and wrk_no not in (select wrk_no from asr_bas_devp))
- or (wrk_sts=15 and dateadd(mi,15,crn_end_time) <= getdate() and wrk_no not in (select wrk_no from asr_bas_devp))
+ or (wrk_sts=15 and dateadd(mi,3,crn_end_time) <= getdate() and wrk_no not in (select wrk_no from asr_bas_devp))
or (wrk_sts=15 and crn_end_time is null and wrk_no not in (select wrk_no from asr_bas_devp))
order by io_time,wrk_no asc
</select>
diff --git a/src/main/resources/mapper/WrkMastStaMapper.xml b/src/main/resources/mapper/WrkMastStaMapper.xml
index d24b83b..81852a1 100644
--- a/src/main/resources/mapper/WrkMastStaMapper.xml
+++ b/src/main/resources/mapper/WrkMastStaMapper.xml
@@ -19,6 +19,7 @@
<result column="bign_time" property="bignTime" />
<result column="work_sta" property="workSta"/>
<result column="rgv_no" property="rgvNo"/>
+ <result column="mk" property="mk"/>
</resultMap>
@@ -150,6 +151,11 @@
and wrk_sts = #{wrkSts}
</if>
</select>
+ <select id="selectLockWrk" resultMap="BaseResultMap">
+ select * from asr_wrk_mast_sta
+ where mk = 1
+ and rgv_no = #{rgvNo}
+ </select>
--
Gitblit v1.9.1