From 8d7d4c402c57ac7a0d6826ce2e355ada4eded875 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 27 三月 2023 16:06:27 +0800
Subject: [PATCH] 四向穿梭车页面数据显示、复位操作
---
src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java | 7 +
src/main/java/com/zy/asrs/domain/vo/ShuttleMsgTableVo.java | 37 ++++---
src/main/java/com/zy/asrs/controller/ShuttleController.java | 46 ++++++--
src/main/java/com/zy/core/thread/ShuttleThread.java | 8 +
src/main/java/com/zy/core/enums/ShuttleTaskModeType.java | 1
src/main/java/com/zy/asrs/domain/vo/ShuttleStateTableVo.java | 125 ++++++++++++++++++++----
src/main/webapp/views/shuttle.html | 67 ++++++------
7 files changed, 203 insertions(+), 88 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/ShuttleController.java b/src/main/java/com/zy/asrs/controller/ShuttleController.java
index 9b3e677..c9257f4 100644
--- a/src/main/java/com/zy/asrs/controller/ShuttleController.java
+++ b/src/main/java/com/zy/asrs/controller/ShuttleController.java
@@ -67,16 +67,27 @@
continue;
}
vo.setTaskNo(shuttleProtocol.getTaskNo().intValue()); // 浠诲姟鍙�
- if (!Cools.isEmpty(shuttleProtocol.getBusyStatus())) {
- vo.setStatus(shuttleProtocol.getBusyStatusType().desc); // 鐘舵��
- }
- vo.setBatteryPower(shuttleProtocol.getBatteryPower() + "%");
- vo.setSpeed(shuttleProtocol.getCurrentMoveServoSpeed());
+ vo.setBusyStatus(shuttleProtocol.getBusyStatusType().desc); //鍥涘悜绌挎杞︾姸鎬�
+ vo.setStatus(shuttleProtocol.getProtocolStatusType().desc);//褰撳墠浠诲姟鐘舵��
+ vo.setCurrentCode(shuttleProtocol.getCurrentCode());//褰撳墠浜岀淮鐮�
+ vo.setBatteryTemp(shuttleProtocol.getBatteryTemp$() + "掳");//鐢垫睜娓╁害
+ vo.setBatteryPower(shuttleProtocol.getBatteryPower$() + "%");//鐢垫睜鐢甸噺
+ vo.setPlcOutputStatusIO(shuttleProtocol.getPlcOutputStatusIO());//Plc杈撳嚭鐘舵�両O
+ vo.setPlcInputStatus(shuttleProtocol.getPlcInputStatus());//PLC杈撳叆鐘舵��
+ vo.setCurrentOrBeforeCode(shuttleProtocol.getCurrentOrBeforeCode());//褰撳墠鎴栬�呬箣鍓嶈鍒扮殑浜岀淮鐮佸��
+ vo.setCodeOffsetX(shuttleProtocol.getCodeOffsetX());//璇诲埌鐨勪簩缁寸爜X鏂瑰悜鍋忕Щ閲�
+ vo.setCodeOffsetY(shuttleProtocol.getCodeOffsetY());//璇诲埌鐨勪簩缁寸爜Y鏂瑰悜鍋忕Щ閲�
+ vo.setCurrentVoltage(shuttleProtocol.getCurrentVoltage());//褰撳墠鐨勭數鍘嬪��
+ vo.setCurrentAnalogValue(shuttleProtocol.getCurrentAnalogValue());//褰撳墠鐨勬ā鎷熼噺鍊�
+ vo.setCurrentLiftServoSpeed(shuttleProtocol.getCurrentLiftServoSpeed());//褰撳墠鐨勫崌闄嶄己鏈嶉�熷害
+ vo.setCurrentMoveServoSpeed(shuttleProtocol.getCurrentMoveServoSpeed());//绉诲姩閫熷害
+ vo.setCurrentLiftServoLoad(shuttleProtocol.getCurrentLiftServoLoad());//褰撳墠鐨勫崌闄嶄己鏈嶈礋杞界巼
+ vo.setCurrentMoveServoLoad(shuttleProtocol.getCurrentMoveServoLoad());//褰撳墠鐨勮璧颁己鏈嶈礋杞界巼
if (!Cools.isEmpty(shuttleProtocol.getErrorCode())) {
- vo.setAlarm1(String.valueOf(shuttleProtocol.getErrorCode()));
+ vo.setErrorCode(shuttleProtocol.getErrorCode());//閿欒缂栧彿
}
if (!Cools.isEmpty(shuttleProtocol.getStatusErrorCode())) {
- vo.setAlarm2(String.valueOf(shuttleProtocol.getStatusErrorCode()));
+ vo.setStatusErrorCode(shuttleProtocol.getStatusErrorCode());//閿欒淇℃伅鐮�
}
}
return R.ok().add(list);
@@ -102,18 +113,21 @@
continue;
}
- vo.setWorkNo(shuttleProtocol.getTaskNo().intValue()); // 浠诲姟鍙�
+ vo.setWorkNo(shuttleProtocol.getTaskNo().intValue());//浠诲姟鍙�
if (shuttleProtocol.getTaskNo() > 0) {
WrkMast wrkMast = wrkMastService.selectById(shuttleProtocol.getTaskNo());
if (wrkMast != null) {
- //vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵��
- vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯
- vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔�
- vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣�
- vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅
+ vo.setSourceLocNo(wrkMast.getSourceLocNo());//婧愬簱浣�
+ vo.setDistLocNo(wrkMast.getLocNo());//鐩爣搴撲綅
}
}
- vo.setSpeed(shuttleProtocol.getCurrentMoveServoSpeed()); // 閫熷害
+ if (shuttleProtocol.getProtocolStatusType() != null) {
+ vo.setStatus(shuttleProtocol.getProtocolStatusType().desc);//鐘舵��
+ }
+ vo.setCurrentMoveServoSpeed(shuttleProtocol.getCurrentMoveServoSpeed());//褰撳墠鐨勮璧颁己鏈嶉�熷害
+ vo.setCurrentMoveServoLoad(shuttleProtocol.getCurrentMoveServoLoad() + "%");//褰撳墠鐨勮璧颁己鏈嶈礋杞界巼
+ vo.setCurrentLiftServoLoad(shuttleProtocol.getCurrentLiftServoLoad() + "%");//褰撳墠鐨勫崌闄嶄己鏈嶈礋杞界巼
+ vo.setCurrentLiftServoSpeed(shuttleProtocol.getCurrentLiftServoSpeed());//褰撳墠鐨勫崌闄嶄己鏈嶉�熷害
vo.setPakMk(shuttleProtocol.getPakMk()?"Y" : "N"); // 浣滀笟鏍囪
}
return R.ok().add(list);
@@ -251,6 +265,10 @@
return R.parse(BaseRes.PARAM);
}
+ if (Cools.isEmpty(param.getSourceLocNo(), param.getDistLocNo())) {
+ return R.parse(BaseRes.PARAM);
+ }
+
for (ShuttleSlave shuttleSlave : slaveProperties.getShuttle()) {
if (param.getShuttleNo().equals(shuttleSlave.getId())) {
ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttleSlave.getId());
diff --git a/src/main/java/com/zy/asrs/domain/vo/ShuttleMsgTableVo.java b/src/main/java/com/zy/asrs/domain/vo/ShuttleMsgTableVo.java
index df88570..3802838 100644
--- a/src/main/java/com/zy/asrs/domain/vo/ShuttleMsgTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/ShuttleMsgTableVo.java
@@ -14,31 +14,36 @@
// 鐘舵��
private String status = "-";
- // 婧愮珯
- private String sourceStaNo = "-";
-
- // 鐩爣绔�
- private String staNo = "-";
-
// 婧愬簱浣�
private String sourceLocNo = "-";
// 鐩爣搴撲綅
- private String locNo = "-";
-
- // 寮傚父
- private String error = "";
-
- // 鍘熺偣
- private String origin = "";
+ private String distLocNo = "-";
// 鍛戒护
private String command = "";
- // 閫熷害
- private Short speed = 0;
-
// 浣滀笟鏍囪
private String pakMk = "-";
+ /**
+ * 褰撳墠鐨勫崌闄嶄己鏈嶉�熷害
+ */
+ private Short currentLiftServoSpeed;
+
+ /**
+ * 褰撳墠鐨勮璧颁己鏈嶉�熷害
+ */
+ private Short currentMoveServoSpeed;
+
+ /**
+ * 褰撳墠鐨勫崌闄嶄己鏈嶈礋杞界巼
+ */
+ private String currentLiftServoLoad;
+
+ /**
+ * 褰撳墠鐨勮璧颁己鏈嶈礋杞界巼
+ */
+ private String currentMoveServoLoad;
+
}
diff --git a/src/main/java/com/zy/asrs/domain/vo/ShuttleStateTableVo.java b/src/main/java/com/zy/asrs/domain/vo/ShuttleStateTableVo.java
index 8c5d06a..c51d251 100644
--- a/src/main/java/com/zy/asrs/domain/vo/ShuttleStateTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/ShuttleStateTableVo.java
@@ -1,5 +1,7 @@
package com.zy.asrs.domain.vo;
+import com.zy.core.enums.ShuttleErrorCodeType;
+import com.zy.core.enums.ShuttleStatusType;
import lombok.Data;
@Data
@@ -11,34 +13,24 @@
// 鐘舵��
private String status = "-";
- // 鏈夌墿
- private String loading = "-";
+ //鍥涘悜绌挎杞﹀繖瑁呭~
+ private String busyStatus = "-";
+
+ /**
+ * 灏忚溅蹇欑姸鎬佷綅鏋氫妇
+ */
+ private ShuttleStatusType busyStatusType;
/**
* 浠诲姟鍙�
*/
public Integer taskNo;
- // 姝e湪鎵ц浠诲姟
- private String execute;
-
- // 浠诲姟瀹屾垚锛岀瓑寰匴CS纭
- private String waiting;
-
- // 鎺�
- private Short row;
-
- // 鍒�
- private Short bay;
-
- // 灞�
- private Short lev;
-
- // 寮傚父鐮�1
- private String alarm1 = "-";
-
- // 寮傚父鐮�2
- private String alarm2 = "-";
+ /**
+ * 褰撳墠浜岀淮鐮�
+ * 0涓虹┖
+ */
+ private Short currentCode;
/**
* 鐢垫睜鐢甸噺
@@ -46,9 +38,79 @@
public String batteryPower = "-";
/**
- * 褰撳墠閫熷害
+ * 鐢垫睜娓╁害
*/
- public Short speed;
+ public String batteryTemp = "-";
+
+ /**
+ * 閿欒缂栧彿
+ */
+ private Short errorCode;
+
+ /**
+ * Plc杈撳嚭鐘舵�両O
+ */
+ private Short plcOutputStatusIO;
+
+ /**
+ * 閿欒淇℃伅鐮�
+ */
+ private Short statusErrorCode;
+
+ /**
+ * 閿欒淇℃伅鐮佹灇涓�
+ */
+ private ShuttleErrorCodeType statusErrorCodeType;
+
+ /**
+ * PLC杈撳叆鐘舵��
+ */
+ private Short plcInputStatus;
+
+ /**
+ * 褰撳墠鎴栬�呬箣鍓嶈鍒扮殑浜岀淮鐮佸��
+ */
+ private Short currentOrBeforeCode;
+
+ /**
+ * 璇诲埌鐨勪簩缁寸爜X鏂瑰悜鍋忕Щ閲�
+ */
+ private Short codeOffsetX;
+
+ /**
+ * 璇诲埌鐨勪簩缁寸爜Y鏂瑰悜鍋忕Щ閲�
+ */
+ private Short codeOffsetY;
+
+ /**
+ * 褰撳墠鐨勭數鍘嬪��
+ */
+ private Short currentVoltage;
+
+ /**
+ * 褰撳墠鐨勬ā鎷熼噺鍊�
+ */
+ private Short currentAnalogValue;
+
+ /**
+ * 褰撳墠鐨勫崌闄嶄己鏈嶉�熷害
+ */
+ private Short currentLiftServoSpeed;
+
+ /**
+ * 褰撳墠鐨勮璧颁己鏈嶉�熷害
+ */
+ private Short currentMoveServoSpeed;
+
+ /**
+ * 褰撳墠鐨勫崌闄嶄己鏈嶈礋杞界巼
+ */
+ private Short currentLiftServoLoad;
+
+ /**
+ * 褰撳墠鐨勮璧颁己鏈嶈礋杞界巼
+ */
+ private Short currentMoveServoLoad;
/**
* 鍏呯數鐘舵��
@@ -60,4 +122,19 @@
*/
public String loca = "-";
+ public String getStatusErrorCode$() {
+ if(this.statusErrorCodeType == null) return null;
+ return this.statusErrorCodeType.desc;
+ }
+
+ public void setStatusErrorCode(Short statusErrorCode) {
+ this.statusErrorCode = statusErrorCode;
+ this.statusErrorCodeType = ShuttleErrorCodeType.get(statusErrorCode.intValue());
+ }
+
+ public void setStatusErrorCode(ShuttleErrorCodeType type) {
+ this.statusErrorCode = type.id.shortValue();
+ this.statusErrorCodeType = type;
+ }
+
}
diff --git a/src/main/java/com/zy/core/enums/ShuttleTaskModeType.java b/src/main/java/com/zy/core/enums/ShuttleTaskModeType.java
index 583d156..b827217 100644
--- a/src/main/java/com/zy/core/enums/ShuttleTaskModeType.java
+++ b/src/main/java/com/zy/core/enums/ShuttleTaskModeType.java
@@ -11,6 +11,7 @@
MOVE_RIGHT(6, "鍙崇Щ"),
MOVE_TOP(7, "鍓嶇Щ"),
MOVE_BOTTOM(8, "鍚庣Щ"),
+ RESET(9, "鐘舵�佸浣�"),
;
public Integer id;
diff --git a/src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java b/src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java
index 0a29623..029e9e2 100644
--- a/src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java
@@ -233,10 +233,15 @@
}
//鑾峰彇鐢垫睜鐢甸噺
- public Short getBatteryPower() {
+ public Short getBatteryPower$() {
return (short) (this.batteryPower * 0.1);
}
+ //鑾峰彇鐢垫睜娓╁害
+ public Short getBatteryTemp$() {
+ return (short) (this.batteryTemp * 0.1);
+ }
+
/**
* 璁剧疆灏忚溅鐘舵��
*/
diff --git a/src/main/java/com/zy/core/thread/ShuttleThread.java b/src/main/java/com/zy/core/thread/ShuttleThread.java
index 13db8e1..e5ecf37 100644
--- a/src/main/java/com/zy/core/thread/ShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/ShuttleThread.java
@@ -372,6 +372,14 @@
command.setRunDirection((short) (assignCommand.getTaskMode() - 4));
command.setCommandEnd((short) 1);
break;
+ case 9://鐘舵�佸浣�
+ command.setCommandWord((short) 0);
+ //璁剧疆鍥涘悜绌挎杞︿负绌洪棽鐘舵��
+ shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE);
+ //浠诲姟鍙锋竻闆�
+ shuttleProtocol.setTaskNo((short) 0);
+ break;
+ default:
}
command.setCommandEnd((short) 1);
diff --git a/src/main/webapp/views/shuttle.html b/src/main/webapp/views/shuttle.html
index 1fde92d..22252e4 100644
--- a/src/main/webapp/views/shuttle.html
+++ b/src/main/webapp/views/shuttle.html
@@ -33,19 +33,18 @@
<thead>
<tr>
<th>鍥涘悜绌挎杞�</th>
- <th>寰呭畾</th>
- <th>鐘舵��</th>
- <th>鏈夌墿</th>
- <th>鍦ㄨ建</th>
+ <th>浠诲姟鐘舵��</th>
+ <th>灏忚溅鐘舵��</th>
+ <th>褰撳墠浜岀淮鐮�</th>
<th>鐢甸噺</th>
- <th>鎺�</th>
- <th>鍒�</th>
- <th>灞�</th>
- <th>绛夊緟WCS纭</th>
- <th>瀹氫綅</th>
- <th>鍏呯數鐘舵��</th>
- <th>鎶ヨ淇℃伅1</th>
- <th>鎶ヨ淇℃伅2</th>
+ <th>鐢垫睜娓╁害</th>
+ <th>閿欒缂栧彿</th>
+ <th>plc杈撳嚭鐘舵�両O</th>
+ <th>褰撳墠鎴栦箣鍓嶄簩缁寸爜</th>
+ <th>x鍋忕Щ閲�</th>
+ <th>y鍋忕Щ閲�</th>
+ <th>鐢靛帇</th>
+ <th>妯℃嫙閲�</th>
</tr>
</thead>
<tbody>
@@ -61,11 +60,12 @@
<th>鍥涘悜绌挎杞�</th>
<th>宸ヤ綔鍙�</th>
<th>鐘舵��</th>
- <th>婧愮珯</th>
- <th>鐩爣绔�</th>
<th>婧愬簱浣�</th>
<th>鐩爣搴撲綅</th>
- <th>閫熷害</th>
+ <th>鍗囬檷浼烘湇閫熷害</th>
+ <th>琛岃蛋浼烘湇閫熷害</th>
+ <th>鍗囬檷浼烘湇璐熻浇</th>
+ <th>琛岃蛋浼烘湇璐熻浇</th>
<th>浣滀笟鏍囪</th>
</tr>
</thead>
@@ -123,6 +123,7 @@
<button class="item" onclick="shuttleOperator(6)">鍙崇Щ</button>
<button class="item" onclick="shuttleOperator(7)">鍓嶇Щ</button>
<button class="item" onclick="shuttleOperator(8)">鍚庣Щ</button>
+ <button class="item" onclick="shuttleOperator(9)">澶嶄綅</button>
</div>
</fieldset>
</div>
@@ -585,18 +586,17 @@
let tr = tableEl.find("tr").eq(i);
setVal(tr.children("td").eq(0), table[i-1].shuttleNo);
setVal(tr.children("td").eq(1), table[i-1].status);
- setVal(tr.children("td").eq(2), table[i-1].status);
- setVal(tr.children("td").eq(3), table[i-1].loading);
- setVal(tr.children("td").eq(4), table[i-1].track);
- setVal(tr.children("td").eq(5), table[i-1].batteryPower);
- setVal(tr.children("td").eq(6), table[i-1].row);
- setVal(tr.children("td").eq(7), table[i-1].bay);
- setVal(tr.children("td").eq(8), table[i-1].lev);
- setVal(tr.children("td").eq(9), table[i-1].waiting);
- setVal(tr.children("td").eq(10), table[i-1].loca);
- setVal(tr.children("td").eq(11), table[i-1].chargeStatus);
- setVal(tr.children("td").eq(12), table[i-1].alarm1);
- setVal(tr.children("td").eq(13), table[i-1].alarm2);
+ setVal(tr.children("td").eq(2), table[i-1].busyStatus);
+ setVal(tr.children("td").eq(3), table[i-1].currentCode);
+ setVal(tr.children("td").eq(4), table[i-1].batteryPower);
+ setVal(tr.children("td").eq(5), table[i-1].batteryTemp);
+ setVal(tr.children("td").eq(6), table[i-1].statusErrorCode$);
+ setVal(tr.children("td").eq(7), table[i-1].plcOutputStatusIO);
+ setVal(tr.children("td").eq(8), table[i-1].currentOrBeforeCode);
+ setVal(tr.children("td").eq(9), table[i-1].codeOffsetX);
+ setVal(tr.children("td").eq(10), table[i-1].codeOffsetY);
+ setVal(tr.children("td").eq(11), table[i-1].currentVoltage);
+ setVal(tr.children("td").eq(12), table[i-1].currentAnalogValue);
}
} else if (res.code === 403){
window.location.href = baseUrl+"/login";
@@ -626,12 +626,13 @@
setVal(tr.children("td").eq(0), table[i-1].shuttleNo);
setVal(tr.children("td").eq(1), table[i-1].workNo);
setVal(tr.children("td").eq(2), table[i-1].status);
- setVal(tr.children("td").eq(3), table[i-1].sourceStaNo);
- setVal(tr.children("td").eq(4), table[i-1].staNo);
- setVal(tr.children("td").eq(5), table[i-1].sourceLocNo);
- setVal(tr.children("td").eq(6), table[i-1].locNo);
- setVal(tr.children("td").eq(7), table[i-1].speed);
- setVal(tr.children("td").eq(8), table[i-1].pakMk);
+ setVal(tr.children("td").eq(3), table[i-1].sourceLocNo);
+ setVal(tr.children("td").eq(4), table[i-1].distLocNo);
+ setVal(tr.children("td").eq(5), table[i-1].currentLiftServoSpeed);
+ setVal(tr.children("td").eq(6), table[i-1].currentMoveServoSpeed);
+ setVal(tr.children("td").eq(7), table[i-1].currentLiftServoLoad);
+ setVal(tr.children("td").eq(8), table[i-1].currentMoveServoLoad);
+ setVal(tr.children("td").eq(9), table[i-1].pakMk);
}
} else if (res.code === 403){
window.location.href = baseUrl+"/login";
--
Gitblit v1.9.1