From ecc6c94c7d9eeb45f267afcaa9bae35a40f375c7 Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期四, 01 十二月 2022 16:33:14 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/model/protocol/StaProtocol.java | 3 + src/main/java/com/zy/asrs/controller/SiteController.java | 70 +++++++++++++---------- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 40 ++++++------ src/main/webapp/views/console.html | 3 src/main/java/com/zy/core/MainProcess.java | 2 src/main/java/com/zy/core/thread/SiemensDevpThread.java | 18 +++++ src/main/resources/application.yml | 2 src/main/java/com/zy/core/ServerBootstrap.java | 12 ++-- 8 files changed, 90 insertions(+), 60 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java index b88b8f9..c189878 100644 --- a/src/main/java/com/zy/asrs/controller/SiteController.java +++ b/src/main/java/com/zy/asrs/controller/SiteController.java @@ -1,5 +1,7 @@ package com.zy.asrs.controller; +import HslCommunication.Core.Types.OperateResultExOne; +import HslCommunication.Profinet.Siemens.SiemensS7Net; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.ManagerAuth; import com.core.common.R; @@ -38,9 +40,10 @@ @Autowired private BasDevpService basDevpService; + @GetMapping("/io/mode/info/site") @ManagerAuth(memo = "鍏ュ嚭搴撴ā寮�") - public R ioMode(){ + public R ioMode() { List<Map<String, Object>> res = new ArrayList<>(); for (DevpSlave devp : slaveProperties.getDevp()) { SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); @@ -55,7 +58,7 @@ @PostMapping("/table/site") @ManagerAuth(memo = "绔欑偣淇℃伅琛�") - public R siteTable(){ + public R siteTable() { List<SiteTableVo> list = new ArrayList<>(); // 鍐呭瓨鏁版嵁 Map<Integer, StaProtocol> station = new HashMap<>(); @@ -70,30 +73,32 @@ vo.setDevNo(devp.getDevNo()); // 绔欑偣缂栧彿 list.add(vo); StaProtocol staProtocol = station.get(devp.getDevNo()); - if (null == staProtocol) { continue; } + if (null == staProtocol) { + continue; + } vo.setWorkNo(staProtocol.getWorkNo()); // 宸ヤ綔鍙� - vo.setAutoing(staProtocol.isAutoing()?"Y":"N"); // 鑷姩 - vo.setLoading(staProtocol.isLoading()?"Y":"N"); // 鏈夌墿 - vo.setInEnable(staProtocol.isInEnable()?"Y":"N"); // 鍙叆 - vo.setOutEnable(staProtocol.isOutEnable()?"Y":"N"); // 鍙嚭 - vo.setPakMk(staProtocol.isPakMk()?"Y":"N"); // 鍏ュ簱鏍囪 - vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N"); // 绌烘澘淇″彿 + vo.setAutoing(staProtocol.isAutoing() ? "Y" : "N"); // 鑷姩 + vo.setLoading(staProtocol.isLoading() ? "Y" : "N"); // 鏈夌墿 + vo.setInEnable(staProtocol.isInEnable() ? "Y" : "N"); // 鍙叆 + vo.setOutEnable(staProtocol.isOutEnable() ? "Y" : "N"); // 鍙嚭 + vo.setPakMk(staProtocol.isPakMk() ? "Y" : "N"); // 鍏ュ簱鏍囪 + vo.setEmptyMk(staProtocol.isEmptyMk() ? "Y" : "N"); // 绌烘澘淇″彿 vo.setStaNo(staProtocol.getStaNo()); // 鐩爣绔� // vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "浣�" : "楂�"); //楂樹綆搴撲綅 - vo.setLocType1(devp.getDevNo()==102 ? "楂�" : "浣�"); + vo.setLocType1(devp.getDevNo() == 102 ? "楂�" : "浣�"); } return R.ok().add(list); } @PostMapping("/table/plc/errors") @ManagerAuth(memo = "杈撻�佽澶噋lc寮傚父淇℃伅琛�") - public R plcErrorTable(){ + public R plcErrorTable() { List<PlcErrorTableVo> list = new ArrayList<>(); for (DevpSlave devp : slaveProperties.getDevp()) { DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); Map<Integer, StaProtocol> station = devpThread.getStation(); - for(Map.Entry<Integer, StaProtocol> entry : station.entrySet()) { + for (Map.Entry<Integer, StaProtocol> entry : station.entrySet()) { StaProtocol staProtocol = entry.getValue(); // if (staProtocol) { // PlcErrorTableVo vo = new PlcErrorTableVo(); @@ -108,11 +113,11 @@ } list.sort((o1, o2) -> { - if (o1.getNo().compareTo(o2.getNo()) > 0){ + if (o1.getNo().compareTo(o2.getNo()) > 0) { return 1; - }else if (o1.getNo().compareTo(o2.getNo()) < 0){ + } else if (o1.getNo().compareTo(o2.getNo()) < 0) { return 0; - }else{ + } else { return -1; } @@ -122,11 +127,11 @@ @PostMapping("/output/site") @ManagerAuth(memo = "绔欑偣璁惧鎶ユ枃鏃ュ織杈撳嚭") - public R siteOutput(){ + public R siteOutput() { StringBuilder str = new StringBuilder(); String s; int i = 0; - while((s = OutputQueue.DEVP.poll()) != null && i <=10) { + while ((s = OutputQueue.DEVP.poll()) != null && i <= 10) { str.append("\n").append(s); i++; } @@ -138,7 +143,7 @@ /****************************************************************/ @GetMapping("/detl/{siteId}") - public R siteDetl(@PathVariable("siteId") Integer siteId){ + public R siteDetl(@PathVariable("siteId") Integer siteId) { SiteTableVo vo = new SiteTableVo(); for (DevpSlave devp : slaveProperties.getDevp()) { DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); @@ -148,12 +153,12 @@ StaProtocol staProtocol = entry.getValue(); vo.setDevNo(entry.getKey()); // 绔欑偣缂栧彿 vo.setWorkNo(staProtocol.getWorkNo()); // 宸ヤ綔鍙� - vo.setAutoing(staProtocol.isAutoing()?"Y":"N"); // 鑷姩 - vo.setLoading(staProtocol.isLoading()?"Y":"N"); // 鏈夌墿 - vo.setInEnable(staProtocol.isInEnable()?"Y":"N"); // 鍙叆 - vo.setOutEnable(staProtocol.isOutEnable()?"Y":"N"); // 鍙嚭 - vo.setPakMk(staProtocol.isPakMk()?"Y":"N"); // 闇�姹�1 - vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N"); // 绌烘澘淇″彿 + vo.setAutoing(staProtocol.isAutoing() ? "Y" : "N"); // 鑷姩 + vo.setLoading(staProtocol.isLoading() ? "Y" : "N"); // 鏈夌墿 + vo.setInEnable(staProtocol.isInEnable() ? "Y" : "N"); // 鍙叆 + vo.setOutEnable(staProtocol.isOutEnable() ? "Y" : "N"); // 鍙嚭 + vo.setPakMk(staProtocol.isPakMk() ? "Y" : "N"); // 闇�姹�1 + vo.setEmptyMk(staProtocol.isEmptyMk() ? "Y" : "N"); // 绌烘澘淇″彿 vo.setStaNo(staProtocol.getStaNo()); // 鐩爣绔� vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "浣�" : "楂�"); //楂樹綆搴撲綅 return R.ok().add(vo); @@ -168,7 +173,7 @@ public R siteDetlUpdate(@RequestParam Integer siteId, @RequestParam Short workNo, @RequestParam Short staNo, - @RequestParam String pakMk){ + @RequestParam String pakMk) { for (DevpSlave devp : slaveProperties.getDevp()) { DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); Map<Integer, StaProtocol> station = devpThread.getStation(); @@ -203,13 +208,18 @@ /** * 姣嶆墭鐩樺嚭搴� + * * @return */ @PostMapping("/motherPallet") - public R motherPalletOut(){ - boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(3, null)); - return R.ok("姣嶆墭鐩樺嚭搴撴垚鍔�"); + public R motherPalletOut() { + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); + StaProtocol staProtocol = devpThread.getStation().get(12); + if (staProtocol.getAllowEmptyOut().equals("1")) { + boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(3, null)); + return R.ok("姣嶆墭鐩樺嚭搴撴垚鍔�"); + } else { + return R.error("姣嶆墭鐩樺嚭搴撳け璐ワ紝12绔欐棤绌烘墭鐩樻垨13绔欐湁鐗�"); + } } - - } diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 1eca9e7..f0a7bd2 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1536,26 +1536,26 @@ break; } } - // 鑾峰彇led绾跨▼ - LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId()); - // led鏄剧ず榛樿鍐呭 - if (reset && !ledThread.isLedMk()) { - if (led.getId() == 7) { - ledThread.setLedMk(true); - if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) { - log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); - } else { - - } - } else { - ledThread.setLedMk(true); - if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) { - log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); - } else { - - } - } - } +// // 鑾峰彇led绾跨▼ +// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId()); +// // led鏄剧ず榛樿鍐呭 +// if (reset && !ledThread.isLedMk()) { +// if (led.getId() == 7) { +// ledThread.setLedMk(true); +// if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) { +// log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); +// } else { +// +// } +// } else { +// ledThread.setLedMk(true); +// if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) { +// log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); +// } else { +// +// } +// } +// } } } diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index bd5826d..68396a8 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -65,7 +65,7 @@ // 鍏ュ簱 ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐� mainService.storeEmptyPlt(); // 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣� - mainService.ledExecute(); +// mainService.ledExecute(); // 鍏朵粬 ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅 mainService.ledReset(); diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java index ef958a5..e0ae15b 100644 --- a/src/main/java/com/zy/core/ServerBootstrap.java +++ b/src/main/java/com/zy/core/ServerBootstrap.java @@ -96,12 +96,12 @@ SlaveConnection.put(SlaveType.Barcode, barcode.getId(), barcodeThread); } // 鍒濆鍖朙ED绾跨▼ - log.info("鍒濆鍖朙ED绾跨▼..................................................."); - for (LedSlave led : slaveProperties.getLed()) { - LedThread ledThread = new LedThread(led); - new Thread(ledThread).start(); - SlaveConnection.put(SlaveType.Led, led.getId(), ledThread); - } +// log.info("鍒濆鍖朙ED绾跨▼..................................................."); +// for (LedSlave led : slaveProperties.getLed()) { +// LedThread ledThread = new LedThread(led); +// new Thread(ledThread).start(); +// SlaveConnection.put(SlaveType.Led, led.getId(), ledThread); +// } // 鍒濆鍖栫绉ょ嚎绋� // log.info("鍒濆鍖栫绉ょ嚎绋�..................................................."); // for (Slave scale : slaveProperties.getScale()) { diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java index ca3c6db..5699c2a 100644 --- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java +++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java @@ -55,6 +55,9 @@ // 闅斿绔欑偣锛堝彴杞︿綅缃級 private String nearbySta; + //鍏佽绌烘墭鍑哄簱 + private String allowEmptyOut; + public BasDevp toSqlModel(){ BasDevp basDevp = new BasDevp(); basDevp.setDevNo(siteId); diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 24a02d5..595c25b 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -92,7 +92,7 @@ break; case 3: OperateResult write = siemensS7Net.Write("DB100.170" , (short) 1); - System.out.println("鍐欏叆鎴愬姛"); + log.info("姣嶆墭鍑哄簱鎴愬姛"); break; default: break; @@ -211,6 +211,22 @@ staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, 0))); } + /** + * 姣嶆墭鐩樺嚭搴� + */ + Thread.sleep(200); + OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB100.172",(short)2); + if (result4.IsSuccess) { + Integer siteId = 12; + StaProtocol staProtocol = station.get(siteId); + if (null == staProtocol) { + staProtocol = new StaProtocol(); + staProtocol.setSiteId(siteId); + station.put(siteId, staProtocol); + } + staProtocol.setAllowEmptyOut(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result4.Content, 0))); + } + if (result.IsSuccess && result1.IsSuccess) { diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 38fc6fd..29dfddf 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -165,7 +165,7 @@ # 鏉$爜鎵弿浠� barcode[0]: id: 1 - ip: 10.10.10.52 + ip: 10.10.10.55 port: 51236 # LED1 led[0]: diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html index 412c5da..ac98207 100644 --- a/src/main/webapp/views/console.html +++ b/src/main/webapp/views/console.html @@ -569,6 +569,7 @@ } if (sites[i].siteId === '16' || sites[i].siteId === '016') { + console.log(sites[i].nearbySta); carAnimate(Number(sites[i].siteId), Number(sites[i].nearbySta)); } } @@ -730,7 +731,7 @@ case 9: targetTop += 183; break; - case 15: + case 10: targetTop += 95; break; default: -- Gitblit v1.9.1