From d867d8d14b00e20ecfb00e349611ea62c4853c78 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 24 三月 2023 10:16:53 +0800 Subject: [PATCH] 四向穿梭车通讯协议代码部分 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 38 ++++++++++++++++++++++++++++++-------- 1 files changed, 30 insertions(+), 8 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 ca71a2d..4651f27 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -30,13 +30,11 @@ import com.zy.core.model.command.LedCommand; import com.zy.core.model.command.SteCommand; import com.zy.core.model.protocol.CrnProtocol; +import com.zy.core.model.protocol.ShuttleProtocol; import com.zy.core.model.protocol.StaProtocol; import com.zy.core.model.protocol.SteProtocol; import com.zy.core.properties.SlaveProperties; -import com.zy.core.thread.BarcodeThread; -import com.zy.core.thread.LedThread; -import com.zy.core.thread.SiemensDevpThread; -import com.zy.core.thread.SteThread; +import com.zy.core.thread.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -612,6 +610,27 @@ } /** + * 鍏ュ嚭搴� ===>> 鍥涘悜绌挎杞﹀叆鍑哄簱浣滀笟涓嬪彂 + */ + public synchronized void shuttleIoExecute() { + for (ShuttleSlave shuttle : slaveProperties.getShuttle()) { + //鑾峰彇鍥涘悜绌挎杞︿俊鎭� + ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttle.getId()); + ShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol(); + if (shuttleProtocol == null) { + continue; + } + + // 鍙湁褰撳洓鍚戠┛姊溅绌洪棽 骞朵笖鏃犱换鍔℃椂鎵嶇户缁墽琛� + if (shuttleProtocol.getBusyStatusType() == ShuttleStatusType.IDLE && shuttleProtocol.getTaskNo() == 0) { + //鍏ュ嚭搴撻�昏緫 + //..... + } + } + + } + + /** * 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 */ public synchronized void crnIoExecute(){ @@ -725,14 +744,14 @@ .eq("bay1",locMast.getBay1()).eq("lev1",locMast.getLev1())); for (LocMast locMast1:locMasts){ if (locMast1.getRow1()>locMast.getRow1()){ - if (!locMast1.getLocSts().equals("F")){ + if (!locMast1.getLocSts().equals("F") && !locMast1.getLocSts().equals("D")){ if (!locMast1.getLocSts().equals("X")){ sign=true; break; } } }else if (locMast1.getRow1()<locMast.getRow1()){ - if (locMast1.getLocSts().equals("F")){ + if (locMast1.getLocSts().equals("F") || locMast1.getLocSts().equals("D")){ News.error("褰撳墠宸ヤ綔妗g洰鏍囧簱浣嶆墍鍦ㄦ帓鍓嶈竟瀛樺湪璐х墿锛�", wrkMast.getWrkNo()); sign=true; break; @@ -744,13 +763,13 @@ .eq("bay1",locMast.getBay1()).eq("lev1",locMast.getLev1())); for (LocMast locMast1:locMasts){ if (locMast1.getRow1()>locMast.getRow1()){ - if (locMast1.getLocSts().equals("F")){ + if (locMast1.getLocSts().equals("F") || locMast1.getLocSts().equals("D")){ News.error("褰撳墠宸ヤ綔妗g洰鏍囧簱浣嶆墍鍦ㄦ帓鍓嶈竟瀛樺湪璐х墿锛�", wrkMast.getWrkNo()); sign=true; break; } }else if (locMast1.getRow1()<locMast.getRow1()){ - if (!locMast1.getLocSts().equals("F")){ + if (!locMast1.getLocSts().equals("F") && !locMast1.getLocSts().equals("D")){ if (!locMast1.getLocSts().equals("X")){ sign=true; break; @@ -2585,6 +2604,9 @@ */ @SuppressWarnings("serial") public synchronized void loopSteCharge() { + if (!Cools.isEmpty(wrkMastMapper.selectAllC())){ + return; + } if (null != wrkChargeService.selectWorking(null, WrkChargeType.reset)) { return; } -- Gitblit v1.9.1