From 178c71496d5508dae69110f4d988cf128723d740 Mon Sep 17 00:00:00 2001 From: CZT <czt18638530771@163.com> Date: 星期三, 30 八月 2023 14:58:41 +0800 Subject: [PATCH] 配置Modbus协议:增加能耗信息 --- igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java | 22 ++++++++++++++++++---- 1 files changed, 18 insertions(+), 4 deletions(-) diff --git a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java index 6616ee3..5da1698 100644 --- a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java +++ b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java @@ -1,6 +1,7 @@ package com.ld.igds.protocol.modbus.command; import com.ld.igds.common.CoreDeviceService; +import com.ld.igds.common.CoreSerService; import com.ld.igds.constant.Constant; import com.ld.igds.constant.DeviceStatus; import com.ld.igds.io.RemoteControlService; @@ -14,6 +15,7 @@ import com.ld.igds.modbus.service.HModbusService; import com.ld.igds.models.Device; import com.ld.igds.models.DeviceModbus; +import com.ld.igds.models.DeviceSer; import com.ld.igds.protocol.modbus.ModbusUtil2; import com.ld.igds.protocol.modbus.ServerUtil; import com.ld.igds.protocol.modbus.data.ModbusTcp; @@ -43,6 +45,8 @@ private HModbusService deviceModbusService; @Resource private AnalysisService analysisService; + @Resource + private CoreSerService coreSerService; @Override @@ -63,6 +67,7 @@ ModbusTcp modbusTcp; ModbusTcp modbusTcpLink = null; String temp = Constant.YN_N; + DeviceSer deviceSer; for (ExeDevice exeDevice : deviceList) { deviceModbus = deviceModbusService.getCacheDeviceModbus(request.getCompanyId(), exeDevice.getPassCode() + ""); @@ -74,6 +79,12 @@ modbusTcp = new ModbusTcp(deviceModbus); modbusTcp.setIp(request.getIp()); modbusTcp.setPort(request.getPort()); + //鑻odbus璁惧閰嶇疆鍒嗘満锛屽垯浣跨敤鎵�閰嶇疆鍒嗘満鐨処P銆佺鍙� + if(StringUtils.isNotEmpty(deviceModbus.getSerId())){ + deviceSer = coreSerService.getCacheSer(request.getCompanyId(), deviceModbus.getSerId()); + modbusTcp.setIp(deviceSer.getIp()); + modbusTcp.setPort(deviceSer.getPort()); + } modbusTcp.setBizCode(exeDevice.getPassCode() + ""); modbusTcp.setSerId(request.getSerId()); modbusTcp.setCompanyId(request.getCompanyId()); @@ -105,7 +116,6 @@ continue; } - deviceModbus = deviceModbusService.getCacheDeviceModbus(request.getCompanyId(), exeDevice.getLink()); if (null == deviceModbus) continue; modbusTcpLink = new ModbusTcp(deviceModbus); @@ -115,6 +125,12 @@ modbusTcpLink.setSerId(request.getSerId()); modbusTcpLink.setCompanyId(request.getCompanyId()); + //鑻odbus璁惧閰嶇疆鍒嗘満锛屽垯浣跨敤鎵�閰嶇疆鍒嗘満鐨処P銆佺鍙� + if(StringUtils.isNotEmpty(deviceModbus.getSerId())){ + deviceSer = coreSerService.getCacheSer(request.getCompanyId(), deviceModbus.getSerId()); + modbusTcpLink.setIp(deviceSer.getIp()); + modbusTcpLink.setPort(deviceSer.getPort()); + } //濡傛灉鏄紑椋庢満 if (DeviceStatus.F_OPEN.getCode().equals(exeDevice.getTargetStatus())) { @@ -122,9 +138,7 @@ //鍏堝紑绐楀彛 temp = modbusTcp.getDeviceModbus().getOpen(); modbusTcp.setAddrExe(ServerUtil.getAddrExe(temp)); - doWriteExe(modbusTcp, DeviceStatus.OPEN.getCode()); - Thread.sleep(300); @@ -163,7 +177,7 @@ Thread.sleep(300); //鍦ㄥ叧绐楁埛 - temp = modbusTcp.getDeviceModbus().getOpen(); + temp = modbusTcp.getDeviceModbus().getClose(); modbusTcp.setAddrExe(ServerUtil.getAddrExe(temp)); doWriteExe(modbusTcp, DeviceStatus.CLOSE.getCode()); -- Gitblit v1.9.3