From e970c1670c36fc0d3f04dac0a81e504638828919 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期三, 10 七月 2024 19:50:31 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java | 78 +++++++++++++++++++++++++++------------ 1 files changed, 54 insertions(+), 24 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java index c8348a4..c5b257e 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java @@ -127,6 +127,12 @@ liftExtend.setLock(siemensS7Net.getByteTransform().TransInt16(result1.Content, 10) == 1); liftProtocol.setExtend(liftExtend); + boolean ready = true; + if (!liftProtocol.getModel() || liftProtocol.getRun()) { + ready = false; + } + liftProtocol.setReady(ready);//灏辩华鐘舵�� + }else { OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆憑1}璇诲彇鎻愬崌鏈虹姸鎬佷俊鎭け璐�", DateUtils.convert(new Date()), device.getId())); @@ -212,14 +218,25 @@ array[i] = shorts.get(i); } - OperateResult result = siemensS7Net.Write("DB83.0", array); + OperateResult result = null; + if (command.getMode() == LiftCommandModeType.MOVE.id) { + //绉诲姩 + result = siemensS7Net.Write("DB101.2", array); + } else if (command.getMode() == LiftCommandModeType.PALLET_INOUT.id) { + //鎵樼洏鍑哄叆 + result = siemensS7Net.Write("DB101.8", array); + } else if (command.getMode() == LiftCommandModeType.LOCK.id || command.getMode() == LiftCommandModeType.UNLOCK.id) { + //鎻愬崌鏈洪攣瀹�/瑙i攣 + result = siemensS7Net.Write("DB101.0", array); + } + if (result != null && result.IsSuccess) { liftProtocol.setSendTime(System.currentTimeMillis());//鎸囦护涓嬪彂鏃堕棿 News.info("鎻愬崌鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", device.getId(), JSON.toJSON(command)); OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), device.getId(), JSON.toJSON(command))); return true; } else { - OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆戝啓鍏ユ彁鍗囨満plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}],娆℃暟锛歿}", DateUtils.convert(new Date()), device.getId(), device.getIp(), device.getPort())); + OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆戝啓鍏ユ彁鍗囨満plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), device.getId(), device.getIp(), device.getPort())); News.error("鍐欏叆鎻愬崌鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", device.getId(), device.getIp(), device.getPort()); return false; } @@ -310,29 +327,14 @@ @Override public List<LiftCommand> getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode) { - /** - * 浠诲姟绫诲瀷 - * 1=绉绘墭鐩橈紱鍗囬檷鏈哄皢婧愮珯鍙版墭鐩樼Щ鍒扮洰鏍囩珯鍙� - * 2=绉诲皬杞︼紝鍗囬檷鏈虹Щ鍒扮洰鏍囧眰锛岀瓑寰� - */ - short taskMode = 2; - if (mode.equals(LiftCommandModeType.PALLET_INOUT)) { - taskMode = 1; - } - // 寮�濮嬩换鍔� - short[] array = new short[4]; - //浠诲姟绫诲瀷 - array[0] = taskMode; - //婧愮珯鍙扮紪鍙� - array[1] = sourceLev.shortValue(); - //鐩爣绔欏彴缂栧彿 - array[2] = targetLev.shortValue(); - //浠诲姟鍙� - array[3] = taskNo.shortValue(); + short[] array = new short[2]; + array[0] = targetLev.shortValue();//鐩爣灞� + array[1] = taskNo.shortValue();//宸ヤ綔鍙� LiftCommand command = new LiftCommand(); command.setLiftNo(Integer.valueOf(this.device.getDeviceNo())); + command.setTaskNo(taskNo); command.setBody(JSON.toJSONString(array)); command.setMode(LiftCommandModeType.MOVE.id); command.setOriginLev(sourceLev); @@ -350,12 +352,40 @@ @Override public List<LiftCommand> getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, LiftCommandModeType mode) { - return getMoveCommand(taskNo, sourceLev, targetLev, mode); + // 寮�濮嬩换鍔� + short[] array = new short[2]; + array[0] = originSta.shortValue();//璧峰绔� + array[1] = targetSta.shortValue();//鐩爣绔� + array[2] = taskNo.shortValue();//宸ヤ綔鍙� + + LiftCommand command = new LiftCommand(); + command.setLiftNo(Integer.valueOf(this.device.getDeviceNo())); + command.setTaskNo(taskNo); + command.setBody(JSON.toJSONString(array)); + command.setMode(LiftCommandModeType.PALLET_INOUT.id); + command.setOriginLev(sourceLev); + command.setTargetLev(targetLev); + + ArrayList<LiftCommand> list = new ArrayList<>(); + list.add(command); + return list; } @Override public List<LiftCommand> getLockCommand(Integer taskNo, Boolean lock) { - return null; + // 寮�濮嬩换鍔� + short[] array = new short[2]; + array[0] = lock ? (short) 1 : (short) 0; + + LiftCommand command = new LiftCommand(); + command.setLiftNo(Integer.valueOf(this.device.getDeviceNo())); + command.setTaskNo(taskNo); + command.setBody(JSON.toJSONString(array)); + command.setMode(LiftCommandModeType.PALLET_INOUT.id); + + ArrayList<LiftCommand> list = new ArrayList<>(); + list.add(command); + return list; } @Override @@ -367,7 +397,7 @@ public boolean connect() { boolean result = false; //-------------------------鎻愬崌鏈鸿繛鎺ユ柟娉�------------------------// - siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, device.getIp()); + siemensS7Net = new SiemensS7Net(SiemensPLCS.S1500, device.getIp()); OperateResult connect = siemensS7Net.ConnectServer(); if(connect.IsSuccess){ result = true; -- Gitblit v1.9.1