From de4b127b4b20c84d6432a58cc4fc7438bc079ea6 Mon Sep 17 00:00:00 2001 From: tqs <56479841@qq.com> Date: 星期三, 21 十二月 2022 17:22:14 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensCrnThread.java | 29 ++++++++++++++++------------- 1 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java index 12ffcf4..fea72a4 100644 --- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java +++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java @@ -5,6 +5,7 @@ import HslCommunication.Profinet.Siemens.SiemensPLCS; import HslCommunication.Profinet.Siemens.SiemensS7Net; import com.alibaba.fastjson.JSON; +import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.SpringUtils; import com.zy.asrs.entity.BasCrnOpt; @@ -142,10 +143,11 @@ */ private void readStatus(){ try { - OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 70); + OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 56); if (result.IsSuccess) { if (null == crnProtocol) { crnProtocol = new CrnProtocol(); + crnProtocol.setCrnNo(this.getSlave().getId()); } crnProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 0)); crnProtocol.setTaskNo(siemensNet.getByteTransform().TransInt16(result.Content, 2)); @@ -172,7 +174,7 @@ OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); // 澶嶄綅淇″彿 - if (crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) { + if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) { if (resetFlag) { CrnCommand crnCommand = new CrnCommand(); crnCommand.setAckFinish((short)1); @@ -195,12 +197,12 @@ } else { initCrn(); OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戣鍙栧爢鍨涙満plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); - log.error("璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); +// log.error("璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); } } catch (Exception e) { - e.printStackTrace(); +// e.printStackTrace(); OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戣鍙栧爢鍨涙満plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort())); - log.error("璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); +// log.error("璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); initCrn(); } } @@ -222,9 +224,10 @@ log.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�"); return false; } + // convertRow(command); command.setCrnNo(slave.getId()); - short[] array = new short[12]; + short[] array = new short[10]; array[0] = command.getAckFinish(); array[1] = command.getTaskNo(); array[2] = command.getTaskMode(); @@ -234,15 +237,15 @@ array[6] = command.getDestinationPosX(); array[7] = command.getDestinationPosY(); array[8] = command.getDestinationPosZ(); - array[9] = command.getSourceStaNo(); - array[10] = command.getDestinationStaNo(); - array[11] = command.getCommand(); + array[9] = command.getCommand(); OperateResult result = siemensNet.Write("DB100.0", array); if (command.getAckFinish() == 0) { - short commandFinish = 1; - Thread.sleep(100); - result = siemensNet.Write("DB100.22", commandFinish); + if (result.IsSuccess) { + short commandFinish = 1; + Thread.sleep(300); + result = siemensNet.Write("DB100.18", commandFinish); + } } try { @@ -270,7 +273,7 @@ if (result != null && result.IsSuccess) { Thread.sleep(200); - this.readStatus(); +// this.readStatus(); log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command)); OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command))); return true; -- Gitblit v1.9.1