From 82135a39198718fce5821b770dffdea1d2372c2c Mon Sep 17 00:00:00 2001
From: zc <zc@123>
Date: 星期五, 27 六月 2025 08:48:53 +0800
Subject: [PATCH] 123

---
 src/main/java/com/zy/core/thread/impl/LfdZyForkLiftMasterThread.java |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 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 445b4fd..76a9238 100644
--- a/src/main/java/com/zy/core/thread/impl/LfdZyForkLiftMasterThread.java
+++ b/src/main/java/com/zy/core/thread/impl/LfdZyForkLiftMasterThread.java
@@ -27,7 +27,7 @@
     private ForkLiftProtocol forkLiftProtocol;
     private RedisUtil redisUtil;
     private SiemensS7Net siemensS7Net;
-    private List<HashMap<String,Object>> slaveAddressList = null;
+    private List<HashMap<String, Object>> slaveAddressList = null;
     private boolean connect = false;
 
     public LfdZyForkLiftMasterThread(ForkLiftSlave slave, RedisUtil redisUtil) {
@@ -37,17 +37,19 @@
 
         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("staStatus", new DbData("DB102.0", (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) 16));//鎻愬崌鏈烘暟鎹�
-        lift2.put("staStatus", new DbData("DB105.0", (short) 8));//绔欑偣鏁版嵁
+        lift2.put("staStatus", new DbData("DB105.0", (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);
@@ -61,12 +63,12 @@
         siemensS7Net.setRack(slave.getRack().byteValue());
         siemensS7Net.setSlot(slave.getSlot().byteValue());
         OperateResult connect = siemensS7Net.ConnectServer();
-        if(connect.IsSuccess){
+        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()));
+            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()));
+            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();
@@ -90,13 +92,17 @@
                 }
 
                 Thread.sleep(500);
-            }catch (Exception e){
+            } catch (Exception e) {
                 e.printStackTrace();
             }
         }
     }
 
-    public OperateResultExOne<byte[]> read(Integer slaveId, String dbTag) {
+    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);
@@ -108,7 +114,7 @@
         return null;
     }
 
-    public OperateResult write(Integer slaveId, String dbTag, short[] array) {
+    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);
@@ -120,7 +126,7 @@
         return null;
     }
 
-    public OperateResult write(Integer slaveId, String dbTag, short val) {
+    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);

--
Gitblit v1.9.1