|
@@ -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()));
|