From cb1ed8e08ef13de563dc4ece9953ffadd78546ba Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 04 一月 2021 09:54:53 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensCrnThread.java | 141 +++++++++++++------ src/main/java/com/zy/core/enums/CrnStatusType.java | 17 - src/main/webapp/views/crn.html | 2 src/main/java/com/zy/core/enums/CrnLiftPosType.java | 7 src/main/java/com/zy/asrs/controller/CrnController.java | 74 +++------ src/main/java/com/zy/core/model/command/CrnCommand.java | 2 src/main/java/com/zy/core/model/protocol/CrnProtocol.java | 175 +++++++++++++++++++----- 7 files changed, 265 insertions(+), 153 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java index c0c1558..29f65a1 100644 --- a/src/main/java/com/zy/asrs/controller/CrnController.java +++ b/src/main/java/com/zy/asrs/controller/CrnController.java @@ -328,23 +328,23 @@ return crnControl(command)?R.ok():R.error(); } - @ManagerAuth(memo = "鍧愭爣绉诲姩") - @PostMapping("/operator/coorMove") - public R crnCoorMove(CrnOperatorParam param){ - CrnCommand command = new CrnCommand(); - command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - command.setTaskNo((short) 0); // 宸ヤ綔鍙� - command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode(CrnTaskModeType.OFFSET_MOVE); // 浠诲姟妯″紡 - command.setSourcePosX(param.getSourceRow()); // 婧愬簱浣嶆帓 - command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪 - command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰 - command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺� - command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒� - command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞� - staNoProcess(param, command); - return crnControl(command)?R.ok():R.error(); - } +// @ManagerAuth(memo = "鍧愭爣绉诲姩") +// @PostMapping("/operator/coorMove") +// public R crnCoorMove(CrnOperatorParam param){ +// CrnCommand command = new CrnCommand(); +// command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� +// command.setTaskNo((short) 0); // 宸ヤ綔鍙� +// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� +// command.setTaskMode(CrnTaskModeType.OFFSET_MOVE); // 浠诲姟妯″紡 +// command.setSourcePosX(param.getSourceRow()); // 婧愬簱浣嶆帓 +// command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪 +// command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰 +// command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺� +// command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒� +// command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞� +// staNoProcess(param, command); +// return crnControl(command)?R.ok():R.error(); +// } @ManagerAuth(memo = "浠诲姟瀹屾垚") @PostMapping("/operator/taskComplete") @@ -403,36 +403,16 @@ if (crnProtocol == null) { throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ嚎"); } - if (crn.getId() == 1) { - // 鍙湁鍑虹幇鎸囧畾寮傚父鎵嶈繘琛屽浣� - if (crnProtocol.getCrnError3().leftTakeNoneErr - || crnProtocol.getCrnError3().rightTakeNoneErr - || crnProtocol.getCrnError3().leftTakeThenLoadErr - || crnProtocol.getCrnError3().rightTakeThenLoadErr) { - CrnCommand command = new CrnCommand(); - command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡 - // 寤舵椂鍙戦�� - Thread.sleep(3000L); - if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) { - return R.ok(); - } else { - throw new CoolException("鍛戒护涓嬪彂澶辫触"); - } - } - } else if (crn.getId() == 2) { - CrnCommand crnCommand = new CrnCommand(); - crnCommand.setCrnNo(crn.getId()); // 鍫嗗灈鏈虹紪鍙� - crnCommand.setTaskMode(CrnTaskModeType.CANCEL); - crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - // 寤舵椂鍙戦�� - Thread.sleep(1000L); - if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, crnCommand))) { - return R.ok(); - } else { - throw new CoolException("鍛戒护涓嬪彂澶辫触"); - } + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setCrnNo(crn.getId()); // 鍫嗗灈鏈虹紪鍙� + crnCommand.setTaskMode(CrnTaskModeType.CLEAR); + crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + // 寤舵椂鍙戦�� + Thread.sleep(1000L); + if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, crnCommand))) { + return R.ok(); + } else { + throw new CoolException("鍛戒护涓嬪彂澶辫触"); } diff --git a/src/main/java/com/zy/core/enums/CrnLiftPosType.java b/src/main/java/com/zy/core/enums/CrnLiftPosType.java index 6006489..ad16280 100644 --- a/src/main/java/com/zy/core/enums/CrnLiftPosType.java +++ b/src/main/java/com/zy/core/enums/CrnLiftPosType.java @@ -2,9 +2,10 @@ public enum CrnLiftPosType { - POSITION(3, "鍦ㄥ畾浣�"), // 鍦ㄥ畾浣� - DOWN(2, "涓嬪畾浣�"), // 涓嬪畾浣� - UP(1, "涓婂畾浣�"), // 涓婂畾浣� + _DOWN(4, "鍙屼几浣嶄綆浣�"), + _UP(3, "鍙屼几浣嶉珮浣�"), + DOWN(2, "鍗曚几浣嶄綆浣�"), // 涓嬪畾浣� + UP(1, "鍗曚几浣嶉珮浣�"), // 涓婂畾浣� NONE(0, "涓嶅湪瀹氫綅"), // 涓嶅湪瀹氫綅 ; diff --git a/src/main/java/com/zy/core/enums/CrnStatusType.java b/src/main/java/com/zy/core/enums/CrnStatusType.java index f4bcc05..035deee 100644 --- a/src/main/java/com/zy/core/enums/CrnStatusType.java +++ b/src/main/java/com/zy/core/enums/CrnStatusType.java @@ -3,18 +3,11 @@ public enum CrnStatusType { IDLE(0, "绌洪棽锛屾棤浠诲姟"), - FETCH_POSITION(1, "鍙栬揣瀹氫綅涓�"), - FETCHING(2, "鍙栬揣涓�"), - PUT_POSITION(3, "鍙栬揣瀹屾垚锛屾斁璐у畾浣嶄腑"), - PUTTING(4, "鏀捐揣涓�"), - TO_ORIGIN(5, "鍥炲師鐐逛腑"), - ORIGIN(6, "鍙嶅師鐐�"), - LOC_MOVE(7, "搴撲綅绉讳綅"), - POSITON_MOVE(10, "鍧愭爣绉昏"), - FETCH_WAITING(21, "绛夊緟鍙栬揣鍏佽"), - PUT_WAITING(22, "绛夊緟鏀捐揣鍏佽"), - WAITING(90, "浠诲姟瀹屾垚绛夊緟WCS纭"), - SOS(99, "鎶ヨ"), + NONE_MOVING(1, "鏃犺揣琛岃蛋"), + FETCHING(2, "鍙栬揣"), + MOVING(3, "鏈夎揣琛岃蛋"), + PUTTING(4, "鏀捐揣"), + PUT_COMPLETE(5, "鏀捐揣瀹屾垚"), ; public Integer id; diff --git a/src/main/java/com/zy/core/model/command/CrnCommand.java b/src/main/java/com/zy/core/model/command/CrnCommand.java index cb00a30..f50cc2e 100644 --- a/src/main/java/com/zy/core/model/command/CrnCommand.java +++ b/src/main/java/com/zy/core/model/command/CrnCommand.java @@ -18,7 +18,7 @@ private Integer crnNo = 0; // 浠诲姟瀹屾垚纭浣� -// private Short ackFinish = 0; + private Short ackFinish = 0; // 浠诲姟鍙� private Short taskNo = 0; 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 5969aee..761a91a 100644 --- a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java +++ b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java @@ -20,14 +20,19 @@ public CrnModeType modeType; /** + * 鍫嗗灈鏈轰换鍔″畬鎴� + */ + public Short taskFinish; + + /** + * 鏍¢獙缁撴灉 1琛ㄧず妫�楠屾垚鍔� + */ + public Short valid; + + /** * 1 = 鎬ュ仠 */ public Short eStop; - - /** - * 寮傚父鐮� - */ - public Short alarm; /** * 浠诲姟鍙� @@ -63,6 +68,116 @@ * 鍫嗗灈鏈哄綋鍓嶅眰鍙� */ public Short level; + + /** + * 鍫嗗灈鏈哄綋鍓嶆帓 + */ + public Short row; + + /** + * 鍫嗗灈鏈哄綋鍓嶅贩閬撳彿 + */ + public Short lane; + + /** + * 鍫嗗灈鏈洪�氳鐘舵�� + */ + public Boolean connStatus; + + /** + * 鐢宠鍏ュ簱淇 + */ + public Boolean correction; + + /** + * 鎵樼洏鍙烽敊 + */ + public Boolean tuError; + + /** + * 鍙栬揣鏃犵 + */ + public Boolean noneError; + + /** + * 鍙岄噸鍏ュ簱 + */ + public Boolean stockError; + + /** + * 浣滀笟鏁版嵁鏃犳晥 + */ + public Boolean jobInvalid; + + /** + * 绌洪棽鐘舵�� + */ + public Boolean idle; + + /** + * 鎺у埗鏌滀娇鑳� + */ + public Boolean control; + + /** + * 鍋滃噯 + */ + public Boolean stopQuasi; + + /** + * 杩愯 + */ + public Boolean running; + + /** + * 鏁呴殰 + */ + public Boolean fault; + + /** + * 璐у弶涓綅 + */ + public Boolean forkHome; + /** + * 鍗曚几浣嶈揣鍙夊乏浣� + */ + public Boolean forkSingleLeft; + /** + * 鍗曚几浣嶈揣鍙夊彸浣� + */ + public Boolean forkSingleRight; + /** + * 鍙屼几浣嶈揣鍙夊乏浣� + */ + public Boolean forkDoubleLeft; + /** + * 鍙屼几浣嶈揣鍙夊彸浣� + */ + public Boolean forkDoubleRight; + /** + * 鍗曚几浣嶉珮浣� + */ + public Boolean singleHigh; + /** + * 鍗曚几浣嶄綆浣� + */ + public Boolean singleLow; + /** + * 鍙屼几浣嶉珮浣� + */ + public Boolean doubleHigh; + /** + * 鍙屼几浣嶄綆浣� + */ + public Boolean doubleLow; + /** + * 绔欏彴楂樹綅 + */ + public Boolean platformHigh; + /** + * 绔欏彴浣庝綅 + */ + public Boolean platformLow; /** * 褰撳墠璐у弶浣嶇疆 @@ -101,27 +216,29 @@ public CrnFingerPosType fingerPosType; /** - * 鍫嗗灈鏈轰换鍔″畬鎴� - */ - public Short taskFinish; - - /** * 杞借揣鍙版湁鐗� */ public Short loaded; /** - * 寮傚父鐮侊紙鏁板�兼樉绀猴級 + * 鍫嗗灈鏈哄瀭鐩存晠闅滀唬鐮侊紙鏁板�兼樉绀猴級 */ - private Short alarm1; + private Integer alarm1; - private Short temp1; + /** + * 鍫嗗灈鏈烘按骞虫晠闅滀唬鐮侊紙鏁板�兼樉绀猴級 + */ + private Integer alarm2; - private Short temp2; + /** + * 鍫嗗灈鏈鸿揣鍙夋晠闅滀唬鐮侊紙鏁板�兼樉绀猴級 + */ + private Integer alarm3; - private Short temp3; - - private Short temp4; + /** + * 鍫嗗灈鏈虹姸鎬佹晠闅滀唬鐮侊紙鏁板�兼樉绀猴級 + */ + private Integer alarm4; /** * 寮傚父1 @@ -150,20 +267,6 @@ private boolean[] error4; private CrnError4 crnError4; - - /** - * 寮傚父5 - */ - private boolean[] error5; - - private CrnError5 crnError5; - - /** - * 寮傚父6 - */ - private boolean[] error6; - - private CrnError6 crnError6; /** * X琛岃蛋绾块�熷害m/min @@ -315,16 +418,6 @@ this.crnError4.xLooseBrakeTimeout = error4[1]; this.crnError4.yLooseBrakeTimeout = error4[2]; this.crnError4.zLooseBrakeTimeout = error4[3]; - } - - public void setError5(boolean[] error5) { - this.error5 = error5; - this.crnError5 = new CrnError5(); - } - - public void setError6(boolean[] error6) { - this.error6 = error6; - this.crnError6 = new CrnError6(); } /** diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java index 46b2620..7c603e2 100644 --- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java +++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java @@ -5,7 +5,6 @@ import HslCommunication.Profinet.Siemens.SiemensPLCS; import HslCommunication.Profinet.Siemens.SiemensS7Net; import com.alibaba.fastjson.JSON; -import com.core.common.Arith; import com.core.common.DateUtils; import com.core.common.SpringUtils; import com.zy.asrs.entity.BasCrnOpt; @@ -15,9 +14,7 @@ import com.zy.core.CrnThread; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.OutputQueue; -import com.zy.core.enums.CrnStatusType; -import com.zy.core.enums.CrnTaskModeType; -import com.zy.core.enums.SlaveType; +import com.zy.core.enums.*; import com.zy.core.model.CrnSlave; import com.zy.core.model.Task; import com.zy.core.model.command.CrnCommand; @@ -73,7 +70,7 @@ } command.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� -// command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣� + command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣� command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡 command.setSourcePosX((short)0); // 婧愬簱浣嶆帓 command.setSourcePosY((short)0); // 婧愬簱浣嶅垪 @@ -122,38 +119,83 @@ if (null == crnProtocol) { crnProtocol = new CrnProtocol(); } - crnProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 0)); - crnProtocol.setTaskNo(siemensNet.getByteTransform().TransInt16(result.Content, 2)); - crnProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 4)); - crnProtocol.setBay(siemensNet.getByteTransform().TransInt16(result.Content, 6)); - crnProtocol.setLevel(siemensNet.getByteTransform().TransInt16(result.Content, 8)); - crnProtocol.setForkPos(siemensNet.getByteTransform().TransInt16(result.Content, 10)); - crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 12)); - crnProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 14)); -// crnProtocol.setTaskFinish(siemensNet.getByteTransform().TransInt16(result.Content, 16)); - crnProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 18)); - crnProtocol.setAlarm1(siemensNet.getByteTransform().TransInt16(result.Content, 20)); - // 寮傚父淇℃伅 - crnProtocol.setError1(siemensNet.getByteTransform().TransBool(result.Content, 22, 2)); - crnProtocol.setError2(siemensNet.getByteTransform().TransBool(result.Content, 24, 2)); - crnProtocol.setError3(siemensNet.getByteTransform().TransBool(result.Content, 26, 2)); - crnProtocol.setError4(siemensNet.getByteTransform().TransBool(result.Content, 28, 2)); - crnProtocol.setError5(siemensNet.getByteTransform().TransBool(result.Content, 30, 2)); - crnProtocol.setError6(siemensNet.getByteTransform().TransBool(result.Content, 32, 2)); - float xSpeed = siemensNet.getByteTransform().TransSingle(result.Content, 34); - crnProtocol.setXSpeed((float) Arith.multiplys(3, xSpeed, 1.15)); - crnProtocol.setYSpeed(siemensNet.getByteTransform().TransSingle(result.Content, 38)); - float zSpeed = siemensNet.getByteTransform().TransSingle(result.Content, 42); - crnProtocol.setZSpeed((float) Arith.multiplys(3, zSpeed, 5)); - crnProtocol.setXDistance(siemensNet.getByteTransform().TransSingle(result.Content, 46)); - crnProtocol.setYDistance(siemensNet.getByteTransform().TransSingle(result.Content, 50)); - crnProtocol.setXDuration(siemensNet.getByteTransform().TransSingle(result.Content, 54)); - crnProtocol.setYDuration(siemensNet.getByteTransform().TransSingle(result.Content, 58)); + crnProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 0)); // 2 + crnProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 2)); // 4 + crnProtocol.setTaskNo(siemensNet.getByteTransform().TransInt16(result.Content, 4)); // 6 + crnProtocol.setTaskFinish(siemensNet.getByteTransform().TransInt16(result.Content, 6)); // 8 + crnProtocol.setValid(siemensNet.getByteTransform().TransInt16(result.Content, 8)); // 10 + + crnProtocol.setLevel(siemensNet.getByteTransform().TransInt16(result.Content, 14)); // 16 + crnProtocol.setBay(siemensNet.getByteTransform().TransInt16(result.Content, 16)); // 18 + crnProtocol.setRow(siemensNet.getByteTransform().TransInt16(result.Content, 18)); // 20 + crnProtocol.setLane(siemensNet.getByteTransform().TransInt16(result.Content, 20)); // 22 + + crnProtocol.setAlarm1(siemensNet.getByteTransform().TransInt32(result.Content, 28)); // 30 + crnProtocol.setAlarm2(siemensNet.getByteTransform().TransInt32(result.Content, 32)); // 34 + crnProtocol.setAlarm3(siemensNet.getByteTransform().TransInt32(result.Content, 36)); // 38 + crnProtocol.setAlarm4(siemensNet.getByteTransform().TransInt32(result.Content, 40)); // 42 + + boolean[] bool1 = siemensNet.getByteTransform().TransBool(result.Content, 60, 1); // 62 + crnProtocol.setConnStatus(bool1[0]); + crnProtocol.setCorrection(bool1[3]); + crnProtocol.setTuError(bool1[4]); + crnProtocol.setNoneError(bool1[5]); + crnProtocol.setStockError(bool1[6]); + crnProtocol.setJobInvalid(bool1[7]); + boolean[] bool2 = siemensNet.getByteTransform().TransBool(result.Content, 61, 1); // 63 + crnProtocol.setIdle(bool2[0]); + crnProtocol.setControl(bool2[1]); + crnProtocol.setStopQuasi(bool2[2]); + crnProtocol.setRunning(bool2[3]); + crnProtocol.setFault(bool2[4]); + crnProtocol.setForkHome(bool2[5]); + crnProtocol.setForkSingleLeft(bool2[6]); + crnProtocol.setForkSingleRight(bool2[7]); + boolean[] bool3 = siemensNet.getByteTransform().TransBool(result.Content, 62, 1); // 64 + crnProtocol.setForkDoubleLeft(bool3[0]); + crnProtocol.setForkDoubleRight(bool3[1]); + crnProtocol.setSingleHigh(bool3[2]); + crnProtocol.setSingleLow(bool3[3]); + crnProtocol.setDoubleHigh(bool3[4]); + crnProtocol.setDoubleLow(bool3[5]); + crnProtocol.setPlatformHigh(bool3[6]); + crnProtocol.setPlatformLow(bool3[7]); + // 澧炲己 + if (crnProtocol.getForkHome()) { + crnProtocol.setForkPos(CrnForkPosType.HOME); + } + if (crnProtocol.getForkSingleLeft()) { + crnProtocol.setForkPos(CrnForkPosType.LEFT); + } + if (crnProtocol.getForkSingleRight()) { + crnProtocol.setForkPos(CrnForkPosType.RIGHT); + } + if (crnProtocol.getForkDoubleLeft()) { + crnProtocol.setForkPos(CrnForkPosType._LEFT); + } + if (crnProtocol.getForkDoubleRight()) { + crnProtocol.setForkPos(CrnForkPosType._RIGHT); + } + if (crnProtocol.getSingleHigh()) { + crnProtocol.setLiftPos(CrnLiftPosType.UP); + } + if (crnProtocol.getSingleLow()) { + crnProtocol.setLiftPos(CrnLiftPosType.DOWN); + } + if (crnProtocol.getDoubleHigh()) { + crnProtocol.setLiftPos(CrnLiftPosType._UP); + } + if (crnProtocol.getDoubleLow()) { + crnProtocol.setLiftPos(CrnLiftPosType._DOWN); + } + if (crnProtocol.getIdle()) { + crnProtocol.setStatus(CrnStatusType.IDLE); + } OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); // 澶嶄綅淇″彿 - if (crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) { + if (crnProtocol.getTaskFinish() == 1) { if (resetFlag) { CrnCommand crnCommand = new CrnCommand(); crnCommand.setAckFinish((short)1); @@ -164,13 +206,15 @@ } } - // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴� - BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class); - BasCrnp basCrnp = new BasCrnp(); - basCrnp.setCrnNo(slave.getId()); - if (!basCrnpService.updateById(crnProtocol.toSqlModel(basCrnp))){ - log.error("鍫嗗灈鏈簆lc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); - } + try { + // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴� + BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class); + BasCrnp basCrnp = new BasCrnp(); + basCrnp.setCrnNo(slave.getId()); + if (!basCrnpService.updateById(crnProtocol.toSqlModel(basCrnp))){ + log.error("鍫嗗灈鏈簆lc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); + } + } catch (Exception ignore){} } else { 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())); @@ -187,7 +231,7 @@ return false; } command.setCrnNo(slave.getId()); - short[] array = new short[13]; + short[] array = new short[9]; if (!command.getTaskModeType().equals(CrnTaskModeType.CLEAR)) { array[0] = 5; } else { @@ -201,12 +245,13 @@ array[6] = command.getDestinationPosX(); array[7] = command.getSourceStaNo(); array[8] = command.getDestinationStaNo(); - array[9] = command.getSourceLane(); - array[10] = command.getDestinationLane(); - array[11] = - + // 浣滀笟淇℃伅 OperateResult result = siemensNet.Write("DB10.0", array); - if (result.IsSuccess) { + // 浠诲姟鍙� + OperateResult result1 = siemensNet.Write("DB10.24", command.getTaskNo()); + // 缁撴潫浣� + OperateResult result2 = siemensNet.Write("DB10.28.1", true); + if (result.IsSuccess && result1.IsSuccess && result2.IsSuccess) { try { // 鏃ュ織璁板綍 @@ -219,11 +264,11 @@ command.getSourcePosX().intValue(), // 婧愭帓 command.getSourcePosY().intValue(), // 婧愬垪 command.getSourcePosZ().intValue(), // 婧愬眰 - null, // 婧愮珯 + command.getSourceStaNo().intValue(), // 婧愮珯 command.getDestinationPosX().intValue(), // 鐩爣鎺� command.getDestinationPosY().intValue(), // 鐩爣鍒� command.getDestinationPosZ().intValue(), // 鐩爣灞� - null, // 鐩爣绔� + command.getDestinationStaNo().intValue(), // 鐩爣绔� null, // 鍝嶅簲缁撴灉 null, // 淇敼鏃堕棿 null // 淇敼浜哄憳 diff --git a/src/main/webapp/views/crn.html b/src/main/webapp/views/crn.html index edcd6d4..7540738 100644 --- a/src/main/webapp/views/crn.html +++ b/src/main/webapp/views/crn.html @@ -187,7 +187,7 @@ <button class="item" onclick="siteMove()">绔欏埌绔�</button> <button class="item" onclick="bacOrigin()">鍥炲師鐐�</button> <button class="item" onclick="reverseOrigin()">鍙嶅師鐐�</button> - <button class="item" onclick="coorMove()">鍧愭爣绉昏</button> +<!-- <button class="item" onclick="coorMove()">鍧愭爣绉昏</button>--> <button class="item" onclick="taskComplete()">浠诲姟瀹屾垚</button> <!-- <button class="item" onclick="pause()">鏆傚仠</button>--> <!-- <button class="item" onclick="boot()">鍚姩</button>--> -- Gitblit v1.9.1