|
@@ -48,6 +48,7 @@ import me.zhengjie.modules.dm.modbus.group.domain.DmModbusGroup;
|
|
|
import me.zhengjie.utils.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
+import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
import javax.annotation.PostConstruct;
|
|
|
import javax.annotation.PreDestroy;
|
|
@@ -189,7 +190,7 @@ public class ModbusTask {
|
|
|
//默认使用 3X(Input Register)
|
|
|
log.info("调用读取InputRegisters模拟量数据");
|
|
|
// 读取数据 数据类型为 float Integer.valueOf(data.getSoftwareRegisterAddress())
|
|
|
- if (Integer.valueOf(data.getSoftwareRegisterAddress())<60){
|
|
|
+ if (Integer.valueOf(data.getCallTheRoll().substring(0,data.getCallTheRoll().indexOf("_")-1))<8){
|
|
|
Number number = readInputRegisters(Integer.valueOf(data.getSoftwareRegisterAddress())-1, 1, modbusSalveId);
|
|
|
// Number number = 321;
|
|
|
//获取点名 例如 1F_CO2
|
|
@@ -216,9 +217,9 @@ public class ModbusTask {
|
|
|
// }
|
|
|
});
|
|
|
|
|
|
- if (!ObjectUtil.isEmpty(dmEnvHistoryModbusData)){
|
|
|
+ if (!ObjectUtil.isNull(dmEnvHistoryModbusData) && null != dmEnvHistoryModbusData.getCho()){
|
|
|
// 判断数据是否为0
|
|
|
- if (dmEnvHistoryModbusData.getCho().equals("0") && dmEnvHistoryModbusData.getCo2().equals("0") && dmEnvHistoryModbusData.getH().equals("0") && dmEnvHistoryModbusData.getT().equals("0") && dmEnvHistoryModbusData.getPm10().equals("0") && dmEnvHistoryModbusData.getPm25().equals("0") && dmEnvHistoryModbusData.getVoc().equals("0")){
|
|
|
+ if ("0".equals(dmEnvHistoryModbusData.getCho()) && "0".equals(dmEnvHistoryModbusData.getCo2()) && "0".equals(dmEnvHistoryModbusData.getH()) && "0".equals(dmEnvHistoryModbusData.getT()) && "0".equals(dmEnvHistoryModbusData.getPm10()) && "0".equals(dmEnvHistoryModbusData.getPm25()) && "0".equals(dmEnvHistoryModbusData.getVoc())){
|
|
|
DmModbusDeviceStatus dmModbusDeviceStatus = new DmModbusDeviceStatus();
|
|
|
dmModbusDeviceStatus.setDeviceId(device.getDeviceId());
|
|
|
dmModbusDeviceStatus.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
|
@@ -309,7 +310,7 @@ public class ModbusTask {
|
|
|
//默认使用 3X(Input Register)
|
|
|
// log.info("调用读取InputRegisters模拟量数据");
|
|
|
// 读取数据 数据类型为 float Integer.valueOf(data.getSoftwareRegisterAddress())
|
|
|
- if (Integer.valueOf(data.getSoftwareRegisterAddress())<60){
|
|
|
+ if (Integer.valueOf(data.getCallTheRoll().substring(0,data.getCallTheRoll().indexOf("_")-1))<8){
|
|
|
Number number = readInputRegisters(Integer.valueOf(data.getSoftwareRegisterAddress())-1, 1, modbusSalveId);
|
|
|
//获取点名 例如 1F_CO2
|
|
|
String callTheRoll = data.getCallTheRoll();
|