From 056cf9d0311e1345017ab4c52c5946144fb4ccb8 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 14 十月 2024 15:03:10 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 74 ++++++++++++++++++++++++------------
1 files changed, 49 insertions(+), 25 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index f107d92..9edf634 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -45,11 +45,19 @@
private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
private short heartBeatVal = 1;
private StaError1 staError1;
+ public static boolean is = true;
// public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
//
// }};
public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
- add(140);add(141);
+ add(1000); add(1001); add(1002); add(1003); add(1004); add(1005); add(1006); add(1007); add(1008); add(1009); add(1010);
+ add(1011); add(1012); add(1013); add(1014); add(1015); add(1016); add(1017); add(1018); add(1019); add(1020); add(1021);
+ add(1022); add(1023); add(1024); add(1025); add(1026); add(1027); add(1028); add(1029); add(1030);
+// add(200);add(201);add(202);
+ }};
+ public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
+ add(1400);
+
// add(200);add(201);add(202);
}};
@@ -91,6 +99,8 @@
switch (slave.getId()) {
case 1:
return staNos1;
+ case 2:
+ return staNos2;
default:
throw new CoolException("鏈嶅姟鍣ㄥ紓甯�");
}
@@ -135,31 +145,43 @@
private void initSite() {
count ++;
ArrayList<Integer> staNos = getStaNo();
+ if(count > 50) {
+ // 绔欑偣缂栧彿
+ for (Integer siteId : staNos) {
+ StaProtocol staProtocol = station.get(siteId);
+ if (null == staProtocol) {
+ staProtocol = new StaProtocol();
+ staProtocol.setSiteId(siteId);
+ station.put(siteId, staProtocol);
+ }
+ staProtocol.setWorkNo(0); // 宸ヤ綔鍙�
+ staProtocol.setStaNo((short) 0); // 鐩爣绔�
+ staProtocol.setState((short) 0); // 妯″紡鐘舵�� 0鍋滄満锛�=1鎵嬪姩锛�=2鑷姩锛�=3鏁呴殰
+ staProtocol.setWorkIo((short) 0);
+ staProtocol.setRequestIo((short) 0);
+ staProtocol.setTrayIo((short) 0);
+ staProtocol.setLocIo((short) 0);
+ staProtocol.setBarcode("-");
+ staProtocol.setWeightIo(0.0);
+ staProtocol.setMode((short) 0);
- // 绔欑偣缂栧彿
- for (Integer siteId : staNos) {
- StaProtocol staProtocol = station.get(siteId);
- if (null == staProtocol) {
- staProtocol = new StaProtocol();
- staProtocol.setSiteId(siteId);
- station.put(siteId, staProtocol);
+ if (!staProtocol.isPakMk() && staProtocol.workType == DevpWorkType.IDLE) {
+ staProtocol.setPakMk(true);
+ }
}
- staProtocol.setWorkNo(0); // 宸ヤ綔鍙�
- staProtocol.setStaNo((short) 0); // 鐩爣绔�
- staProtocol.setState((short) 0); // 妯″紡鐘舵�� 0鍋滄満锛�=1鎵嬪姩锛�=2鑷姩锛�=3鏁呴殰
- staProtocol.setWorkIo((short) 0);
- staProtocol.setRequestIo((short) 0);
- staProtocol.setTrayIo((short) 0);
- staProtocol.setLocIo((short) 0);
- staProtocol.setBarcode("-");
- staProtocol.setWeightIo(0.0);
- staProtocol.setMode((short) 0);
-
- if (!staProtocol.isPakMk() && staProtocol.workType == DevpWorkType.IDLE) {
- staProtocol.setPakMk(true);
- }
+ count = 0;
}
- count = 0;
+
+
+ }
+
+ public void initSta(){
+ if (is){
+ for (int i = 1000; i <= 1300; i++) {
+ staNos1.add(i);
+ }
+ is = false;
+ }
}
@@ -295,7 +317,7 @@
int index = staNos.indexOf(staProtocol.getSiteId());
OperateResult write1 = siemensS7Net.Write("DB100." + index*66, staProtocol.getWorkNo()); // 宸ヤ綔鍙�
- Thread.sleep(200);
+ Thread.sleep(100);
OperateResult write2 = siemensS7Net.Write("DB100." + (index*66+4), staProtocol.getStaNo()); // 鐩爣绔�
if(write1.IsSuccess && write2.IsSuccess){
OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100."+(index*66), (short) 6);
@@ -317,7 +339,9 @@
OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100."+(index*66 +6), (short) 2);
short mk = siemensS7Net.getByteTransform().TransInt16(result2.Content, 0);
if (mk == 2){
- OperateResult write4 = siemensS7Net.Write("DB100." + (index*66+6), 0);
+ OperateResult write5 = siemensS7Net.Write("DB100." + index*66, 0); // 宸ヤ綔鍙�
+ OperateResult write6 = siemensS7Net.Write("DB100." + (index*66+4), (short) 0); // 鐩爣绔�
+ OperateResult write4 = siemensS7Net.Write("DB100." + (index*66+6), (short) 0);
if (write4.IsSuccess){
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
News.info("SiemensDevp"+" - 5"+" - 杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}", slave.getId(), JSON.toJSON(staProtocol));
--
Gitblit v1.9.1