From 95678b2302b7efa540b9c4e8795fbcfed16f0ea3 Mon Sep 17 00:00:00 2001
From: qlsxk <qlsxk@qq.com>
Date: 星期二, 14 十月 2025 13:21:48 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/impl/LfdZyForkLiftMasterThread.java | 300 ++++++++++++++++++++++++++++++-----------------------------
1 files changed, 153 insertions(+), 147 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/impl/LfdZyForkLiftMasterThread.java b/src/main/java/com/zy/core/thread/impl/LfdZyForkLiftMasterThread.java
index e148e31..fbf2829 100644
--- a/src/main/java/com/zy/core/thread/impl/LfdZyForkLiftMasterThread.java
+++ b/src/main/java/com/zy/core/thread/impl/LfdZyForkLiftMasterThread.java
@@ -1,147 +1,153 @@
-package com.zy.core.thread.impl;
-
-import HslCommunication.Core.Types.OperateResult;
-import HslCommunication.Core.Types.OperateResultExOne;
-import HslCommunication.Profinet.Siemens.SiemensPLCS;
-import HslCommunication.Profinet.Siemens.SiemensS7Net;
-import com.core.common.DateUtils;
-import com.zy.common.utils.RedisUtil;
-import com.zy.core.News;
-import com.zy.core.ThreadHandler;
-import com.zy.core.cache.OutputQueue;
-import com.zy.core.model.ForkLiftSlave;
-import com.zy.core.model.protocol.ForkLiftProtocol;
-import lombok.extern.slf4j.Slf4j;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-
-@Slf4j
-@SuppressWarnings("all")
-public class LfdZyForkLiftMasterThread implements ThreadHandler {
-
- private ForkLiftSlave slave;
- private ForkLiftProtocol forkLiftProtocol;
- private RedisUtil redisUtil;
- private SiemensS7Net siemensS7Net;
- private List<HashMap<String,Object>> slaveAddressList = null;
- private boolean connect = false;
-
- public LfdZyForkLiftMasterThread(ForkLiftSlave slave, RedisUtil redisUtil) {
- this.slave = slave;
- this.redisUtil = redisUtil;
- ArrayList<HashMap<String, Object>> addressList = new ArrayList<>();
-
- HashMap<String, Object> lift1 = new HashMap<>();
- lift1.put("status", new DbData("DB101.0", (short) 16));//鎻愬崌鏈烘暟鎹�
- lift1.put("staStatus", new DbData("DB102.0", (short) 8));//绔欑偣鏁版嵁
- lift1.put("write", new DbData("DB103.0", null));//鍐欏叆鏁版嵁
- lift1.put("writeConfirm", new DbData("DB103.8", null));//鍐欏叆纭鏁版嵁
- lift1.put("confirm", new DbData("DB103.10", null));//纭鍛戒护
- lift1.put("switchIOMode", new DbData("DB103.12", null));//鍑哄叆搴撴ā寮�
-
- HashMap<String, Object> lift2 = new HashMap<>();
- lift2.put("status", new DbData("DB104.0", (short) 16));//鎻愬崌鏈烘暟鎹�
- lift2.put("staStatus", new DbData("DB105.0", (short) 8));//绔欑偣鏁版嵁
- lift2.put("write", new DbData("DB106.0", null));//鍐欏叆鏁版嵁
- lift2.put("writeConfirm", new DbData("DB106.8", null));//鍐欏叆纭鏁版嵁
- lift2.put("confirm", new DbData("DB106.10", null));//纭鍛戒护
- lift2.put("switchIOMode", new DbData("DB106.12", null));//鍑哄叆搴撴ā寮�
-
- addressList.add(lift1);
- addressList.add(lift2);
- this.slaveAddressList = addressList;
- }
-
- @Override
- public boolean connect() {
- boolean result = false;
- siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, slave.getIp());
- siemensS7Net.setRack(slave.getRack().byteValue());
- siemensS7Net.setSlot(slave.getSlot().byteValue());
- OperateResult connect = siemensS7Net.ConnectServer();
- if(connect.IsSuccess){
- result = true;
- OutputQueue.FORKLIFT.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()));
- News.info("璐у弶鎻愬崌鏈鸿繛鎺ユ垚鍔� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- } else {
- OutputQueue.FORKLIFT.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()));
- News.error("璐у弶鎻愬崌鏈鸿繛鎺ュけ璐ワ紒锛侊紒 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- }
- // siemensS7Net.ConnectClose();
- this.connect = result;
- return result;
- }
-
- @Override
- public void close() {
-
- }
-
- @Override
- public void run() {
- News.info("{}鍙疯揣鍙夋彁鍗囨満Master绾跨▼鍚姩", slave.getId());
- this.connect();
- while (true) {
- try {
- if (!this.connect) {
- this.connect();
- }
-
- Thread.sleep(500);
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- }
-
- public synchronized OperateResultExOne<byte[]> read(Integer slaveId, String dbTag) {
- try {
- HashMap<String, Object> map = this.slaveAddressList.get(slaveId - 1);
- DbData dbData = (DbData) map.get(dbTag);
- OperateResultExOne<byte[]> result = siemensS7Net.Read(dbData.dbAddress, dbData.dbAddressLength);
- return result;
- } catch (Exception e) {
- OutputQueue.FORKLIFT.offer(MessageFormat.format("銆恵0}銆戣鍙栨彁鍗囨満鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
- }
- return null;
- }
-
- public synchronized OperateResult write(Integer slaveId, String dbTag, short[] array) {
- try {
- HashMap<String, Object> map = this.slaveAddressList.get(slaveId - 1);
- DbData dbData = (DbData) map.get(dbTag);
- OperateResult result = siemensS7Net.Write(dbData.dbAddress, array);
- return result;
- } catch (Exception e) {
- OutputQueue.FORKLIFT.offer(MessageFormat.format("銆恵0}銆戝啓鍏ユ彁鍗囨満鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
- }
- return null;
- }
-
- public synchronized OperateResult write(Integer slaveId, String dbTag, short val) {
- try {
- HashMap<String, Object> map = this.slaveAddressList.get(slaveId - 1);
- DbData dbData = (DbData) map.get(dbTag);
- OperateResult result = siemensS7Net.Write(dbData.dbAddress, val);
- return result;
- } catch (Exception e) {
- OutputQueue.FORKLIFT.offer(MessageFormat.format("銆恵0}銆戝啓鍏ユ彁鍗囨満鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
- }
- return null;
- }
-
- private class DbData {
- private String dbAddress;
- private Short dbAddressLength;
-
- public DbData(String dbAddress, Short dbAddressLength) {
- this.dbAddress = dbAddress;
- this.dbAddressLength = dbAddressLength;
- }
-
- }
-}
+//package com.zy.core.thread.impl;
+//
+//import HslCommunication.Core.Types.OperateResult;
+//import HslCommunication.Core.Types.OperateResultExOne;
+//import HslCommunication.Profinet.Siemens.SiemensPLCS;
+//import HslCommunication.Profinet.Siemens.SiemensS7Net;
+//import com.core.common.DateUtils;
+//import com.zy.common.utils.RedisUtil;
+//import com.zy.core.News;
+//import com.zy.core.ThreadHandler;
+//import com.zy.core.cache.OutputQueue;
+//import com.zy.core.model.ForkLiftSlave;
+//import com.zy.core.model.protocol.ForkLiftProtocol;
+//import lombok.extern.slf4j.Slf4j;
+//
+//import java.text.MessageFormat;
+//import java.util.ArrayList;
+//import java.util.Date;
+//import java.util.HashMap;
+//import java.util.List;
+//
+//@Slf4j
+//@SuppressWarnings("all")
+//public class LfdZyForkLiftMasterThread implements ThreadHandler {
+//
+// private ForkLiftSlave slave;
+// private ForkLiftProtocol forkLiftProtocol;
+// private RedisUtil redisUtil;
+// private SiemensS7Net siemensS7Net;
+// private List<HashMap<String,Object>> slaveAddressList = null;
+// private boolean connect = false;
+//
+// public LfdZyForkLiftMasterThread(ForkLiftSlave slave, RedisUtil redisUtil) {
+// this.slave = slave;
+// this.redisUtil = redisUtil;
+// ArrayList<HashMap<String, Object>> addressList = new ArrayList<>();
+//
+// HashMap<String, Object> lift1 = new HashMap<>();
+// lift1.put("status", new DbData("DB101.0", (short) 18));//鎻愬崌鏈烘暟鎹�
+// lift1.put("staStatusTray", new DbData("DB102.0", (short) 14));//绔欑偣鏁版嵁
+// lift1.put("staStatusCar", new DbData("DB102.50", (short) 14));//绔欑偣鏁版嵁
+// lift1.put("write", new DbData("DB103.0", null));//鍐欏叆鏁版嵁
+// lift1.put("writeConfirm", new DbData("DB103.8", null));//鍐欏叆纭鏁版嵁
+// lift1.put("confirm", new DbData("DB103.10", null));//纭鍛戒护
+// lift1.put("switchIOMode", new DbData("DB103.12", null));//鍑哄叆搴撴ā寮�
+//
+// HashMap<String, Object> lift2 = new HashMap<>();
+// lift2.put("status", new DbData("DB104.0", (short) 18));//鎻愬崌鏈烘暟鎹�
+// lift2.put("staStatusTray", new DbData("DB105.0", (short) 14));//绔欑偣鏁版嵁
+// lift2.put("staStatusCar", new DbData("DB105.50", (short) 14));//绔欑偣鏁版嵁
+// lift2.put("write", new DbData("DB106.0", null));//鍐欏叆鏁版嵁
+// lift2.put("writeConfirm", new DbData("DB106.8", null));//鍐欏叆纭鏁版嵁
+// lift2.put("confirm", new DbData("DB106.10", null));//纭鍛戒护
+// lift2.put("switchIOMode", new DbData("DB106.12", null));//鍑哄叆搴撴ā寮�
+//
+// addressList.add(lift1);
+// addressList.add(lift2);
+// this.slaveAddressList = addressList;
+// }
+//
+// @Override
+// public boolean connect() {
+// boolean result = false;
+// siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, slave.getIp());
+// siemensS7Net.setRack(slave.getRack().byteValue());
+// siemensS7Net.setSlot(slave.getSlot().byteValue());
+// OperateResult connect = siemensS7Net.ConnectServer();
+// if(connect.IsSuccess){
+// result = true;
+// OutputQueue.FORKLIFT.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()));
+// News.info("璐у弶鎻愬崌鏈鸿繛鎺ユ垚鍔� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+// } else {
+// OutputQueue.FORKLIFT.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()));
+// News.error("璐у弶鎻愬崌鏈鸿繛鎺ュけ璐ワ紒锛侊紒 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+// }
+// // siemensS7Net.ConnectClose();
+// this.connect = result;
+// return result;
+// }
+//
+// @Override
+// public void close() {
+//
+// }
+//
+// @Override
+// public void run() {
+// News.info("{}鍙疯揣鍙夋彁鍗囨満Master绾跨▼鍚姩", slave.getId());
+// this.connect();
+// while (true) {
+// try {
+// if (!this.connect) {
+// this.connect();
+// }
+//
+// Thread.sleep(500);
+// }catch (Exception e){
+// e.printStackTrace();
+// }
+// }
+// }
+//
+// public SiemensS7Net getSiemensS7Net() {
+// return siemensS7Net;
+// }
+//
+// public synchronized OperateResultExOne<byte[]> read(Integer slaveId, String dbTag) {
+// try {
+// HashMap<String, Object> map = this.slaveAddressList.get(slaveId - 1);
+// DbData dbData = (DbData) map.get(dbTag);
+// OperateResultExOne<byte[]> result = siemensS7Net.Read(dbData.dbAddress, dbData.dbAddressLength);
+// return result;
+// } catch (Exception e) {
+// OutputQueue.FORKLIFT.offer(MessageFormat.format("銆恵0}銆戣鍙栨彁鍗囨満鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+// }
+// return null;
+// }
+//
+// public synchronized OperateResult write(Integer slaveId, String dbTag, short[] array) {
+// try {
+// HashMap<String, Object> map = this.slaveAddressList.get(slaveId - 1);
+// DbData dbData = (DbData) map.get(dbTag);
+// OperateResult result = siemensS7Net.Write(dbData.dbAddress, array);
+// return result;
+// } catch (Exception e) {
+// OutputQueue.FORKLIFT.offer(MessageFormat.format("銆恵0}銆戝啓鍏ユ彁鍗囨満鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+// }
+// return null;
+// }
+//
+// public synchronized OperateResult write(Integer slaveId, String dbTag, short val) {
+// try {
+// HashMap<String, Object> map = this.slaveAddressList.get(slaveId - 1);
+// DbData dbData = (DbData) map.get(dbTag);
+// OperateResult result = siemensS7Net.Write(dbData.dbAddress, val);
+// return result;
+// } catch (Exception e) {
+// OutputQueue.FORKLIFT.offer(MessageFormat.format("銆恵0}銆戝啓鍏ユ彁鍗囨満鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+// }
+// return null;
+// }
+//
+// private class DbData {
+// private String dbAddress;
+// private Short dbAddressLength;
+//
+// public DbData(String dbAddress, Short dbAddressLength) {
+// this.dbAddress = dbAddress;
+// this.dbAddressLength = dbAddressLength;
+// }
+//
+// }
+//}
--
Gitblit v1.9.1