|
@@ -199,111 +199,12 @@ public class ModbusTask {
|
|
|
F.set(StringUtils.substringBefore(callTheRoll, "F"));
|
|
|
// 获取检测的数据名称
|
|
|
String dataName = StringUtils.substringAfterLast(callTheRoll, "_");
|
|
|
- switch (dataName){
|
|
|
- case "CHO":
|
|
|
- DmEnvHistoryWarnConfig dmEnvHistoryWarnConfigCho = dmEnvHistoryWarnConfigService.selectWarnDataByName("CHO");
|
|
|
- dmEnvHistoryModbusData.setCho(number.toString());
|
|
|
- if (!ObjectUtil.isEmpty(dmEnvHistoryWarnConfigCho) && Integer.valueOf(dmEnvHistoryModbusData.getCho())>=Integer.valueOf(dmEnvHistoryWarnConfigCho.getWarnValue())){
|
|
|
- DmEnvHistoryWarn dmEnvHistoryWarn = new DmEnvHistoryWarn();
|
|
|
- dmEnvHistoryWarn.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
|
|
- dmEnvHistoryWarn.setDeviceIdentifier(device.getDeviceId().toString());
|
|
|
- dmEnvHistoryWarn.setDeviceName(device.getDeviceName());
|
|
|
- dmEnvHistoryWarn.setWarnIndex(dmEnvHistoryWarnConfigCho.getWarnValue());
|
|
|
- dmEnvHistoryWarn.setWarnValue(dmEnvHistoryModbusData.getCho());
|
|
|
- dmEnvHistoryWarn.setWarnContent("甲醛过高");
|
|
|
- dmEnvHistoryWarnService.create(dmEnvHistoryWarn);
|
|
|
- }
|
|
|
- break;
|
|
|
- case "CO2":
|
|
|
- DmEnvHistoryWarnConfig dmEnvHistoryWarnConfigCo2 = dmEnvHistoryWarnConfigService.selectWarnDataByName("CO2");
|
|
|
- dmEnvHistoryModbusData.setCo2(number.toString());
|
|
|
- if (!ObjectUtil.isEmpty(dmEnvHistoryWarnConfigCo2) && Integer.valueOf(dmEnvHistoryModbusData.getCo2())>=Integer.valueOf(dmEnvHistoryWarnConfigCo2.getWarnValue())){
|
|
|
- DmEnvHistoryWarn dmEnvHistoryWarn = new DmEnvHistoryWarn();
|
|
|
- dmEnvHistoryWarn.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
|
|
- dmEnvHistoryWarn.setDeviceIdentifier(device.getDeviceId().toString());
|
|
|
- dmEnvHistoryWarn.setDeviceName(device.getDeviceName());
|
|
|
- dmEnvHistoryWarn.setWarnIndex(dmEnvHistoryWarnConfigCo2.getWarnValue());
|
|
|
- dmEnvHistoryWarn.setWarnValue(dmEnvHistoryModbusData.getCo2());
|
|
|
- dmEnvHistoryWarn.setWarnContent("二氧化碳过高");
|
|
|
- dmEnvHistoryWarnService.create(dmEnvHistoryWarn);
|
|
|
- }
|
|
|
- break;
|
|
|
- case "H":
|
|
|
- DmEnvHistoryWarnConfig dmEnvHistoryWarnConfigH = dmEnvHistoryWarnConfigService.selectWarnDataByName("H");
|
|
|
- dmEnvHistoryModbusData.setH(number.toString());
|
|
|
- if (!ObjectUtil.isEmpty(dmEnvHistoryWarnConfigH) && Integer.valueOf(dmEnvHistoryModbusData.getH())>=Integer.valueOf(dmEnvHistoryWarnConfigH.getWarnValue())){
|
|
|
- DmEnvHistoryWarn dmEnvHistoryWarn = new DmEnvHistoryWarn();
|
|
|
- dmEnvHistoryWarn.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
|
|
- dmEnvHistoryWarn.setDeviceIdentifier(device.getDeviceId().toString());
|
|
|
- dmEnvHistoryWarn.setDeviceName(device.getDeviceName());
|
|
|
- dmEnvHistoryWarn.setWarnIndex(dmEnvHistoryWarnConfigH.getWarnValue());
|
|
|
- dmEnvHistoryWarn.setWarnValue(dmEnvHistoryModbusData.getH());
|
|
|
- dmEnvHistoryWarn.setWarnContent("湿度过高");
|
|
|
- dmEnvHistoryWarnService.create(dmEnvHistoryWarn);
|
|
|
- }
|
|
|
- break;
|
|
|
- case "PM10":
|
|
|
- DmEnvHistoryWarnConfig dmEnvHistoryWarnConfigPm10 = dmEnvHistoryWarnConfigService.selectWarnDataByName("PM10");
|
|
|
- dmEnvHistoryModbusData.setPm10(number.toString());
|
|
|
- if (!ObjectUtil.isEmpty(dmEnvHistoryWarnConfigPm10) && Integer.valueOf(dmEnvHistoryModbusData.getPm10())>=Integer.valueOf(dmEnvHistoryWarnConfigPm10.getWarnValue())){
|
|
|
- DmEnvHistoryWarn dmEnvHistoryWarn = new DmEnvHistoryWarn();
|
|
|
- dmEnvHistoryWarn.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
|
|
- dmEnvHistoryWarn.setDeviceIdentifier(device.getDeviceId().toString());
|
|
|
- dmEnvHistoryWarn.setDeviceName(device.getDeviceName());
|
|
|
- dmEnvHistoryWarn.setWarnIndex(dmEnvHistoryWarnConfigPm10.getWarnValue());
|
|
|
- dmEnvHistoryWarn.setWarnValue(dmEnvHistoryModbusData.getPm10());
|
|
|
- dmEnvHistoryWarn.setWarnContent("pm10过高");
|
|
|
- dmEnvHistoryWarnService.create(dmEnvHistoryWarn);
|
|
|
- }
|
|
|
- break;
|
|
|
- case "PM25":
|
|
|
- DmEnvHistoryWarnConfig dmEnvHistoryWarnConfigPm25 = dmEnvHistoryWarnConfigService.selectWarnDataByName("PM25");
|
|
|
- dmEnvHistoryModbusData.setPm25(number.toString());
|
|
|
- if (!ObjectUtil.isEmpty(dmEnvHistoryWarnConfigPm25) && Integer.valueOf(dmEnvHistoryModbusData.getPm25())>=Integer.valueOf(dmEnvHistoryWarnConfigPm25.getWarnValue())){
|
|
|
- DmEnvHistoryWarn dmEnvHistoryWarn = new DmEnvHistoryWarn();
|
|
|
- dmEnvHistoryWarn.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
|
|
- dmEnvHistoryWarn.setDeviceIdentifier(device.getDeviceId().toString());
|
|
|
- dmEnvHistoryWarn.setDeviceName(device.getDeviceName());
|
|
|
- dmEnvHistoryWarn.setWarnIndex(dmEnvHistoryWarnConfigPm25.getWarnValue());
|
|
|
- dmEnvHistoryWarn.setWarnValue(dmEnvHistoryModbusData.getPm25());
|
|
|
- dmEnvHistoryWarn.setWarnContent("pm2.5过高");
|
|
|
- dmEnvHistoryWarnService.create(dmEnvHistoryWarn);
|
|
|
- }
|
|
|
- break;
|
|
|
- case "T":
|
|
|
- DmEnvHistoryWarnConfig dmEnvHistoryWarnConfigT = dmEnvHistoryWarnConfigService.selectWarnDataByName("T");
|
|
|
- dmEnvHistoryModbusData.setT(number.toString());
|
|
|
- if (!ObjectUtil.isEmpty(dmEnvHistoryWarnConfigT) && Integer.valueOf(dmEnvHistoryModbusData.getT())>=Integer.valueOf(dmEnvHistoryWarnConfigT.getWarnValue())){
|
|
|
- DmEnvHistoryWarn dmEnvHistoryWarn = new DmEnvHistoryWarn();
|
|
|
- dmEnvHistoryWarn.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
|
|
- dmEnvHistoryWarn.setDeviceIdentifier(device.getDeviceId().toString());
|
|
|
- dmEnvHistoryWarn.setDeviceName(device.getDeviceName());
|
|
|
- dmEnvHistoryWarn.setWarnIndex(dmEnvHistoryWarnConfigT.getWarnValue());
|
|
|
- dmEnvHistoryWarn.setWarnValue(dmEnvHistoryModbusData.getT());
|
|
|
- dmEnvHistoryWarn.setWarnContent("温度过高");
|
|
|
- dmEnvHistoryWarnService.create(dmEnvHistoryWarn);
|
|
|
- }
|
|
|
- break;
|
|
|
- case "VOC":
|
|
|
- DmEnvHistoryWarnConfig dmEnvHistoryWarnConfigVoc = dmEnvHistoryWarnConfigService.selectWarnDataByName("VOC");
|
|
|
- dmEnvHistoryModbusData.setVoc(number.toString());
|
|
|
- if (!ObjectUtil.isEmpty(dmEnvHistoryWarnConfigVoc) && Integer.valueOf(dmEnvHistoryModbusData.getVoc())>=Integer.valueOf(dmEnvHistoryWarnConfigVoc.getWarnValue())){
|
|
|
- DmEnvHistoryWarn dmEnvHistoryWarn = new DmEnvHistoryWarn();
|
|
|
- dmEnvHistoryWarn.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
|
|
- dmEnvHistoryWarn.setDeviceIdentifier(device.getDeviceId().toString());
|
|
|
- dmEnvHistoryWarn.setDeviceName(device.getDeviceName());
|
|
|
- dmEnvHistoryWarn.setWarnIndex(dmEnvHistoryWarnConfigVoc.getWarnValue());
|
|
|
- dmEnvHistoryWarn.setWarnValue(dmEnvHistoryModbusData.getVoc());
|
|
|
- dmEnvHistoryWarn.setWarnContent("VOC过高");
|
|
|
- dmEnvHistoryWarnService.create(dmEnvHistoryWarn);
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
+
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
}catch (Exception e) {
|
|
|
- log.error("调用读取InputRegisters模拟量数据,modbus读取数据失败,失败原因:{}",e.getMessage());
|
|
|
+ log.error("调用读取InputRegisters模拟量数据,modbus读取数据失败,失败原因:{}, 失败地址寄存器地址: {}",e.getMessage(),Integer.valueOf(data.getSoftwareRegisterAddress()));
|
|
|
return;
|
|
|
}
|
|
|
// catch (InterruptedException e) {
|
|
@@ -359,7 +260,7 @@ public class ModbusTask {
|
|
|
log.info("所有的驱动下的数据,{}" + JSONObject.toJSONString(dmModbusDriveDtos) );
|
|
|
// release();
|
|
|
}catch (Exception e){
|
|
|
- log.error("调用读取InputRegisters模拟量数据,modbus读取数据失败,失败原因:{}, 失败地址寄存器地址: {}",e.getMessage(),Integer.valueOf(data.getSoftwareRegisterAddress()));
|
|
|
+ log.error("modbus获取失败,失败原因:{}",e.getMessage());
|
|
|
// release();
|
|
|
return;
|
|
|
}
|