王先生 2 years ago
parent
commit
509c49bfca

+ 8 - 5
eladmin-system/src/main/java/me/zhengjie/modules/quartz/task/ModbusTask.java

@@ -407,12 +407,15 @@ public class ModbusTask {
                                                             //默认使用 3X(Input  Register)
 //                                                            log.info("调用读取InputRegisters模拟量数据");
                                                             // 读取数据 数据类型为 float Integer.valueOf(data.getSoftwareRegisterAddress())
-                                                            Number number = readInputRegisters(Integer.valueOf(data.getSoftwareRegisterAddress())-1, 1, modbusSalveId);
-                                                            //获取点名 例如 1F_CO2
-                                                            String callTheRoll = data.getCallTheRoll();
+                                                            if (Integer.valueOf(data.getSoftwareRegisterAddress())>59){
+                                                                Number number = readInputRegisters(Integer.valueOf(data.getSoftwareRegisterAddress())-1, 1, modbusSalveId);
+                                                                //获取点名 例如 1F_CO2
+                                                                String callTheRoll = data.getCallTheRoll();
 //                                                            System.out.println("name:"+callTheRoll+"  lable:"+data.getSoftwareRegisterAddress()+"  value:"+number.toString());
-                                                            log.info("name:{}, lable:{}, value:{}", callTheRoll,data.getSoftwareRegisterAddress(),number.toString());
-                                                            break;
+                                                                log.info("name:{}, lable:{}, value:{}", callTheRoll,data.getSoftwareRegisterAddress(),number.toString());
+                                                                break;
+                                                            }
+
                                                     }
                                                 }catch (Exception e) {
                                                     log.error("调用读取InputRegisters模拟量数据,modbus读取数据失败,失败原因:{}, 失败地址寄存器地址: {}",e.getMessage(),Integer.valueOf(data.getSoftwareRegisterAddress()));