From ee6863dd561415cebed005d51e8c15ec8c2f5004 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期日, 28 七月 2024 20:12:40 +0800
Subject: [PATCH] wcs配置,流程修改
---
src/main/java/com/zy/common/model/MatDto.java | 20 +
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 23
src/main/java/com/zy/controller/SiteController.java | 1
src/main/java/com/zy/service/impl/MainServiceImpl.java | 138 ++++----
src/main/webapp/static/js/console.map.js | 60 ++-
src/main/java/com/zy/core/MainProcess.java | 8
src/main/java/com/zy/core/model/command/LedCommand.java | 45 +-
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 336 +++++++++++++++-------
src/main/resources/application.yml | 198 +++++-------
src/main/java/com/zy/core/ServerBootstrap.java | 20
10 files changed, 490 insertions(+), 359 deletions(-)
diff --git a/src/main/java/com/zy/common/model/MatDto.java b/src/main/java/com/zy/common/model/MatDto.java
index 99a2f28..19429ab 100644
--- a/src/main/java/com/zy/common/model/MatDto.java
+++ b/src/main/java/com/zy/common/model/MatDto.java
@@ -18,6 +18,16 @@
private String specs;
+ private String model;
+
+ private String manuDate;
+
+ private double weight;
+
+ private double length;
+
+ private double volume;
+
// 瀹㈡埛淇℃伅
private String manu;
@@ -41,6 +51,16 @@
this.count = count;
this.total = total;
}
+ public MatDto(String matnr,String batch,String specs,String manuDate,String model,double weight, double length,double volume) {
+ this.matnr = matnr;
+ this.batch = batch;
+ this.specs = specs;
+ this.manuDate = manuDate;
+ this.model = model;
+ this.weight = weight;
+ this.length = length;
+ this.volume = volume;
+ }
public MatDto(String matNo, String maknx, Double count) {
this.matnr = matNo;
diff --git a/src/main/java/com/zy/controller/SiteController.java b/src/main/java/com/zy/controller/SiteController.java
index 392a363..3fe8c23 100644
--- a/src/main/java/com/zy/controller/SiteController.java
+++ b/src/main/java/com/zy/controller/SiteController.java
@@ -83,6 +83,7 @@
vo.setPakMk(staProtocol.isPakMk()?"Y":"N"); // 鍏ュ簱鏍囪
vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N"); // 绌烘澘淇″彿
vo.setStaNo(staProtocol.getStaNo()); // 鐩爣绔�
+ vo.setWorkNo(staProtocol.getWorkNo());
// vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "浣�" : "楂�"); //楂樹綆搴撲綅
vo.setLocType1(devp.getDevNo()==102 ? "楂�" : "浣�");
}
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index dacaa9a..9203b8f 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -48,7 +48,7 @@
// mainService.refreshRgvMap();
// 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
- mainService.ioConvert();
+// mainService.ioConvert();
// 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱
// mainService.stnToCrnStnPick(3);
@@ -70,7 +70,7 @@
// 鍫嗗灈鏈哄紓甯镐俊鎭褰�
mainService.recCrnErr(7);
// 鍏ュ簱 ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐�
- mainService.storeEmptyPlt(8);
+// mainService.storeEmptyPlt(8);
// 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
mainService.ledExecute(9);
// 鍏朵粬 ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
@@ -79,10 +79,10 @@
mainService.outOfDevp(11);
// 鐢熸垚106鍑哄簱浠诲姟
- mainService.generateOutbound();
+// mainService.generateOutbound();
// 鐢熸垚106鍒�105杞Щ浠诲姟
- mainService.autoMoveLoc();
+// mainService.autoMoveLoc();
// if (i>10){
// //绌烘墭鐩樿嚜鍔ㄥ嚭搴�
diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java
index 2888984..b37b6b3 100644
--- a/src/main/java/com/zy/core/ServerBootstrap.java
+++ b/src/main/java/com/zy/core/ServerBootstrap.java
@@ -1,15 +1,17 @@
package com.zy.core;
-import com.zy.utils.News;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.CrnSlave;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.LedSlave;
-import com.zy.core.model.RgvSlave;
import com.zy.core.properties.SlaveProperties;
-import com.zy.core.thread.*;
+import com.zy.core.thread.BarcodeThread;
+import com.zy.core.thread.LedThread;
+import com.zy.core.thread.SiemensCrnThread;
+import com.zy.core.thread.SiemensDevpThread;
+import com.zy.utils.News;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
@@ -92,12 +94,12 @@
SlaveConnection.put(SlaveType.Crn, crn.getId(), crnThread);
}
// 鍒濆鍖栫┛姊溅绾跨▼
- log.info("鍒濆鍖朢GV绾跨▼...................................................");
- for (RgvSlave rgv : slaveProperties.getRgv()) {
- RgvThread rgvThread = new RgvThread(rgv);
- new Thread((Runnable) rgvThread).start();
- SlaveConnection.put(SlaveType.Rgv, rgv.getId(), rgvThread);
- }
+// log.info("鍒濆鍖朢GV绾跨▼...................................................");
+// for (RgvSlave rgv : slaveProperties.getRgv()) {
+// RgvThread rgvThread = new RgvThread(rgv);
+// new Thread((Runnable) rgvThread).start();
+// SlaveConnection.put(SlaveType.Rgv, rgv.getId(), rgvThread);
+// }
// 鍒濆鍖栬緭閫佺嚎绾跨▼
News.info("鍒濆鍖栬緭閫佺嚎绾跨▼...................................................");
for (DevpSlave devp : slaveProperties.getDevp()) {
diff --git a/src/main/java/com/zy/core/model/command/LedCommand.java b/src/main/java/com/zy/core/model/command/LedCommand.java
index 66271c0..4bffcb7 100644
--- a/src/main/java/com/zy/core/model/command/LedCommand.java
+++ b/src/main/java/com/zy/core/model/command/LedCommand.java
@@ -1,6 +1,5 @@
package com.zy.core.model.command;
-import com.core.common.Cools;
import com.zy.common.model.MatDto;
import lombok.Data;
@@ -15,6 +14,22 @@
public class LedCommand extends Object {
private String title;
+
+ @Override
+ public String toString() {
+ return "LedCommand{" +
+ "title='" + title + '\'' +
+ ", workNo=" + workNo +
+ ", staNo=" + staNo +
+ ", sourceStaNo=" + sourceStaNo +
+ ", locNo='" + locNo + '\'' +
+ ", sourceLocNo='" + sourceLocNo + '\'' +
+ ", matDtos=" + matDtos +
+ ", emptyMk=" + emptyMk +
+ ", ioType=" + ioType +
+ ", barcode='" + barcode + '\'' +
+ '}';
+ }
private Integer workNo;
@@ -33,21 +48,17 @@
private Integer ioType;
private String barcode;
- @Override
- public String toString() {
- StringBuffer s = new StringBuffer();
- s.append("宸ヤ綔鍙穂" + this.workNo + "]\n");
- s.append("宸ヤ綔绫诲瀷[" + this.title + "]\n");
- if (!Cools.isEmpty(this.barcode)) {
- s.append("鎵樼洏鐮乕" + this.barcode + "]\n");
- }
- if (!this.emptyMk){
-
- for (MatDto matDto : matDtos) {
- s.append("[鍟嗗搧缂栫爜:" + matDto.getMatnr() + ", 鏁伴噺:" + matDto.getCount() + "]\n");
- }
- }
-
- return s.toString();
+ public static void main(String[] args) {
+ LedCommand ledCommand = new LedCommand();
+ ledCommand.setTitle("鍏ㄦ澘鍑哄簱");
+ ledCommand.setBarcode("80000001");
+ ledCommand.setSourceLocNo("0100101");
+ ledCommand.setStaNo(100);
+ ledCommand.setWorkNo(7001);
+ List<MatDto> matDtos = new ArrayList<>();
+ MatDto matDto = new MatDto("0205040001","K44132-09-0724","PE","20240724",",HD-233L",70,2816,53908.56626);
+ matDtos.add(matDto);
+ ledCommand.setMatDtos(matDtos);
+ System.out.println(ledCommand);
}
}
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 71def4c..6308a61 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -280,13 +280,14 @@
array[9] = command.getCommand();
// array[10] = 0; //澶囩敤1
- boolean[] array2 = new boolean[1];
- array2[0] = command.isTraySize();
+// boolean[] array2 = new boolean[1];
+// array2[0] = command.isTraySize();
OperateResult result = siemensNet.Write("DB100.0", array);
- OperateResult result2 = siemensNet.Write("DB100.22", array2);
+// OperateResult result2 = siemensNet.Write("DB100.22", array2);
News.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), array);
- if(!result.IsSuccess || !result2.IsSuccess){
+// if(!result.IsSuccess || !result2.IsSuccess){
+ if(!result.IsSuccess){
News.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂版坊鍔犱换鍔″埌闃熷垪 ===>> [id:{}],{}", slave.getId(), JSON.toJSON(command));
MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command));
Thread.sleep(100);
@@ -431,7 +432,7 @@
public static void main(String[] args) throws InterruptedException {
CrnSlave slave = new CrnSlave();
slave.setId(1);
- slave.setIp("192.168.6.9");
+ slave.setIp("10.10.10.1");
slave.setRack(0);
slave.setSlot(0);
SiemensCrnThread crnThread = new SiemensCrnThread(slave);
@@ -472,15 +473,15 @@
// // 3.搴撲綅绉昏浆 婧愬拰鐩爣閮藉彂 pass
// CrnCommand command = new CrnCommand();
// command.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
-// command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+// command.setTaskNo((short) 2); // 宸ヤ綔鍙�
// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
// command.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
// command.setSourcePosX((short)2); // 婧愬簱浣嶆帓
-// command.setSourcePosY((short)2); // 婧愬簱浣嶅垪
-// command.setSourcePosZ((short)3); // 婧愬簱浣嶅眰
-// command.setDestinationPosX((short)2); // 鐩爣搴撲綅鎺�
-// command.setDestinationPosY((short)4); // 鐩爣搴撲綅鍒�
-// command.setDestinationPosZ((short)4); // 鐩爣搴撲綅灞�
+// command.setSourcePosY((short)1); // 婧愬簱浣嶅垪
+// command.setSourcePosZ((short)1); // 婧愬簱浣嶅眰
+// command.setDestinationPosX((short)3); // 鐩爣搴撲綅鎺�
+// command.setDestinationPosY((short)1); // 鐩爣搴撲綅鍒�
+// command.setDestinationPosZ((short)1); // 鐩爣搴撲綅灞�
// crnThread.write(command);
// 4.绔欎綅绉昏浆 婧愬拰鐩爣閮藉彂
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index d47e8ff..1892047 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -5,15 +5,11 @@
import HslCommunication.Profinet.Siemens.SiemensPLCS;
import HslCommunication.Profinet.Siemens.SiemensS7Net;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
-import com.zy.entity.BasDevp;
-import com.zy.entity.BasRgvMap;
-import com.zy.service.BasDevpService;
-import com.zy.service.BasRgvMapService;
-import com.zy.utils.News;
import com.zy.core.DevpThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
@@ -24,14 +20,16 @@
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaError1;
import com.zy.core.model.protocol.StaProtocol;
+import com.zy.entity.BasDevp;
+import com.zy.entity.WrkMast;
+import com.zy.service.BasDevpService;
+import com.zy.service.WrkMastService;
+import com.zy.utils.News;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
/**
@@ -47,24 +45,18 @@
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>() {{
+ public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
add(100);add(101);add(102);add(103);
- add(104);add(105);add(106);
- }};
-
- public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
+ add(104);add(105);add(106);add(107);
add(200);add(201);add(202);add(203);add(210);
add(300);add(301);add(302);add(303);add(304);add(305);
}};
public static final ArrayList<Integer> BarcodeList = new ArrayList<Integer>() {{
- add(0); add(1);
+ add(1); add(2);
}};
public static final ArrayList<Integer> staNosErrList = new ArrayList<Integer>() {{
- add(100); add(102);
+ add(101); add(103);
}};
/**
@@ -92,14 +84,7 @@
}
private ArrayList<Integer> getStaNo() {
- switch (slave.getId()) {
- case 1:
- return staNos1;
- case 2:
- return staNos2;
- default:
- throw new CoolException("鏈嶅姟鍣ㄥ紓甯�");
- }
+ return staNos;
}
@Override
@@ -188,11 +173,12 @@
private void read() throws InterruptedException {
// // 鏇存柊鍏ュ嚭搴撴ā寮�
// updateIoMode();
- ArrayList<Integer> staNos = getStaNo();
- int staNoSize = staNos.size();
- OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize*8));
+// ArrayList<Integer> staNos = getStaNo();
+// int staNoSize = staNos.size();
+ // 璇讳竴妤艰繛缁�8涓珯鐐�
+ OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (8*8));
if (result.IsSuccess) {
- for (int i = 0; i < staNoSize; i++) {
+ for (int i = 0; i < 8; i++) {
Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
StaProtocol staProtocol = station.get(siteId);
if (null == staProtocol) {
@@ -219,47 +205,102 @@
}
}
}
- BasRgvMapService basRgvMapService = SpringUtils.getBean(BasRgvMapService.class);
- //RGV灏忚溅1
-// Thread.sleep(100);
- OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB50.200",(short)10);
- if (result3.IsSuccess) {
- BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result3.Content, 0));
- if (!Cools.isEmpty(basRgvMap)){
- Integer siteId = 1;
+ // 璇讳簩妤艰繛缁�4涓珯鐐�
+ OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.800", (short) (4*8));
+ if (result2.IsSuccess) {
+ for (int i = 8; i < 12; i++) {
+ Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
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(result3.Content, 8)));
+ staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result2.Content, (i-8)*8)); // 宸ヤ綔鍙�
+
+ staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result2.Content, (i-8)*8 + 4)); // 鐩爣绔�
+
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result2.Content, (i-8)*8 + 6, 2);
+ staProtocol.setAutoing(status[0]); // 鑷姩
+ staProtocol.setLoading(status[1]); // 鏈夌墿
+ staProtocol.setInEnable(status[2]); // 鍙叆
+ staProtocol.setOutEnable(status[3]);// 鍙嚭
+ staProtocol.setEmptyMk(status[4]); // 绌烘澘淇″彿
+ staProtocol.setFullPlt(status[5]); // 婊℃墭鐩�
+ staProtocol.setHigh(status[6]); // 楂樺簱浣�
+ staProtocol.setLow(status[7]); // 浣庡簱浣�
+
+ if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
+ staProtocol.setPakMk(true);
+ }
}
}
+ // 璇讳簩妤�210
+ OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB101.880", (short) (8));
+ if (result3.IsSuccess) {
+ Integer siteId = staNos.get(12); // 绔欑偣缂栧彿210
+ StaProtocol staProtocol = station.get(siteId);
+ if (null == staProtocol) {
+ staProtocol = new StaProtocol();
+ staProtocol.setSiteId(siteId);
+ station.put(siteId, staProtocol);
+ }
+ staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result3.Content, 0)); // 宸ヤ綔鍙�
- //鏉$爜鎵弿鍣�
- ArrayList<Integer> barcodeList = BarcodeList;
- OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.840", (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 + 1);
+ staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result3.Content, 4)); // 鐩爣绔�
+
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result3.Content, 6, 2);
+ staProtocol.setAutoing(status[0]); // 鑷姩
+ staProtocol.setLoading(status[1]); // 鏈夌墿
+ staProtocol.setInEnable(status[2]); // 鍙叆
+ staProtocol.setOutEnable(status[3]);// 鍙嚭
+ staProtocol.setEmptyMk(status[4]); // 绌烘澘淇″彿
+ staProtocol.setFullPlt(status[5]); // 婊℃墭鐩�
+ staProtocol.setHigh(status[6]); // 楂樺簱浣�
+ staProtocol.setLow(status[7]); // 浣庡簱浣�
+
+ if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
+ staProtocol.setPakMk(true);
+ }
+ }
+
+// BasRgvMapService basRgvMapService = SpringUtils.getBean(BasRgvMapService.class);
+ //RGV灏忚溅1
+// Thread.sleep(100);
+// OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB50.200",(short)10);
+// if (result3.IsSuccess) {
+// BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result3.Content, 0));
+// if (!Cools.isEmpty(basRgvMap)){
+// Integer siteId = 1;
+// 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(result3.Content, 8)));
+// }
+// }
+
+ // 鏉$爜鎵弿鍣�
+ OperateResultExOne<byte[]> barcodeResult = siemensS7Net.Read("DB101.1672", (short) ((BarcodeList.size()+1) * 8)); // 涓嶈繛缁�
+ if (barcodeResult.IsSuccess) {
+ for (int i = 0; i < BarcodeList.size(); i++) {
+ String barcode = siemensS7Net.getByteTransform().TransString(barcodeResult.Content,i*16,8, "UTF-8");
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, BarcodeList.get(i));
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));
+
+ // 澶栧舰妫�娴�
+ OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.1652", (short) ((staNosErrList.size()+1)*4)); // 涓嶈繛缁紝澶氳涓棿涓�涓�
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);
- StaProtocol staProtocol = station.get(siteId);
+ for (int i = 0;i<staNosErrList.size();i++){
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i*9+2, 1);
+ StaProtocol staProtocol = station.get(staNosErrList.get(i));
staProtocol.setFrontErr(status[0]);
staProtocol.setBackErr(status[1]);
staProtocol.setHighErr(status[2]);
@@ -269,13 +310,12 @@
staProtocol.setBarcodeErr(status[6]);
}
}
-
- OperateResultExOne<byte[]> resultErr2 = siemensS7Net.Read("DB13.2", (short) (staNoSize*4));
+ // 璇讳竴妤艰繛缁�8涓珯鐐癸紝鏁呴殰淇℃伅鍙嶉
+ OperateResultExOne<byte[]> resultErr2 = siemensS7Net.Read("DB101.3312", (short) (8*2));
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);
+ for (int i = 0; i < 8; i++) {
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr2.Content, i*2 + 1, 1);
+ StaProtocol staProtocol = station.get(staNos.get(i)); // 绔欑偣缂栧彿
staProtocol.setBreakerErr(status[0]);
staProtocol.setInfraredErr(status[1]);
staProtocol.setOutTimeErr(status[2]);
@@ -287,33 +327,111 @@
}
}
- OperateResultExOne<byte[]> resultErr3 = siemensS7Net.Read("DB13.400", (short) 3);
+ // 璇讳簩妤艰繛缁�4涓珯鐐癸紝鏁呴殰淇℃伅鍙嶉
+ OperateResultExOne<byte[]> resultErr3 = siemensS7Net.Read("DB101.3512", (short) (4*2));
if (resultErr3.IsSuccess) {
- if (staError1 == null){
- staError1 = new StaError1();
+ for (int i = 8; i < 12; i++) {
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr3.Content, (i-8) * 2 + 1, 1);
+ StaProtocol staProtocol = station.get(staNos.get(i)); // 绔欑偣缂栧彿
+ 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]);
}
- 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]);
-
}
+
+ // 涓�妤煎嚭鍏ュ簱妯″紡鍒囨崲
+ OperateResultExOne<byte[]> ioModeResult = siemensS7Net.Read("DB101.3724", (short) 1);
+ if (ioModeResult.IsSuccess) {
+ boolean[] ioModelBooleans = siemensS7Net.getByteTransform().TransBool(ioModeResult.Content, 0, 1);
+// log.info("璇诲彇鍑哄叆搴撴ā寮忥細" + Arrays.toString(ioModelBooleans));
+ WrkMastService wrkMastService = SpringUtils.getBean(WrkMastService.class);
+ if (ioModelBooleans[0]) { // 100鍒囧叆搴�
+ if (ioModeOf101 == IoModeType.PAKOUT_MODE) {
+ int outCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 101)
+ .eq("sta_no", 100).in("wrk_sts", 12, 13, 14));
+ if (outCount == 0) {
+ boolean[] booleans = new boolean[8];
+ booleans[0]=true;
+ ioModeOf101 = IoModeType.PAKIN_MODE;
+ siemensS7Net.Write("DB100.824",booleans);
+ log.info("101鍒囨崲鍏ュ簱妯″紡鎴愬姛");
+ }
+ }
+ }
+ if (ioModelBooleans[1]) { // 100鍒囧嚭搴�
+ if (ioModeOf101 == IoModeType.PAKIN_MODE) {
+ int inCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 1)
+ .eq("sta_no", 101).in("wrk_sts", 2, 3, 4));
+ if (inCount == 0) {
+ boolean[] booleans = new boolean[8];
+ booleans[0]=true;
+ ioModeOf101 = IoModeType.PAKOUT_MODE;
+ siemensS7Net.Write("DB100.824",booleans);
+ log.info("101鍒囨崲鍑哄簱妯″紡鎴愬姛");
+ }
+ }
+ }
+ if (ioModelBooleans[2]) { // 102鍒囧叆搴�
+ if (ioModeOf103 == IoModeType.PAKOUT_MODE) {
+ int outCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 101)
+ .eq("sta_no", 102).in("wrk_sts", 12, 13, 14));
+ if (outCount == 0) {
+ boolean[] booleans = new boolean[8];
+ booleans[1]=true;
+ ioModeOf103 = IoModeType.PAKIN_MODE;
+ siemensS7Net.Write("DB100.824",booleans);
+ log.info("103鍒囨崲鍏ュ簱妯″紡鎴愬姛");
+ }
+ }
+ }
+ if (ioModelBooleans[3]) { // 102鍒囧嚭搴�
+ if (ioModeOf103 == IoModeType.PAKIN_MODE) {
+ int inCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 1)
+ .eq("sta_no", 103).in("wrk_sts", 2, 3, 4));
+ if (inCount == 0) {
+ boolean[] booleans = new boolean[8];
+ booleans[1]=true;
+ ioModeOf103 = IoModeType.PAKOUT_MODE;
+ siemensS7Net.Write("DB100.824",booleans);
+ log.info("103鍒囨崲鍑哄簱妯″紡鎴愬姛");
+ }
+ }
+ }
+ }
+
+
+// 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 (result.IsSuccess) {
@@ -352,16 +470,35 @@
if (null == staProtocol) {
return;
}
- ArrayList<Integer> staNos = getStaNo();
- int index = staNos.indexOf(staProtocol.getSiteId());
- OperateResult write = null;
- OperateResult write1 = null;
+
+ int address = -1;
+ switch (staProtocol.getSiteId()) {
+ case 100: address = 0; break;
+ case 101: address = 4; break;
+ case 102: address = 8; break;
+ case 103: address = 12; break;
+ case 104: address = 16; break;
+ case 105: address = 20; break;
+ case 106: address = 24; break;
+ case 107: address = 28; break;
+ case 200: address = 400; break;
+ case 201: address = 404; break;
+ case 202: address = 408; break;
+ case 203: address = 412; break;
+ case 210: address = 440; break;
+ default:
+ }
+ if(address == -1) {
+ throw new CoolException("鍐欏叆绔欑偣寮傚父锛�" + staProtocol.getSiteId());
+ }
+ OperateResult write;
+ OperateResult write1;
//浠诲姟涓嬪彂娆℃暟
int writeCount = 0;
do {
- write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+ write1 = siemensS7Net.Write("DB100." + (address+2), staProtocol.getStaNo()); // 鐩爣绔�
+ write = siemensS7Net.Write("DB100." + address, staProtocol.getWorkNo().shortValue()); // 宸ヤ綔鍙�
Thread.sleep(200);
- write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo()); // 鐩爣绔�
if(write.IsSuccess && write1.IsSuccess){
break;
}
@@ -423,19 +560,6 @@
@Override
public void close() {
siemensS7Net.ConnectClose();
- }
-
- 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++) {
-// 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);
}
// public static void main(String[] args) throws Exception {
diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index 3562bc7..9b4f83e 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -7,26 +7,20 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.exception.CoolException;
-import com.zy.entity.*;
-import com.zy.mapper.*;
-import com.zy.service.*;
-import com.zy.utils.RouteUtils;
-import com.zy.utils.Utils;
-import com.zy.utils.VersionUtils;
import com.zy.common.model.LocTypeDto;
import com.zy.common.model.MatDto;
import com.zy.common.model.SearchLocParam;
import com.zy.common.model.StartupDto;
import com.zy.common.service.CommonService;
-import com.zy.utils.CollectionUtils;
-import com.zy.utils.HttpHandler;
-import com.zy.utils.News;
import com.zy.core.CrnThread;
import com.zy.core.DevpThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.*;
-import com.zy.core.model.*;
+import com.zy.core.model.CrnSlave;
+import com.zy.core.model.DevpSlave;
+import com.zy.core.model.LedSlave;
+import com.zy.core.model.Task;
import com.zy.core.model.command.CrnCommand;
import com.zy.core.model.command.LedCommand;
import com.zy.core.model.command.RgvCommand;
@@ -38,6 +32,10 @@
import com.zy.core.thread.LedThread;
import com.zy.core.thread.RgvThread;
import com.zy.core.thread.SiemensDevpThread;
+import com.zy.entity.*;
+import com.zy.mapper.*;
+import com.zy.service.*;
+import com.zy.utils.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -97,7 +95,7 @@
@Value("${wms.url}")
private String wmsUrl;
- public Integer wrkNo = 10000;
+ public Integer wrkNo = 9901;
/**
* 缁勬墭
@@ -127,13 +125,14 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
String errMsg = "";
- if ((staProtocol.getSiteId() == 101 && devpThread.ioModeOf101 == IoModeType.PAKOUT_MODE)
- ||(staProtocol.getSiteId() == 103 && devpThread.ioModeOf103 == IoModeType.PAKOUT_MODE)
- ||(staProtocol.getSiteId() == 305 && devpThread.ioModeOf305 == IoModeType.PAKOUT_MODE)) {
- errMsg = "褰撳墠涓哄嚭搴撴ā寮�";
- back = true;
- }
- if (!back && staProtocol.isFrontErr()) {
+// if ((staProtocol.getSiteId() == 101 && devpThread.ioModeOf101 == IoModeType.PAKOUT_MODE)
+// ||(staProtocol.getSiteId() == 103 && devpThread.ioModeOf103 == IoModeType.PAKOUT_MODE)
+// ||(staProtocol.getSiteId() == 305 && devpThread.ioModeOf305 == IoModeType.PAKOUT_MODE)) {
+// errMsg = "褰撳墠涓哄嚭搴撴ā寮�";
+// back = true;
+// }
+// if (!back && staProtocol.isFrontErr()) {
+ if (staProtocol.isFrontErr()) {
errMsg = "鍓嶈秴闄�";
back = true;
}
@@ -174,7 +173,6 @@
}
staProtocol.setWorkNo(wrkNo);
News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo);
- wrkNo++;
staProtocol.setStaNo(inSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -192,7 +190,6 @@
staProtocol.setWorkNo(wrkNo);
News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo);
- wrkNo++;
staProtocol.setStaNo(inSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -230,6 +227,7 @@
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
+ log.info("缁勬墭wms杩斿洖锛�" + jsonObject);
if (jsonObject.getInteger("code").equals(200)) {
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
barcodeThread.setBarcode("");
@@ -247,7 +245,6 @@
}
} else {
staProtocol.setWorkNo(wrkNo);
- wrkNo++;
staProtocol.setStaNo(inSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -407,7 +404,7 @@
StaDesc staDesc = staDescService.selectOne(wrapper);
if (Cools.isEmpty(staDesc)) {
News.error(""+mark+" - 2"+" - 鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
- staProtocol.setWorkNo(wrkNo++);
+ staProtocol.setWorkNo(wrkNo);
staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue()-(short)1));
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -513,7 +510,7 @@
if(!Cools.isEmpty(barcode)) {
// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
if("NG".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode)) {
- staProtocol.setWorkNo(wrkNo++);
+ staProtocol.setWorkNo(wrkNo);
staProtocol.setStaNo(pickSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -527,7 +524,7 @@
continue;
}
} else {
- staProtocol.setWorkNo(wrkNo++);
+ staProtocol.setWorkNo(wrkNo);
staProtocol.setStaNo(pickSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -618,7 +615,7 @@
}
}
} else {
- staProtocol.setWorkNo(wrkNo++);
+ staProtocol.setWorkNo(wrkNo);
staProtocol.setStaNo(pickSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -686,14 +683,14 @@
// 涓嬪彂绔欑偣淇℃伅
staProtocol.setWorkNo(wrkMast.getWrkNo());
- staProtocol.setStaNo(RouteUtils.CrnStaEnd(wrkMast.getStaNo(),wrkMast.getSourceStaNo()));
+ staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) {
continue;
}
// 鏇存柊宸ヤ綔妗g姸鎬佷负14澶辫触
wrkMast.setWrkSts(14L);
- if (wrkMast.getStaNo() == 104 && wrkMast.getWrkSts() == 12L) {
+ if (wrkMast.getSourceStaNo() == 106 && wrkMast.getWrkSts() == 12L) {
wrkMast.setWrkSts(16L);
}
wrkMast.setCrnEndTime(new Date());
@@ -1027,11 +1024,11 @@
// continue;
// }
// 鍏ュ嚭搴撴ā寮忓垽鏂�
- if ((staProtocol.getSiteId() == 101 && devpThread.ioModeOf101 != IoModeType.PAKOUT_MODE)
- || (staProtocol.getSiteId() == 103 && devpThread.ioModeOf103 != IoModeType.PAKOUT_MODE)
- || (staProtocol.getSiteId() == 305 && devpThread.ioModeOf305 != IoModeType.PAKOUT_MODE)) {
- continue;
- }
+// if ((staProtocol.getSiteId() == 101 && devpThread.ioModeOf101 != IoModeType.PAKOUT_MODE)
+// || (staProtocol.getSiteId() == 103 && devpThread.ioModeOf103 != IoModeType.PAKOUT_MODE)
+// || (staProtocol.getSiteId() == 305 && devpThread.ioModeOf305 != IoModeType.PAKOUT_MODE)) {
+// continue;
+// }
// 鏌ヨ绔欑偣璇︾粏淇℃伅
BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
@@ -1041,7 +1038,7 @@
// continue;
}
// 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
- if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
&& staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
@@ -1683,27 +1680,28 @@
ledCommand.setStaNo(wrkMast.getStaNo());
ledCommand.setBarcode(wrkMast.getBarcode());
if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
- List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
-
- wrkDetls.forEach(wrkDetl -> {
- Double total = 0.0;
- EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
- LocDetl locDetl = locDetlService.selectOne(wrapper.eq("zpallet", wrkDetl.getZpallet()).eq("matnr", wrkDetl.getMatnr()));
- if (Cools.isEmpty(locDetl)) {
- total = wrkDetl.getAnfme();
- } else {
- total = locDetl.getAnfme();
- }
- if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) {
- ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
- }
- if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) {
- ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
- }
- if (wrkMast.getIoType() == 107) {
- ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
- }
- });
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+// List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
+ wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getSpecs(),wrkDetl.getManuDate(),wrkDetl.getModel(),wrkDetl.getWeight(),wrkDetl.getLength(),wrkDetl.getVolume())));
+// wrkDetls.forEach(wrkDetl -> {
+// Double total = 0.0;
+// EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
+// LocDetl locDetl = locDetlService.selectOne(wrapper.eq("zpallet", wrkDetl.getZpallet()).eq("matnr", wrkDetl.getMatnr()));
+// if (Cools.isEmpty(locDetl)) {
+// total = wrkDetl.getAnfme();
+// } else {
+// total = locDetl.getAnfme();
+// }
+// if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) {
+// ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
+// }
+// if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) {
+// ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
+// }
+// if (wrkMast.getIoType() == 107) {
+// ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
+// }
+// });
}
commands.add(ledCommand);
}
@@ -3060,29 +3058,28 @@
// 鍒ゆ柇婧愮珯鐐规儏鍐� 鏈変换鍔″彿锛屾湁鐗╋紝鑷姩
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
StaProtocol staProtocol106 = devpThread.getStation().get(106);
- StaProtocol staProtocol105 = devpThread.getStation().get(105);
if (staProtocol106 == null) {
return;
} else {
staProtocol106 = staProtocol106.clone();
}
- if (staProtocol105 == null) {
- return;
- } else {
- staProtocol105 = staProtocol105.clone();
- }
+// if (staProtocol105 == null) {
+// return;
+// } else {
+// staProtocol105 = staProtocol105.clone();
+// }
// 鍒ゆ柇鍑哄簱绔欑偣鎯呭喌
// 鑾峰彇鍫嗗灈鏈轰俊鎭� 骞� 鍒ゆ柇鏄惁鍙叆鍑�
- CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, 2);
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, 1);
CrnProtocol crnProtocol = crnThread.getCrnProtocol();
if (crnProtocol == null) {
return;
}
- BasCrnp basCrnp = basCrnpService.selectById(2);
+ BasCrnp basCrnp = basCrnpService.selectById(1);
if (!basCrnp.getInEnable().equals("Y") && !basCrnp.getOutEnable().equals("Y")) {
return;
}
@@ -3093,24 +3090,29 @@
}
// 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
- if (wrkMastMapper.selectWorking(2) != null) {
+ if (wrkMastMapper.selectWorking(1) != null) {
return;
}
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(2); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setCrnNo(1); // 鍫嗗灈鏈虹紪鍙�
crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX((short) 6); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY((short) 3); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosX((short) 3); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY((short) 28); // 婧愬簱浣嶅垪
crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX((short) 7); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosX((short) 2); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY((short) 28); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
+ if(wrkMast.getStaNo() == 104) { // 鐩爣绔�104锛屽嚭鍒�105浣嶇疆
+ crnCommand.setDestinationPosX((short) 2); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY((short) 4); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
+ }
crnCommand.setTraySize(true); //搴撲綅绫诲瀷
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
- News.error("106绉诲簱2鍙峰爢鍨涙満鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ News.error("106绉诲簱1鍙峰爢鍨涙満鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
}
// else {
// wrkMast.setCrnNo(2);
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 72a73cb..7bfffd4 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -48,6 +48,54 @@
# 鍫嗗灈鏈�1
crn[0]:
id: 1
+ ip: 10.10.10.1
+ port: 102
+ rack: 0
+ slot: 0
+ # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
+ offset: 2
+ demo: false
+ # 鍫嗗灈鏈哄叆搴撶珯鐐�
+ crnInStn[0]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 103
+ row: 2
+ bay: 1
+ lev: 1
+ crnInStn[1]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 203
+ row: 2
+ bay: 1
+ lev: 6
+ # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+ crnOutStn[0]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 103
+ row: 2
+ bay: 1
+ lev: 1
+ crnOutStn[1]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 105
+ row: 2
+ bay: 4
+ lev: 1
+ crnOutStn[2]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 107
+ row: 2
+ bay: 28
+ lev: 1
+ crnOutStn[3]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 203
+ row: 2
+ bay: 1
+ lev: 6
+ # 鍫嗗灈鏈�2
+ crn[1]:
+ id: 2
ip: 10.10.10.10
port: 102
rack: 0
@@ -59,81 +107,39 @@
crnInStn[0]:
devpPlcId: ${wcs-slave.devp[0].id}
staNo: 101
- row: 3
- bay: 31
+ row: 6
+ bay: 1
lev: 1
crnInStn[1]:
- devpPlcId: ${wcs-slave.devp[1].id}
+ devpPlcId: ${wcs-slave.devp[0].id}
staNo: 201
- row: 3
- bay: 31
+ row: 6
+ bay: 1
lev: 6
# 鍫嗗灈鏈哄嚭搴撶珯鐐�
crnOutStn[0]:
devpPlcId: ${wcs-slave.devp[0].id}
staNo: 101
- row: 3
- bay: 31
+ row: 6
+ bay: 1
lev: 1
crnOutStn[1]:
- devpPlcId: ${wcs-slave.devp[1].id}
+ devpPlcId: ${wcs-slave.devp[0].id}
staNo: 201
- row: 3
- bay: 31
+ row: 6
+ bay: 1
lev: 6
crnOutStn[2]:
devpPlcId: ${wcs-slave.devp[0].id}
staNo: 106
- row: 3
- bay: 3
- lev: 1
- # 鍫嗗灈鏈�2
- crn[1]:
- id: 2
- ip: 10.10.10.20
- port: 102
- rack: 0
- slot: 0
- # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
- offset: 2
- demo: false
- # 鍫嗗灈鏈哄叆搴撶珯鐐�
- crnInStn[0]:
- devpPlcId: ${wcs-slave.devp[0].id}
- staNo: 103
- row: 7
- bay: 31
- lev: 1
- crnInStn[1]:
- devpPlcId: ${wcs-slave.devp[1].id}
- staNo: 203
- row: 7
- bay: 31
- lev: 6
- # 鍫嗗灈鏈哄嚭搴撶珯鐐�
- crnOutStn[0]:
- devpPlcId: ${wcs-slave.devp[0].id}
- staNo: 103
- row: 7
- bay: 31
- lev: 1
- crnOutStn[1]:
- devpPlcId: ${wcs-slave.devp[1].id}
- staNo: 203
- row: 7
- bay: 31
- lev: 6
- crnOutStn[2]:
- devpPlcId: ${wcs-slave.devp[0].id}
- staNo: 105
- row: 7
- bay: 27
+ row: 6
+ bay: 28
lev: 1
# 杈撻�佺嚎1
devp[0]:
id: 1
- ip: 10.10.10.50
+ ip: 10.10.10.18
port: 102
rack: 0
slot: 0
@@ -149,17 +155,20 @@
barcode: ${wcs-slave.barcode[1].id}
backSta: 102
led: ${wcs-slave.led[1].id}
+ # 鍏ュ簱鍙�3
+ inSta[2]:
+ staNo: 305
# 绌烘澘鍏ュ簱鍙�1
- emptyInSta[0]:
- staNo: 101
- barcode: ${wcs-slave.barcode[0].id}
- backSta: 100
- led: ${wcs-slave.led[0].id}
- emptyInSta[1]:
- staNo: 103
- barcode: ${wcs-slave.barcode[1].id}
- backSta: 102
- led: ${wcs-slave.led[1].id}
+# emptyInSta[0]:
+# staNo: 101
+# barcode: ${wcs-slave.barcode[0].id}
+# backSta: 100
+# led: ${wcs-slave.led[0].id}
+# emptyInSta[1]:
+# staNo: 103
+# barcode: ${wcs-slave.barcode[1].id}
+# backSta: 102
+# led: ${wcs-slave.led[1].id}
# 鍑哄簱鍙�1
outSta[0]:
staNo: 100
@@ -172,60 +181,13 @@
outSta[2]:
staNo: 104
led: ${wcs-slave.led[2].id}
-
- # 杈撻�佺嚎2
- devp[1]:
- id: 2
- ip: 10.10.10.50
- port: 102
- rack: 0
- slot: 0
- # 鍏ュ簱鍙�1
- inSta[0]:
- staNo: 201
- # 鍏ュ簱鍙�2
- inSta[1]:
- staNo: 203
-# # 绌烘澘鍏ュ簱鍙�1
-# emptyInSta[0]:
-# staNo: 106
-# barcode: ${wcs-slave.barcode[0].id}
-# backSta: 105
-# led: ${wcs-slave.led[1].id}
-# # 鎷f枡鍏ュ簱鍙�1
-# pickSta[0]:
-# staNo: 159
-# barcode: ${wcs-slave.barcode[2].id}
-# led: ${wcs-slave.led[5].id}
-# backSta: 160
-
-# # 绌烘澘鍏ュ簱鍙�1
-# emptyInSta[1]:
-# staNo: 107
-# barcode: ${wcs-slave.barcode[1].id}
-# backSta: 108
-# led: ${wcs-slave.led[2].id}
-## inSta[2]:
-## staNo: 159
-## barcode: ${wcs-slave.barcode[2].id}
-## backSta: 160
-## led: ${wcs-slave.led[5].id}
-# # # 鎷f枡鍏ュ簱鍙�1
-# # pickSta[1]:
-# # staNo: 107
-# # barcode: ${wcs-slave.barcode[1].id}
-# # led: ${wcs-slave.led[1].id}
-# # backSta: 108
- # 鍑哄簱鍙�1
- outSta[0]:
+ # 鍑哄簱鍙�4
+ outSta[3]:
+ staNo: 107
+ # 鍑哄簱鍙�5
+ outSta[4]:
staNo: 305
-# outSta[1]:
-# staNo: 152
-# led: ${wcs-slave.led[3].id}
-# outSta[2]:
-# staNo: 156
-# led: ${wcs-slave.led[4].id}
-#
+
# 鏉$爜鎵弿浠�1
barcode[0]:
id: 1
diff --git a/src/main/webapp/static/js/console.map.js b/src/main/webapp/static/js/console.map.js
index 258d89d..b2a3f7b 100644
--- a/src/main/webapp/static/js/console.map.js
+++ b/src/main/webapp/static/js/console.map.js
@@ -3,7 +3,7 @@
"rackCount": 8,
"crnCount": 2,
"stbCount": 18,
- "hpPosition": 0,
+ "hpPosition": 1,
"minBayNo": 1,
"floors": 2,
"racks": [{
@@ -11,7 +11,7 @@
"id": "rack1",
"top": 189,
"left": 200,
- "width": 1300,
+ "width": 1350,
"height": 23,
"minBayNo": 1,
"maxBayNo": 31
@@ -22,8 +22,8 @@
"left": 200,
"width": 1300,
"height": 23,
- "minBayNo": 1,
- "maxBayNo": 30
+ "minBayNo": 2,
+ "maxBayNo": 31
}, {
"type": "rack",
"id": "rack7",
@@ -31,14 +31,14 @@
"left": 200,
"width": 1300,
"height": 23,
- "minBayNo": 1,
- "maxBayNo": 30
+ "minBayNo": 2,
+ "maxBayNo": 31
}, {
"type": "rack",
"id": "rack6",
"top": 365,
"left": 200,
- "width": 1300,
+ "width": 1350,
"height": 23,
"minBayNo": 1,
"maxBayNo": 31
@@ -47,7 +47,7 @@
"id": "rack5",
"top": 338,
"left": 200,
- "width": 1300,
+ "width": 1350,
"height": 23,
"minBayNo": 1,
"maxBayNo": 31
@@ -58,8 +58,8 @@
"left": 200,
"width": 1300,
"height": 23,
- "minBayNo": 1,
- "maxBayNo": 30
+ "minBayNo": 2,
+ "maxBayNo": 31
}, {
"type": "rack",
"id": "rack3",
@@ -67,38 +67,38 @@
"left": 200,
"width": 1300,
"height": 23,
- "minBayNo": 1,
- "maxBayNo": 30
+ "minBayNo": 2,
+ "maxBayNo": 31
}, {
"type": "rack",
"id": "rack2",
"top": 217,
"left": 200,
- "width": 1300,
+ "width": 1350,
"height": 23,
"minBayNo": 1,
"maxBayNo": 31
}],
"rackDescs": [{
"type": "rackDescs",
- "id": "lb_desc1",
- "text": "#1",
+ "id": "lb_desc8",
+ "text": "#8",
"top": 190,
"left": 150,
"width": 33,
"height": 23
},
- {"type": "rackDescs", "id": "lb_desc2", "text": "#2", "top": 218, "left": 150, "width": 33, "height": 23},
- {"type": "rackDescs", "id": "lb_desc3", "text": "#3", "top": 280, "left": 150, "width": 33, "height": 23},
- {"type": "rackDescs", "id": "lb_desc4", "text": "#4", "top": 310, "left": 150, "width": 33, "height": 23},
- {"type": "rackDescs", "id": "lb_desc5", "text": "#5", "top": 340, "left": 150, "width": 33, "height": 23},
- {"type": "rackDescs", "id": "lb_desc6", "text": "#6", "top": 370, "left": 150, "width": 33, "height": 23},
- {"type": "rackDescs", "id": "lb_desc7", "text": "#7", "top": 430, "left": 150, "width": 33, "height": 23},
- {"type": "rackDescs", "id": "lb_desc8", "text": "#8", "top": 460, "left": 150, "width": 33, "height": 23}],
+ {"type": "rackDescs", "id": "lb_desc7", "text": "#7", "top": 218, "left": 150, "width": 33, "height": 23},
+ {"type": "rackDescs", "id": "lb_desc6", "text": "#6", "top": 280, "left": 150, "width": 33, "height": 23},
+ {"type": "rackDescs", "id": "lb_desc5", "text": "#5", "top": 310, "left": 150, "width": 33, "height": 23},
+ {"type": "rackDescs", "id": "lb_desc4", "text": "#4", "top": 340, "left": 150, "width": 33, "height": 23},
+ {"type": "rackDescs", "id": "lb_desc3", "text": "#3", "top": 370, "left": 150, "width": 33, "height": 23},
+ {"type": "rackDescs", "id": "lb_desc2", "text": "#2", "top": 430, "left": 150, "width": 33, "height": 23},
+ {"type": "rackDescs", "id": "lb_desc1", "text": "#1", "top": 460, "left": 150, "width": 33, "height": 23}],
"crns": [{
"type": "crane",
- "id": "crn-2",
- "text": "2",
+ "id": "crn-1",
+ "text": "1",
"top": 393,
"left": 376,
"width": 101,
@@ -113,8 +113,8 @@
"height": 1
}, {
"type": "crane",
- "id": "crn-1",
- "text": "1",
+ "id": "crn-2",
+ "text": "2",
"top": 250,
"left": 383,
"width": 101,
@@ -201,6 +201,14 @@
"left": 287,
"width": 86,
"height": 105
+ }, {
+ "type": "stn",
+ "id": "site-107",
+ "text": "107",
+ "top": 431,
+ "left": 287,
+ "width": 86,
+ "height": 50
}]
}, {
"type": "floor",
--
Gitblit v1.9.1