From 09358392b9c559ebbc9503f1cecea3b7ab3e6c2c Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期二, 02 十二月 2025 16:06:15 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/entity/BasArmMast.java | 15 ++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 112 +++++++++++++++-
src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinTwoParam.java | 15 ++
src/main/java/com/zy/common/constant/AgvConstant.java | 16 ++
src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java | 2
src/main/java/com/zy/asrs/entity/param/ArmBarcodeTwoParam.java | 86 ++++++++++++
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 103 +++++++++-----
src/main/java/com/zy/asrs/utils/PostMesDataUtils.java | 55 +++++++
8 files changed, 360 insertions(+), 44 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/BasArmMast.java b/src/main/java/com/zy/asrs/entity/BasArmMast.java
index 3e37352..4c9cc2d 100644
--- a/src/main/java/com/zy/asrs/entity/BasArmMast.java
+++ b/src/main/java/com/zy/asrs/entity/BasArmMast.java
@@ -4,6 +4,9 @@
import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.annotations.TableField;
+import com.core.common.SnowflakeIdWorker;
+import com.core.common.SpringUtils;
+import com.zy.asrs.entity.param.ArmBarcodeTwoParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.baomidou.mybatisplus.annotations.TableName;
@@ -148,6 +151,18 @@
this.armMsg = armMsg;
}
+
+ public BasArmMast(ArmBarcodeTwoParam param) {
+ SnowflakeIdWorker snowflakeIdWorker = SpringUtils.getBean(SnowflakeIdWorker.class);
+ this.orderNo = param.getOrderNo();
+ this.sku = param.getSku();
+ this.matnr = param.getItem();
+ this.po = param.getPo();
+ this.upc = param.getUpc();
+ this.createTime = snowflakeIdWorker.nextId();
+ this.bindingTags = snowflakeIdWorker.nextId();
+ }
+
// BasArmMast basArmMast = new BasArmMast(
// null, // 鏈烘鑷傜紪鍙穂闈炵┖]
// null, // 鎿嶄綔鏂瑰悜[闈炵┖]
diff --git a/src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinTwoParam.java b/src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinTwoParam.java
new file mode 100644
index 0000000..89549c1
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinTwoParam.java
@@ -0,0 +1,15 @@
+package com.zy.asrs.entity.param;
+import lombok.Data;
+
+/*
+ * Created by Monkey D. Luffy on 2025.09.09
+ * */
+@Data
+public class AgvBindCtnrAndBinTwoParam {
+
+ private String reqCode;
+ private String podcode;//鎵樼洏鐮�
+ private String positionCode = "2034";//绔欑偣
+ private String indBind;
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java b/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
index ea8c94f..f3af272 100644
--- a/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
@@ -47,7 +47,7 @@
return;
case 1:
getAgvTaskAssignmentParam1(basAgvMast);
- taskTyp = basAgvMast.getDevpId()==1?"1FYK":"";
+ taskTyp = basAgvMast.getFloorNo()==1?"1FYK":"4FYK1";
ctnrTyp = "1";
return;
case 2:
diff --git a/src/main/java/com/zy/asrs/entity/param/ArmBarcodeTwoParam.java b/src/main/java/com/zy/asrs/entity/param/ArmBarcodeTwoParam.java
new file mode 100644
index 0000000..e8d4cf9
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/ArmBarcodeTwoParam.java
@@ -0,0 +1,86 @@
+package com.zy.asrs.entity.param;
+
+import com.core.common.Cools;
+import com.zy.asrs.entity.BasArmMast;
+import lombok.Data;
+
+/*
+ * Created by Monkey D. Luffy on 2025.09.09
+ * */
+@Data
+public class ArmBarcodeTwoParam {
+
+ private String orderNo;
+ private String po;
+ private String item;
+ private String sku;
+ private String upc;
+
+ public ArmBarcodeTwoParam() {}
+
+ public ArmBarcodeTwoParam(String[][] barcodeArr) {
+ for (String[] barcodes : barcodeArr){
+ if (barcodes[0].equals("orderNo")){
+ this.orderNo = barcodes[1];
+ }
+ if (barcodes[0].equals("po")){
+ this.po = barcodes[1];
+ }
+ if (barcodes[0].equals("item")){
+ this.item = barcodes[1];
+ }
+ if (barcodes[0].equals("sku")){
+ this.sku = barcodes[1];
+ }
+ if (barcodes[0].equals("upc")){
+ this.upc = barcodes[1];
+ }
+ }
+ }
+
+ public ArmBarcodeTwoParam(String orderNo, String po, String item, String sku, String upc) {
+ this.orderNo = orderNo;
+ this.po = po;
+ this.item = item;
+ this.sku = sku;
+ this.upc = upc;
+ }
+
+ public boolean allBool(){
+ if (Cools.isEmpty(orderNo)){
+ return false;
+ }
+ if (Cools.isEmpty(po)){
+ return false;
+ }
+ if (Cools.isEmpty(item)){
+ return false;
+ }
+ if (Cools.isEmpty(sku)){
+ return false;
+ }
+ if (Cools.isEmpty(upc)){
+ return false;
+ }
+ return true;
+ }
+
+ public boolean allBool(BasArmMast basArmMast){
+ if (!basArmMast.getOrderNo().equals(orderNo)){
+ return false;
+ }
+// if (!basArmMast.getPo().equals(po)){
+// return false;
+// }
+// if (!basArmMast.getSku().equals(sku)){
+// return false;
+// }
+ if (!basArmMast.getMatnr().equals(item)){
+ return false;
+ }
+// if (!basArmMast.getUpc().equals(upc)){
+// return false;
+// }
+ return true;
+ }
+}
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 d6a8159..29fd386 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -83,6 +83,8 @@
@Autowired
private BasDevpService basDevpService;
@Autowired
+ private SnowflakeIdWorker snowflakeIdWorker;
+ @Autowired
private LocDetlService locDetlService;
@Autowired
private BasErrLogService basErrLogService;
@@ -923,16 +925,23 @@
*/
public synchronized void connectWrk(Integer mark) {
for (DevpSlave devp : slaveProperties.getDevp()) {
- SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
- StaProtocol staProtocolIn = devpThread.getStation().get(4001);
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ SiemensDevpThread devpThread2 = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+
+ StaProtocol staProtocolIn = devpThread2.getStation().get(4001);
if (staProtocolIn == null) {
continue;
} else {
staProtocolIn = staProtocolIn.clone();
}
- int[] outStaNos = {1015, 2016}; //琛旀帴鍏ュ簱鐐�
+ int[] outStaNos = {1015,2016}; //琛旀帴鍏ュ簱鐐�
for (int outStaNo : outStaNos) {
- StaProtocol staProtocolOut = devpThread.getStation().get(outStaNo);// 鐩樼偣鍑哄簱琛旀帴绔欑偣锛堝彲鑳芥槸 1015锛屼篃鍙兘鏄� 2016锛�
+ StaProtocol staProtocolOut =null;
+ if(outStaNo == 2016){
+ staProtocolOut = devpThread2.getStation().get(outStaNo);
+ }else{
+ staProtocolOut = devpThread.getStation().get(outStaNo);
+ }
if (staProtocolOut == null) {
continue;
} else {
@@ -2861,6 +2870,8 @@
public synchronized void autoEmptyOut() {
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ SiemensDevpThread devpThread2 = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+
List<Integer> list = new ArrayList<>();
list.add(1108);list.add(2031);
for (Integer site:list){
@@ -2874,7 +2885,7 @@
//濡傛灉绔欑偣鍙嚭绂佺敤锛屽垯涓嶇敓鎴愮┖鐩樺嚭搴撲换鍔�
switch (site){
case 1108:staProtocol = devpThread.getStation().get(site - 2);break;
- case 2031:staProtocol = devpThread.getStation().get(site);break;
+ case 2031:staProtocol = devpThread2.getStation().get(site);break;
}
if (staProtocol == null) {
return;
@@ -4414,13 +4425,84 @@
}
String barcode = staProtocol.getBarcode();
if(!Cools.isEmpty(barcode)) {
- if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+ if("NG".endsWith(barcode) || "NoRead".equals(barcode) || "0".equals(barcode) || barcode.length()<5) {
armTaskAssignmentCallApiLogSave(staProtocol, "鎵樼洏鏉$爜涓虹┖", staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛�===銆嬫墭鐩樻潯鐮佷负绌�", false);
continue;
}
} else {
armTaskAssignmentCallApiLogSave(staProtocol, "鎵樼洏鏉$爜涓虹┖", staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛�===銆嬫墭鐩樻潯鐮佷负绌�", false);
continue;
+ }
+ String[] barcodeList = barcode.split(";");
+ String[][] barcodeArr = new String[barcodeList.length / 2][2];
+ int i = 0;
+ for (String[] barcodes : barcodeArr){
+ barcodes[0]=barcodeList[i];
+ i++;
+ barcodes[1]=barcodeList[i];
+ i++;
+ }
+ ArmBarcodeTwoParam armBarcodeTwoParam = new ArmBarcodeTwoParam(barcodeArr);
+ if (!armBarcodeTwoParam.allBool()){
+ continue;
+ }
+
+
+ List<BasArmMast> basArmMastList = basArmMastService.selectList(
+ new EntityWrapper<BasArmMast>()
+ .eq("arm_no", armSta.getArmNo())
+ .lt("status", 2)
+ );
+ if (!basArmMastList.isEmpty()){
+ armTaskAssignmentCallApiLogSave(staProtocol, armSta.getArmNo()+"鍙锋満姊拌噦瀛樺湪鏈畬鎴愪换鍔�", staProtocol.getSiteId()+"鏈烘鑷傦紝===銆嬪瓨鍦ㄦ湭瀹屾垚浠诲姟", false);
+ continue;
+ }
+ List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<BasArm>().eq("arm_no",armSta.getArmNo()));
+ boolean sign = true;
+ for (BasArm basArm : basArmList){
+ if (basArm.getStaNo()==2){//NG
+ continue;
+ }
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", basArm.getStaNoSou()));
+ if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("D")){
+ continue;
+ }
+ List<BasArmMast> basArmMastList2 = basArmMastService.selectList(
+ new EntityWrapper<BasArmMast>()
+ .eq("arm_no", basArm.getArmNo())
+ .eq("sorting_line", basArm.getSortingLineSou())
+ .eq("sta_no", basArm.getStaNoSou())
+ .eq("status", 2)
+ );
+ if (!basArmMastList2.isEmpty()){
+ BasArmMast basArmMast2 = basArmMastList2.get(0);
+ if (!armBarcodeTwoParam.allBool(basArmMast2)){
+ continue;
+ }
+ }
+ BasArmMast basArmMast = new BasArmMast(armBarcodeTwoParam);
+ basArmMast.setArmNo(basArm.getArmNo());
+ basArmMast.setStaNo(basArm.getStaNoSou());
+ basArmMast.setSortingLine(basArm.getSortingLineSou());
+ basArmMastService.insert(basArmMast);
+ sign = false;
+ break;
+ }
+ if (sign){
+ for (BasArm basArm : basArmList){
+ if (basArm.getStaNo()==2){//NG
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", basArm.getStaNoSou()));
+ if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("D")){
+ continue;
+ }
+ BasArmMast basArmMast = new BasArmMast(armBarcodeTwoParam);
+ basArmMast.setArmNo(basArm.getArmNo());
+ basArmMast.setStaNo(basArm.getStaNoSou());
+ basArmMast.setSortingLine(basArm.getSortingLineSou());
+ basArmMastService.insert(basArmMast);
+ break;
+ }
+ }
}
}
}
@@ -5290,7 +5372,7 @@
(basAgvMast.getSourceStaNo().equals(2033))){
AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast);
- if(basAgvMast.getFloorNo()==1 || basAgvMast.getStaNo().equals(2034)) {
+ if(basAgvMast.getFloorNo()==1) {
// WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
// AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast);
// agvBindCtnrAndBinParam.setCtnrCode(basAgvMast.getTimestamp().toString());
@@ -5317,6 +5399,22 @@
agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
}
}else{
+ if (!Cools.isEmpty(basAgvMast.getSourceStaNo())){
+ if (basAgvMast.getSourceStaNo().equals(4006)){
+
+ AgvBindCtnrAndBinTwoParam agvBindCtnrAndBinTwoParam = new AgvBindCtnrAndBinTwoParam();
+ agvBindCtnrAndBinTwoParam.setReqCode(String.valueOf(snowflakeIdWorker.nextId()));
+ agvBindCtnrAndBinTwoParam.setPodcode(basAgvMast.getBarcode());
+ agvBindCtnrAndBinTwoParam.setPositionCode(basAgvMast.getSourceStaNo().toString());
+ agvBindCtnrAndBinTwoParam.setIndBind("1");;
+ ReturnT<String> resultBind = new PostMesDataUtils().postMesDataArmGrating("AGV瀹瑰櫒缁戝畾瑙g粦",
+ AgvConstant.AGV_URL+"/"+AgvConstant.AGV_hikRpcService,AgvConstant.getAGVADAPTOR(2), agvBindCtnrAndBinTwoParam);
+ if (resultBind.getCode()!=200){
+ basAgvMast.setStatus(4);
+ basAgvMastService.updateById(basAgvMast);
+ }
+ }
+ }
//浠诲姟涓嬪彂
ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
if (result.getCode()==200){
diff --git a/src/main/java/com/zy/asrs/utils/PostMesDataUtils.java b/src/main/java/com/zy/asrs/utils/PostMesDataUtils.java
index 5bb6085..0998ac1 100644
--- a/src/main/java/com/zy/asrs/utils/PostMesDataUtils.java
+++ b/src/main/java/com/zy/asrs/utils/PostMesDataUtils.java
@@ -64,6 +64,61 @@
return SUCCESS;
}
+ public ReturnT<String> postMesDataArmGrating(String name, String URL, String mesPath, Object combParam){
+// if (true){
+// System.out.println("name:"+name+",URL:"+URL+",mesPath:"+mesPath+",combParam:"+combParam);
+// return SUCCESS;
+// }
+ if(combParam != null){
+ String response = "";
+ boolean success = false;
+ try {
+// Map<String, Object> map = new HashMap<>()
+// map.put("appkey","ea1f0459efc02a79f046f982767939ae");
+ response = new HttpHandler.Builder()
+// .setHeaders(map)
+ .setUri(URL)
+ .setPath(mesPath)
+ .setJson(JSON.toJSONString(combParam))
+ .build()
+ .doPost();
+ System.out.println("response:"+response);
+ JSONObject jsonObject = JSON.parseObject(response);
+
+ if (jsonObject.getInteger("code").equals(0)) {
+ success = true;
+ } else {
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+mesPath, JSON.toJSONString(combParam), response);
+ throw new CoolException(name);
+ }
+ } catch (Exception e) {
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+mesPath, JSON.toJSONString(combParam), response);
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg(e.getMessage());
+ } finally {
+ try {
+ if (success){
+ // 淇濆瓨鎺ュ彛鏃ュ織
+ ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class);
+ apiLogService.save(
+ name,
+ URL +"/"+ mesPath,
+ null,
+ "127.0.0.1",
+ JSON.toJSONString(combParam),
+ response,
+ success
+ );
+ } else {
+ postMesDataCallApiLogSave(response,success,name, URL, mesPath, combParam);
+ }
+ } catch (Exception e) {
+ log.error("", e); }
+ }
+ }
+ return SUCCESS;
+ }
+
public ReturnT<String> postMesData(String name, String URL, String mesPath, Object combParam){
// if (true){
// System.out.println("name:"+name+",URL:"+URL+",mesPath:"+mesPath+",combParam:"+combParam);
diff --git a/src/main/java/com/zy/common/constant/AgvConstant.java b/src/main/java/com/zy/common/constant/AgvConstant.java
index 9e7d66c..499293a 100644
--- a/src/main/java/com/zy/common/constant/AgvConstant.java
+++ b/src/main/java/com/zy/common/constant/AgvConstant.java
@@ -5,9 +5,23 @@
* */
public class AgvConstant {
- public static final String AGV_IP = "10.10.10.200";
public static final String AGV_URL = "http://10.10.10.200:8181";
+ public static final String AGV_hikRpcService = "rcms/services/rest/hikRpcService";
+ public static final String AGV_bindPodAndBerth = "bindPodAndBerth";//bangding 2
+ public static final String AGV_bindCtnrAndBin = "bindCtnrAndBin";//bangding 1
+
+ public static String getAGVADAPTOR(int f) {
+ switch (f) {
+ case 1:
+ return AGV_bindCtnrAndBin;
+ default:
+ return AGV_bindPodAndBerth;
+ }
+ }
+
+ public static final String AGV_IP = "10.10.10.200";
+
public static final String AGV_ADAPTOR = "rcms/services/rest/hikRpcService/genAgvSchedulingTask";//鍒涘缓璁㈠崟
public static final String AGV_CTNRANDBING = "rcms/services/rest/hikRpcService/bindCtnrAndBin";//瀹瑰櫒缁戝畾
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index e11fb71..87c8c2e 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -28,6 +28,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import java.io.Console;
import java.nio.charset.StandardCharsets;
import java.text.MessageFormat;
import java.util.*;
@@ -87,8 +88,8 @@
add(2034);add(2035);add(2037);
// add(2041);add(2042);add(2043);add(2044);
// add(2045);add(2046);add(2047);add(2048);
-// add(2101);add(2102);add(2103);add(2104);add(2105);add(2106);add(2107);add(2108);add(2109);add(2110);
-// add(2111);add(2112);add(2113);add(2114);add(2115);add(2116);add(2117);add(2118);add(2119);add(2120);
+ add(2101);add(2102);add(2103);add(2104);add(2105);add(2106);add(2107);add(2108);add(2109);add(2110);
+ add(2111);add(2112);add(2113);add(2114);add(2115);add(2116);add(2117);add(2118);add(2119);add(2120);
add(4001);add(4003);add(4004);add(4006);
}};
@@ -121,11 +122,11 @@
put(2031, 464);put(2032, 348);put(2033, 556);put(2034, 92);put(2035, 0);
put(2037, 256);
-// put(2101, 0);put(2102, 92);put(2103, 184);put(2104, 276);put(2105, 368);
-// put(2106, 460);put(2107, 552);put(2108, 644);put(2109, 736);put(2110, 828);
-// put(2111, 920);put(2112, 1012);put(2113, 1104);put(2114, 1196);put(2115, 1288);
-// put(2116, 1380);put(2117, 1472);put(2118, 1564);put(2119, 1656);put(2120, 1748);
-// put(2121, 1840);put(2122, 1932);
+ put(2101, 0);put(2102, 92);put(2103, 184);put(2104, 276);put(2105, 368);
+ put(2106, 460);put(2107, 552);put(2108, 644);put(2109, 736);put(2110, 828);
+ put(2111, 920);put(2112, 1012);put(2113, 1104);put(2114, 1196);put(2115, 1288);
+ put(2116, 1380);put(2117, 1472);put(2118, 1564);put(2119, 1656);put(2120, 1748);
+ put(2121, 1840);put(2122, 1932);
put(4001, 0);put(4002, 116);put(4003, 508);put(4004, 392);put(4005, 300);
put(4006, 208);
@@ -469,6 +470,9 @@
OperateResultExOne<byte[]> resultPlc = null;
OperateResultExOne<byte[]> resultAgv = null;
+ OperateResultExOne<byte[]> resultArm5 = null;//2110
+ OperateResultExOne<byte[]> resultArm6 = null;//2120
+
if(staNoSize == 102){
result1 = siemensS7Net.Read("DB100.0", (short) (2768));//1001-1028
result2 = siemensS7Net.Read("DB101.0", (short) (1268));//1029-1037
@@ -482,10 +486,12 @@
result1 = siemensS7Net.Read("DB200.0", (short) (3000));//2001-2030
result2 = siemensS7Net.Read("DB201.0", (short) (720));//2031-2037
result3 = siemensS7Net.Read("DB400.0", (short) (600));//4001-4006
-// result6 = siemensS7Net.Read("DB400.0", (short) (7400));//2101-2122
+ result6 = siemensS7Net.Read("DB202.0", (short) (7400));//2101-2122
resultErr = siemensS7Net.Read("DB3.0", (short) (354));
// resultAgv = siemensS7Net.Read("DB901.0", (short) (7)); //agv鍙栨斁璐ц姹�
// resultPlc = siemensS7Net.Read("DB902.0", (short) (7)); //杈撻�佺嚎纭
+ resultArm5 = siemensS7Net.Read("DB202.4328", (short) (254));//2110
+ resultArm6 = siemensS7Net.Read("DB202.6888", (short) (254));//2120
}
@@ -519,7 +525,30 @@
} else if (siteId < 2040) {
result = result2;
} else if(siteId<4000){
-// result = result6;
+ if (siteId == 2110) {
+ if (resultArm5.IsSuccess) {
+ // 杞崲涓哄瓧绗︿覆
+ String resultString = siemensS7Net.getByteTransform().TransString(resultArm5.Content, 2, 252,"UTF-8");
+ // 鍘婚櫎鍙兘鐨勭┖瀛楃
+// resultString = resultString.TrimEnd('\0');
+// System.out.println("2110Barcode:"+resultString);
+ staProtocol.setBarcode(resultString);
+ } else {
+ staProtocol.setBarcode("");
+ }
+ } else if (siteId == 2120){
+ if (resultArm6.IsSuccess) {
+ // 杞崲涓哄瓧绗︿覆
+ String resultString = siemensS7Net.getByteTransform().TransString(resultArm6.Content, 2, 252,"UTF-8");
+ // 鍘婚櫎鍙兘鐨勭┖瀛楃
+// resultString = resultString.TrimEnd('\0');
+// System.out.println("2120Barcode:"+resultString);
+ staProtocol.setBarcode(resultString);
+ } else {
+ staProtocol.setBarcode("");
+ }
+ }
+ result = result6;
}
else {
result = result3;
@@ -553,11 +582,14 @@
}
staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2)); // 宸ヤ綔鍙�
staProtocol.setStaNo((short)siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 12)); // 鐩爣绔�
- staProtocol.setBarcode(String.valueOf(siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 16))); //鏉$爜
-
+ if (staProtocol.getSiteId()!=2110 && staProtocol.getSiteId()!=2120 ){
+ staProtocol.setBarcode(String.valueOf(siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 16))); //鏉$爜
+ }
if(specialSites2.contains(siteId)){
staProtocol.setStaNo((short)siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 48)); // 鐩爣绔�
- staProtocol.setBarcode(String.valueOf(siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 52))); //鏉$爜
+ if (staProtocol.getSiteId()!=2110 && staProtocol.getSiteId()!=2120 ){
+ staProtocol.setBarcode(String.valueOf(siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 52))); //鏉$爜
+ }
}
if(staNosErrList.contains(siteId)){
Integer offsetErr = siteErrOffsetMap.get(siteId);
@@ -579,7 +611,8 @@
staProtocol.setAutoing(!status[0]); // 鑷姩
boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3 - 4, 3);
boolean[] statusErr = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3 - 8, 3);
- boolean[] statusSign = siemensS7Net.getByteTransform().TransBool(resultErr.Content, offsetSign, 3);
+// boolean[] statusSign = siemensS7Net.getByteTransform().TransBool(resultErr.Content, offsetSign, 3);
+
boolean loading = false;
if(!status1[0])
{
@@ -632,28 +665,28 @@
staProtocol.setDataError(statusErr[18]);
//淇″彿
- staProtocol.setSensorGArrive(statusSign[0]);
- staProtocol.setSensorGDec(statusSign[1]);
- staProtocol.setSensorGArrive2(statusSign[2]);
- staProtocol.setSensorLimit(statusSign[3]);
- staProtocol.setEmergency(statusSign[4]);
- staProtocol.setSensorGLeave(statusSign[5]);
- staProtocol.setSensorGLeave2(statusSign[6]);
- staProtocol.setSensorCUp(statusSign[7]);
- staProtocol.setSensorCDown(statusSign[8]);
- staProtocol.setLiftMotorFr(statusSign[9]);
- staProtocol.setLineMotorFr(statusSign[10]);
- staProtocol.setTranMotorFr(statusSign[11]);
- staProtocol.setRst1(statusSign[12]);
- staProtocol.setRst2(statusSign[13]);
- staProtocol.setRst3(statusSign[14]);
- staProtocol.setRst4(statusSign[15]);
- staProtocol.setSensorArriveD(statusSign[16]);
- staProtocol.setSensorDecD(statusSign[17]);
- staProtocol.setSensorArriveL(statusSign[18]);
- staProtocol.setSensorDecL(statusSign[19]);
- staProtocol.setSensorArriveR(statusSign[20]);
- staProtocol.setSensorDecR(statusSign[21]);
+// staProtocol.setSensorGArrive(statusSign[0]);
+// staProtocol.setSensorGDec(statusSign[1]);
+// staProtocol.setSensorGArrive2(statusSign[2]);
+// staProtocol.setSensorLimit(statusSign[3]);
+// staProtocol.setEmergency(statusSign[4]);
+// staProtocol.setSensorGLeave(statusSign[5]);
+// staProtocol.setSensorGLeave2(statusSign[6]);
+// staProtocol.setSensorCUp(statusSign[7]);
+// staProtocol.setSensorCDown(statusSign[8]);
+// staProtocol.setLiftMotorFr(statusSign[9]);
+// staProtocol.setLineMotorFr(statusSign[10]);
+// staProtocol.setTranMotorFr(statusSign[11]);
+// staProtocol.setRst1(statusSign[12]);
+// staProtocol.setRst2(statusSign[13]);
+// staProtocol.setRst3(statusSign[14]);
+// staProtocol.setRst4(statusSign[15]);
+// staProtocol.setSensorArriveD(statusSign[16]);
+// staProtocol.setSensorDecD(statusSign[17]);
+// staProtocol.setSensorArriveL(statusSign[18]);
+// staProtocol.setSensorDecL(statusSign[19]);
+// staProtocol.setSensorArriveR(statusSign[20]);
+// staProtocol.setSensorDecR(statusSign[21]);
// Integer offsetAgv = siteAgvOffsetMap.get(siteId);
//
--
Gitblit v1.9.1