From c4530afc61e80c7d117f2bb577a76340a4313932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AE=87=E8=88=AA?= <653809315@qq.com> Date: Mon, 8 Jan 2024 14:41:29 +0800 Subject: [PATCH] commit --- .../system/RadarStatusController.java | 18 ++++++++++++++++++ .../ruoyi/common/utils/modbus/ModbusUtils.java | 8 ++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java index a6eeb43..a82b134 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java @@ -11,7 +11,12 @@ import com.ruoyi.common.core.page.TableSupport; import com.ruoyi.common.json.JSONObject; import com.ruoyi.common.json.JSONObject.JSONArray; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.bean.ModbusResponse; +import com.ruoyi.common.utils.modbus.ModbusUtils; import com.ruoyi.system.service.ISysRadarService; +import com.serotonin.modbus4j.ModbusMaster; +import com.serotonin.modbus4j.exception.ErrorResponseException; +import com.serotonin.modbus4j.exception.ModbusTransportException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -57,6 +62,19 @@ public class RadarStatusController { TableDataInfo rspData = new TableDataInfo(); List radarList = service.selectRadarList(sysRadar); + for (SysRadar radar : radarList) { + while (true){ + ModbusMaster master = ModbusUtils.getSlave(radar.getRadarIp(), 23); + try { + ModbusResponse modbusResponse = ModbusUtils.holdingRegister(); + System.out.println(modbusResponse); + } catch (ModbusTransportException e) { + throw new RuntimeException(e); + } catch (ErrorResponseException e) { + throw new RuntimeException(e); + } + } + } PageDomain pageDomain = TableSupport.buildPageRequest(); if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize()) { diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/modbus/ModbusUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/modbus/ModbusUtils.java index 5c2f162..3269951 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/modbus/ModbusUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/modbus/ModbusUtils.java @@ -20,10 +20,10 @@ import java.util.concurrent.locks.ReentrantReadWriteLock; @Slf4j public class ModbusUtils { - private final ModbusFactory modbusFactory = new ModbusFactory(); + private static final ModbusFactory modbusFactory = new ModbusFactory(); private static ModbusMaster master; - public ModbusResponse holdingRegister() throws ModbusTransportException, ErrorResponseException { + public static ModbusResponse holdingRegister() throws ModbusTransportException, ErrorResponseException { BatchRead batch = new BatchRead<>(); int startLength = 0; int endLength = 11; @@ -64,7 +64,7 @@ public class ModbusUtils { * @return * @throws ModbusInitException */ - public ModbusMaster getSlave(String ip, Integer port) { + public static ModbusMaster getSlave(String ip, Integer port) { try { IpParameters params = new IpParameters(); params.setHost(ip); @@ -92,7 +92,7 @@ public class ModbusUtils { - public int getValueType(String type) { + public static int getValueType(String type) { switch (type) { case "Integer": return DataType.TWO_BYTE_INT_SIGNED;