From 586605cbe95aaca03844763b74392ba70644fecc Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 03 七月 2023 16:39:14 +0800
Subject: [PATCH] map_1.json
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 139 +++++++++++++++++++++++++---------------------
1 files changed, 75 insertions(+), 64 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 660ac40..f571401 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -8,7 +8,6 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SpringUtils;
-import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.service.BasDevpService;
import com.zy.core.DevpThread;
@@ -49,9 +48,13 @@
add(106);add(107);add(108);
}};
+ public static final ArrayList<Integer> outInStaNos = new ArrayList<Integer>() {{
+ add(102);add(105);add(106);
+ add(107);add(108);
+ }};
+
public boolean charge0;
public boolean charge1;
- public boolean charge2;
public SiemensDevpThread(DevpSlave slave) {
this.slave = slave;
@@ -79,7 +82,7 @@
break;
// 鍑哄叆搴撴ā寮�
case 3:
- write3((int)task.getData());
+ write3((StaProtocol)task.getData());
break;
default:
break;
@@ -144,8 +147,8 @@
staProtocol.setOutEnable(status[3]);// 鍙嚭
staProtocol.setEmptyMk(status[4]); // 绌烘澘淇″彿
staProtocol.setFullPlt(status[5]); // 婊℃墭鐩�
- staProtocol.setHigh(status[6]); // 楂樺簱浣�
- staProtocol.setLow(status[7]); // 浣庡簱浣�
+ staProtocol.setLiftArrival(status[6]); // 鎻愬崌鏈哄埌浣嶄俊鍙�
+ staProtocol.setShuttleTakeEnable(status[7]); // 鎻愬崌鏈哄彲鍙栦俊鍙�
if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
staProtocol.setPakMk(true);
@@ -158,6 +161,8 @@
OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.200",(short)24);
if (result2.IsSuccess) {
for (int i = 0; i <= barcodeSize; i++) {
+// byte[] bytes = siemensS7Net.getByteTransform().TransByte(result2.Content, i * 8, 8);
+// String barcode = CommonUtils.bytesToBarcode(bytes);
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)) {
@@ -183,47 +188,46 @@
// 澶栧舰妫�娴� - 102
Thread.sleep(50);
- OperateResultExOne<byte[]> result102 = siemensS7Net.Read("DB102.110", (short)1);
+ OperateResultExOne<byte[]> result102 = siemensS7Net.Read("DB100.100", (short)2);
if (result102.IsSuccess) {
- boolean[] status = siemensS7Net.getByteTransform().TransBool(result102.Content, 0, 1);
+ //鍑哄叆搴撴ā寮�
+ short outInModel = siemensS7Net.getByteTransform().TransInt16(result102.Content, 0);
StaProtocol staProtocol = station.get(102);
- 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]);// 鎵爜澶辫触
+ staProtocol.setOutInModel(outInModel);
}
-// // 澶栧舰妫�娴� - 201
-// Thread.sleep(50);
-// OperateResultExOne<byte[]> result201 = siemensS7Net.Read("DB102.112", (short)1);
-// if (result201.IsSuccess) {
-// boolean[] status = siemensS7Net.getByteTransform().TransBool(result201.Content, 0, 1);
-// StaProtocol staProtocol = station.get(201);
-// 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]);
-// }
-// // 澶栧舰妫�娴� - 301
-// Thread.sleep(50);
-// OperateResultExOne<byte[]> result301 = siemensS7Net.Read("DB102.114", (short)1);
-// if (result301.IsSuccess) {
-// boolean[] status = siemensS7Net.getByteTransform().TransBool(result301.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]);
-// }
+ Thread.sleep(50);
+ for (Integer siteId : outInStaNos) {
+ String dbAddress = "DB100.300";
+ switch (siteId) {
+ case 102:
+ dbAddress = "DB100.300";
+ break;
+ case 105:
+ dbAddress = "DB100.302";
+ break;
+ case 106:
+ dbAddress = "DB100.304";
+ break;
+ case 107:
+ dbAddress = "DB100.306";
+ break;
+ case 108:
+ dbAddress = "DB100.308";
+ break;
+ }
+
+ OperateResultExOne<byte[]> resultRead = siemensS7Net.Read(dbAddress, (short) 2);
+ if (resultRead.IsSuccess) {
+ //閾炬潯杞姩鎯呭喌
+ short direction = siemensS7Net.getByteTransform().TransInt16(resultRead.Content, 0);
+ StaProtocol staProtocol = station.get(siteId);
+ if (direction != 0 && !staProtocol.isLoading()) {
+ //鐘舵�佷负姝h浆鎴栧弽杞笖鏃犵墿鏃讹紝灏嗛摼鏉¤浆鍔ㄤ俊鍙蜂綅澶嶄綅
+ write4(siteId, 0);
+ }
+ }
+ }
if (result.IsSuccess && result1.IsSuccess) {
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
@@ -279,31 +283,38 @@
/**
* 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏�
*/
- private void write3(int outAndIn) throws InterruptedException{
- if (Cools.isEmpty(outAndIn)) {
+ private void write3(StaProtocol staProtocol) throws InterruptedException {
+ if (Cools.isEmpty(staProtocol)) {
return;
}
- if (outAndIn==666){
- siemensS7Net.Write("DB100.200", (short) 1);
- }else if (outAndIn==999){
- siemensS7Net.Write("DB100.200", (short) 0);
- }else {
- String Db=null;
- if (outAndIn<20){
- Db="DB100.180";
- }else if (outAndIn<30){
- Db="DB100.182";
- }else {
- Db="DB100.184";
- }
- if (outAndIn == 11 || outAndIn == 21 || outAndIn == 31){
- siemensS7Net.Write(Db, (byte) 1); // 鍏ュ簱
- }else if (outAndIn == 12 || outAndIn == 22 || outAndIn == 32){
- siemensS7Net.Write(Db, (byte) 2); // 鍑哄簱
- }else if (outAndIn == 10 || outAndIn == 20 || outAndIn == 30){
- siemensS7Net.Write(Db, (byte) 0); // 鍑哄簱
- }
+ Short outAndIn = staProtocol.getOutInModel();
+ Integer siteId = staProtocol.getSiteId();
+ Short run = 0;//鍋滄杞姩
+ if (staProtocol.getRotationDire() != null) {
+ run = staProtocol.getRotationDire().shortValue();//杞姩鏂瑰悜
}
+ switch (siteId) {
+ case 102:
+ siemensS7Net.Write("DB100.300", run);
+ break;
+ case 105:
+ siemensS7Net.Write("DB100.302", run);
+ break;
+ case 106:
+ siemensS7Net.Write("DB100.304", run);
+ break;
+ case 107:
+ siemensS7Net.Write("DB100.306", run);
+ break;
+ case 108:
+ siemensS7Net.Write("DB100.308", run);
+ break;
+ }
+
+ if (staProtocol.getStaNo() != null && staProtocol.getWorkNo() != null) {
+ write(staProtocol);//鍐欏叆宸ヤ綔鍙峰拰鐩爣绔�
+ }
+
}
/**
--
Gitblit v1.9.1