CZT
2023-08-30 178c71496d5508dae69110f4d988cf128723d740
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java
@@ -67,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() + "");
@@ -78,6 +79,12 @@
                modbusTcp = new ModbusTcp(deviceModbus);
                modbusTcp.setIp(request.getIp());
                modbusTcp.setPort(request.getPort());
                //若Modbus设备配置分机,则使用所配置分机的IP、端口
                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());
@@ -109,7 +116,6 @@
                    continue;
                }
                deviceModbus = deviceModbusService.getCacheDeviceModbus(request.getCompanyId(), exeDevice.getLink());
                if (null == deviceModbus) continue;
                modbusTcpLink = new ModbusTcp(deviceModbus);
@@ -118,9 +124,10 @@
                modbusTcpLink.setBizCode(exeDevice.getLink());
                modbusTcpLink.setSerId(request.getSerId());
                modbusTcpLink.setCompanyId(request.getCompanyId());
                //若Modbus设备配置分机,则使用所配置分机的IP、端口
                if(StringUtils.isNotEmpty(deviceModbus.getSerId())){
                    //若Modbus设备配置分机,则使用所配置分机的IP、端口
                    DeviceSer deviceSer = coreSerService.getCacheSer(request.getCompanyId(), deviceModbus.getSerId());
                    deviceSer = coreSerService.getCacheSer(request.getCompanyId(), deviceModbus.getSerId());
                    modbusTcpLink.setIp(deviceSer.getIp());
                    modbusTcpLink.setPort(deviceSer.getPort());
                }
@@ -131,9 +138,7 @@
                    //先开窗口
                    temp = modbusTcp.getDeviceModbus().getOpen();
                    modbusTcp.setAddrExe(ServerUtil.getAddrExe(temp));
                    doWriteExe(modbusTcp, DeviceStatus.OPEN.getCode());
                    Thread.sleep(300);