From d3f3d4b309cfb285fcbbc48b91c4046111c7e9cd Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 02 七月 2025 13:45:54 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensRgvThread.java | 112 +++++++++++++++++++++++++++++--------------------------- 1 files changed, 58 insertions(+), 54 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensRgvThread.java b/src/main/java/com/zy/core/thread/SiemensRgvThread.java index f77c5a8..d380f7e 100644 --- a/src/main/java/com/zy/core/thread/SiemensRgvThread.java +++ b/src/main/java/com/zy/core/thread/SiemensRgvThread.java @@ -9,8 +9,10 @@ import com.core.common.SpringUtils; import com.zy.asrs.entity.BasRgv; +import com.zy.asrs.service.BasRgvErrService; import com.zy.asrs.service.BasRgvService; +import com.zy.common.utils.News; import com.zy.core.RgvThread; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.OutputQueue; @@ -23,6 +25,7 @@ import com.zy.core.model.protocol.RgvProtocol; import lombok.Data; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.formula.functions.T; import java.text.MessageFormat; import java.util.Date; @@ -67,9 +70,9 @@ readStatus(); break; // // 宸ヤ綅1銆�2鍐欏叆鏁版嵁 -// case 2: -// write((RgvCommand) task.getData()); -// break; + case 2: + write((RgvCommand) task.getData()); + break; //宸ヤ綅1鍐欏叆鏁版嵁 case 4: write1((RgvCommand) task.getData()); @@ -135,9 +138,9 @@ rgvProtocol.setStatus((short)-1); rgvProtocol.setTaskNo1((short)0); rgvProtocol.setStatus1((short)-1); - rgvProtocol.setLoaded1((short)0); + rgvProtocol.setLoaded1(false); rgvProtocol.setWalkPos((short)0); - rgvProtocol.setRgvPos((short)0); + rgvProtocol.setRgvPos(0); // rgvProtocol.setTaskNo2((short)0); // rgvProtocol.setStatus2((short)-1); // rgvProtocol.setLoaded2((short)0); @@ -145,6 +148,8 @@ rgvProtocol.setxSpeed((short) 0); rgvProtocol.setxDistance((short) 0); rgvProtocol.setxDuration((short) 0); + rgvProtocol.setSouSta((short)0); + rgvProtocol.setEndSta((short)0); } @Override @@ -172,46 +177,42 @@ */ private void readStatus(){ try { - OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 30); + OperateResultExOne<byte[]> result = siemensNet.Read("DB100.0", (short) 18); if (result.IsSuccess) { if (null == rgvProtocol || rgvProtocol.getRgvNo() == null) { rgvProtocol = new RgvProtocol(); rgvProtocol.setRgvNo(slave.getId()); } rgvProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 0)); - rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 2)); - rgvProtocol.setTaskNo1(siemensNet.getByteTransform().TransInt16(result.Content, 4)); - rgvProtocol.setStatus1(siemensNet.getByteTransform().TransInt16(result.Content, 6)); - rgvProtocol.setLoaded1(siemensNet.getByteTransform().TransInt16(result.Content, 8)); - rgvProtocol.setRgvPos(siemensNet.getByteTransform().TransInt16(result.Content, 10)); - rgvProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 12)); - rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 14)); -// rgvProtocol.setStatus2(siemensNet.getByteTransform().TransInt16(result.Content, 16)); - rgvProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 18)); -// rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 20)); - rgvProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 22)); -// rgvProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 24)); - rgvProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 26)); -// rgvProtocol.setTemp3(siemensNet.getByteTransform().TransInt16(result.Content, 28)); -// rgvProtocol.setTemp4(siemensNet.getByteTransform().TransInt16(result.Content, 30)); -// rgvProtocol.setTemp5(siemensNet.getByteTransform().TransInt16(result.Content, 32)); -// rgvProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28)); -// rgvProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40)); -// rgvProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48)); + rgvProtocol.setSouSta(siemensNet.getByteTransform().TransInt16(result.Content, 2)); + rgvProtocol.setEndSta(siemensNet.getByteTransform().TransInt16(result.Content, 4)); + rgvProtocol.setTaskNo1(siemensNet.getByteTransform().TransInt16(result.Content, 6)); + rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 8)); + rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 10)); + rgvProtocol.setSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 12)); + rgvProtocol.setRgvPos(siemensNet.getByteTransform().TransInt32(result.Content, 14)); +// rgvProtocol.setLoaded1(siemensNet.getByteTransform().TransBool(result.Content,18)); + OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId())); + if (rgvProtocol.getAlarm() > 0 ){ + BasRgvErrService basRgvErrService = SpringUtils.getBean(BasRgvErrService.class); + News.errorNoLog("RGV 寮傚父 ===>> [id:{}] [ip:{}],鎶ヨ浠g爜:{},鎶ヨ鏂囨湰:{}",slave.getId(), slave.getIp(),rgvProtocol.getAlarm(),basRgvErrService.selectById(rgvProtocol.getAlarm()).getErrName()); + }else { + News.infoNoLog("RGV鐘舵�佹甯�==>[id:{}]",slave.getId()); + } // 宸ヤ綅1澶嶄綅淇″彿 - if (rgvProtocol.getStatusType1().equals(RgvStatusType.WAITING) - || rgvProtocol.getStatusType1().equals(RgvStatusType.FETCHWAITING)) { - if (resetFlag1) { - RgvCommand rgvCommand = new RgvCommand(); - rgvCommand.setAckFinish1((short)1); - if (write(rgvCommand)) { - resetFlag1 = false; - } - } - } +// if (rgvProtocol.getStatusType1().equals(RgvStatusType.WAITING) +// || rgvProtocol.getStatusType1().equals(RgvStatusType.FETCHWAITING)) { +// if (resetFlag1) { +// RgvCommand rgvCommand = new RgvCommand(); +// rgvCommand.setAckFinish1((short)1); +// if (write(rgvCommand)) { +// resetFlag1 = false; +// } +// } +// } // 宸ヤ綅2澶嶄綅淇″彿 // if (rgvProtocol.getStatusType2().equals(RgvStatusType.WAITING) @@ -260,25 +261,28 @@ return false; } // convertRow(command); - command.setRgvNo(slave.getId()); - short[] array = new short[11]; - array[0] = command.getAckFinish1(); - array[1] = command.getTaskNo1(); - array[2] = command.getTaskMode1(); - array[3] = command.getSourceStaNo1(); - array[4] = command.getDestinationStaNo1(); -// array[0] = command.getAckFinish1(); -// array[1] = command.getTaskNo1(); -// array[2] = command.getTaskMode1(); -// array[3] = command.getSourceStaNo1(); -// array[4] = command.getDestinationStaNo1(); -// array[5] = command.getAckFinish2(); -// array[6] = command.getTaskNo2(); -// array[7] = command.getTaskMode2(); -// array[8] = command.getSourceStaNo2(); -// array[9] = command.getDestinationStaNo2(); -// array[10] = command.getCommand(); - OperateResult result = siemensNet.Write("DB100.0", array); + OperateResult result = new OperateResult(); + boolean[] array = new boolean[1]; + array[0] = true; + if (command.isAuto()){ + result = siemensNet.Write("DB99.0.0", true); + } else if (command.isRestoreTask()) { + result = siemensNet.Write("DB99.0.1", true); + } + else if (command.isCompTask()) { + result = siemensNet.Write("DB99.0.2", true); + } + else if (command.isStop()) { + result = siemensNet.Write("DB99.0.3", true); + } + else if (command.isReset()) { + siemensNet.Write("DB99.0.3", false); + Thread.sleep(100); + result = siemensNet.Write("DB99.0.4", true); + } + else if (command.isNoStop()) { + result = siemensNet.Write("DB99.0.3", false); + } // if (command.getAckFinish1() == 0 && command.getAckFinish2() == 0) { // short commandFinish = 3; //宸ヤ綅1銆�2浠诲姟鍚屾椂鍐欏叆 -- Gitblit v1.9.1