From cb2d5d9ac39efdb38d8a301f7396ac1ab171efc1 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 09 五月 2024 21:49:11 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java | 9 +
src/main/webapp/views/console-old.html | 2
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 306 ++++++++++++++++++++++++++------------
src/main/webapp/views/console.html | 2
src/main/java/com/zy/asrs/service/WrkMastStaService.java | 2
src/main/webapp/static/images/RMLogo.png | 0
src/main/resources/mapper/WrkMastStaMapper.xml | 9 +
src/main/java/com/zy/asrs/entity/WrkMastSta.java | 4
src/main/java/com/zy/asrs/utils/Utils.java | 23 ++
src/main/webapp/views/index.html | 2
src/main/java/com/zy/core/MainProcess.java | 12
src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java | 3
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 75 ++++++++
src/main/resources/application.yml | 14
14 files changed, 341 insertions(+), 122 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastSta.java b/src/main/java/com/zy/asrs/entity/WrkMastSta.java
index c777b4d..b18cf68 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastSta.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastSta.java
@@ -36,6 +36,10 @@
@TableField("wrk_no")
private Long wrkNo;
+ @ApiModelProperty(value= "宸ヤ綔鍙�")
+ @TableField("wrk_no2")
+ private Long wrkNo2;
+
/**
* 宸ヤ綔妗e紑濮嬩綅缃�
*/
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
index fef59fb..c5872f3 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
@@ -9,4 +9,7 @@
@Repository
public interface WrkMastStaMapper extends BaseMapper<WrkMastSta> {
+ WrkMastSta selectByRgvNoandWrkNo(Integer rgvNo, Integer taskNo);
+
+ WrkMastSta selectByRgvNoandWrkNo2(Integer rgvNo, Integer taskNo2);
}
diff --git a/src/main/java/com/zy/asrs/service/WrkMastStaService.java b/src/main/java/com/zy/asrs/service/WrkMastStaService.java
index 9a08d24..9ba65e2 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastStaService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastStaService.java
@@ -5,4 +5,6 @@
public interface WrkMastStaService extends IService<WrkMastSta> {
+ WrkMastSta selectByRgvNoandWrkNo(Integer rgvNo, Integer taskNo1);
+ WrkMastSta selectByRgvNoandWrkNo2(Integer rgvNo, Integer taskNo2);
}
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 8263c0a..d2181a2 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -90,6 +90,8 @@
private BasCrnErrorMapper basCrnErrorMapper;
@Autowired
private EmptyBarrelInService emptyBarrelInService;
+ @Autowired
+ private WrkMastStaService wrkMastStaService;
@Value("${wms.url}")
private String wmsUrl;
@@ -2299,7 +2301,7 @@
} else {
staProtocol = staProtocol.clone();
}
- if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()) {
+// if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()) {
// 鏌ヨ宸ヤ綔妗�
WrkMast wrkMast = wrkMastMapper.selectPakOutStep2(crnStn.getStaNo());
if (wrkMast == null) {
@@ -2334,7 +2336,7 @@
}
- }
+// }
}
}
}
@@ -2491,111 +2493,219 @@
for (RgvSlave rgvSlave:slaveProperties.getRgv()){
ZyRgvThread rgvThread = (ZyRgvThread)SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
- if (rgvProtocol.getModeType() != RgvModeType.AUTO){
+ if (Cools.isEmpty(rgvProtocol)){
continue;
- }
-
-
- int workNo1 = 0;
- int workNo2 = 0;
- short souSta1 = 0;
- short sta1 = 0;
- short souSta2 = 0;
- short sta2 = 0;
-
- //宸ヤ綅涓�浠诲姟
- for (RgvSlave.Sta inStn : rgvSlave.getInStn()){
- SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, inStn.getSourcePlcId());
- StaProtocol staProtocol = devpThread.getStation().get(inStn.getSourceStaNo());
- if (staProtocol == null) {
- break;
-// continue;
- } else {
- staProtocol = staProtocol.clone();
- }
- if (staProtocol.isLoading() && staProtocol.isLoading() && staProtocol.isInEnable()){
- if (staProtocol.getWorkNo() > 0 && staProtocol.getWorkNo() <9900){
- WrkMast wrkMast = wrkMastService.selectByworkNo(staProtocol.getWorkNo());
- if (Cools.isEmpty(wrkMast)){
- log.error("鏈壘鍒板伐浣滄。");
- continue;
- }
- workNo1 = wrkMast.getWrkNo();
- souSta1 = inStn.getSourceStaNo().shortValue();
- sta1 = Utils.getRgvEndStaNo(rgvSlave.getId(),wrkMast.getStaNo());
- break;
- }
- workNo1 = workNo++;
- souSta1 = inStn.getSourceStaNo().shortValue();
- sta1 = inStn.getStaNo().shortValue();
- break;
- }
- }
-
-
- //宸ヤ綅浜屼换鍔�
- for (RgvSlave.Sta inStn : rgvSlave.getInStn()){
- if (souSta1 == inStn.getSourceStaNo()){
- continue;
- }
- SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, inStn.getSourcePlcId());
- StaProtocol staProtocol = devpThread.getStation().get(inStn.getSourceStaNo());
- if (staProtocol == null) {
- break;
-// continue;
- } else {
- staProtocol = staProtocol.clone();
- }
- if (staProtocol.isLoading() && staProtocol.isLoading() && staProtocol.isInEnable()){
- if (staProtocol.getWorkNo() > 0 && staProtocol.getWorkNo() <9900){
- WrkMast wrkMast = wrkMastService.selectByworkNo(staProtocol.getWorkNo());
- if (Cools.isEmpty(wrkMast)){
- log.error("鏈壘鍒板伐浣滄。");
- continue;
- }
- workNo2 = wrkMast.getWrkNo();
- souSta2 = inStn.getSourceStaNo().shortValue();
- sta2 = Utils.getRgvEndStaNo(rgvSlave.getId(),wrkMast.getStaNo());
- break;
- }
- workNo2 = workNo++;
- souSta2 = inStn.getSourceStaNo().shortValue();
- sta2 = inStn.getStaNo().shortValue();
- break;
- }
- }
-
- //rgv浠诲姟涓嬪彂--------------------------------------------------------------
- RgvCommand command = new RgvCommand();
- command.setRgvNo(rgvSlave.getId()); // RGV缂栧彿
- //宸ヤ綅1
- command.setTaskNo1(workNo1); // 宸ヤ綔鍙�
- command.setSourceStaNo1(souSta1); // 婧愮珯
- command.setDestinationStaNo1(sta1); // 鐩爣绔�
- command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣�
-
- //宸ヤ綅2
- command.setTaskNo2(workNo2); // 宸ヤ綔鍙�
- command.setSourceStaNo2(souSta2); // 婧愮珯
- command.setDestinationStaNo2(sta2); // 鐩爣绔�
- command.setAckFinish2(false); // 浠诲姟瀹屾垚纭浣�
-
- if (workNo1 != 0 && workNo2 ==0){
- command.setTaskMode(RgvTaskModeType.FETCH_PUT2); // 浠诲姟妯″紡: 鍙栨斁璐�
- } else if (workNo1 == 0 && workNo2 !=0) {
- command.setTaskMode(RgvTaskModeType.FETCH_PUT1); // 浠诲姟妯″紡: 鍙栨斁璐�
}else {
- command.setTaskMode(RgvTaskModeType.FETCH_PUT_ALL); // 浠诲姟妯″紡: 鍙栨斁璐�
+ rgvProtocol = rgvProtocol.clone();
}
- command.setCommand(false);
- MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(2, command));
- log.info("rgv浠诲姟涓嬪彂锛�"+JSON.toJSONString(command));
+ if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.IDLE && rgvProtocol.getLoaded1() == 0){
+ boolean work1 = false;
+ boolean work2 = false;
+ int workNo1 = 0;
+ int workNo2 = 0;
+ short souSta1 = 0;
+ short sta1 = 0;
+ short souSta2 = 0;
+ short sta2 = 0;
+
+ //宸ヤ綅涓�浠诲姟
+ for (RgvSlave.Sta inStn : rgvSlave.getInStn()){
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, inStn.getSourcePlcId());
+ StaProtocol staProtocol = devpThread.getStation().get(inStn.getSourceStaNo());
+ if (staProtocol == null) {
+ break;
+// continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()){
+ if (staProtocol.getWorkNo() > 0 && staProtocol.getWorkNo() <9900){
+ WrkMast wrkMast = wrkMastService.selectByworkNo(staProtocol.getWorkNo());
+ if (Cools.isEmpty(wrkMast)){
+ log.error("鏈壘鍒板伐浣滄。");
+ continue;
+ }
+ workNo1 = wrkMast.getWrkNo();
+ souSta1 = Utils.getRgvStaNo(rgvSlave.getId(),wrkMast.getSourceStaNo());
+ sta1 = Utils.getRgvEndStaNo(rgvSlave.getId(),wrkMast.getStaNo());
+ work1 = true;
+ devpThread.setPakMk(inStn.getSourceStaNo(),false);
+ break;
+ }
+ workNo1 = workNo++;
+ souSta1 = Utils.getRgvStaNo(rgvSlave.getId(),inStn.getSourceStaNo());
+ sta1 = Utils.getRgvStaNo(rgvSlave.getId(),inStn.getStaNo());
+ work1 = true;
+ devpThread.setPakMk(inStn.getSourceStaNo(),false);
+ break;
+ }
+ }
+
+
+ //宸ヤ綅浜屼换鍔�
+ for (RgvSlave.Sta inStn : rgvSlave.getInStn()){
+ if (souSta1 == inStn.getSourceStaNo()){
+ continue;
+ }
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, inStn.getSourcePlcId());
+ StaProtocol staProtocol = devpThread.getStation().get(inStn.getSourceStaNo());
+ if (staProtocol == null) {
+ break;
+// continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()&& staProtocol.isPakMk()){
+ if (staProtocol.getWorkNo() > 0 && staProtocol.getWorkNo() <9900){
+ WrkMast wrkMast = wrkMastService.selectByworkNo(staProtocol.getWorkNo());
+ if (Cools.isEmpty(wrkMast)){
+ log.error("鏈壘鍒板伐浣滄。");
+ continue;
+ }
+ workNo2 = wrkMast.getWrkNo();
+ souSta2 = inStn.getSourceStaNo().shortValue();
+ sta2 = Utils.getRgvEndStaNo(rgvSlave.getId(),wrkMast.getStaNo());
+ work2 = true;
+ devpThread.setPakMk(inStn.getSourceStaNo(),false);
+ break;
+ }
+ workNo2 = workNo++;
+ souSta2 = inStn.getSourceStaNo().shortValue();
+ sta2 = inStn.getStaNo().shortValue();
+ work2 = true;
+ devpThread.setPakMk(inStn.getSourceStaNo(),false);
+ break;
+ }
+ }
+
+ if (work1 || work2){
+ //rgv浠诲姟涓嬪彂--------------------------------------------------------------
+ RgvCommand command = new RgvCommand();
+ command.setRgvNo(rgvSlave.getId()); // RGV缂栧彿
+ //宸ヤ綅1
+ command.setTaskNo1(workNo1); // 宸ヤ綔鍙�
+ command.setSourceStaNo1(souSta1); // 婧愮珯
+ command.setDestinationStaNo1(sta1); // 鐩爣绔�
+ command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣�
+
+ //宸ヤ綅2
+ command.setTaskNo2(workNo2); // 宸ヤ綔鍙�
+ command.setSourceStaNo2(souSta2); // 婧愮珯
+ command.setDestinationStaNo2(sta2); // 鐩爣绔�
+ command.setAckFinish2(false); // 浠诲姟瀹屾垚纭浣�
+
+ if (workNo1 == 0 && workNo2 !=0){
+ command.setTaskMode(RgvTaskModeType.FETCH_PUT2); // 浠诲姟妯″紡: 鍙栨斁璐�
+ } else if (workNo1 != 0 && workNo2 ==0) {
+ command.setTaskMode(RgvTaskModeType.FETCH_PUT1); // 浠诲姟妯″紡: 鍙栨斁璐�
+ }else {
+ command.setTaskMode(RgvTaskModeType.FETCH_PUT_ALL); // 浠诲姟妯″紡: 鍙栨斁璐�
+ }
+ command.setCommand(false);
+ rgvTaskSave(command);
+ MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(2, command));
+ log.info("rgv浠诲姟涓嬪彂锛�"+JSON.toJSONString(command));
+ }
+ }
+
+
+
+
}
}
public synchronized void RGVTaskOver() {
+ for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
+ ZyRgvThread rgvThread = (ZyRgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
+ RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+ if (Cools.isEmpty(rgvProtocol)){
+ continue;
+ }else {
+ rgvProtocol = rgvProtocol.clone();
+ }
+ //宸ヤ綅涓�浠诲姟瀹屾垚
+ if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.WAITING && rgvProtocol.getLoaded1() == 1) {
+ WrkMastSta wrkMastSta = wrkMastStaService.selectByRgvNoandWrkNo(rgvProtocol.getRgvNo(), rgvProtocol.getTaskNo1());
+ if (Cools.isEmpty(wrkMastSta)){
+ log.error("鏈煡璇㈠埌rgv宸ヤ綔浠诲姟锛宺gv缂栧彿{},宸ヤ綔鍙穥}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1());
+ continue;
+ }
+ for (RgvSlave.Sta outStn :rgvSlave.getOutStn()){
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, outStn.getSourcePlcId());
+ StaProtocol staProtocol = devpThread.getStation().get(outStn.getSourceStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isPakMk()){
+// staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
+// staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+ if (!MessageQueue.offer(SlaveType.Devp, outStn.getStaPlcId(), new Task(2, staProtocol))) {
+ continue;
+ }
+ }
+
+ }
+
+ MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(3,new RgvCommand()));
+ log.info("{}鍙穜gv宸ヤ綅涓�宸ヤ綔瀹屾垚澶嶄綅,宸ヤ綔鍙�:{}",rgvSlave.getId(),wrkMastSta.getWrkNo());
+ }
+
+ //宸ヤ綅浜屼换鍔″畬鎴�
+ if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.WAITING2 && rgvProtocol.getLoaded1() == 1) {
+ WrkMastSta wrkMastSta = wrkMastStaService.selectByRgvNoandWrkNo(rgvProtocol.getRgvNo(), rgvProtocol.getTaskNo2());
+ if (Cools.isEmpty(wrkMastSta)){
+ log.error("鏈煡璇㈠埌rgv宸ヤ綔浠诲姟锛宺gv缂栧彿{},宸ヤ綔鍙穥}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2());
+ continue;
+ }
+ for (RgvSlave.Sta outStn :rgvSlave.getOutStn()){
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, outStn.getSourcePlcId());
+ StaProtocol staProtocol = devpThread.getStation().get(outStn.getSourceStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isPakMk()){
+// staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
+// staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+ if (!MessageQueue.offer(SlaveType.Devp, outStn.getStaPlcId(), new Task(2, staProtocol))) {
+ continue;
+ }
+ }
+
+ }
+
+ MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(4,new RgvCommand()));
+ log.info("{}鍙穜gv宸ヤ綅浜屽伐浣滃畬鎴愬浣�,宸ヤ綔鍙�:{}",rgvSlave.getId(),wrkMastSta.getWrkNo2());
+ }
+ }
}
+
+ public boolean rgvTaskSave(RgvCommand command){
+ Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", command.getRgvNo()).eq("wrk_no", command.getTaskNo1());
+ WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper);
+ if (!Cools.isEmpty(wrkMastSta1)){
+ wrkMastStaService.delete(wrkMastStaWrapper);
+ }
+ WrkMastSta wrkMastSta = new WrkMastSta();
+ wrkMastSta.setWrkNo(Long.valueOf(command.getTaskNo1()));
+ wrkMastSta.setWrkNo2(Long.valueOf(command.getTaskNo2()));
+ wrkMastSta.setWrkStart(command.getSourceStaNo1().intValue());
+ wrkMastSta.setWrkEnd(command.getDestinationStaNo1().intValue());
+ wrkMastSta.setStaStart(command.getSourceStaNo2().intValue());
+ wrkMastSta.setStaEnd(command.getDestinationStaNo2().intValue());
+ wrkMastSta.setWrkSts(1);
+ Date now = new Date();
+ wrkMastSta.setCreateTime(now);
+ wrkMastSta.setUpdateTime(now);
+ wrkMastSta.setWrkCrn(command.getRgvNo());
+ wrkMastSta.setWrkType(command.getTaskMode().intValue());
+ return wrkMastStaService.insert(wrkMastSta);
+ }
+
}
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 5f9b639..ba5c3e0 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java
@@ -9,4 +9,13 @@
@Service("wrkMastStaService")
public class WrkMastStaServiceImpl extends ServiceImpl<WrkMastStaMapper, WrkMastSta> implements WrkMastStaService {
+ @Override
+ public WrkMastSta selectByRgvNoandWrkNo(Integer rgvNo, Integer taskNo1) {
+ return this.baseMapper.selectByRgvNoandWrkNo(rgvNo,taskNo1);
+ }
+
+ @Override
+ public WrkMastSta selectByRgvNoandWrkNo2(Integer rgvNo, Integer taskNo2) {
+ return this.baseMapper.selectByRgvNoandWrkNo2(rgvNo,taskNo2);
+ }
}
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 141b18a..2281702 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -17,9 +17,14 @@
private static final DecimalFormat fmt = new DecimalFormat("##0.00");
- public static short getRgvEndStaNo(Integer rgvNo,Integer staNo){
+ public static short getRgvStaNo(Integer rgvNo,Integer staNo){
Map<Integer, Short> rgv1Map = new HashMap<>();
Map<Integer, Short> rgv2Map = new HashMap<>();
+ rgv2Map.put(4007, (short) 1);rgv2Map.put(4001, (short) 2);
+ rgv2Map.put(2003, (short) 3);rgv2Map.put(2103, (short) 4);
+ rgv2Map.put(4016, (short) 5);rgv2Map.put(4010, (short) 6);
+ rgv2Map.put(2301, (short) 7);rgv2Map.put(2002, (short) 8);
+ rgv2Map.put(2001, (short) 9);
Map<Integer, Short> rgv3Map = new HashMap<>();
switch (rgvNo){
case 1:
@@ -32,6 +37,22 @@
return 0;
}
+ public static short getRgvEndStaNo(Integer rgvNo,Integer staNo){
+ Map<Integer, Integer> rgv1Map = new HashMap<>();
+ Map<Integer, Integer> rgv2Map = new HashMap<>();
+ rgv2Map.put(4007,2103);
+ Map<Integer, Integer> rgv3Map = new HashMap<>();
+ switch (rgvNo){
+ case 1:
+ return getRgvStaNo(rgvNo,rgv1Map.get(staNo));
+ case 2:
+ return getRgvStaNo(rgvNo,rgv2Map.get(staNo));
+ case 3:
+ return getRgvStaNo(rgvNo,rgv3Map.get(staNo));
+ }
+ return 0;
+ }
+
public static float scale(Float f){
if (f == null || f == 0f || Float.isNaN(f)) {
return 0f;
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 497dc9c..5343a4f 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -67,12 +67,12 @@
mainService.autoEmptyOut();
//浜屾湡
- //绌烘《搴撲换鍔$敓鎴�
- mainService.crn5TaskCreate();
- //绌烘《搴撳叆搴�
- mainService.crn5InTask();
- //绌烘《鍑哄簱瀹屾垚
- mainService.crn5StnToOutStn();
+// //绌烘《搴撲换鍔$敓鎴�
+// mainService.crn5TaskCreate();
+// //绌烘《搴撳叆搴�
+// mainService.crn5InTask();
+// //绌烘《鍑哄簱瀹屾垚
+// mainService.crn5StnToOutStn();
//rgv浠诲姟
mainService.RGVTaskPut();
//rgv浠诲姟瀹屾垚
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 70a9ffa..81e9870 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -63,9 +63,7 @@
}};
public static final ArrayList<Integer> staNos4 = new ArrayList<Integer>() {{
- add(3001);add(3002);add(3003);add(3004);add(3005);
- add(3006);add(3007);add(3008);add(3009);add(3010);
- add(3011);add(3012);
+ add(4007);
}};
public static final ArrayList<Integer> staNos5 = new ArrayList<Integer>() {{
@@ -205,10 +203,14 @@
switch (step) {
// 璇绘暟鎹�
case 1:
- if (slave.getId() ==3){
- read30();
- }else {
- read();
+ switch (slave.getId()){
+ case 1:
+ case 2:
+ read();break;
+ case 3:
+ read30();break;
+ case 4:
+ read33();break;
}
break;
@@ -417,6 +419,65 @@
}
}
+ private void read33() throws InterruptedException {
+ ArrayList<Integer> staNos = getStaNo();
+ int staNoSize = staNos.size();
+ OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 8));
+
+ result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size()*6));
+ if (result.IsSuccess) {
+ for (int i = 0; i < staNoSize; i++) {
+ Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i*4, 1);
+ short tongType = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 2);
+ short matnr = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 4);
+ StaProtocol staProtocol = station.get(siteId);
+ if (null == staProtocol) {
+ staProtocol = new StaProtocol();
+ staProtocol.setSiteId(siteId);
+ station.put(siteId, staProtocol);
+ }
+ staProtocol.setAutoing(status[0]); // 鑷姩
+ staProtocol.setLoading(status[1]); // 鏈夌墿
+ staProtocol.setInEnable(status[2]); // 鍙叆
+ staProtocol.setAmount(matnr);
+
+
+
+ if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
+ staProtocol.setPakMk(true);
+ }
+ }
+ }
+
+ if (result.IsSuccess) {
+
+ OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
+
+ // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
+ try {
+ List<BasDevp> basDevps = new ArrayList<>();
+ for (Integer siteId : staNos) {
+ StaProtocol staProtocol = station.get(siteId);
+ basDevps.add(staProtocol.toSqlModel());
+ }
+
+ BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
+ if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) {
+ throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戞洿鏂版暟鎹簱鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+ log.error("鏇存柊鏁版嵁搴撴暟鎹け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
+ }
+
+ } else {
+ OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+// log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
+ }
+ }
+
/**
* 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏�
*/
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 3b07a94..ea37b45 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -8,7 +8,7 @@
name: @pom.build.finalName@
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- url: jdbc:sqlserver://10.10.10.212:1433;databasename=mdqdasrs
+ url: jdbc:sqlserver://127.0.0.1:1433;databasename=mdqdasrs
username: sa
password: sa@123
mvc:
@@ -34,7 +34,7 @@
enable: false
wms:
- url: localhost:8082/mdqdwms
+ url: localhost:8080/mdqdwms
# 涓嬩綅鏈洪厤缃�
wcs-slave:
@@ -47,7 +47,7 @@
# 鍫嗗灈鏈�1
crn[0]:
id: 1
- ip: 10.10.10.100
+ ip: 10.10.10.200
port: 102
rack: 0
slot: 0
@@ -85,7 +85,7 @@
# 鍫嗗灈鏈�2
crn[1]:
id: 2
- ip: 10.10.10.110
+ ip: 10.10.10.201
port: 102
rack: 0
slot: 0
@@ -248,7 +248,7 @@
# slot: 0
# # RGV1
rgv[0]:
- id: 1
+ id: 2
ip: 10.10.10.130
port: 102
rack: 0
@@ -259,8 +259,8 @@
staNo: 2103
staPlcId: 2
outStn[0]:
- sourceStaNo: 4007
- sourcePlcId: 4
+ staNo: 2103
+ staPlcId: 2
# # RGV2
# rgv[1]:
# id: 2
diff --git a/src/main/resources/mapper/WrkMastStaMapper.xml b/src/main/resources/mapper/WrkMastStaMapper.xml
index d96f72d..cb23804 100644
--- a/src/main/resources/mapper/WrkMastStaMapper.xml
+++ b/src/main/resources/mapper/WrkMastStaMapper.xml
@@ -18,7 +18,16 @@
<result column="wrk_type" property="wrkType" />
<result column="bign_time" property="bignTime" />
<result column="wrk_crn" property="wrkCrn" />
+ <result column="wrk_no2" property="wrkNo2"/>
</resultMap>
+ <select id="selectByRgvNoandWrkNo" resultMap="BaseResultMap">
+ select * from asr_wrk_mast_sta
+ where wrk_crn = #{rgvNo} and wrk_no = #{taskNo} and wrk_sts = 1
+ </select>
+ <select id="selectByRgvNoandWrkNo2" resultMap="BaseResultMap">
+ select * from asr_wrk_mast_sta
+ where wrk_crn = #{rgvNo} and wrk_no2 = #{taskNo2} and wrk_sts = 1
+ </select>
</mapper>
diff --git a/src/main/webapp/static/images/RMLogo.png b/src/main/webapp/static/images/RMLogo.png
new file mode 100644
index 0000000..a295a8d
--- /dev/null
+++ b/src/main/webapp/static/images/RMLogo.png
Binary files differ
diff --git a/src/main/webapp/views/console-old.html b/src/main/webapp/views/console-old.html
index 517a858..aa40e1e 100644
--- a/src/main/webapp/views/console-old.html
+++ b/src/main/webapp/views/console-old.html
@@ -22,7 +22,7 @@
<h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6>
</div>
<div class="head-right">
- <img src="../static/images/zy-logo1.png" alt="涓壃" height="44" width="80">
+ <img src="../static/images/RMLogo.png" alt="娑︾編" height="44">
</div>
</div>
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index 6b04d76..9edf168 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -21,7 +21,7 @@
<h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6>
</div>
<div class="head-right">
- <img src="../static/images/zy-logo.png" alt="涓壃" height="44" width="80">
+ <img src="../static/images/RMLogo.png" alt="娑︾編" height="44">
</div>
</div>
<div style="width: 1000px;height: 800px;overflow: hidden">
diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html
index fba5381..842f38e 100644
--- a/src/main/webapp/views/index.html
+++ b/src/main/webapp/views/index.html
@@ -27,7 +27,7 @@
<!-- 涓讳綋鍐呭 -->
<iframe id="content" src="console.html"></iframe>
<footer class="footer">
- Copyright 漏 2015 All Rights Reserved. <a href="http://www.zoneyung.com" target="_blank">绫冲</a> 淇濈暀鎵�鏈夋潈鍒�
+ Copyright 漏 2020 All Rights Reserved. <a href="http://www.lubmate.com/" target="_blank">涓娑︾編(闈掑矝)</a> 淇濈暀鎵�鏈夋潈鍒�
</footer>
</body>
<script>
--
Gitblit v1.9.1