From 3897c8800805f6e99e30d700fe0c11c5ed2df84a Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期五, 26 九月 2025 14:24:59 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 5
src/main/java/com/zy/asrs/domain/param/CrnOperatorParam.java | 3
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 18 +
src/main/resources/mapper/LocMastMapper.xml | 12 +
src/main/webapp/static/js/console.map.js | 14
src/main/java/com/zy/asrs/controller/CrnController.java | 110 +++++-----
pom.xml | 2
src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java | 3
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 43 ++--
src/main/webapp/views/crn.html | 40 ++-
src/main/java/com/zy/asrs/domain/vo/CrnMsgTableVo.java | 12 +
src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 3
src/main/webapp/static/js/common.js | 2
src/main/java/com/zy/asrs/service/LocMastService.java | 1
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 219 +++++++++------------
src/main/resources/application.yml | 64 ++---
16 files changed, 291 insertions(+), 260 deletions(-)
diff --git a/pom.xml b/pom.xml
index c291bdf..05268d7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -194,7 +194,7 @@
<build>
<!-- <finalName>rqdzwcs</finalName>-->
- <finalName>czkhwcs</finalName>
+ <finalName>wcs</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index abfdd84..dd1ec9d 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -21,7 +21,6 @@
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
-import com.zy.asrs.utils.VersionUtils;
import com.zy.core.CrnThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
@@ -35,7 +34,6 @@
import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.properties.SystemProperties;
-import com.zy.core.thread.RgvThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -73,7 +71,7 @@
@ManagerAuth(memo = "杩涜涓殑鍛戒护")
@PostMapping("/command/ongoing")
- public R ongoingCommand(){
+ public R ongoingCommand() {
List<CommandLogVo> list = new ArrayList<>();
for (CrnSlave crn : slaveProperties.getCrn()) {
CommandLogVo vo = new CommandLogVo();
@@ -92,7 +90,7 @@
vo.setStatus(1); // 鐘舵��
Task task = MessageQueue.peek(SlaveType.Crn, crn.getId());
if (task != null) {
- vo.setCommand(JSON.toJSONString((CrnCommand)task.getData()));
+ vo.setCommand(JSON.toJSONString((CrnCommand) task.getData()));
}
}
return R.ok().add(list);
@@ -100,7 +98,7 @@
@PostMapping("/table/crn/state")
@ManagerAuth(memo = "鍫嗗灈鏈轰俊鎭〃")
- public R crnStateTable(){
+ public R crnStateTable() {
List<CrnStateTableVo> list = new ArrayList<>();
List<BasCrnp> crnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().orderBy("crn_no"));
for (BasCrnp basCrnp : crnps) {
@@ -120,20 +118,22 @@
vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙�
vo.setStatusType(crnProtocol.modeType.desc); // 妯″紡鐘舵��
vo.setStatus(crnProtocol.getStatusType().desc); // 鐘舵��
- vo.setLoading(crnProtocol.getLoaded()==1?"鏈夌墿":"鏃犵墿"); // 鏈夌墿
+ vo.setLoading(crnProtocol.getLoaded() == 1 ? "鏈夌墿" : "鏃犵墿"); // 鏈夌墿
+ vo.setLoadTwoing(crnProtocol.getLoadedTwo() == 1 ? "鏈夌墿" : "鏃犵墿"); // 鏈夌墿
+
vo.setBay(crnProtocol.getBay()); // 鍒�
vo.setLev(crnProtocol.getLevel()); // 灞�
vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆
vo.setLiftPos(crnProtocol.getLiftPosType().desc);
- vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�");
- if(crnProtocol.getAlarm() == 10){
+ vo.setWalkPos(crnProtocol.getWalkPos() == 1 ? "涓嶅湪瀹氫綅" : "鍦ㄥ畾浣�");
+ if (crnProtocol.getAlarm() == 10) {
crnProtocol.setAlarm((short) 0);
}
vo.setWarnCode(String.valueOf(crnProtocol.getAlarm()));
if (crnProtocol.getAlarm() > 0) {
BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
- vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName());
+ vo.setAlarm(crnError == null ? "鏈煡寮傚父" : crnError.getErrName());
}
}
return R.ok().add(list);
@@ -141,7 +141,7 @@
@PostMapping("/table/crn/msg")
@ManagerAuth(memo = "鍫嗗灈鏈烘暟鎹〃")
- public R crnMsgTable(){
+ public R crnMsgTable() {
List<CrnMsgTableVo> list = new ArrayList<>();
List<BasCrnp> crnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().orderBy("crn_no"));
for (BasCrnp basCrnp : crnps) {
@@ -160,7 +160,7 @@
}
vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙�
- if (crnProtocol.getTaskNo()>0) {
+ if (crnProtocol.getTaskNo() > 0) {
WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
if (wrkMast != null) {
vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵��
@@ -170,8 +170,21 @@
vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅
}
} else {
- vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵��
+ vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO) ? CrnStatusType.MACHINE_AUTO.getDesc() : CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵��
}
+
+ if (crnProtocol.getTaskNoTwo() > 0) {
+ WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNoTwo());
+ if (wrkMast != null) {
+ vo.setSourceStaNo2(wrkMast.getSourceStaNo$()); // 婧愮珯
+ vo.setStaNo2(wrkMast.getStaNo$()); // 鐩爣绔�
+ vo.setSourceLocNo2(wrkMast.getSourceLocNo()); // 婧愬簱浣�
+ vo.setLocNo2(wrkMast.getLocNo()); // 鐩爣搴撲綅
+ }
+ } else {
+ vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO) ? CrnStatusType.MACHINE_AUTO.getDesc() : CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵��
+ }
+
vo.setXspeed(crnProtocol.getXSpeed()); // 璧拌閫熷害锛坢/min)
vo.setYspeed(crnProtocol.getYSpeed()); // 鍗囬檷閫熷害锛坢/min)
vo.setZspeed(crnProtocol.getZSpeed()); // 鍙夌墮閫熷害锛坢/min)
@@ -185,11 +198,11 @@
@PostMapping("/output/site")
@ManagerAuth(memo = "鍫嗗灈鏈烘姤鏂囨棩蹇楄緭鍑�")
- public R crnOutput(){
+ public R crnOutput() {
StringBuilder str = new StringBuilder();
String s;
int i = 0;
- while((s = OutputQueue.CRN.poll()) != null && i <=10) {
+ while ((s = OutputQueue.CRN.poll()) != null && i <= 10) {
str.append("\n").append(s);
i++;
}
@@ -198,7 +211,7 @@
@GetMapping("/demo/status")
- public R demoStatus(){
+ public R demoStatus() {
List<Map<String, Object>> res = new ArrayList<>();
for (CrnSlave crnSlave : slaveProperties.getCrn()) {
Map<String, Object> map = new HashMap<>();
@@ -213,13 +226,13 @@
@PostMapping("/demo/switch")
@ManagerAuth(memo = "鍫嗗灈鏈烘紨绀�")
public R crnDemo(CrnDemoParam param) throws InterruptedException {
- if (Cools.isEmpty(param.getCrnId())){
+ if (Cools.isEmpty(param.getCrnId())) {
return R.error();
}
- if (Cools.isEmpty(param.getPassword())){
+ if (Cools.isEmpty(param.getPassword())) {
return R.error("璇疯緭鍏ュ彛浠�");
}
- if (!param.getPassword().equals(SystemProperties.WCS_PASSWORD)){
+ if (!param.getPassword().equals(SystemProperties.WCS_PASSWORD)) {
return R.error("鍙d护閿欒");
}
Thread.sleep(200L);
@@ -231,7 +244,6 @@
// mainService.crnDemoOfLocMove(param.getCrnId());
return R.ok();
}
-
/****************************************************************/
@@ -275,10 +287,9 @@
// command.setTraySize(locSts);
// return crnControl(command)?R.ok():R.error();
// }
-
@ManagerAuth(memo = "搴撲綅杞Щ")
@PostMapping("/operator/stockMove")
- public R crnStockMove(CrnOperatorParam param){
+ public R crnStockMove(CrnOperatorParam param) {
CrnCommand command = new CrnCommand();
command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
command.setTaskNo((short) 0); // 宸ヤ綔鍙�
@@ -294,17 +305,17 @@
.eq("bay1", command.getSourcePosY()).eq("lev1", command.getSourcePosZ()));
LocMast loc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", command.getDestinationPosX())
.eq("bay1", command.getDestinationPosY()).eq("lev1", command.getDestinationPosZ()));
- if (sourceLoc.getLocType1() != loc.getLocType1()){
+ if (sourceLoc.getLocType1() != loc.getLocType1()) {
return R.error("搴撲綅绫诲瀷涓嶄竴鑷�");
}
command.setTraySize(loc.getLocType1() == 2);
// VersionUtils.locMoveCheckLocType(sourceLoc, loc);
- return crnControl(command)?R.ok():R.error();
+ return crnControl(command) ? R.ok() : R.error();
}
@ManagerAuth(memo = "绔欏埌绔�")
@PostMapping("/operator/siteMove")
- public R crnSiteMove(CrnOperatorParam param){
+ public R crnSiteMove(CrnOperatorParam param) {
CrnCommand command = new CrnCommand();
command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
command.setTaskNo((short) 0); // 宸ヤ綔鍙�
@@ -316,12 +327,12 @@
command.setDestinationPosX(param.getStaNo()); // 鐩爣搴撲綅鎺�
command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
command.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
- return crnControl(command)?R.ok():R.error();
+ return crnControl(command) ? R.ok() : R.error();
}
@ManagerAuth(memo = "鍥炲師鐐�")
@PostMapping("/operator/bacOrigin")
- public R crnBacOrigin(CrnOperatorParam param){
+ public R crnBacOrigin(CrnOperatorParam param) {
CrnCommand command = new CrnCommand();
command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
command.setTaskNo((short) 0); // 宸ヤ綔鍙�
@@ -333,12 +344,12 @@
command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺�
command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞�
- return crnControl(command)?R.ok():R.error();
+ return crnControl(command) ? R.ok() : R.error();
}
@ManagerAuth(memo = "鍙嶅師鐐�")
@PostMapping("/operator/reverseOrigin")
- public R reverseOrigin(CrnOperatorParam param){
+ public R reverseOrigin(CrnOperatorParam param) {
CrnCommand command = new CrnCommand();
command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
command.setTaskNo((short) 0); // 宸ヤ綔鍙�
@@ -350,7 +361,7 @@
command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺�
command.setDestinationPosY((short) 34); // 鐩爣搴撲綅鍒�
command.setDestinationPosZ((short) 5); // 鐩爣搴撲綅灞�
- return crnControl(command)?R.ok():R.error();
+ return crnControl(command) ? R.ok() : R.error();
}
// @ManagerAuth(memo = "鍧愭爣绉诲姩")
@@ -373,8 +384,9 @@
@ManagerAuth(memo = "浠诲姟瀹屾垚")
@PostMapping("/operator/taskComplete")
- public R crnTaskComplete(CrnOperatorParam param){
+ public R crnTaskComplete(CrnOperatorParam param) {
CrnCommand command = new CrnCommand();
+ command.setPltType(param.getC());
command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
command.setTaskNo((short) 0); // 宸ヤ綔鍙�
command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣�
@@ -385,9 +397,8 @@
command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺�
command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞�
- return crnControl(command)?R.ok():R.error();
+ return crnControl(command) ? R.ok() : R.error();
}
-
// @ManagerAuth(memo = "鏆傚仠")
@@ -404,7 +415,7 @@
@ManagerAuth(memo = "娓呴櫎鍛戒护")
@PostMapping("/operator/clearCommand")
- public R crnClearCommand(CrnOperatorParam param){
+ public R crnClearCommand(CrnOperatorParam param) {
if (param.getCrnNo() == null) {
throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�");
}
@@ -419,7 +430,7 @@
command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺�
command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞�
- return crnControl(command)?R.ok():R.error();
+ return crnControl(command) ? R.ok() : R.error();
}
@ManagerAuth(memo = "鎵嬪姩澶嶄綅")
@@ -460,7 +471,7 @@
return R.error();
}
- private boolean crnControl(CrnCommand command){
+ private boolean crnControl(CrnCommand command) {
if (command.getCrnNo() == null) {
throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�");
}
@@ -476,22 +487,19 @@
throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ嚎");
}
// 绌洪棽鍒ゆ柇
-// if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) {
- if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) {
- return true;
- } else {
- throw new CoolException("鍛戒护涓嬪彂澶辫触");
- }
-// } else {
-// throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ┖闂茬姸鎬�");
-// }
+ if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) {
+ return true;
+ } else {
+ throw new CoolException("鍛戒护涓嬪彂澶辫触");
+ }
+
}
}
return false;
}
- private void staNoProcess(CrnOperatorParam param, CrnCommand command){
- if (param.getSourceStaNo()!=null) {
+ private void staNoProcess(CrnOperatorParam param, CrnCommand command) {
+ if (param.getSourceStaNo() != null) {
if (param.getSourceStaNo() == 5) {
command.setSourcePosX((short) 2); // 婧愬簱浣嶆帓
command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪
@@ -502,7 +510,7 @@
command.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
}
}
- if (param.getStaNo()!=null) {
+ if (param.getStaNo() != null) {
if (param.getStaNo() == 5) {
command.setDestinationPosX((short) 2); // 鐩爣搴撲綅鎺�
command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
@@ -515,16 +523,16 @@
}
}
- private boolean isLocSts(String row,String bay,String lev){
+ private boolean isLocSts(String row, String bay, String lev) {
int rowInt = Integer.parseInt(row);
int bayInt = Integer.parseInt(bay);
int levInt = Integer.parseInt(lev);
- String loc = String.format("%2d",rowInt)+String.format("%3d",bayInt)+String.format("%2d",levInt);
+ String loc = String.format("%2d", rowInt) + String.format("%3d", bayInt) + String.format("%2d", levInt);
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", loc));
- if (Cools.isEmpty(locMast)){
+ if (Cools.isEmpty(locMast)) {
return false;
}
- if (locMast.getLocType1() == 2){
+ if (locMast.getLocType1() == 2) {
return true;
}
return false;
diff --git a/src/main/java/com/zy/asrs/domain/param/CrnOperatorParam.java b/src/main/java/com/zy/asrs/domain/param/CrnOperatorParam.java
index 120bc71..e7a1b8c 100644
--- a/src/main/java/com/zy/asrs/domain/param/CrnOperatorParam.java
+++ b/src/main/java/com/zy/asrs/domain/param/CrnOperatorParam.java
@@ -37,4 +37,7 @@
private Integer rgvNo;
+
+ private Integer c;
+
}
diff --git a/src/main/java/com/zy/asrs/domain/vo/CrnMsgTableVo.java b/src/main/java/com/zy/asrs/domain/vo/CrnMsgTableVo.java
index ef124a3..e44e5bd 100644
--- a/src/main/java/com/zy/asrs/domain/vo/CrnMsgTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/CrnMsgTableVo.java
@@ -30,6 +30,18 @@
// 鐩爣搴撲綅
private String locNo = "-";
+ // 婧愮珯
+ private String sourceStaNo2 = "-";
+
+ // 鐩爣绔�
+ private String staNo2 = "-";
+
+ // 婧愬簱浣�
+ private String sourceLocNo2 = "-";
+
+ // 鐩爣搴撲綅
+ private String locNo2 = "-";
+
// 寮傚父
private String error = "";
diff --git a/src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java b/src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java
index 4e9f53a..b5b9ce8 100644
--- a/src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java
@@ -17,6 +17,9 @@
// 鏈夌墿
private String loading = "-";
+ // 鏈夌墿
+ private String loadTwoing = "-";
+
// 鍒�
private Short bay;
diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index 9fd1d06..a8b3aa7 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -22,6 +22,9 @@
LocMast queryFreeLocMast(@Param("row") Integer row, @Param("locType1") Short locType1);
+ LocMast queryFreeLocMast2(@Param("row") Integer row, @Param("locType1") Short locType1);
+
+
@Select("select loc_no from asr_loc_mast where 1=1 and loc_sts = 'O' and crn_no = #{crnNo}")
List<String> queryGroupEmptyStock(Integer crnNo);
diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java
index bc45966..2ec98b9 100644
--- a/src/main/java/com/zy/asrs/service/LocMastService.java
+++ b/src/main/java/com/zy/asrs/service/LocMastService.java
@@ -17,6 +17,7 @@
*/
LocMast queryFreeLocMast(Integer row, Short locType1);
+ LocMast queryFreeLocMast2(Integer row, Short locType1);
/**
* 鑾峰彇鍚岀粍璐ф灦鐨勭┖搴撲綅
* @param sourceLocNo 婧愬簱浣�
diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index ababf93..42634ef 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -21,6 +21,11 @@
public LocMast queryFreeLocMast(Integer row, Short locType1) {
return this.baseMapper.queryFreeLocMast(row, locType1);
}
+ @Override
+ public LocMast queryFreeLocMast2(Integer row, Short locType1) {
+ return this.baseMapper.queryFreeLocMast2(row, locType1);
+ }
+
@Override
public List<String> queryGroupEmptyStock(String sourceLocNo) {
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 8b2e293..81a9da5 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2088,6 +2088,7 @@
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setPltType(getCrnStation(wrkMast.getSourceLocNo()));
crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
@@ -2660,7 +2661,13 @@
LocMast loc = null;
for (Integer row : rows) {
if (Utils.isDeepLoc(slaveProperties, row)) {
- loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
+ if (shallowLoc.getRow1() == 1 && row == 1) {
+ loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1());
+ } else if (shallowLoc.getRow1() == 29 && row == 29) {
+ loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1());
+ } else {
+ loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
+ }
if (loc != null) {
if (Utils.isDeepLoc(slaveProperties, loc.getLocNo())) {
@@ -2679,7 +2686,14 @@
if (null == loc) {
for (Integer row : rows) {
if (Utils.isShallowLoc(slaveProperties, row)) {
- loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
+ if (shallowLoc.getRow1() == 1 && row == 1) {
+ loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1());
+ } else if (shallowLoc.getRow1() == 29 && row == 29) {
+ loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1());
+ } else {
+ loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
+ }
+
if (null != loc) {//瀵瑰簲娣卞簱浣嶉潪鍦ㄥ簱鐘舵��,涓嶈兘绉诲簱
String deepLoc = Utils.getDeepLoc(slaveProperties, loc.getLocNo());
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index f2b7e8d..b1995c0 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -74,7 +74,12 @@
break;
// 鍐欏叆鏁版嵁 1鍙峰伐浣�
case 2:
- write((CrnCommand) task.getData());
+ CrnCommand data = (CrnCommand) task.getData();
+ if (data.getPltType() == null || data.getPltType() == 1) {
+ write(data);
+ } else if (data.getPltType() == 2) {
+ write2(data);
+ }
break;
// 澶嶄綅 1鍙峰伐浣�
case 3:
@@ -93,10 +98,6 @@
command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞�
write(command);
- break;
- // 鍐欏叆鏁版嵁 2鍙峰伐浣�
- case 4:
- write2((CrnCommand) task.getData());
break;
// 澶嶄綅 2鍙峰伐浣�
case 6:
@@ -489,7 +490,7 @@
return false;
}
// 鍚戝爢鍨涙満鍙戜换鍔″墠鐨勫爢鍨涙満鐘舵��
- try{
+ try {
OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 18);
if (resultRead.IsSuccess) {
CrnCommand one = new CrnCommand();
@@ -505,13 +506,13 @@
|| !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY())
|| !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX())
|| !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ())
- ){
+ ) {
// News.error("涓嬪彂鍓嶏細[id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
} else {
// News.info("涓嬪彂鍓嶏細[id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
}
}
- }catch (Exception e){
+ } catch (Exception e) {
News.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�");
}
// convertRow(command);
@@ -531,7 +532,7 @@
// array[10] = 0; //澶囩敤1
short[] array2 = new short[1];
- array2[0] = command.getAckFinish();
+ array2[0] = command.getAckFinish();
OperateResult result = siemensNet.Write("DB100.20", array);
OperateResult result2 = siemensNet.Write("DB100.0", array2);
News.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), array);
@@ -539,7 +540,7 @@
int writeCount1 = 1;
do {
try {
- if (!result.IsSuccess||!result2.IsSuccess) {
+ if (!result.IsSuccess || !result2.IsSuccess) {
// if (!resetFlag){
News.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command), writeCount1);
result = siemensNet.Write("DB100.0", array);
@@ -609,26 +610,26 @@
writeCount2++;
short commandFinish = (short) 1;
result = siemensNet.Write("DB100.38", commandFinish);
- if(result.IsSuccess){
+ if (result.IsSuccess) {
//鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
Thread.sleep(200);
OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.38", (short) 2);
if (resultRead.IsSuccess) {
- commandFinish=siemensNet.getByteTransform().TransInt16(resultRead.Content, 0);
- if (commandFinish != 1){
- News.error("鍫嗗灈鏈轰换鍔$‘璁や綅"+commandFinish+"鍐欏叆鏁版嵁涓庡洖璇绘暟鎹笉涓�鑷达紒"+"寰幆鎵ц娆℃暟:"+writeCount2+"娆�");
- }else{
+ commandFinish = siemensNet.getByteTransform().TransInt16(resultRead.Content, 0);
+ if (commandFinish != 1) {
+ News.error("鍫嗗灈鏈轰换鍔$‘璁や綅" + commandFinish + "鍐欏叆鏁版嵁涓庡洖璇绘暟鎹笉涓�鑷达紒" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
+ } else {
//浠诲姟鍛戒护鍐欏叆鎴愬姛
// News.info("鍫嗗灈鏈轰换鍔$‘璁や綅"+commandFinish+"鍥炶鎴愬姛锛�"+"寰幆鎵ц娆℃暟:"+writeCount2+"娆�");
break;
}
- }else {
- News.error("鍫嗗灈鏈轰换鍔$‘璁や綅"+commandFinish+"鍥炶澶辫触锛�"+"寰幆鎵ц娆℃暟:"+writeCount2+"娆�");
+ } else {
+ News.error("鍫嗗灈鏈轰换鍔$‘璁や綅" + commandFinish + "鍥炶澶辫触锛�" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
}
} else {
- News.error("鍫嗗灈鏈轰换鍔$‘璁や綅"+commandFinish+"鍐欏叆澶辫触锛�"+"寰幆鎵ц娆℃暟:"+writeCount2+"娆�");
+ News.error("鍫嗗灈鏈轰换鍔$‘璁や綅" + commandFinish + "鍐欏叆澶辫触锛�" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
}
- }while (writeCount2<5);
+ } while (writeCount2 < 5);
}
}
@@ -654,7 +655,8 @@
null // 淇敼浜哄憳
);
bean.insert(basCrnOpt);
- } catch (Exception ignore) {}
+ } catch (Exception ignore) {
+ }
if (result != null && result.IsSuccess) {
Thread.sleep(200);
@@ -668,6 +670,7 @@
return false;
}
}
+
public void requestStop() {
isRunning = false;
}
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 7c4b956..943e1ad 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -44,34 +44,37 @@
private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
private short heartBeatVal = 1;
private StaError1 staError1;
-// public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
-//
-// }};
- public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
- add(101);add(102);add(103);
- add(104);add(105);
- }};
+ public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
+ add(1101);
+ add(1102);
+ add(1103);
+ add(1104);
+ add(1105);
+ add(1106);
+ add(1107);
+ }};
public static final ArrayList<Integer> BarcodeList1 = new ArrayList<Integer>() {{
- add(1); add(2);add(3);add(4);add(5);
+ add(1);
}};
-
public static final ArrayList<Integer> staNosErrList1 = new ArrayList<Integer>() {{
-
add(102);
}};
public static final ArrayList<Integer> staNoWeight1 = new ArrayList<Integer>() {{
- add(101);add(102);add(103);add(104);add(105);
+ add(101);
+ add(102);
+ add(103);
+ add(104);
+ add(105);
}};
-
- private Integer count=0;
+ private Integer count = 0;
/**
* 鏉$爜鏁伴噺
@@ -87,9 +90,7 @@
* 4.鍑哄簱妯″紡
*/
public IoModeType ioModeOf2F = IoModeType.NONE;
-// public IoModeType ioMode = IoModeType.NONE;
public IoModeType ioModeOf4F = IoModeType.NONE;
-// public IoModeType ioMode = IoModeType.NONE;
public SiemensDevpThread(DevpSlave slave) {
this.slave = slave;
@@ -127,6 +128,7 @@
throw new CoolException("鏈嶅姟鍣ㄥ紓甯�");
}
}
+
private ArrayList<Integer> getBarcodeList() {
switch (slave.getId()) {
case 1:
@@ -156,8 +158,8 @@
break;
// 鍐欐暟鎹� ID+鐩爣绔�
case 2:
- write((StaProtocol)task.getData());
- log.error("杈撻�佺嚎涓嬪彂鍛戒护锛�"+((StaProtocol) task.getData()).getWorkNo()+","+((StaProtocol) task.getData()).getStaNo());
+ write((StaProtocol) task.getData());
+ log.error("杈撻�佺嚎涓嬪彂鍛戒护锛�" + ((StaProtocol) task.getData()).getWorkNo() + "," + ((StaProtocol) task.getData()).getStaNo());
break;
default:
break;
@@ -171,13 +173,14 @@
}
}
+
/**
* 鍒濆鍖栫珯鐐圭姸鎬�
*/
private void initSite() {
- count ++;
+ count++;
ArrayList<Integer> staNos = getStaNo();
- if(count > 48) {
+ if (count > 48) {
// 绔欑偣缂栧彿
for (Integer siteId : staNos) {
StaProtocol staProtocol = station.get(siteId);
@@ -209,32 +212,19 @@
siemensS7Net.setRack(slave.getRack().byteValue());
siemensS7Net.setSlot(slave.getSlot().byteValue());
OperateResult connect = siemensS7Net.ConnectServer();
- if(connect.IsSuccess){
+ if (connect.IsSuccess) {
result = true;
- 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()));
- News.info("SiemensDevp"+" - 1"+" - 杈撻�佺嚎plc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+ 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()));
+ News.info("SiemensDevp" + " - 1" + " - 杈撻�佺嚎plc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
} 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()));
- News.error("SiemensDevp"+" - 2"+" - 杈撻�佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+ 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()));
+ News.error("SiemensDevp" + " - 2" + " - 杈撻�佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
}
// siemensS7Net.ConnectClose();
initSite();
return result;
}
- public static int getOffsetFromSiteId(int siteId) {
- if (siteId < 100 || siteId > 450) {
- throw new IllegalArgumentException("siteId 瓒呭嚭鏈夋晥鑼冨洿: " + siteId);
- }
- return (siteId - 100) * 8;
- }
-
- public static int getOffsetFromSiteId2(int siteId) {
- if (siteId < 100 || siteId > 450) {
- throw new IllegalArgumentException("siteId 瓒呭嚭鏈夋晥鑼冨洿: " + siteId);
- }
- return (siteId - 100) * 6;
- }
/**
* 璇诲彇鐘舵�� ====> 鏁村潡plc
@@ -243,26 +233,13 @@
// // 鏇存柊鍏ュ嚭搴撴ā寮�
// updateIoMode();
-// if (slave.getId()==1) return;
ArrayList<Integer> staNos = staNos1;
int staNoSize = staNos1.size();
- //ArrayList<Integer> staNos = getStaNo();
ArrayList<Integer> staNosErrList = getStaNoErr();
- ArrayList<Integer> staNoWeight = getStaNoWeight();
- //int staNoSize = staNos.size();
OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize * 8));
- OperateResultExOne<byte[]> resultWeight = null;
- /*if(staNoWeight.size()>4){
- resultWeight = siemensS7Net.Read("DB102.0", (short) (8 * 4));
- }else{
- resultWeight = siemensS7Net.Read("DB102.0", (short) (4 * 4));
- }
- OperateResultExOne<byte[]> resultWeight2 = siemensS7Net.Read("DB102.0", (short) (4 * 4));*/
- //if (result.IsSuccess && resultWeight.IsSuccess) {
- if (result.IsSuccess) {
- int j = 0;
- for(int i = 0 ; i<staNoSize;i++){
+ if (result.IsSuccess) {
+ for (int i = 0; i < staNoSize; i++) {
Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
StaProtocol staProtocol = station.get(siteId);
if (null == staProtocol) {
@@ -271,22 +248,11 @@
station.put(siteId, staProtocol);
}
boolean[] status = null;
- int offset = getOffsetFromSiteId(siteId);//鍙栦綑鑾峰緱瀵瑰簲db鍧楁暟鎹�
staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result.Content, i * 8)); // 宸ヤ綔鍙�
- /*if (staNoWeight.contains(siteId)) {
- if(staNoWeight.size() == 4){
- staProtocol.setWeight(siemensS7Net.getByteTransform().TransInt32(resultWeight2.Content, j));
- j = j + 4;
- }else{
- staProtocol.setWeight(siemensS7Net.getByteTransform().TransInt32(resultWeight.Content, j));
- j = j + 4;
-
- }
- }*/
staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 8 + 4)); // 鐩爣绔�
- status = siemensS7Net.getByteTransform().TransBool(result.Content, i * 8 + 6, 1);
+ status = siemensS7Net.getByteTransform().TransBool(result.Content, i * 8 + 6, 1);
staProtocol.setAutoing(status[0]); // 鑷姩
staProtocol.setLoading(status[1]); // 鏈夌墿
staProtocol.setInEnable(status[2]); // 鍙叆
@@ -302,38 +268,38 @@
}
}
- //鏉$爜鎵弿鍣�
- ArrayList<Integer> barcodeList = getBarcodeList();
- OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.602", (short) (barcodeList.size() * 8));
- if (result2.IsSuccess) {
- for (int i = 0; i < barcodeList.size(); i++) {
- Integer barcodeId = barcodeList.get(i);
- String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8");
- BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
- if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
- barcodeThread.setBarcode(barcode);
- }
+ //鏉$爜鎵弿鍣�
+ ArrayList<Integer> barcodeList = getBarcodeList();
+ OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.602", (short) (barcodeList.size() * 8));
+ if (result2.IsSuccess) {
+ for (int i = 0; i < barcodeList.size(); i++) {
+ Integer barcodeId = barcodeList.get(i);
+ String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8");
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
+ 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.702", (short) (staNoErrsSize * 7));
- if (resultErr.IsSuccess) {
- for (int i = 0; i < staNoErrsSize; i++) {
- Integer siteId = staNoErrs.get(i); // 绔欑偣缂栧彿
+ }
+ //澶栧舰妫�娴�
+ ArrayList<Integer> staNoErrs = staNosErrList;
+ int staNoErrsSize = staNoErrs.size();
+ OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.702", (short) (staNoErrsSize * 7));
+ if (resultErr.IsSuccess) {
+ for (int i = 0; i < staNoErrsSize; i++) {
+ Integer siteId = staNoErrs.get(i); // 绔欑偣缂栧彿
// boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i * 4 + 2, 1);
- boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i * 7, 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]);
- }
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i * 7, 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]);
}
+ }
// //plc鏁呴殰
// OperateResultExOne<byte[]> resultErr2 = siemensS7Net.Read("DB101.1728", (short) (staNoSize*4));
@@ -382,34 +348,34 @@
// }
- if (result.IsSuccess) {
+ if (result.IsSuccess) {
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
+ 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 = SpringContextUtil.getBean(BasDevpService.class);
- //BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
- if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) {
- throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
- }
- } catch (Exception e) {
- initSite();
- 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()));
- News.error("SiemensDevp" + " - 3" + " - 鏇存柊鏁版嵁搴撴暟鎹け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
+ // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
+ try {
+ List<BasDevp> basDevps = new ArrayList<>();
+ for (Integer siteId : staNos) {
+ StaProtocol staProtocol = station.get(siteId);
+ basDevps.add(staProtocol.toSqlModel());
}
-
- } 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());
+ BasDevpService basDevpService = SpringContextUtil.getBean(BasDevpService.class);
+ //BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
+ if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) {
+ throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
+ }
+ } catch (Exception e) {
+ initSite();
+ 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()));
+ News.error("SiemensDevp" + " - 3" + " - 鏇存柊鏁版嵁搴撴暟鎹け璐� ===>> [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());
}
+ }
/**
@@ -431,23 +397,22 @@
write = siemensS7Net.Write("DB100." + index * 6, staProtocol.getWorkNo()); // 宸ヤ綔鍙�
Thread.sleep(200);
write1 = siemensS7Net.Write("DB100." + (index * 6 + 4), staProtocol.getStaNo().shortValue()); // 鐩爣绔�
- if(write.IsSuccess && write1.IsSuccess){
+ if (write.IsSuccess && write1.IsSuccess) {
log.error("鍐欏叆杈撻�佺嚎鍛戒护鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
break;
- }
- else {
+ } else {
writeCount++;
log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
}
- }while (writeCount<5);
+ } while (writeCount < 5);
if (!write.IsSuccess) {
staProtocol = station.get(staProtocol.getSiteId());
- if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) {
+ if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() == 0) {
staProtocol.setPakMk(true);
}
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol)));
- News.error("SiemensDevp"+" - 4"+" - 鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
+ News.error("SiemensDevp" + " - 4" + " - 鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
}
// else {
// //dang 101,201zhan xaifazhiling qingchu tiaoxingsaomaolide shuju shanchu
@@ -471,7 +436,7 @@
if (this.ioModeOf2F != IoModeType.NONE) {
if (!siemensS7Net.Write("DB100.180", this.ioModeOf2F.id).IsSuccess) {
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎2F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={1}", slave.getId()));
- News.error("SiemensDevp"+" - 6"+" - 鍐欏叆杈撻�佺嚎2F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={}", slave.getId());
+ News.error("SiemensDevp" + " - 6" + " - 鍐欏叆杈撻�佺嚎2F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={}", slave.getId());
}
}
}
@@ -479,7 +444,7 @@
/**
* 蹇冭烦
*/
- private void heartbeat(){
+ private void heartbeat() {
if (heartBeatVal == 1) {
heartBeatVal = 2;
} else {
@@ -487,7 +452,7 @@
}
OperateResult write = siemensS7Net.Write("DB100.50", heartBeatVal);
if (!write.IsSuccess) {
- News.error("SiemensDevp"+" - 7"+" - 杈撻�佺嚎plc缂栧彿={} 蹇冭烦澶辫触", slave.getId());
+ News.error("SiemensDevp" + " - 7" + " - 杈撻�佺嚎plc缂栧彿={} 蹇冭烦澶辫触", slave.getId());
}
}
@@ -510,14 +475,14 @@
public static void main(String[] args) {
System.out.println(staNos1.indexOf(129));
System.out.println(staNos1.size());
- for (int i = 0; i<staNos1.size(); i++) {
+ for (int i = 0; i < staNos1.size(); i++) {
// System.out.println(i*2);
// System.out.println(i*2 + 200);
// System.out.println(i);
}
int index = staNos1.indexOf(128);
- System.out.println(index*2);
- System.out.println(index*2 + 200);
+ System.out.println(index * 2);
+ System.out.println(index * 2 + 200);
}
// public static void main(String[] args) throws Exception {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 926aae9..ea24669 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://192.168.0.2:1433;databasename=rqdzasrs
+ url: jdbc:sqlserver://127.0.0.1:1433;databasename=rqdzasrs
username: sa
password: sa@123
# driver-class-name: com.oscar.Driver
@@ -38,7 +38,7 @@
enable: false
wms:
- url: 127.0.0.1:8080/rqdzasrs
+ url: 127.0.0.1:8080/wcs
# 涓嬩綅鏈洪厤缃�
wcs-slave:
@@ -63,31 +63,19 @@
# 鍫嗗灈鏈哄叆搴撶珯鐐�
crnInStn[0]:
devpPlcId: ${wcs-slave.devp[0].id}
- staNo: 101
+ staNo: 1105
row: 2
- bay: 1
- lev: 1
- # 鍫嗗灈鏈哄叆搴撶珯鐐�
- crnInStn[1]:
- devpPlcId: ${wcs-slave.devp[0].id}
- staNo: 105
- row: 3
- bay: 1
- lev: 1
+ bay: 11
+ lev: 2
+
# 鍫嗗灈鏈哄嚭搴撶珯鐐�
crnOutStn[0]:
devpPlcId: ${wcs-slave.devp[0].id}
- staNo: 101
+ staNo: 1101
row: 2
- bay: 1
- lev: 1
- # 鍫嗗灈鏈哄嚭搴撶珯鐐�
- crnOutStn[1]:
- devpPlcId: ${wcs-slave.devp[0].id}
- staNo: 105
- row: 3
- bay: 1
- lev: 1
+ bay: 14
+ lev: 2
+
# plc
devp[0]:
id: 1
@@ -97,9 +85,9 @@
slot: 0
# 鍏ュ簱鍙�1
inSta[0]:
- staNo: 102
+ staNo: 1106
barcode: ${wcs-slave.barcode[0].id}
- backSta: 103
+ backSta: 1105
led: ${wcs-slave.led[0].id}
# # 鍏ュ簱鍙�2
# inSta[1]:
@@ -109,10 +97,10 @@
# led: ${wcs-slave.led[1].id}
# 鎷f枡鍏ュ簱鍙�1
pickSta[0]:
- staNo: 104
+ staNo: 1106
barcode: ${wcs-slave.barcode[0].id}
- led: ${wcs-slave.led[1].id}
- backSta: 104
+ led: ${wcs-slave.led[0].id}
+ backSta: 1105
# # 鎷f枡鍏ュ簱鍙�2
# pickSta[1]:
# staNo: 225
@@ -121,9 +109,9 @@
# backSta: 224
# 绌烘澘鍏ュ簱鍙�1
emptyInSta[0]:
- staNo: 102
+ staNo: 1106
barcode: ${wcs-slave.barcode[0].id}
- backSta: 103
+ backSta: 1105
led: ${wcs-slave.led[0].id}
# 绌烘澘鍏ュ簱鍙�2
#emptyInSta[1]:
@@ -133,7 +121,7 @@
#led: ${wcs-slave.led[1].id}
# 鍑哄簱鍙�1
outSta[0]:
- staNo: 104
+ staNo: 1101
# 鏉$爜鎵弿浠�1
barcode[0]:
id: 1
@@ -145,12 +133,12 @@
ip: 10.10.10.51
port: 5005
devpPlcId: ${wcs-slave.devp[0].id}
- staArr: 102
- # LED2
- led[1]:
- id: 123
- ip: 10.10.10.52
- port: 5005
- devpPlcId: ${wcs-slave.devp[0].id}
- staArr: 104
+ staArr: 1104
+# # LED2
+# led[1]:
+# id: 123
+# ip: 10.10.10.52
+# port: 5005
+# devpPlcId: ${wcs-slave.devp[0].id}
+# staArr: 104
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 7821af2..17f1767 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -48,6 +48,18 @@
order by NEWID(),lev1 asc,bay1 asc
</select>
+ <select id="queryFreeLocMast2" resultMap="BaseResultMap">
+ select top 1 *
+ from asr_loc_mast
+ where row1=#{row}
+ and loc_sts='O'
+ and row1 != #{row}
+ <if test="locType1 != null">
+ and loc_type1 = #{locType1}
+ </if>
+ order by NEWID(),lev1 asc,bay1 asc
+ </select>
+
<select id="queryDemoSourceLoc" resultMap="BaseResultMap">
select top 1 * from asr_loc_mast where crn_no = #{crnNo}
and loc_sts='D'
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 787be51..67fbf43 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -1,5 +1,5 @@
// var baseUrl = "/rqdzwcs";
-var baseUrl = "/czkhwcs";
+var baseUrl = "/wcs";
// 璧嬪��
function setVal(el, val) {
diff --git a/src/main/webapp/static/js/console.map.js b/src/main/webapp/static/js/console.map.js
index 9a8f8f9..d8974fd 100644
--- a/src/main/webapp/static/js/console.map.js
+++ b/src/main/webapp/static/js/console.map.js
@@ -1,6 +1,6 @@
mapInfo ={
// "mapName": "rqdzwcs",
- "mapName": "czkhwcs",
+ "mapName": "wcs",
"rackCount": 8,
"crnCount": 4,
"stbCount": 120,
@@ -127,9 +127,11 @@
"stns": [
// { "type": "stn", "id": "site-100", "text": "100", "top": 80, "left": 94, "width": 40, "height": 23 },
//{ "type": "stn", "id": "site-103", "text": "103", "top": 160, "left": 1430, "width": 120, "height": 23 },
- {"type": "stn", "id": "site-313", "text": "313", "top": 200, "left": 990, "width": 170, "height": 25},
- { "type": "stn", "id": "site-102", "text": "102", "top": 280, "left": 990, "width": 30, "height": 40 },
- { "type": "stn", "id": "site-101", "text": "101", "top": 230, "left": 990, "width": 30, "height": 40 },
+ {"type": "stn", "id": "site-1103", "text": "1103", "top": 180, "left": 1000, "width": 45, "height": 45},
+ {"type": "stn", "id": "site-1104", "text": "1104", "top": 180, "left": 945, "width": 45, "height": 45},
+ {"type": "stn", "id": "site-1105", "text": "1105", "top": 180, "left": 890, "width": 45, "height": 45},
+ { "type": "stn", "id": "site-1102", "text": "1102", "top": 280, "left": 890, "width": 45, "height": 45 },
+ { "type": "stn", "id": "site-1101", "text": "1101", "top": 230, "left": 890, "width": 45, "height": 45 },
// { "type": "stn", "id": "site-110", "text": "110", "top": 130, "left": 1784, "width": 40, "height": 23 },
// { "type": "stn", "id": "site-111", "text": "111", "top": 130, "left": 1826, "width": 40, "height": 23 },
//
@@ -143,8 +145,8 @@
// { "type": "stn", "id": "site-118", "text": "118", "top": 240, "left": 94, "width": 40, "height": 23 },
// { "type": "stn", "id": "site-119", "text": "119", "top": 240, "left": 52, "width": 40, "height": 23 },
// { "type": "stn", "id": "site-120", "text": "120", "top": 240, "left": 10, "width": 40, "height": 23 },
- { "type": "stn", "id": "site-104", "text": "104", "top": 280, "left": 1130, "width": 30, "height": 40 },
- { "type": "stn", "id": "site-105", "text": "105", "top": 230, "left": 1130, "width": 30, "height": 40 },
+ { "type": "stn", "id": "site-1107", "text": "1107", "top": 280, "left": 1000, "width": 45, "height": 45 },
+ { "type": "stn", "id": "site-1106", "text": "1106", "top": 230, "left": 1000, "width": 45, "height": 45 },
// { "type": "stn", "id": "site-123", "text": "123", "top": 210, "left": 1301, "width": 60, "height": 23 },
// { "type": "stn", "id": "site-124", "text": "124", "top": 160, "left": 1742, "width": 120, "height": 23 },
diff --git a/src/main/webapp/views/crn.html b/src/main/webapp/views/crn.html
index dba0d58..84acbd9 100644
--- a/src/main/webapp/views/crn.html
+++ b/src/main/webapp/views/crn.html
@@ -98,7 +98,8 @@
<th>鍫嗗灈鏈�</th>
<th>妯″紡</th>
<th>鐘舵��</th>
- <th>鏈夌墿</th>
+ <th>宸ヤ綅1鏈夌墿</th>
+ <th>宸ヤ綅2鏈夌墿</th>
<th>鍒�</th>
<th>灞�</th>
<th>璐у弶瀹氫綅</th>
@@ -122,9 +123,12 @@
<th>宸ヤ綔鍙�</th>
<th>鐘舵��</th>
<th>婧愮珯</th>
- <th>鐩爣绔�</th>
- <th>婧愬簱浣�</th>
- <th>鐩爣搴撲綅</th>
+ <th>鐩爣绔�1</th>
+ <th>婧愬簱浣�1</th>
+ <th>鐩爣搴撲綅1</th>
+ <th>鐩爣绔�2</th>
+ <th>婧愬簱浣�2</th>
+ <th>鐩爣搴撲綅2</th>
<!-- <th>璧拌閫熷害锛坢/min)</th>-->
<!-- <th>鍗囬檷閫熷害锛坢/min)</th>-->
<!-- <th>鍙夌墮閫熷害锛坢/min)</th>-->
@@ -220,7 +224,9 @@
<!-- <button class="item" onclick="bacOrigin()">鍥炲師鐐�</button>-->
<!-- <button class="item" onclick="reverseOrigin()">鍙嶅師鐐�</button>-->
<!-- <button class="item" onclick="coorMove()">鍧愭爣绉昏</button>-->
- <button class="item" onclick="taskComplete()">浠诲姟瀹屾垚</button>
+ <button class="item" onclick="taskComplete(1)">浠诲姟瀹屾垚1</button>
+ <button class="item" onclick="taskComplete(2)">浠诲姟瀹屾垚2</button>
+
<!-- <button class="item" onclick="pause()">鏆傚仠</button>-->
<!-- <button class="item" onclick="boot()">鍚姩</button>-->
<button class="item" onclick="clearCommand()">娓呴櫎鍛戒护</button>
@@ -320,13 +326,15 @@
setVal(tr.children("td").eq(1), table[i-1].statusType);
setVal(tr.children("td").eq(2), table[i-1].status);
setVal(tr.children("td").eq(3), table[i-1].loading);
- setVal(tr.children("td").eq(4), table[i-1].bay);
- setVal(tr.children("td").eq(5), table[i-1].lev);
- setVal(tr.children("td").eq(6), table[i-1].forkOffset);
- setVal(tr.children("td").eq(7), table[i-1].liftPos);
- setVal(tr.children("td").eq(8), table[i-1].walkPos);
- setVal(tr.children("td").eq(9), table[i-1].warnCode);
- setVal(tr.children("td").eq(10), table[i-1].alarm);
+ setVal(tr.children("td").eq(4), table[i-1].loadTwoing);
+
+ setVal(tr.children("td").eq(5), table[i-1].bay);
+ setVal(tr.children("td").eq(6), table[i-1].lev);
+ setVal(tr.children("td").eq(7), table[i-1].forkOffset);
+ setVal(tr.children("td").eq(8), table[i-1].liftPos);
+ setVal(tr.children("td").eq(9), table[i-1].walkPos);
+ setVal(tr.children("td").eq(10), table[i-1].warnCode);
+ setVal(tr.children("td").eq(11), table[i-1].alarm);
}
} else if (res.code === 403){
window.location.href = baseUrl+"/login";
@@ -360,6 +368,10 @@
setVal(tr.children("td").eq(4), table[i-1].staNo);
setVal(tr.children("td").eq(5), table[i-1].sourceLocNo);
setVal(tr.children("td").eq(6), table[i-1].locNo);
+
+ setVal(tr.children("td").eq(7), table[i-1].staNo2);
+ setVal(tr.children("td").eq(8), table[i-1].sourceLocNo2);
+ setVal(tr.children("td").eq(9), table[i-1].locNo2);
// setVal(tr.children("td").eq(7), table[i-1].xspeed);
// setVal(tr.children("td").eq(8), table[i-1].yspeed);
// setVal(tr.children("td").eq(9), table[i-1].zspeed);
@@ -452,8 +464,8 @@
}
// 浠诲姟瀹屾垚
- function taskComplete() {
- http.post(baseUrl+"/crn/operator/taskComplete", getReqParam(), function (res) {
+ function taskComplete(c) {
+ http.post(baseUrl+"/crn/operator/taskComplete?c="+c, getReqParam(), function (res) {
layer.msg(res.msg);
});
}
--
Gitblit v1.9.1