From 16787b096c6aec16195a85f0a1c4666679e8f32f Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 11 一月 2021 13:34:38 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensCrnThread.java | 75 +++++++++++++++++++++++++++++++++++++ src/main/java/com/zy/asrs/controller/ConsoleController.java | 2 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 4 +- src/main/java/com/zy/core/enums/CrnLiftPosType.java | 1 src/main/java/com/zy/asrs/controller/CrnController.java | 6 -- src/main/java/com/zy/core/model/protocol/CrnProtocol.java | 10 ++-- src/main/resources/application.yml | 12 +++--- 7 files changed, 90 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java index 4349ee5..b4d1309 100644 --- a/src/main/java/com/zy/asrs/controller/ConsoleController.java +++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java @@ -129,7 +129,7 @@ /** * 鍫嗗灈鏈虹姸鎬佸垽鏂� */ - if ((crn.getId() == 1 && crnProtocol.getAlarm1() > 0) || (crn.getId() == 2 && crnProtocol.getAlarm1() > 1000)) { + if (crn.getId() == 1 && crnProtocol.getAlarm1() > 0) { vo.setCrnStatus(CrnStatusType.MACHINE_ERROR); } else { if (crnProtocol.getTaskNo()>0) { diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java index 29f65a1..03eb364 100644 --- a/src/main/java/com/zy/asrs/controller/CrnController.java +++ b/src/main/java/com/zy/asrs/controller/CrnController.java @@ -129,11 +129,7 @@ vo.setXLocation(crnProtocol.getWalkPos() == 1?"鏄�":"鍚�"); // 璧拌瀹氫綅 vo.setYLocation(crnProtocol.getLiftPosType().equals(CrnLiftPosType.NONE)?"鍚�":"鏄�"); // 鍗囬檷瀹氫綅 // vo.setStop(crnProtocol.getCrnError1().controlStop||crnProtocol.getCrnError1().mainStop||crnProtocol.getCrnError1().remoteStop?"鏄�":"鍚�"); // 鎬ュ仠 - if (vo.getCrnNo() == 2) { - vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()-1000)); // 寮傚父鐮� - } else { - vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); // 寮傚父鐮� - } + vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); // 寮傚父鐮� } return R.ok().add(list); 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 e491427..2f6c7bd 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -755,7 +755,7 @@ if (wrkMast == null) { continue; } - BasCrnError crnError = basCrnErrorMapper.selectById(crn.getId()==2?(crnProtocol.getAlarm1()+1000):crnProtocol.getAlarm1()); + BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1()); String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName(); BasErrLog basErrLog = new BasErrLog( null, // 缂栧彿 @@ -802,7 +802,7 @@ if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm1() > 0) { // 璁板綍鏂板紓甯� if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm1().intValue())) { - BasCrnError crnError = basCrnErrorMapper.selectById(crn.getId()==2?(crnProtocol.getAlarm1()+1000):crnProtocol.getAlarm1()); + BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1()); String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName(); BasErrLog basErrLog = new BasErrLog( null, // 缂栧彿 diff --git a/src/main/java/com/zy/core/enums/CrnLiftPosType.java b/src/main/java/com/zy/core/enums/CrnLiftPosType.java index ad16280..62bbf5e 100644 --- a/src/main/java/com/zy/core/enums/CrnLiftPosType.java +++ b/src/main/java/com/zy/core/enums/CrnLiftPosType.java @@ -7,6 +7,7 @@ DOWN(2, "鍗曚几浣嶄綆浣�"), // 涓嬪畾浣� UP(1, "鍗曚几浣嶉珮浣�"), // 涓婂畾浣� NONE(0, "涓嶅湪瀹氫綅"), // 涓嶅湪瀹氫綅 + ERROR(-1, "鏈煡"), // 涓嶅湪瀹氫綅 ; public Integer id; diff --git a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java index 761a91a..2110fc1 100644 --- a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java +++ b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java @@ -185,25 +185,25 @@ * 1 = 璐у弶鍦ㄥ乏渚� * 2 = 璐у弶鍦ㄥ彸渚� */ - public Short forkPos; + public Short forkPos = -1; - public CrnForkPosType forkPosType; + public CrnForkPosType forkPosType = CrnForkPosType.NONE; /** * 褰撳墠杞借揣鍙颁綅缃� * 0 = 涓嬪畾浣� * 1 = 涓婂畾浣� */ - public Short liftPos; + public Short liftPos = -1; - public CrnLiftPosType liftPosType; + public CrnLiftPosType liftPosType = CrnLiftPosType.ERROR; /** * 璧拌鍦ㄥ畾浣� * 0 = 鍦ㄥ畾浣� * 1 = 涓嶅湪瀹氫綅 */ - public Short walkPos; + public Short walkPos = 0; /** * 鎷ㄦ寚浣嶇疆 diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java index 7c603e2..fb5bced 100644 --- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java +++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java @@ -114,7 +114,7 @@ * 璇诲彇鐘舵�� */ private void readStatus(){ - OperateResultExOne<byte[]> result = siemensNet.Read("DB11.2", (short) 90); + OperateResultExOne<byte[]> result = siemensNet.Read("DB11.2", (short) 104); if (result.IsSuccess) { if (null == crnProtocol) { crnProtocol = new CrnProtocol(); @@ -160,6 +160,19 @@ crnProtocol.setDoubleLow(bool3[5]); crnProtocol.setPlatformHigh(bool3[6]); crnProtocol.setPlatformLow(bool3[7]); + boolean[] bool4 = siemensNet.getByteTransform().TransBool(result.Content, 64, 1); // 66 + crnProtocol.setLoaded((short) (bool4[4]?1:0)); // 鏈夌墿 + + // 閫熷害 + crnProtocol.setXSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 22)); // 24 + crnProtocol.setYSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 24)); // 26 + crnProtocol.setZSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 26)); // 28 + // 绱閲岀▼銆佹椂闀� + crnProtocol.setXDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 88)); // 90 + crnProtocol.setYDistance((float) siemensNet.getByteTransform().TransInt32(result.Content, 92)); // 94 + crnProtocol.setXDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 96)); // 98 + crnProtocol.setYDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 100)); // 102 + // 澧炲己 if (crnProtocol.getForkHome()) { crnProtocol.setForkPos(CrnForkPosType.HOME); @@ -230,6 +243,66 @@ log.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�"); return false; } + if (command.getTaskNo() == 0) { + command.setTaskNo((short) 9999); + } + // 浠g悊 + switch (command.getSourcePosX()) { + case 1: + command.setSourcePosX((short) 4); + break; + case 2: + command.setSourcePosX((short) 3); + break; + case 3: + command.setSourcePosX((short) 2); + break; + case 4: + command.setSourcePosX((short) 1); + break; + case 5: + command.setSourcePosX((short) 4); + break; + case 6: + command.setSourcePosX((short) 3); + break; + case 7: + command.setSourcePosX((short) 2); + break; + case 8: + command.setSourcePosX((short) 1); + break; + default: + log.info("{}鍙峰爢鍨涙満涓嬫柟鍛戒护閿欒锛屾簮鎺掞細{}", command.getCrnNo(), command.getSourcePosX()); + } + switch (command.getDestinationPosX()) { + case 1: + command.setDestinationPosX((short) 4); + break; + case 2: + command.setDestinationPosX((short) 3); + break; + case 3: + command.setDestinationPosX((short) 2); + break; + case 4: + command.setDestinationPosX((short) 1); + break; + case 5: + command.setDestinationPosX((short) 4); + break; + case 6: + command.setDestinationPosX((short) 3); + break; + case 7: + command.setDestinationPosX((short) 2); + break; + case 8: + command.setDestinationPosX((short) 1); + break; + default: + log.info("{}鍙峰爢鍨涙満涓嬫柟鍛戒护閿欒锛岀洰鏍囨帓锛歿}", command.getCrnNo(), command.getSourcePosX()); + } command.setCrnNo(slave.getId()); short[] array = new short[9]; if (!command.getTaskModeType().equals(CrnTaskModeType.CLEAR)) { diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 5318701..d287af3 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -44,10 +44,10 @@ # 鍫嗗灈鏈�1 crn[0]: id: 1 - ip: 192.168.6.9 - port: 102 + ip: 192.168.0.20 + port: 2000 rack: 0 - slot: 0 + slot: 1 # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 offset: 2 # 鍫嗗灈鏈哄叆搴撶珯鐐� @@ -67,10 +67,10 @@ # 鍫嗗灈鏈�2 crn[1]: id: 2 - ip: 192.168.6.20 - port: 6000 + ip: 192.168.0.10 + port: 2000 rack: 0 - slot: 0 + slot: 1 # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 offset: 2 # 鍫嗗灈鏈哄叆搴撶珯鐐� -- Gitblit v1.9.1