From 515a8bc674642afd00eeaf67c659e896ff80f2ec Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期五, 16 十二月 2022 10:07:08 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 67 ++++++++++++++++++++++++++++++---
src/main/resources/application.yml | 4 +-
2 files changed, 63 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 87bc87f..b2136db 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.core.exception.CoolException;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.service.BasDevpService;
import com.zy.core.DevpThread;
@@ -41,7 +42,10 @@
private SiemensS7Net siemensS7Net;
private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
private short heartBeatVal = 1;
- public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
+// public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
+//
+// }};
+ public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
add(100);add(101);add(102);add(103);
add(104);add(105);add(106);add(107);
add(108);add(109);add(110);add(111);
@@ -57,6 +61,9 @@
add(148);add(149);add(150);add(151);
add(152);add(153);add(154);add(155);
add(156);add(157);add(158);
+ }};
+
+ public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
add(200);add(201);add(202);add(203);
add(204);add(205);add(206);add(207);
add(208);add(209);add(210);add(211);
@@ -64,10 +71,13 @@
add(216);add(217);
}};
+
+ private Integer count=0;
+
/**
* 鏉$爜鏁伴噺
*/
- private int barcodeSize = 1;
+ private int barcodeSize = 6;
/**
* 鍏ュ嚭搴撴ā寮�
@@ -84,6 +94,17 @@
public SiemensDevpThread(DevpSlave slave) {
this.slave = slave;
+ }
+
+ private ArrayList<Integer> getStaNo() {
+ switch (slave.getId()) {
+ case 1:
+ return staNos1;
+ case 2:
+ return staNos2;
+ default:
+ throw new CoolException("鏈嶅姟鍣ㄥ紓甯�");
+ }
}
@Override
@@ -118,6 +139,36 @@
}
}
+ /**
+ * 鍒濆鍖栫珯鐐圭姸鎬�
+ */
+ private void initSite() {
+ count ++;
+ ArrayList<Integer> staNos = getStaNo();
+ if(count > 59) {
+ // 绔欑偣缂栧彿
+ for (Integer siteId : staNos) {
+ StaProtocol staProtocol = station.get(siteId);
+ if (null == staProtocol) {
+ staProtocol = new StaProtocol();
+ staProtocol.setSiteId(siteId);
+ station.put(siteId, staProtocol);
+ }
+ staProtocol.setWorkNo((short) 0); // ID
+ staProtocol.setAutoing(false); // 鑷姩
+ staProtocol.setLoading(false); // 鏈夌墿
+ staProtocol.setInEnable(false); // 鍙叆
+ staProtocol.setOutEnable(false); // 鍙嚭
+ staProtocol.setEmptyMk(false); // 绌烘澘淇″彿
+ staProtocol.setStaNo((short) 0); // 鐩爣绔�
+
+ if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
+ staProtocol.setPakMk(true);
+ }
+ }
+ count = 0;
+ }
+ }
@Override
public boolean connect() {
@@ -135,6 +186,7 @@
log.error("杈撻�佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
}
siemensS7Net.ConnectClose();
+ initSite();
return result;
}
@@ -144,6 +196,7 @@
private void read() throws InterruptedException {
// // 鏇存柊鍏ュ嚭搴撴ā寮�
// updateIoMode();
+ ArrayList<Integer> staNos = getStaNo();
int staNoSize = staNos.size();
OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNoSize*2));
OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB101.0", (short) (staNoSize*2));
@@ -243,6 +296,7 @@
throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
}
} catch (Exception e) {
+ initSite();
e.printStackTrace();
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戞洿鏂版暟鎹簱鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
log.error("鏇存柊鏁版嵁搴撴暟鎹け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
@@ -261,6 +315,7 @@
if (null == staProtocol) {
return;
}
+ ArrayList<Integer> staNos = getStaNo();
int index = staNos.indexOf(staProtocol.getSiteId());
short[] array = new short[2];
array[0] = staProtocol.getWorkNo();
@@ -326,14 +381,14 @@
}
public static void main(String[] args) {
- System.out.println(staNos.indexOf(129));
- System.out.println(staNos.size());
- for (int i = 0; i<staNos.size(); i++) {
+ System.out.println(staNos1.indexOf(129));
+ System.out.println(staNos1.size());
+ for (int i = 0; i<staNos1.size(); i++) {
// System.out.println(i*2);
// System.out.println(i*2 + 200);
// System.out.println(i);
}
- int index = staNos.indexOf(128);
+ int index = staNos1.indexOf(128);
System.out.println(index*2);
System.out.println(index*2 + 200);
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 71c4e0a..7e3d605 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -215,7 +215,7 @@
# 杈撻�佺嚎1
devp[0]:
id: 1
- ip: 192.168.4.250
+ ip: 10.10.10.100
port: 102
rack: 0
slot: 0
@@ -260,7 +260,7 @@
# 杈撻�佺嚎2
devp[1]:
id: 2
- ip: 192.168.4.250
+ ip: 10.10.10.110
port: 102
rack: 0
slot: 0
--
Gitblit v1.9.1