From 7a3b50af32dce3c806a6e520043a714594f3acff Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期三, 25 十月 2023 19:59:26 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/model/protocol/LiftProtocol.java | 299 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 172 insertions(+), 127 deletions(-) diff --git a/src/main/java/com/zy/core/model/protocol/LiftProtocol.java b/src/main/java/com/zy/core/model/protocol/LiftProtocol.java index cd00e23..dcee8b0 100644 --- a/src/main/java/com/zy/core/model/protocol/LiftProtocol.java +++ b/src/main/java/com/zy/core/model/protocol/LiftProtocol.java @@ -1,5 +1,7 @@ package com.zy.core.model.protocol; +import com.zy.core.enums.LiftProtocolStatusType; +import com.zy.core.model.command.LiftAssignCommand; import lombok.Data; import lombok.extern.slf4j.Slf4j; @@ -21,148 +23,191 @@ private Short taskNo = 0; /** + * 鍥涘悜绌挎杞﹀彿 + */ + private Short shuttleNo = 0; + + /** + * 褰撳墠鎻愬崌鏈虹姸鎬侊紙鍐呴儴鑷垜缁存姢锛� + */ + private Integer protocolStatus = 1; + + /** + * 褰撳墠鎻愬崌鏈虹姸鎬佹灇涓� + */ + private LiftProtocolStatusType protocolStatusType = LiftProtocolStatusType.IDLE; + + /** + * 妯″紡 + */ + private Boolean model; + + /** + * 蹇欓棽 + */ + private Boolean busy; + + /** + * 鍓嶈秴闄� + */ + private Boolean frontOverrun; + + /** + * 鍚庤秴闄� + */ + private Boolean backOverrun; + + /** + * 宸﹁秴闄� + */ + private Boolean leftOverrun; + + /** + * 鍙宠秴闄� + */ + private Boolean rightOverrun; + + /** + * 瓒呴珮 + */ + private Boolean overHeight; + + /** + * 瓒呴噸 + */ + private Boolean overWeight; + + /** + * 鏈夋墭鐩� + */ + private Boolean hasTray; + + /** + * 鏈夊皬杞� + */ + private Boolean hasCar; + + /** + * 璁惧鏁呴殰 + */ + private Boolean deviceError; + + /** + * 浠诲姟鍦板潃 + */ + private Short taskAddress; + + /** + * 鐩殑鍦板潃 + */ + private Short distAddress; + + /** + * 宸插畬鎴愮殑浠诲姟鍙� + */ + private Short completeTaskNo; + + /** * 灞� */ private Short lev; /** - * 鎻愬崌鏈洪攣瀹� + * 浣滀笟鏍囪 */ - private Boolean liftLock; + private Boolean pakMk = false; /** - * 浣嶇疆鍒拌揪鍙嶉 + * 鐙崰浠ょ墝 + * 鏈浠诲姟鍗犳嵁锛屼护鐗屼负0 + * 琚换鍔″崰鎹紝灏嗕换鍔″彿璧嬪�肩粰浠ょ墝 */ - private Short positionArrivalFeedback; + private Integer token = 0; /** - * 鍑嗗灏辩华 - * 灏辩华涓�1锛屾湭灏辩华涓�0 + * 浠诲姟鍛戒护 */ - private Boolean ready; + private LiftAssignCommand assignCommand; /** - * 杩愯涓� - * 杩愯涓负1锛屾湭杩愯涓�0 + * 璁剧疆鎻愬崌鏈虹姸鎬� */ - private Boolean running; - - /** - * 鑱旀満/鍗曟満 - * 鑱旀満涓�1锛屽崟鏈轰负0 - */ - private Boolean mode; - - /** - * 杈撻�佺嚎鍓嶇鍏夌數鏈夎揣 - * 鏈夎揣涓�1锛屾棤璐т负0锛堝墠绔寚闈犺繎璐ф灦渚э級 - */ - private Boolean lineFrontHasStock; - - /** - * 杈撻�佺嚎姝h浆鍙嶉 - * 姝h浆杩愯涓�1锛屽惁鍒欎负0 - */ - private Boolean forwardRotationFeedback; - - /** - * 杈撻�佺嚎鍙嶈浆鍙嶉 - * 鍙嶈浆杩愯涓�1锛屽惁鍒欎负0 - */ - private Boolean reverseFeedback; - - /** - * 杈撻�佺嚎鐢垫満杩囪浇 - * 杩囪浇涓�0锛屾甯镐负1 - */ - private Boolean motorOverload; - - /** - * 杈撻�佺嚎鏈鍏夌數鏈夎揣 - * 鏈夎揣涓�1锛屾棤璐т负0 - */ - private Boolean lineEndHasStock; - - /** - * 杩涜緭閫佺嚎鍗℃墭鐩樻姤璀� - * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0 - */ - private Boolean inConveyLineCardTrayAlarm; - - /** - * 鍑鸿緭閫佺嚎鍗℃墭鐩樻姤璀� - * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0 - */ - private Boolean outConveyLineCardTrayAlarm; - - /** - * 骞冲彴浣嶇疆鍋忓樊鎶ヨ - * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0 - */ - private Boolean platPositionDeviationAlarm; - - /** - * 骞冲彴鎵煩鍋忓樊鎶ヨ - * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0 - */ - private Boolean platTorqueDeviationAlarm; - - /** - * 骞冲彴鍥涘悜杞︽娴� - * 鏈夎溅涓�1锛屾棤杞︿负0 - */ - private Boolean platShuttleCheck; - - /** - * 鏈氨缁姸鎬� - * 1. 涓嶅湪鎸囧畾灞� - * 2. 鍥涜酱涓嶅悓姝� - * 3. 骞冲彴鍓嶉檺鍏夌數琚尅鍒帮紙闈犺繎璐ф灦锛� - * 4. 骞冲彴鍚庨檺鍏夌數琚尅鍒帮紙杩滅璐ф灦锛� - * 5. 骞冲彴涓婇檺浣嶆姤璀� - * 6. 骞冲彴涓嬮檺浣嶆姤璀� - * 7. 鐢垫煖鎬ュ仠鎶ヨ - * 8. 杈撻�佺嚎鍓嶉檺浣嶈鎸″埌锛堥潬杩戣揣鏋讹級 - * 9. 杈撻�佺嚎鍚庨檺浣嶈鎸″埌锛堣繙绂昏揣鏋讹級 - * 10. 瑙︽懜灞忕揣鎬ュ仠姝㈣鎸変笅 - * 11. 鍥涜酱鍔ㄥ姏绾挎柇绾� - * 12. 鍗曟満妯″紡 - * 13. 鍥涜酱鎶ヨ - * 14. 浣嶇疆鍋忓樊杩囧ぇ - * 15. 鎵煩鍋忓樊杩囧ぇ - * 16. 杈撻�佺嚎杩囪浇 - * 17. 杩涙彁鍗囨満鍗℃墭鐩� - * 18. 鍑烘彁鍗囨満鍗℃墭鐩� - */ - private Short notReady; - - /** - * 浼烘湇1閿欒 - */ - private Short servoError1; - - /** - * 浼烘湇2閿欒 - */ - private Short servoError2; - - /** - * 浼烘湇3閿欒 - */ - private Short servoError3; - - /** - * 浼烘湇4閿欒 - */ - private Short servoError4; - - /** - * 鎻愬崌鏈哄疄闄呴�熷害鍙嶉 - */ - private Short liftActualSpeed; - - public Short getLiftLockShortValue() { - return liftLock ? (short) 1 : (short) 0; + public void setProtocolStatus(Integer status) { + this.protocolStatus = status; + this.protocolStatusType = LiftProtocolStatusType.get(status); } + /** + * 璁剧疆鎻愬崌鏈虹姸鎬� + */ + public void setProtocolStatus(LiftProtocolStatusType status) { + this.protocolStatus = status.id; + this.protocolStatusType = status; + } + + // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵�� + public Boolean isIdle(Short taskNo) { + if(this.busy == null + || this.model == null + || this.deviceError == null + || this.pakMk == null + || this.token == null + ){ + return false; + } + + boolean res = +// (this.taskNo.equals(this.completeTaskNo) || this.taskNo.intValue() == taskNo.intValue()) + !this.busy + && this.model + && !this.pakMk + && !this.deviceError + && this.protocolStatusType.equals(LiftProtocolStatusType.IDLE) + ; + return res; + } + + // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵�� + public Boolean isIdle() { + if(this.taskNo == null + || this.busy == null + || this.model == null + || this.deviceError == null + || this.pakMk == null + || this.token == null + ){ + return false; + } + + boolean res = +// this.taskNo.equals(this.completeTaskNo) + !this.busy + && this.model + && !this.pakMk + && !this.deviceError + && this.token == 0 + && this.protocolStatusType.equals(LiftProtocolStatusType.IDLE) + ; + return res; + } + + // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵�侊紝涓嶅垽鏂换鍔″彿 + public Boolean isIdleNoTask() { + if(this.busy == null + || this.model == null + || this.deviceError == null + || this.pakMk == null + ){ + return false; + } + + boolean res = !this.busy + && this.model + && !this.pakMk + && !this.deviceError + ; + return res; + } + + } -- Gitblit v1.9.1