From 76d3fff7c27d020fd7110e4a5e84cc87e3fe7e43 Mon Sep 17 00:00:00 2001 From: lsh <lsh123456> Date: 星期五, 03 三月 2023 15:45:32 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 51 +++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 45 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 4fc1742..718f5af 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -8,6 +8,7 @@ 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; @@ -75,6 +76,10 @@ // 鍐欐暟鎹� ID+鐩爣绔� case 2: write((StaProtocol)task.getData()); + break; + // 鍑哄叆搴撴ā寮� + case 3: + write3((int)task.getData()); break; default: break; @@ -150,10 +155,10 @@ //璇绘潯鐮� Thread.sleep(100); - OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.150",(short)31); + OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.150",(short)24); if (result2.IsSuccess) { - for (int i = 0; i < barcodeSize; i++) { - String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*16,15, "UTF-8"); + 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); @@ -163,12 +168,17 @@ // 鍏呯數淇″彿浣� Thread.sleep(50); - OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB102.128", (short)1); + OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB102.109", (short)1); if (result3.IsSuccess) { boolean[] status = siemensS7Net.getByteTransform().TransBool(result3.Content, 0, 1); charge0 = status[0]; - charge1 = status[1]; - charge2 = status[2]; + } + // 鍏呯數淇″彿浣� + Thread.sleep(50); + OperateResultExOne<byte[]> result31 = siemensS7Net.Read("DB100.201", (short)1); + if (result3.IsSuccess) { + boolean[] status = siemensS7Net.getByteTransform().TransBool(result31.Content, 0, 1); + charge1 = status[0]; } // 澶栧舰妫�娴� - 102 @@ -225,6 +235,35 @@ // News.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); } } + /** + * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏� + */ + private void write3(int outAndIn) throws InterruptedException{ + if (Cools.isEmpty(outAndIn)) { + 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); // 鍑哄簱 + } + } + } /** * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏� -- Gitblit v1.9.1