From 3c45d4f9f3aba5bc85a9577e43c0dffc71b93a22 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期四, 10 七月 2025 15:54:27 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/impl/LfdZyForkLiftMasterThread.java | 306 +++++++++++++++++++++++++------------------------- 1 files changed, 153 insertions(+), 153 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 8a8964d..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,153 +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) 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; - } - - } -} +//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