From 7428921a405f685e879911ee1d04c143d6079658 Mon Sep 17 00:00:00 2001
From: Administrator <pjb>
Date: 星期一, 12 五月 2025 17:24:44 +0800
Subject: [PATCH] 数据库名称和服务器ip修改
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 168 ++++++++++++++++++--------------------------------------
1 files changed, 54 insertions(+), 114 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 67fb125..25b99fe 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -40,55 +40,13 @@
public class SiemensDevpThread implements Runnable, DevpThread {
public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
- add(101);
- add(102);
- add(103);
- add(104);
- add(105);
- add(106);
- add(107);
- add(108);
- add(109);
- add(110);
- add(111);
- add(112);
- add(113);
- add(114);
- add(115);
- add(116);
- add(117);
- add(118);
- add(119);
- add(120);
-
- add(201);
- add(202);
- add(203);
- add(204);
- add(205);
- add(206);
- add(207);
- add(208);
- add(209);
- add(210);
- add(211);
- add(212);
- add(213);
- add(214);
- add(215);
- add(216);
- add(217);
+ add(101);add(102);add(103);add(104);add(105);add(106);add(107);add(108);add(109);add(110);
+ add(111);add(112);add(113);add(114);add(115);add(116);
+ add(201);add(202);add(203);add(205);add(206);add(207);add(210);add(211);add(212);
}};
public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
- add(301);
- add(302);
- add(303);
- add(304);
- add(305);
- add(306);
- add(307);
- add(308);
+ add(301);add(302);add(303);add(304);add(305);add(306);add(307);add(308);
}};
/**
* 鍏ュ嚭搴撴ā寮�
@@ -119,20 +77,6 @@
public SiemensDevpThread(DevpSlave slave) {
this.slave = slave;
- }
-
- public static void main(String[] args) {
- ArrayList<Integer> staNos = staNos1;
- System.out.println(staNos.indexOf(129));
- System.out.println(staNos.size());
- for (int i = 0; i < staNos.size(); i++) {
-// System.out.println(i*2);
-// System.out.println(i*2 + 200);
-// System.out.println(i);
- }
- int index = staNos.indexOf(128);
- System.out.println(index * 2);
- System.out.println(index * 2 + 200);
}
@@ -232,10 +176,11 @@
* 璇诲彇鐘舵�� ====> 鏁村潡plc
*/
private void read() throws InterruptedException {
- // 鏇存柊鍏ュ嚭搴撴ā寮�
- updateIoMode();
+
ArrayList<Integer> staNos = getStaNo();
int staNoSize = staNos.size();
+
+ // 璇昏揣浣嶄俊鎭弽棣�
OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize * 8));
if (result.IsSuccess) {
for (int i = 0; i < staNoSize; i++) {
@@ -266,32 +211,47 @@
}
}
-
if (slave.getId() == 1) {
- //鏉$爜
//Thread.sleep(200);
- OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.848.0", (short) 8);
+ // 璇诲彇鏉$爜
+ OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.1404", (short) (staNoSize*8));
if (result2.IsSuccess) {
- for (int i = 0; i < 1; 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);
+ for (int i =0; i <staNoSize; i++) {
+ int barcodeId = 0;
+ switch (i){
+ case 1:barcodeId=1;break;
+ case 4:barcodeId=2;break;
+ case 7:barcodeId=3;break;
+ case 10:barcodeId=4;break;
+ case 13:barcodeId=5;break;
+ default:
+ }
+ if (barcodeId != 0) {
+ String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 6, "UTF-8");
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
+ if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
+ barcodeThread.setBarcode(barcode);
+ }
}
}
}
- //澶栧舰妫�娴�
- OperateResultExOne<byte[]> resultErr1 = siemensS7Net.Read("DB101.810.0", (short) (barcodeSize * 1));
- StaProtocol staProtocol1 = station.get(116);
- boolean[] status1 = siemensS7Net.getByteTransform().TransBool(resultErr1.Content, 0, 1);
- staProtocol1.setFrontErr(status1[0]);
- staProtocol1.setBackErr(status1[1]);
- staProtocol1.setHighErr(status1[2]);
- staProtocol1.setLeftErr(status1[3]);
- staProtocol1.setRightErr(status1[4]);
- staProtocol1.setWeightErr(status1[5]);
- staProtocol1.setBarcodeErr(status1[6]);
+ // 璇诲彇澶栧舰妫�娴�
+ OperateResultExOne<byte[]> resultErr1 = siemensS7Net.Read("DB101.936", (short) (staNoSize * 8));
+ if (resultErr1.IsSuccess) {
+ for (int i = 0; i < staNoSize; i++) {
+ Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
+ StaProtocol staProtocol = station.get(siteId);
+ boolean[] status1 = siemensS7Net.getByteTransform().TransBool(resultErr1.Content, i * 2, 1);
+ staProtocol.setFrontErr(status1[0]);
+ staProtocol.setBackErr(status1[1]);
+ staProtocol.setHighErr(status1[2]);
+ staProtocol.setLeftErr(status1[3]);
+ staProtocol.setRightErr(status1[4]);
+ staProtocol.setWeightErr(status1[5]);
+ staProtocol.setBarcodeErr(status1[6]);
+ }
+ }
OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.922.0", (short) (staNoSize * 4));
if (resultErr.IsSuccess) {
@@ -361,25 +321,25 @@
//浠诲姟涓嬪彂鎴愬姛鏍囪瘑
boolean writeFlag = false;
while (writeCount < 5) {
- OperateResult writeResult1 = siemensS7Net.Write("DB100." + index * 6, staProtocol.getWorkNo().intValue()); // 宸ヤ綔鍙�
- OperateResult writeResult2 = siemensS7Net.Write("DB100." + (index * 6 + 4), staProtocol.getStaNo()); // 鐩爣绔�
+ OperateResult writeResult1 = siemensS7Net.Write("DB100." + index * 4, staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+ OperateResult writeResult2 = siemensS7Net.Write("DB100." + (index * 4 + 2), staProtocol.getStaNo()); // 鐩爣绔�
if (writeResult1.IsSuccess && writeResult2.IsSuccess) {
Thread.sleep(200);
- OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index * 6, (short) 6);
+ OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index * 4, (short) 2);
if (readResult.IsSuccess) {
- Integer workNo = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0);
- short staNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 4);
- if (workNo.equals(staProtocol.getWorkNo().intValue()) && staProtocol.getStaNo().equals(staNo)) {
- //浠诲姟鍛戒护鍐欏叆鎴愬姛
+// short workNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0);
+// short staNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 2);
+// if (staProtocol.getWorkNo().equals(workNo) && staProtocol.getStaNo().equals(staNo)) {
+// //浠诲姟鍛戒护鍐欏叆鎴愬姛
writeFlag = true;
log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
break;
- } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓
- writeCount++;
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
- slave.getId(), JSON.toJSON(staProtocol), writeCount));
- log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
- }
+// } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓
+// writeCount++;
+// OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
+// slave.getId(), JSON.toJSON(staProtocol), writeCount));
+// log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+// }
} else {
writeCount++;
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
@@ -586,25 +546,5 @@
siemensS7Net.ConnectClose();
}
-// public static void main(String[] args) throws Exception {
-// DevpSlave slave = new DevpSlave();
-// slave.setIp("192.168.2.125");
-// SiemensDevpThread devpThread = new SiemensDevpThread(slave);
-// devpThread.connect();
-// devpThread.read();
-// // 鍐�
-// StaProtocol staProtocol = devpThread.getStation().get(1);
-// staProtocol.setWorkNo((short) 232);
-// staProtocol.setStaNo((short) 6);
-// staProtocol.setAutoing(true);
-// staProtocol.setEmptyMk(true);
-// staProtocol.setInEnable(true);
-// devpThread.write(staProtocol);
-// System.out.println("----------------------------------------");
-// // 璇�
-// devpThread.read();
-// System.out.println(JSON.toJSONString(devpThread.station));
-//
-// }
}
--
Gitblit v1.9.1