From 8e1419f1638175151f11d1943a937a4d8a205575 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 11 八月 2020 10:34:21 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 55 +++++++++++++++++++++------ src/main/java/com/zy/common/Main.java | 8 ++-- src/main/java/com/zy/core/model/command/CrnCommand.java | 3 - 3 files changed, 46 insertions(+), 20 deletions(-) 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 f409a1f..59d1504 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -8,10 +8,7 @@ import com.zy.asrs.entity.*; import com.zy.asrs.mapper.WaitPakinMapper; import com.zy.asrs.mapper.WrkMastMapper; -import com.zy.asrs.service.BasCrnpService; -import com.zy.asrs.service.LocMastService; -import com.zy.asrs.service.StaDescService; -import com.zy.asrs.service.WrkDetlService; +import com.zy.asrs.service.*; import com.zy.common.model.StartupDto; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.SlaveConnection; @@ -60,6 +57,8 @@ private StaDescService staDescService; @Autowired private BasCrnpService basCrnpService; + @Autowired + private BasDevpService basDevpService; @Autowired private JdbcTemplate jdbcTemplate; @@ -342,9 +341,13 @@ // 鑾峰彇鍫嗗灈鏈哄叆搴撶珯淇℃伅 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); - - // todo:luxiaotao - if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0) { + // 鏌ヨ绔欑偣璇︾粏淇℃伅 + BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); + if (staDetl == null) { + log.error("鍏ュ簱搴� ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); + continue; + } + if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staDetl.getCanining().equals("Y")) { flag = true; } if (!flag) { @@ -363,14 +366,13 @@ continue; } if (!locMast.getLocSts().equals("S") && !locMast.getLocSts().equals("Q")) { - log.error("搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), locMast.getLocSts()); + log.error("鍏ュ簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), locMast.getLocSts()); continue; } // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- // CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, slave.getId()); // CrnProtocol crnProtocol = crnThread.getCrnProtocol(); - CrnCommand crnCommand = new CrnCommand(); crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setDestinationPosX(locMast.getRow1().shortValue()); // 鎺� @@ -387,17 +389,44 @@ */ private void locToCrnStn(CrnSlave slave){ for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) { - // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); - StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); - // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗� WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId()); if (wrkMast == null) { continue; } + // 宸ヤ綔妗g姸鎬佸垽鏂� + if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null){ + log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType()); + continue; + } + // 鑾峰彇婧愬簱浣嶄俊鎭� + LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo()); + if (!sourceSta.getLocSts().equals("R") &&!sourceSta.getLocSts().equals("P")) { + log.error("鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts()); + continue; + } + // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); + StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); + // 鏌ヨ绔欑偣璇︾粏淇℃伅 + BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); + if (staDetl == null) { + log.error("鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); + continue; + } + // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵�� + if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting().equals("Y") + && staProtocol.getWorkNo() == 0) { + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� + crnCommand.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣� + if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task<>(2, crnCommand))) { + log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); + } + } } } diff --git a/src/main/java/com/zy/common/Main.java b/src/main/java/com/zy/common/Main.java index 9ef3457..c158631 100644 --- a/src/main/java/com/zy/common/Main.java +++ b/src/main/java/com/zy/common/Main.java @@ -56,8 +56,8 @@ public static void main(String[] args) { - SiemensS7Net siemens_net = new SiemensS7Net(SiemensPLCS.S1200,"192.168.2.125"); - siemens_net.setSlot((byte) 1); + SiemensS7Net siemens_net = new SiemensS7Net(SiemensPLCS.S300,"192.168.6.1"); + siemens_net.setSlot((byte) 2); siemens_net.setRack((byte) 0); OperateResult connect = siemens_net.ConnectServer(); if(connect.IsSuccess){ @@ -69,7 +69,7 @@ siemens_net.ConnectClose(); short[] array = new short[] {9999,20,31,40,50}; - OperateResult db100 = siemens_net.Write("DB100.0", array); + OperateResult db100 = siemens_net.Write("DB8.18", array); if (db100.IsSuccess) { System.out.println("鍐欏叆鎴愬姛"); } else { @@ -78,7 +78,7 @@ // OperateResultExOne<Short> shortOperateResultExOne = siemens_net.ReadInt16("DB100.2"); // System.out.println(shortOperateResultExOne.Content); - OperateResultExOne<byte[]> read = siemens_net.Read("DB100.0", (short) 10); + OperateResultExOne<byte[]> read = siemens_net.Read("DB8.18", (short) 10); if (read.IsSuccess) { // for (int i = 0; i<10; i=i+2) { // System.out.println(siemens_net.getByteTransform().TransInt16(read.Content, i)); diff --git a/src/main/java/com/zy/core/model/command/CrnCommand.java b/src/main/java/com/zy/core/model/command/CrnCommand.java index b031fb3..3b89cb4 100644 --- a/src/main/java/com/zy/core/model/command/CrnCommand.java +++ b/src/main/java/com/zy/core/model/command/CrnCommand.java @@ -12,9 +12,6 @@ // 鍫嗗灈鏈哄彿 private Integer crnNo; - // 浠诲姟涓嬪彂纭浣� - private Short stb; - // 浠诲姟瀹屾垚纭浣� private Short ackFinish; -- Gitblit v1.9.1