From 2fe889c0da06206e8c00012026938aa81312509c Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期日, 26 十一月 2023 16:56:34 +0800
Subject: [PATCH] #输送线回退
---
src/main/java/com/zy/asrs/entity/ToAgvDTO.java | 21 +++
src/main/java/com/zy/core/model/protocol/StaProtocol.java | 24 +++
src/main/java/com/zy/core/model/CrnSlave.java | 3
src/main/java/com/zy/core/model/DevpSlave.java | 2
src/main/java/com/zy/asrs/controller/OpenController.java | 48 +++++-
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 84 ++++++++++++
src/main/java/com/zy/asrs/entity/ToWmsDTO.java | 13 +
src/main/resources/application-prod.yml | 41 +++--
src/main/java/com/zy/core/MainProcess.java | 2
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 128 ++++++++++++++++-
10 files changed, 329 insertions(+), 37 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 1ad9267..764aa2a 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,27 +1,30 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.BasDevp;
-import com.zy.asrs.entity.CommandInfo;
-import com.zy.asrs.entity.TaskWrk;
-import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
import com.zy.asrs.entity.param.taskCreateParam;
import com.zy.asrs.service.*;
+import com.zy.common.utils.HttpHandler;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
@Slf4j
@RestController
@@ -38,6 +41,9 @@
private TaskWrkController taskWrkController;
@Autowired
private BasDevpService basDevpService;
+
+ @Value("${wms.url}")
+ private String wmsUrl;
private static final boolean auth = true;
@@ -110,7 +116,7 @@
@PostMapping("/targetWharfApply")
public R targetWharfApply(@RequestHeader String appkey,
@RequestBody WMSAndAGVInterfaceParam param,
- HttpServletRequest request) {
+ HttpServletRequest request) throws IOException {
if (Cools.isEmpty(param)){
return R.error("鍙傛暟涓虹┖锛�");
} else if (Cools.isEmpty(param.getTaskNo())){
@@ -122,12 +128,35 @@
} else if (Cools.isEmpty(param.getFreeWharfs()) || param.getFreeWharfs().size()==0){
return R.error("绌洪棽鐨勫叆搴撶爜澶达紙AGV锛変负绌猴紒");
}
- TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
+ ToWmsDTO toWmsDTO = new ToWmsDTO();
+ Map<String, Object> map = new HashMap<>();
+ map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
+ List<Integer> list = new ArrayList<>();
+ list.add(1);
+ list.add(4);
+ //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
+ toWmsDTO.setWarehouseId("1688469798893297665");
+ toWmsDTO.setContainerCode(param.getContainerCode());
+ toWmsDTO.setApplyType("TUNNEL");
+ toWmsDTO.setCanInboundTunnels(list);
+ String response = new HttpHandler.Builder()
+ .setHeaders(map)
+ .setUri(wmsUrl)
+ .setPath("wcsManager/wcsInterface/inboundTaskApply")
+ .setJson(JSON.toJSONString(toWmsDTO))
+ .build()
+ .doPost();
- if (Cools.isEmpty(taskWrk)){
- return R.error("鏈煡璇㈠埌浠诲姟锛屼换鍔″彿锛�"+param.getTaskNo());
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(200)) {
+ //瑙f瀽
+ return R.ok(jsonObject.get("data"));
+ }else {
+ return R.error((String) jsonObject.get("msg"));
}
- return R.ok(taskWrk.getStartPoint());
+
+
+
}
//AGV璇锋眰鍔ㄤ綔鎺ュ彛
@@ -135,6 +164,7 @@
public R agvTaskRequest(@RequestHeader String appkey,
@RequestBody WMSAndAGVInterfaceParam param,
HttpServletRequest request) {
+ auth(appkey, param, request);
if (Cools.isEmpty(param)){
return R.error("鍙傛暟涓虹┖锛�");
} else if (Cools.isEmpty(param.getRequestType())){
diff --git a/src/main/java/com/zy/asrs/entity/ToAgvDTO.java b/src/main/java/com/zy/asrs/entity/ToAgvDTO.java
new file mode 100644
index 0000000..6ccb5b2
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/ToAgvDTO.java
@@ -0,0 +1,21 @@
+package com.zy.asrs.entity;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class ToAgvDTO {
+ private String taskNo;
+ private String warehouseId;
+ private String warehouseCode;
+ private String taskType;
+ private String taskPriority;
+ private String containerCode;
+ private String containerTypeCode;
+ private String emptyContainer;
+ private Date createTime;
+ private Integer taskTunnel;
+ private String targetLocationCode;
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/ToWmsDTO.java b/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
new file mode 100644
index 0000000..f0497e7
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
@@ -0,0 +1,13 @@
+package com.zy.asrs.entity;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ToWmsDTO {
+ private String warehouseId;
+ private String containerCode;
+ private String applyType;
+ private List<Integer> canInboundTunnels;
+}
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 d4f1f20..511ccb0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -16,14 +16,18 @@
import com.zy.common.utils.HttpHandler;
import com.zy.core.CrnThread;
import com.zy.core.DevpThread;
+import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.*;
import com.zy.core.model.CrnSlave;
+import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.command.CrnCommand;
import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.BarcodeThread;
+import com.zy.core.thread.LedThread;
import com.zy.core.thread.SiemensDevpThread;
import com.zy.system.entity.Config;
import com.zy.system.service.ConfigService;
@@ -76,6 +80,86 @@
@Value("${wms.movePath}")
private String movePath;
+
+ public void generateStoreWrkFile() {
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 閬嶅巻鍏ュ簱鍙�
+ for (DevpSlave.Sta inSta : devp.getInSta()) {
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ Short workNo = staProtocol.getWorkNo();
+ // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+ if (staProtocol.isAutoing() && staProtocol.isLoading()
+ && !staProtocol.isInEnable()
+ && !staProtocol.isEmptyMk() && (workNo >= 0)
+ && staProtocol.isPakMk()) {
+
+ // 灏哄妫�娴嬪紓甯�
+ boolean back = false;
+ String errMsg = "";
+ if (staProtocol.isFrontErr()) {
+ errMsg = "鍓嶈秴闄�";
+ back = true;
+ }
+ if (!back && staProtocol.isBackErr()) {
+ errMsg = "鍚庤秴闄�";
+ back = true;
+ }
+ if (!back && staProtocol.isHighErr()) {
+ errMsg = "楂樿秴闄�";
+ back = true;
+ }
+ if (!back && staProtocol.isLeftErr()) {
+ errMsg = "宸﹁秴闄�";
+ back = true;
+ }
+ if (!back && staProtocol.isRightErr()) {
+ errMsg = "鍙宠秴闄�";
+ back = true;
+ }
+ if (!back && staProtocol.isWeightErr()) {
+ errMsg = "瓒呴噸";
+ back = true;
+ }
+ if (!back && staProtocol.isBarcodeErr()) {
+ errMsg = "鎵爜澶辫触";
+ back = true;
+ }
+ // 閫�鍥�
+ if (back) {
+// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
+ staProtocol.setWorkNo(workNo);
+ staProtocol.setStaNo(inSta.getBackSta().shortValue());
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+
+
+ continue;
+ }
+ // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
+ if (barcodeThread == null) {
+ continue;
+ }
+ String barcode = barcodeThread.getBarcode();
+ if(!Cools.isEmpty(barcode)) {
+
+ }
+ }
+
+
+ }
+ }
+ }
+
+
/**
* 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
*/
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 6add849..b213ca1 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -46,7 +46,7 @@
// 婕旂ず
// mainService.crnDemoOfLocMove1();
// 鍏ュ簱 ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
-// mainService.generateStoreWrkFile(); // 缁勬墭
+ mainService.generateStoreWrkFile(); // 缁勬墭
// 鍑哄簱 ===>> 鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯
mainService.crnStnToOutStn();
// 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
diff --git a/src/main/java/com/zy/core/model/CrnSlave.java b/src/main/java/com/zy/core/model/CrnSlave.java
index cfee50d..f84dcdc 100644
--- a/src/main/java/com/zy/core/model/CrnSlave.java
+++ b/src/main/java/com/zy/core/model/CrnSlave.java
@@ -46,6 +46,9 @@
// 灞�
private Integer lev;
+ //閫�鍥炵珯鐐�
+ private Integer backSta;
+
}
}
diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java
index bb45c71..799cab2 100644
--- a/src/main/java/com/zy/core/model/DevpSlave.java
+++ b/src/main/java/com/zy/core/model/DevpSlave.java
@@ -35,6 +35,8 @@
private Integer barcode;
private Integer scale;
+
+ private Integer backSta;
}
}
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index 28513ec..f6bde14 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -59,6 +59,30 @@
//鎸囦护ID
private Integer commandId;
+ // 澶栧舰妫�娴� ------------------------------------------------------------------------
+
+ // 鍓嶈秴闄�
+ private boolean frontErr;
+
+ // 鍚庤秴闄�
+ private boolean backErr;
+
+ // 楂樿秴闄�
+ private boolean highErr;
+
+ // 宸﹁秴闄�
+ private boolean leftErr;
+
+ // 鍙宠秴闄�
+ private boolean rightErr;
+
+ // 瓒呴噸
+ private boolean weightErr;
+
+ // 鎵爜澶辫触
+ private boolean barcodeErr;
+
+
public BasDevp toSqlModel(){
BasDevp basDevp = new BasDevp();
basDevp.setDevNo(siteId);
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 1c4f054..d258bd5 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -232,19 +232,121 @@
}
}
-// //鏉$爜
-// Thread.sleep(200);
-// OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.160",(short)4);
-// if (result2.IsSuccess) {
-// for (int i = 0; i < barcodeSize; i++) {
-// String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
-// BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
-// if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
-// barcodeThread.setBarcode(barcode);
-// }
-// }
-//
-// }
+ //鏉$爜
+ Thread.sleep(200);
+ OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.100",(short)31);
+ if (result2.IsSuccess) {
+ for (int i = 0; i < barcodeSize; i++) {
+ String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
+ if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
+ barcodeThread.setBarcode(barcode);
+ }
+ }
+
+ }
+ if (slave.getId() == 1){
+ // 澶栧舰妫�娴� - 102
+ Thread.sleep(100);
+ OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB101.150", (short)1);
+ if (result4.IsSuccess) {
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result4.Content, 0, 1);
+ StaProtocol staProtocol = station.get(103);
+ staProtocol.setFrontErr(status[0]);
+ staProtocol.setBackErr(status[1]);
+ staProtocol.setHighErr(status[2]);
+ staProtocol.setLeftErr(status[3]);
+ staProtocol.setRightErr(status[4]);
+ staProtocol.setWeightErr(status[5]);
+ staProtocol.setBarcodeErr(status[6]);
+ }
+ // 澶栧舰妫�娴� - 107
+ Thread.sleep(50);
+ OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB101.154", (short)1);
+ if (result5.IsSuccess) {
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result5.Content, 0, 1);
+ StaProtocol staProtocol = station.get(107);
+ staProtocol.setFrontErr(status[0]);
+ staProtocol.setBackErr(status[1]);
+ staProtocol.setHighErr(status[2]);
+ staProtocol.setLeftErr(status[3]);
+ staProtocol.setRightErr(status[4]);
+ staProtocol.setWeightErr(status[5]);
+ staProtocol.setBarcodeErr(status[6]);
+ }
+ // 澶栧舰妫�娴� - 111
+ Thread.sleep(50);
+ OperateResultExOne<byte[]> result6 = siemensS7Net.Read("DB101.158", (short)1);
+ if (result6.IsSuccess) {
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result6.Content, 0, 1);
+ StaProtocol staProtocol = station.get(111);
+ staProtocol.setFrontErr(status[0]);
+ staProtocol.setBackErr(status[1]);
+ staProtocol.setHighErr(status[2]);
+ staProtocol.setLeftErr(status[3]);
+ staProtocol.setRightErr(status[4]);
+ staProtocol.setWeightErr(status[5]);
+ staProtocol.setBarcodeErr(status[6]);
+ }
+ // 澶栧舰妫�娴� - 115
+ Thread.sleep(50);
+ OperateResultExOne<byte[]> result7 = siemensS7Net.Read("DB101.162", (short)1);
+ if (result7.IsSuccess) {
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result7.Content, 0, 1);
+ StaProtocol staProtocol = station.get(115);
+ staProtocol.setFrontErr(status[0]);
+ staProtocol.setBackErr(status[1]);
+ staProtocol.setHighErr(status[2]);
+ staProtocol.setLeftErr(status[3]);
+ staProtocol.setRightErr(status[4]);
+ staProtocol.setWeightErr(status[5]);
+ staProtocol.setBarcodeErr(status[6]);
+ }
+ // 澶栧舰妫�娴� - 119
+ Thread.sleep(50);
+ OperateResultExOne<byte[]> result8 = siemensS7Net.Read("DB101.166", (short)1);
+ if (result8.IsSuccess) {
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result8.Content, 0, 1);
+ StaProtocol staProtocol = station.get(119);
+ staProtocol.setFrontErr(status[0]);
+ staProtocol.setBackErr(status[1]);
+ staProtocol.setHighErr(status[2]);
+ staProtocol.setLeftErr(status[3]);
+ staProtocol.setRightErr(status[4]);
+ staProtocol.setWeightErr(status[5]);
+ staProtocol.setBarcodeErr(status[6]);
+ }
+ // 澶栧舰妫�娴� - 123
+ Thread.sleep(50);
+ OperateResultExOne<byte[]> result9 = siemensS7Net.Read("DB101.170", (short)1);
+ if (result9.IsSuccess) {
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result9.Content, 0, 1);
+ StaProtocol staProtocol = station.get(123);
+ staProtocol.setFrontErr(status[0]);
+ staProtocol.setBackErr(status[1]);
+ staProtocol.setHighErr(status[2]);
+ staProtocol.setLeftErr(status[3]);
+ staProtocol.setRightErr(status[4]);
+ staProtocol.setWeightErr(status[5]);
+ staProtocol.setBarcodeErr(status[6]);
+ }
+ } else if (slave.getId() == 3) {
+ // 澶栧舰妫�娴� - 111
+ Thread.sleep(50);
+ OperateResultExOne<byte[]> result10 = siemensS7Net.Read("DB101.26", (short)1);
+ if (result10.IsSuccess) {
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result10.Content, 0, 1);
+ StaProtocol staProtocol = station.get(301);
+ staProtocol.setFrontErr(status[0]);
+ staProtocol.setBackErr(status[1]);
+ staProtocol.setHighErr(status[2]);
+ staProtocol.setLeftErr(status[3]);
+ staProtocol.setRightErr(status[4]);
+ staProtocol.setWeightErr(status[5]);
+ staProtocol.setBarcodeErr(status[6]);
+ }
+ }
+
// //RGV鍙拌溅浣嶇疆
// Thread.sleep(200);
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 7866d23..c1953f2 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -21,6 +21,7 @@
row: 3
bay: 1
lev: 1
+ backSta: 102
devpPlcId: ${wcs-slave.devp[0].id}
crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐�
staNo: 200
@@ -53,6 +54,7 @@
row: 6
bay: 1
lev: 1
+ backSta: 106
devpPlcId: ${wcs-slave.devp[0].id}
crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐�
staNo: 206
@@ -85,6 +87,7 @@
row: 9
bay: 1
lev: 1
+ backSta: 110
devpPlcId: ${wcs-slave.devp[0].id}
crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐�
staNo: 212
@@ -117,6 +120,7 @@
row: 13
bay: 1
lev: 1
+ backSta: 114
devpPlcId: ${wcs-slave.devp[0].id}
crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐�
staNo: 218
@@ -149,6 +153,7 @@
row: 17
bay: 1
lev: 1
+ backSta: 118
devpPlcId: ${wcs-slave.devp[0].id}
crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐�
staNo: 224
@@ -181,6 +186,7 @@
row: 21
bay: 1
lev: 1
+ backSta: 122
devpPlcId: ${wcs-slave.devp[0].id}
crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐�
staNo: 230
@@ -201,7 +207,7 @@
port: 102
slot: 0
emptyInSta[0]: #绌烘澘鍏ュ簱鍙�0
- staNo: 101
+ staNo: 103
emptyInSta[1]: #绌烘澘鍏ュ簱鍙�1
staNo: 105
emptyInSta[2]: #绌烘澘鍏ュ簱鍙�2
@@ -214,42 +220,48 @@
staNo: 121
inSta[0]: #鍏ュ簱鍙�1
scale: ${wcs-slave.scale[0].id}
- staNo: 101
+ staNo: 103
+ backSta: 102
barcode: ${wcs-slave.barcode[0].id}
inSta[1]: #鍏ュ簱鍙�2
scale: ${wcs-slave.scale[1].id}
- staNo: 105
+ staNo: 107
+ backSta: 106
barcode: ${wcs-slave.barcode[1].id}
#slot: 0
inSta[2]: #鍏ュ簱鍙�1
scale: ${wcs-slave.scale[0].id}
- staNo: 109
+ staNo: 111
+ backSta: 110
barcode: ${wcs-slave.barcode[0].id}
inSta[3]: #鍏ュ簱鍙�1
scale: ${wcs-slave.scale[0].id}
- staNo: 113
+ staNo: 115
+ backSta: 114
barcode: ${wcs-slave.barcode[0].id}
inSta[4]: #鍏ュ簱鍙�2
scale: ${wcs-slave.scale[1].id}
- staNo: 117
+ staNo: 119
+ backSta: 118
barcode: ${wcs-slave.barcode[1].id}
#slot: 0
inSta[5]: #鍏ュ簱鍙�1
scale: ${wcs-slave.scale[0].id}
- staNo: 121
+ staNo: 123
+ backSta: 122
barcode: ${wcs-slave.barcode[0].id}
outSta[0]: #鍑哄簱鍙�1
- staNo: 102
+ staNo: 100
outSta[1]: #鍑哄簱鍙�2
- staNo: 106
+ staNo: 104
outSta[2]: #鍑哄簱鍙�2
- staNo: 110
+ staNo: 108
outSta[3]: #鍑哄簱鍙�1
- staNo: 114
+ staNo: 112
outSta[4]: #鍑哄簱鍙�2
- staNo: 118
+ staNo: 116
outSta[5]: #鍑哄簱鍙�2
- staNo: 122
+ staNo: 120
devp[1]: #杈撻�佺嚎
id: 2
ip: 172.17.91.45
@@ -266,8 +278,9 @@
staNo: 306
inSta[0]: #鍏ュ簱鍙�1
scale: ${wcs-slave.scale[1].id}
- staNo: 306
+ staNo: 301
barcode: ${wcs-slave.barcode[1].id}
+ backSta: 300
#slot: 0
outSta[0]: #鍑哄簱鍙�1
staNo: 307
--
Gitblit v1.9.1