From 4375f7c1ccd8d6b7b3cfb4f641a3ce84b0907594 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期一, 21 四月 2025 16:36:53 +0800 Subject: [PATCH] * --- src/main/java/com/zy/core/thread/RgvThread.java | 250 +-------------------- src/main/java/com/zy/asrs/utils/RouteUtils.java | 123 ----------- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 9 src/main/java/com/zy/asrs/utils/CompleteRouteUtils.java | 19 + src/main/java/com/zy/core/model/protocol/RgvProtocol.java | 98 -------- src/main/java/com/zy/core/model/command/RgvCommand.java | 96 +------- src/main/resources/application.yml | 8 7 files changed, 78 insertions(+), 525 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 6972a29..c0c2334 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -103,6 +103,15 @@ @Value("${wms.rgvOpen}") private boolean rgvOpen; + @Value("${constant-parameters.trackEntireLength}") + private Long trackEntireLength; + + @Value("${constant-parameters.trackBenchmark}") + private Long trackBenchmark; + + @Value("${constant-parameters.trackProportion}") + private Long trackProportion; + public void generateStoreWrkFile() throws IOException, InterruptedException { try { diff --git a/src/main/java/com/zy/asrs/utils/CompleteRouteUtils.java b/src/main/java/com/zy/asrs/utils/CompleteRouteUtils.java new file mode 100644 index 0000000..1f06fe4 --- /dev/null +++ b/src/main/java/com/zy/asrs/utils/CompleteRouteUtils.java @@ -0,0 +1,19 @@ +package com.zy.asrs.utils; + +import com.zy.core.enums.RouteCollectCountType; + +import java.util.ArrayList; +import java.util.List; + +import static java.util.stream.Collectors.toList; + +/** + * Created by Monkey D. Luffy on 2023/7/18 + */ +public class CompleteRouteUtils { + + + public static void main(String[] arge){ + + } +} diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java index bb88fa2..e9d52e4 100644 --- a/src/main/java/com/zy/asrs/utils/RouteUtils.java +++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java @@ -448,127 +448,4 @@ System.out.println(integer); } } - - public static short RgvPosSta(Integer rgvId,Short posId){ - switch (rgvId){ - case 1: - return RgvPosStaOne(posId); - case 2: - return RgvPosStaTwo(posId); - default: - return 1; - } - } - - public static short RgvPosStaOne(Short posId){ - switch (posId.intValue()){ - case 1: - case 2: - return 102; - case 3: - case 4: - return 122; - case 5: - case 6: - return 105; - case 7: - case 8: - case 9: - return 118; - case 10: - case 11: - return 119; - case 12: - case 13: - case 14: - return 110; - case 15: - return 120; - case 16: - case 17: - case 18: - return 111; - case 19: - return 121; - case 20: - case 21: - case 22: - return 113; - case 23: - case 24: - return 123; - case 25: - return 114; - case 26: - case 27: - return 1142; - case 28: - return 116; - default: - return 1142; - } - } - - public static short RgvPosStaTwo(Short posId){ - switch (posId.intValue()){ - case 1: - return 116; - case 28: - case 2: - return 1142; - case 3: - case 4: - return 114; - case 5: - return 123; - case 6: - case 7: - case 8: - return 113; - case 9: - case 10: - return 121; - case 11: - case 12: - case 13: - case 14: - return 120; - case 15: - case 16: - return 110; - case 17: - case 18: - return 119; - case 19: - return 108; - case 20: - case 21: - case 22: - return 107; - case 23: - case 24: - return 105; - case 25: - case 26: - case 27: - return 104; - default: - return 104; - } - } - - public static Integer CrnStaEnd(Integer endSta,Integer souSta) { - switch (souSta) { - case 100: - case 103: - case 106: - case 109: - case 112: - case 115: - return souSta + 1; - default: - return endSta; - } - } - } diff --git a/src/main/java/com/zy/core/model/command/RgvCommand.java b/src/main/java/com/zy/core/model/command/RgvCommand.java index 5be8072..ffa6640 100644 --- a/src/main/java/com/zy/core/model/command/RgvCommand.java +++ b/src/main/java/com/zy/core/model/command/RgvCommand.java @@ -21,109 +21,41 @@ private Short ackFinish1 = 0; // 宸ヤ綅1浠诲姟鍙� - private Short taskNo1 = 0; + private Short taskNo = 0; /** * 浠诲姟妯″紡锛� * 0 = 鏃� * 1 = 鍙栬揣 * 2 = 鏀捐揣 - * 3 = 鍙栨斁璐� + * 3 = 琛岃蛋 */ - private Short taskMode1 = 0; + private Short taskMode = 0; @JSONField(serialize = false) - private RgvTaskModeType taskModeType1; + private RgvTaskModeType taskModeType; /* - 宸ヤ綅1婧愮珯 - */ - private Short sourceStaNo1 = 0; + * 浣滀笟鐐� + * */ + private Long destinationStaNo = 0L; - /* - 宸ヤ綅1鐩爣绔� - */ - private Short destinationStaNo1 = 0; - - ////////////////////// 宸ヤ綅2瀹氫箟 ////////////////////////////////////////////////// // 宸ヤ綅1浠诲姟瀹屾垚纭浣� - private Short ackFinish2 = 0; - - // 宸ヤ綅2浠诲姟鍙� - private Short taskNo2 = 0; + private Short ackFinish = 0; /** * 浠诲姟妯″紡锛� - * 0 = 鏃� - * 1 = 鍙栬揣 - * 2 = 鏀捐揣 - * 3 = 鍙栨斁璐� - */ - private Short taskMode2 = 0; - - @JSONField(serialize = false) - private RgvTaskModeType taskModeType2; - - /* - 宸ヤ綅1婧愮珯 - */ - private Short sourceStaNo2 = 0; - - /* - 宸ヤ綅1鐩爣绔� - */ - private Short destinationStaNo2 = 0; - /////////////////////////////////////////////////////////////////////////////////////// - - /** - * 浠诲姟妯″紡锛� - * 0 = 鏈‘璁� - * 1 = 宸ヤ綅1浠诲姟纭 - * 2 = 宸ヤ綅2浠诲姟纭 - * 3 = 宸ヤ綅1銆�2浠诲姟鍚屾椂纭 */ private Short command = 0; - public void setTaskMode1(Short taskMode1){ - this.taskMode1 = taskMode1; - this.taskModeType1 = RgvTaskModeType.get(taskModeType1); + public void setTaskMode(Short taskMode){ + this.taskMode = taskMode; + this.taskModeType = RgvTaskModeType.get(taskModeType); } - public void setTaskMode1(RgvTaskModeType type1) { - this.taskModeType1 = type1; - this.taskMode1 = RgvTaskModeType.get(type1).id.shortValue(); + public void setTaskMode(RgvTaskModeType type) { + this.taskModeType = type; + this.taskMode = RgvTaskModeType.get(type).id.shortValue(); } - public void setTaskMode2(Short taskMode2){ - this.taskMode2 = taskMode2; - this.taskModeType2 = RgvTaskModeType.get(taskModeType2); - } - - public void setTaskMode2(RgvTaskModeType type2) { - this.taskModeType2 = type2; - this.taskMode2 = RgvTaskModeType.get(type2).id.shortValue(); - } - - public static void main(String[] args) { - Date date = new Date(); - Calendar cal = Calendar.getInstance(); - cal.setTime(date); - - System.out.println(cal.get(Calendar.YEAR)); - //榛樿浠�0-11 - System.out.println(cal.get(Calendar.MONTH)+1); - System.out.println(cal.get(Calendar.DATE)); - int hour = cal.get(Calendar.HOUR_OF_DAY); - System.out.println("鏃�"); - System.out.println(hour); - int minute = cal.get(Calendar.MINUTE); - System.out.println("鍒�"); - System.out.println(minute); - int second = cal.get(Calendar.SECOND); - System.out.println("绉�"); - System.out.println(second); - int mm = cal.get(Calendar.DAY_OF_WEEK) - 1; // 鏄熸湡锛�0(鏃�)锝�6(鍏�) - System.out.println("绀兼嫓"); - System.out.println(mm); - } } diff --git a/src/main/java/com/zy/core/model/protocol/RgvProtocol.java b/src/main/java/com/zy/core/model/protocol/RgvProtocol.java index d14bd52..6e317ff 100644 --- a/src/main/java/com/zy/core/model/protocol/RgvProtocol.java +++ b/src/main/java/com/zy/core/model/protocol/RgvProtocol.java @@ -36,33 +36,19 @@ public RgvStatusType statusType; /** - * 宸ヤ綅1浠诲姟鍙� + * 浠诲姟鍙� */ - public Short taskNo1 = 0; - - /** - * RGV宸ヤ綅1褰撳墠鐘舵�� - * 0锛氱┖闂诧紝鏃犱换鍔� - * 11锛氬彇璐т腑 - * 12锛氭斁璐т腑 - * 10锛氫换鍔″畬鎴愮瓑寰匴CS纭 - */ - public Short status1; - - /** - * 鐘舵�佹灇涓� - */ - public RgvStatusType statusType1; + public Short taskNo = 0; /** * 宸ヤ綅1鏈夌墿 */ - public Short loaded1;//0 鏃犵墿锛�1 鏈夌墿 + public Short loaded;//0 鏃犵墿锛�1 鏈夌墿 /** * RGV褰撳墠浣嶇疆 */ - public Short RgvPos; + public Long RgvPos; /** * 璧拌鍦ㄥ畾浣� @@ -71,51 +57,10 @@ */ public Short walkPos; - ////////////////////// 宸ヤ綅2瀹氫箟 ////////////////////////////////////////////////// - /** - * 宸ヤ綅2浠诲姟鍙� - */ - public Short taskNo2 = 0; - - /** - * RGV宸ヤ綅2褰撳墠鐘舵�� - * 0锛氱┖闂诧紝鏃犱换鍔� - * 11锛氬彇璐т腑 - * 12锛氭斁璐т腑 - * 10锛氫换鍔″畬鎴愮瓑寰匴CS纭 - */ - public Short status2; - - /** - * 鐘舵�佹灇涓� - */ - public RgvStatusType statusType2; - - /** - * 宸ヤ綅2鏈夌墿 - */ - public Short loaded2; //0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗╋紙鍙兘鎷嗗彔锛� 锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3 1銆�2灞傞兘鏈夌墿 4锛氾紙锛夊彧鍏佽鎷嗙洏 - /////////////////////////////////////////////////////////////////////////////////////// - /** * 寮傚父鐮� */ public Short alarm; - - /** - * 蹇冭烦鎸囦护 1-2姣忕鍒囨崲涓�娆� - */ - public Short heart; - - private Short temp1; - - private Short temp2; - - private Short temp3; - - private Short temp4; - - private Short temp5; /** * X琛岃蛋琛岄�熷害m/min @@ -123,12 +68,12 @@ private Float xSpeed; /** - * 鍫嗗灈鏈虹疮璁¤蛋琛岃窛绂籯m + * 绱璧拌璺濈km */ public Float xDistance; /** - * 鍫嗗灈鏈虹疮璁¤蛋琛屾椂闀縣 + * 绱璧拌鏃堕暱h */ public Float xDuration; @@ -152,40 +97,11 @@ this.status = RgvStatusType.get(type).id.shortValue(); } - public void setStatus1(Short status1){ - this.status1 = status1; - this.statusType1 = RgvStatusType.get(status1); - } - - public void setStatus1(RgvStatusType type1){ - this.statusType1 = type1; - this.status1 = RgvStatusType.get(type1).id.shortValue(); - } - - public void setStatus2(Short status2){ - this.status2 = status2; - this.statusType2 = RgvStatusType.get(status2); - } - - public void setStatus2(RgvStatusType type2){ - this.statusType2 = type2; - this.status2 = RgvStatusType.get(type2).id.shortValue(); - } - - /** - * 鏈�杩戜竴娆″叆鍑哄簱绫诲瀷 - * I:鍏ュ簱 - * O:鍑哄簱 - */ - private String lastIo = "I"; - - public BasRgv toSqlModel(BasRgv basRgv){ if (alarm!=null) { basRgv.setRgvErr(alarm.longValue()); } - basRgv.setWrkNo1(taskNo1.intValue()); - basRgv.setWrkNo2(taskNo2.intValue()); + basRgv.setWrkNo1(taskNo.intValue()); return basRgv; } diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java index 85d4e40..886278b 100644 --- a/src/main/java/com/zy/core/thread/RgvThread.java +++ b/src/main/java/com/zy/core/thread/RgvThread.java @@ -72,14 +72,6 @@ case 2: write((RgvCommand) task.getData()); break; - //宸ヤ綅1鍐欏叆鏁版嵁 - case 4: - write1((RgvCommand) task.getData()); - break; - //宸ヤ綅2鍐欏叆鏁版嵁 - case 5: - write2((RgvCommand) task.getData()); - break; // 澶嶄綅 case 3: RgvCommand command = (RgvCommand) task.getData(); @@ -87,44 +79,19 @@ command = new RgvCommand(); } command.setRgvNo(slave.getId()); // RGV缂栧彿 - command.setTaskNo1((short) 0); // 宸ヤ綔鍙� - command.setAckFinish1((short) 1); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡 - command.setSourceStaNo1((short)0); // 婧愮珯 - command.setDestinationStaNo1((short)0); // 鐩爣绔� - command.setTaskNo2((short) 0); // 宸ヤ綔鍙� - command.setAckFinish2((short) 1); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode2(RgvTaskModeType.NONE); // 浠诲姟妯″紡 - command.setSourceStaNo2((short)0); // 婧愮珯 - command.setDestinationStaNo2((short)0); // 鐩爣绔� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣� + command.setTaskMode(RgvTaskModeType.NONE); // 浠诲姟妯″紡 + command.setDestinationStaNo(0L); // 鐩爣绔� command.setCommand((short)0); write(command); - break; - // 鍥炲師鐐� 閬胯 - case 9: - RgvCommand commandAvoidanceXY = (RgvCommand) task.getData(); - if (null == commandAvoidanceXY) { - commandAvoidanceXY = new RgvCommand(); - } - commandAvoidanceXY.setRgvNo(slave.getId()); // RGV缂栧彿 - commandAvoidanceXY.setTaskNo1((short) 32222); // 宸ヤ綔鍙� - commandAvoidanceXY.setAckFinish1((short) 1); // 浠诲姟瀹屾垚纭浣� - commandAvoidanceXY.setTaskMode1(RgvTaskModeType.X_MOVE); // 浠诲姟妯″紡 - commandAvoidanceXY.setSourceStaNo1((short)0); // 婧愮珯 - commandAvoidanceXY.setDestinationStaNo1(slave.getId()==1? (short) 101:(short)116); // 鐩爣绔� - commandAvoidanceXY.setTaskNo2((short) 0); // 宸ヤ綔鍙� - commandAvoidanceXY.setAckFinish2((short) 1); // 浠诲姟瀹屾垚纭浣� - commandAvoidanceXY.setTaskMode2(RgvTaskModeType.X_MOVE); // 浠诲姟妯″紡 - commandAvoidanceXY.setSourceStaNo2((short)0); // 婧愮珯 - commandAvoidanceXY.setDestinationStaNo2(slave.getId()==1? (short) 101:(short)117); // 鐩爣绔� - commandAvoidanceXY.setCommand((short)0); - write(commandAvoidanceXY); break; default: break; } Thread.sleep(500); } catch (Exception e) { + log.error("RGV绾跨▼寮傚父锛侊紒锛�"+e.getMessage()); // e.printStackTrace(); } @@ -140,14 +107,8 @@ } rgvProtocol.setMode((short) -1); rgvProtocol.setStatus((short)-1); - rgvProtocol.setTaskNo1((short)0); - rgvProtocol.setStatus1((short)-1); - rgvProtocol.setLoaded1((short)0); rgvProtocol.setWalkPos((short)0); - rgvProtocol.setRgvPos((short)0); - rgvProtocol.setTaskNo2((short)0); - rgvProtocol.setStatus2((short)-1); - rgvProtocol.setLoaded2((short)0); + rgvProtocol.setRgvPos(0L); rgvProtocol.setAlarm((short)0); rgvProtocol.setxSpeed((short) 0); rgvProtocol.setxDistance((short) 0); @@ -187,47 +148,21 @@ } 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(RouteUtils.RgvPosSta(slave.getId(),siemensNet.getByteTransform().TransInt16(result.Content, 10))); - rgvProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 12)); - rgvProtocol.setTaskNo2(siemensNet.getByteTransform().TransInt16(result.Content, 14)); - rgvProtocol.setStatus2(siemensNet.getByteTransform().TransInt16(result.Content, 16)); - rgvProtocol.setLoaded2(siemensNet.getByteTransform().TransInt16(result.Content, 18)); + rgvProtocol.setRgvPos(siemensNet.getByteTransform().TransUInt32(result.Content, 10)); rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 20)); - rgvProtocol.setHeart(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)); OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); - // 宸ヤ綅1澶嶄綅淇″彿 - if (rgvProtocol.getStatusType1().equals(RgvStatusType.WAITING) - || rgvProtocol.getStatusType1().equals(RgvStatusType.FETCHWAITING)) { + if (rgvProtocol.getStatusType().equals(RgvStatusType.WAITING) + || rgvProtocol.getStatusType().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) - || rgvProtocol.getStatusType2().equals(RgvStatusType.FETCHWAITING)) { - if (resetFlag2) { - RgvCommand rgvCommand = new RgvCommand(); - rgvCommand.setAckFinish2((short)1); - if (write(rgvCommand)) { - resetFlag2 = false; } } } @@ -257,7 +192,7 @@ } /** - * 宸ヤ綅1銆�2鍚屾椂鍐欏叆鏁版嵁 + * 鍐欏叆鏁版嵁 */ private boolean write(RgvCommand command) throws InterruptedException { if (null == command) { @@ -268,19 +203,13 @@ 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[5] = command.getAckFinish2(); - array[6] = command.getTaskNo2(); - array[7] = command.getTaskMode2(); - array[8] = command.getSourceStaNo2(); - array[9] = command.getDestinationStaNo2(); + array[1] = command.getTaskNo(); + array[2] = command.getTaskMode(); +// array[4] = command.getDestinationStaNo(); array[10] = command.getCommand(); OperateResult result = siemensNet.Write("DB100.0", array); - if (command.getAckFinish1() == 0 && command.getAckFinish2() == 0) { + if (command.getAckFinish1() == 0) { short commandFinish = 3; //宸ヤ綅1銆�2浠诲姟鍚屾椂鍐欏叆 Thread.sleep(100L); result = siemensNet.Write("DB100.20", commandFinish); @@ -290,15 +219,15 @@ // 鏃ュ織璁板綍 BasRgvOptService bean = SpringUtils.getBean(BasRgvOptService.class); BasRgvOpt basRgvOpt = new BasRgvOpt( - command.getTaskNo1().intValue(), - command.getTaskNo2().intValue(), + command.getTaskNo().intValue(), + command.getTaskNo().intValue(), command.getRgvNo(), new Date(), - command.getTaskModeType1().toString(), - command.getSourceStaNo1().intValue(), - command.getDestinationStaNo1().intValue(), - command.getSourceStaNo2().intValue(), - command.getDestinationStaNo2().intValue(), + command.getTaskModeType().toString(), + null, + null, + null, + command.getDestinationStaNo().intValue(), null, new Date(), null @@ -319,146 +248,9 @@ } } - /** - * 宸ヤ綅1鍐欏叆鏁版嵁 - */ - private boolean write1(RgvCommand command) throws InterruptedException { - if (null == command) { - log.error("RGV鍐欏叆鍛戒护涓虹┖"); - return false; - } - -// siemensNet.Write("DB100.20", command.getCommand()); - - command.setRgvNo(slave.getId()); - short[] array = new short[5]; - array[0] = command.getAckFinish1(); - array[1] = command.getTaskNo1(); - array[2] = command.getTaskMode1();//浠诲姟妯″紡 - array[3] = command.getSourceStaNo1(); - array[4] = command.getDestinationStaNo1(); -// siemensNet.Write("DB100.20", 0); - - OperateResult result = siemensNet.Write("DB100.0", array); - - if (command.getAckFinish1() == 0) { - short commandFinish = 1; //宸ヤ綅1浠诲姟鍐欏叆 - Thread.sleep(100L); - result = siemensNet.Write("DB100.20", commandFinish); - } - - try { - // 鏃ュ織璁板綍 - BasRgvOptService bean = SpringUtils.getBean(BasRgvOptService.class); - BasRgvOpt basRgvOpt = new BasRgvOpt( - command.getTaskNo1().intValue(), - command.getTaskNo2().intValue(), - command.getRgvNo(), - new Date(), - command.getTaskModeType1().toString(), - command.getSourceStaNo1().intValue(), - command.getDestinationStaNo1().intValue(), - command.getSourceStaNo2().intValue(), - command.getDestinationStaNo2().intValue(), - null, - new Date(), - null - ); - bean.insert(basRgvOpt); - } catch (Exception ignore) {} - - if (result != null && result.IsSuccess) { - Thread.sleep(200); - this.readStatus(); - log.info("RGV 宸ヤ綅1鍛戒护涓嬪彂[id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command)); - OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 宸ヤ綅1鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command))); - return true; - } else { - OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆戝啓鍏GV plc宸ヤ綅1鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort())); - log.error("鍐欏叆RGV plc宸ヤ綅1鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); - return false; - } - } - - /** - * 宸ヤ綅2鍐欏叆鏁版嵁 - */ - private boolean write2(RgvCommand command) throws InterruptedException { - if (null == command) { - log.error("RGV鍐欏叆鍛戒护涓虹┖"); - return false; - } - - command.setRgvNo(slave.getId()); - short[] array = new short[6]; - array[0] = command.getAckFinish2();//浠诲姟瀹屾垚纭浣� - array[1] = command.getTaskNo2();//浠诲姟鍙� - array[2] = command.getTaskMode2();//浠诲姟妯″紡 - array[3] = command.getSourceStaNo2();//婧愮珯 - array[4] = command.getDestinationStaNo2();//鐩爣绔� - array[5] = command.getCommand();//浠诲姟涓嬪彂纭 - - OperateResult result = siemensNet.Write("DB100.10", array); - - if (command.getAckFinish2() == 0) { - short commandFinish = 2; //宸ヤ綅2浠诲姟鍐欏叆 - Thread.sleep(100L); - result = siemensNet.Write("DB100.20", commandFinish); - } - - try { - // 鏃ュ織璁板綍 - BasRgvOptService bean = SpringUtils.getBean(BasRgvOptService.class); - BasRgvOpt basRgvOpt = new BasRgvOpt( - command.getTaskNo1().intValue(), - command.getTaskNo2().intValue(), - command.getRgvNo(), - new Date(), - command.getTaskModeType1().toString(), - command.getSourceStaNo1().intValue(), - command.getDestinationStaNo1().intValue(), - command.getSourceStaNo2().intValue(), - command.getDestinationStaNo2().intValue(), - null, - new Date(), - null - ); - bean.insert(basRgvOpt); - } catch (Exception ignore) {} - - if (result != null && result.IsSuccess) { - Thread.sleep(200); - this.readStatus(); - log.info("RGV 宸ヤ綅2鍛戒护涓嬪彂[id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command)); - OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 宸ヤ綅2鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command))); - return true; - } else { - OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆戝啓鍏GV plc宸ヤ綅2鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort())); - log.error("鍐欏叆RGV plc宸ヤ綅2鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); - return false; - } - } - @Override public void close() { siemensNet.ConnectClose(); - } - - /******************************************************************************************/ - /**************************************** 娴嬭瘯涓撶敤 *****************************************/ - /*****************************************************************************************/ - public static void main(String[] args) throws InterruptedException { - RgvSlave slave = new RgvSlave(); - slave.setId(1); - slave.setIp("192.168.6.9"); - slave.setRack(0); - slave.setSlot(0); - RgvThread rgvThread = new RgvThread(slave); - rgvThread.connect(); - rgvThread.readStatus(); - System.out.println(JSON.toJSONString(rgvThread.rgvProtocol)); - Thread.sleep(3000L); - } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index dd6e174..f9320e0 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -47,6 +47,14 @@ licensePath: license.lic publicKeysStorePath: publicCerts.keystore +constant-parameters: + # 杞ㄩ亾鎬婚暱 + trackEntireLength: 1737000 + # 杞ㄩ亾鍩哄噯鐐� + trackBenchmark: 1 + # 杞ㄩ亾杞崲涓虹背姣斾緥 + trackProportion: 10000 + wms: # 鏄惁寮�鍚笂鎶� start: true -- Gitblit v1.9.1