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