From bd956ec24c5995e6a2a585d6a4987c6b7de372c1 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 05 五月 2026 12:44:20 +0800
Subject: [PATCH] Merge branch 'rcs_master' into rcs_master_all_zkd

---
 zy-acs-charge/src/main/java/com/zy/acs/charge/impl/AiPowerChargeServiceImpl.java |   57 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 30 insertions(+), 27 deletions(-)

diff --git a/zy-acs-charge/src/main/java/com/zy/acs/charge/impl/AiPowerChargeServiceImpl.java b/zy-acs-charge/src/main/java/com/zy/acs/charge/impl/AiPowerChargeServiceImpl.java
index 4b2cad9..e256e01 100644
--- a/zy-acs-charge/src/main/java/com/zy/acs/charge/impl/AiPowerChargeServiceImpl.java
+++ b/zy-acs-charge/src/main/java/com/zy/acs/charge/impl/AiPowerChargeServiceImpl.java
@@ -2,25 +2,28 @@
 
 import com.ghgande.j2mod.modbus.ModbusException;
 import com.ghgande.j2mod.modbus.facade.ModbusTCPMaster;
-import com.ghgande.j2mod.modbus.io.AbstractModbusTransport;
 import com.ghgande.j2mod.modbus.procimg.Register;
 import com.ghgande.j2mod.modbus.procimg.SimpleRegister;
 import com.ghgande.j2mod.modbus.util.BitVector;
 import com.zy.acs.charge.ChargeCoreService;
-import com.zy.acs.charge.constant.AiPowerChargerCoilEnum;
-import com.zy.acs.charge.constant.AiPowerChargerRegisterEnum;
+import com.zy.acs.charge.constant.AiPowerChargeCoilEnum;
+import com.zy.acs.charge.constant.AiPowerChargeRegisterEnum;
+import com.zy.acs.charge.constant.ChargerType;
 import com.zy.acs.charge.model.ChargerStatus;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
  * 鐖辨櫘鎷堿GV閿傜數鏅鸿兘鍏呯數鏈鸿皟搴�
  */
-@Service
-@Primary
+@Service("aiPowerChargeService")
 @Slf4j
 public  class AiPowerChargeServiceImpl implements ChargeCoreService {
+
+    @Override
+    public ChargerType supportedType() {
+        return ChargerType.Modbus;
+    }
 
     /**
      * 寮�濮嬪厖鐢�
@@ -35,7 +38,7 @@
             if (!client.isConnected()) {
                 client.connect();
             }
-            return client.writeCoil(AiPowerChargerCoilEnum.AGV_REPORTED_IN_POSITION.getAddr(), true);
+            return client.writeCoil(AiPowerChargeCoilEnum.AGV_REPORTED_IN_POSITION.getAddr(), true);
         } catch (Exception e) {
             log.info("鍐欏叆寮�濮嬪厖鐢垫寚浠ゆ姤閿�:{} ", e.getMessage());
         }finally {
@@ -56,7 +59,7 @@
             if (!client.isConnected()) {
                 client.connect();
             }
-            return client.writeCoil(AiPowerChargerCoilEnum.AGV_REPORTED_IN_POSITION.getAddr(), false);
+            return client.writeCoil(AiPowerChargeCoilEnum.AGV_REPORTED_IN_POSITION.getAddr(), false);
         } catch (Exception e) {
             log.info("鍐欏叆鍋滄鍏呯數鎸囦护鎶ラ敊:{} ", e.getMessage());
         }finally {
@@ -77,7 +80,7 @@
             if (!client.isConnected()) {
                 client.connect();
             }
-            return client.readCoils(AiPowerChargerCoilEnum.FORWARD_RELAY_ONLINE.getAddr(), 1).getBit(0);
+            return client.readCoils(AiPowerChargeCoilEnum.FORWARD_RELAY_ONLINE.getAddr(), 1).getBit(0);
         } catch (Exception e) {
             log.info("璇诲彇鍦ㄧ嚎姝g户鐢靛櫒鐘舵�佹姤閿�:{} ", e.getMessage());
         }finally {
@@ -98,7 +101,7 @@
             if (!client.isConnected()) {
                 client.connect();
             }
-            return client.readCoils(AiPowerChargerCoilEnum.BACKWARD_RELAY_OFFLINE.getAddr(), 1).getBit(0);
+            return client.readCoils(AiPowerChargeCoilEnum.BACKWARD_RELAY_OFFLINE.getAddr(), 1).getBit(0);
         } catch (Exception e) {
             log.info("璇诲彇绂荤嚎姝g户鐢靛櫒鐘舵�佹姤閿�:{} ", e.getMessage());
         }finally {
@@ -119,7 +122,7 @@
             if (!client.isConnected()) {
                client.connect();
             }
-            return client.readMultipleRegisters(AiPowerChargerRegisterEnum.CHARGE_VOLTAGE.getAddr(), 1)[0].getValue() * AiPowerChargerRegisterEnum.CHARGE_CURRENT.getRaw();
+            return client.readMultipleRegisters(AiPowerChargeRegisterEnum.CHARGE_VOLTAGE.getAddr(), 1)[0].getValue() * AiPowerChargeRegisterEnum.CHARGE_CURRENT.getRaw();
         } catch (Exception e) {
             log.info("璇诲彇鍏呯數鐢靛帇鎶ラ敊:{} ", e.getMessage());
         }finally {
@@ -140,7 +143,7 @@
             if (!client.isConnected()) {
                 client.connect();
             }
-            return client.readMultipleRegisters(AiPowerChargerRegisterEnum.CHARGE_CURRENT.getAddr(), 1)[0].getValue() * AiPowerChargerRegisterEnum.CHARGE_CURRENT.getRaw();
+            return client.readMultipleRegisters(AiPowerChargeRegisterEnum.CHARGE_CURRENT.getAddr(), 1)[0].getValue() * AiPowerChargeRegisterEnum.CHARGE_CURRENT.getRaw();
         } catch (Exception e) {
             log.info("璇诲彇鍏呯數鐢垫祦鎶ラ敊:{} ", e.getMessage());
         }finally {
@@ -161,7 +164,7 @@
             if (!client.isConnected()) {
                client.connect();
             }
-            return client.readMultipleRegisters(AiPowerChargerRegisterEnum.CHARGE_MODE.getAddr(), 1)[0].getValue();
+            return client.readMultipleRegisters(AiPowerChargeRegisterEnum.CHARGE_MODE.getAddr(), 1)[0].getValue();
         } catch (Exception e) {
             e.printStackTrace();
             log.info("璇诲彇鍏呯數妯″紡鎶ラ敊:{} ", e.getMessage());
@@ -183,7 +186,7 @@
             if (!client.isConnected()) {
                 client.connect();
             }
-            return client.readMultipleRegisters(AiPowerChargerRegisterEnum.CHARGER_ID.getAddr(), 1)[0].getValue();
+            return client.readMultipleRegisters(AiPowerChargeRegisterEnum.CHARGER_ID.getAddr(), 1)[0].getValue();
         } catch (Exception e) {
             e.printStackTrace();
             log.info("璇诲彇鍏呯數鏈虹紪鍙锋姤閿�:{} ", e.getMessage());
@@ -210,7 +213,7 @@
             if (!client.isConnected()) {
                 client.connect();
             }
-            coils = client.readCoils(AiPowerChargerCoilEnum.WORK_STATUS.getAddr(), AiPowerChargerCoilEnum.values().length);
+            coils = client.readCoils(AiPowerChargeCoilEnum.WORK_STATUS.getAddr(), AiPowerChargeCoilEnum.values().length);
             for (int i = 0; i < coils.size(); i++) {
                 switch (i) {
                     case 0:
@@ -268,23 +271,23 @@
 
             // ---------- 鎵归噺璇诲彇淇濇寔瀵勫瓨鍣紙鍦板潃100~116鍏�17涓級 ----------
 
-            Register[] registers = client.readMultipleRegisters(AiPowerChargerRegisterEnum.CHARGE_VOLTAGE.getAddr(), AiPowerChargerRegisterEnum.values().length);
+            Register[] registers = client.readMultipleRegisters(AiPowerChargeRegisterEnum.CHARGE_VOLTAGE.getAddr(), AiPowerChargeRegisterEnum.values().length);
             for (int i = 0; i < registers.length; i++) {
                 switch (i) {
                     case 0:
-                        status.setVoltage(registers[i].getValue() * AiPowerChargerRegisterEnum.CHARGE_VOLTAGE.getRaw());
+                        status.setVoltage(registers[i].getValue() * AiPowerChargeRegisterEnum.CHARGE_VOLTAGE.getRaw());
                         break;
                     case 1:
-                        status.setCurrent(registers[i].getValue() * AiPowerChargerRegisterEnum.CHARGE_CURRENT.getRaw());
+                        status.setCurrent(registers[i].getValue() * AiPowerChargeRegisterEnum.CHARGE_CURRENT.getRaw());
                         break;
                     case 2:
                         status.setChargingTime(registers[i].getValue());
                         break;
                     case 3:
-                        status.setCapacity(registers[i].getValue() * AiPowerChargerRegisterEnum.CHARGE_CAPACITY.getRaw());
+                        status.setCapacity(registers[i].getValue() * AiPowerChargeRegisterEnum.CHARGE_CAPACITY.getRaw());
                         break;
                     case 4:
-                        status.setEnergy(registers[i].getValue() * AiPowerChargerRegisterEnum.CHARGE_ENERGY.getRaw());
+                        status.setEnergy(registers[i].getValue() * AiPowerChargeRegisterEnum.CHARGE_ENERGY.getRaw());
                         break;
                     case 5:
                         status.setCellMaxVoltage(registers[i].getValue());
@@ -293,19 +296,19 @@
                         status.setCellMinVoltage(registers[i].getValue());
                         break;
                     case 7:
-                        status.setPackVoltage(registers[i].getValue() * AiPowerChargerRegisterEnum.BMS_PACK_VOLTAGE.getRaw());
+                        status.setPackVoltage(registers[i].getValue() * AiPowerChargeRegisterEnum.BMS_PACK_VOLTAGE.getRaw());
                         break;
                     case 8:
-                        status.setVoltageDemand(registers[i].getValue() * AiPowerChargerRegisterEnum.BMS_VOLTAGE_DEMAND.getRaw());
+                        status.setVoltageDemand(registers[i].getValue() * AiPowerChargeRegisterEnum.BMS_VOLTAGE_DEMAND.getRaw());
                         break;
                     case 9:
-                        status.setCurrentDemand(registers[i].getValue() * AiPowerChargerRegisterEnum.BMS_CURRENT_DEMAND.getRaw());
+                        status.setCurrentDemand(registers[i].getValue() * AiPowerChargeRegisterEnum.BMS_CURRENT_DEMAND.getRaw());
                         break;
                     case 10:
                         status.setTemperature(registers[i].getValue());
                         break;
                     case 11:
-                        status.setSoc(registers[i].getValue() * AiPowerChargerRegisterEnum.BMS_SOC.getRaw());
+                        status.setSoc(registers[i].getValue() * AiPowerChargeRegisterEnum.BMS_SOC.getRaw());
                         break;
                     case 12:
                         status.setEndFlag(registers[i].getValue());
@@ -346,7 +349,7 @@
     @Override
     public boolean clearFault(ModbusTCPMaster client) {
         try {
-            client.writeSingleRegister(AiPowerChargerRegisterEnum.SCHEDULE_FLAG.getAddr(), new SimpleRegister(1));
+            client.writeSingleRegister(AiPowerChargeRegisterEnum.SCHEDULE_FLAG.getAddr(), new SimpleRegister(1));
         } catch (ModbusException e) {
             log.error("鍏呯數鍣ㄦ竻闄ゆ晠闅滃け璐�......");
         }
@@ -362,7 +365,7 @@
     @Override
     public boolean finishRetract(ModbusTCPMaster client) {
         try {
-            client.writeSingleRegister(AiPowerChargerRegisterEnum.SCHEDULE_FLAG.getAddr(), new SimpleRegister(2));
+            client.writeSingleRegister(AiPowerChargeRegisterEnum.SCHEDULE_FLAG.getAddr(), new SimpleRegister(2));
         } catch (ModbusException e) {
             log.error("鍏呯數鍣ㄥ畬鎴愰��鍥炲け璐�......");
         }
@@ -378,7 +381,7 @@
     @Override
     public boolean restoreStandby(ModbusTCPMaster client) {
         try {
-            client.writeSingleRegister(AiPowerChargerRegisterEnum.SCHEDULE_FLAG.getAddr(), new SimpleRegister(3));
+            client.writeSingleRegister(AiPowerChargeRegisterEnum.SCHEDULE_FLAG.getAddr(), new SimpleRegister(3));
         } catch (ModbusException e) {
             log.error("鍏呯數鍣ㄦ仮澶嶅緟鏈哄け璐�......");
         }

--
Gitblit v1.9.1