Browse Source

1、PLC控制界面修改;

dev
3067418132@qq.com 2 weeks ago
parent
commit
e2299585d3
  1. 7
      user-service/src/main/java/com/mh/user/dto/HotWaterSupplyPumpControlVO.java
  2. 6
      user-service/src/main/java/com/mh/user/dto/HotWaterSystemControlVO.java
  3. 31
      user-service/src/main/java/com/mh/user/dto/SolenoidValveControlVO.java
  4. 4
      user-service/src/main/java/com/mh/user/job/CollectionLoopRunner.java
  5. 2
      user-service/src/main/java/com/mh/user/job/DealDataJob.java
  6. 2
      user-service/src/main/java/com/mh/user/job/S7PlcCollectionJob.java
  7. 69
      user-service/src/main/java/com/mh/user/service/impl/CollectionParamsManageServiceImpl.java
  8. 4
      user-service/src/main/java/com/mh/user/strategy/TimeControlStrategy.java
  9. 2
      user-service/src/main/resources/application.yml

7
user-service/src/main/java/com/mh/user/dto/HotWaterSupplyPumpControlVO.java

@ -195,6 +195,13 @@ public class HotWaterSupplyPumpControlVO implements TimeControlVO {
private BigDecimal pressureSet; private BigDecimal pressureSet;
private String pressureSetId; private String pressureSetId;
/**
*
* @return
*/
private int controlMode;
private String controlModeId;
@Override @Override
public String toString() { public String toString() {
return new StringJoiner(", ", HotWaterSupplyPumpControlVO.class.getSimpleName() + "[", "]") return new StringJoiner(", ", HotWaterSupplyPumpControlVO.class.getSimpleName() + "[", "]")

6
user-service/src/main/java/com/mh/user/dto/HotWaterSystemControlVO.java

@ -135,7 +135,7 @@ public class HotWaterSystemControlVO {
* pressureSet 压力设置 * pressureSet 压力设置
* @return * @return
*/ */
private int pressureSet; private BigDecimal pressureSet;
private String pressureSetId; private String pressureSetId;
/** /**
@ -159,6 +159,10 @@ public class HotWaterSystemControlVO {
private int tankHeight; private int tankHeight;
private String tankHeightId; private String tankHeightId;
// 控制模式
private int controlMode;
private String controlModeId;
@Override @Override
public String toString() { public String toString() {
return new StringJoiner(", ", HotWaterSystemControlVO.class.getSimpleName() + "[", "]") return new StringJoiner(", ", HotWaterSystemControlVO.class.getSimpleName() + "[", "]")

31
user-service/src/main/java/com/mh/user/dto/SolenoidValveControlVO.java

@ -139,6 +139,37 @@ public class SolenoidValveControlVO implements TimeControlVO {
private int controlMode; private int controlMode;
private String controlModeId; private String controlModeId;
// 单箱液位设置上限
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0")
private BigDecimal setSingleUpperLimit;
private String setSingleUpperLimitId;
// 单箱液位设置下限
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0")
private BigDecimal setSingleLowerLimit;
private String setSingleLowerLimitId;
// 液位设置
// 单箱液位设置
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0")
private BigDecimal setSingleLevel;
private String setSingleLevelId;
// 多箱液位设置上限
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0")
private BigDecimal setMultiUpperLimit;
private String setMultiUpperLimitId;
// 多箱液位设置下限
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0")
private BigDecimal setMultiLowerLimit;
private String setMultiLowerLimitId;
// 液位设置
// 多箱液位设置
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0")
private BigDecimal setMultiLevel;
private String setMultiLevelId;
@Override @Override
public String toString() { public String toString() {
return new StringJoiner(", ", SolenoidValveControlVO.class.getSimpleName() + "[", "]") return new StringJoiner(", ", SolenoidValveControlVO.class.getSimpleName() + "[", "]")

4
user-service/src/main/java/com/mh/user/job/CollectionLoopRunner.java

@ -69,8 +69,8 @@ public class CollectionLoopRunner implements ApplicationRunner {
// 获取天气数据 // 获取天气数据
getWeatherInfoJob.getWeatherInfo(); getWeatherInfoJob.getWeatherInfo();
// 启动netty端口 // 启动netty端口
NettyEchoServer nettyEchoServer = new NettyEchoServer(); // NettyEchoServer nettyEchoServer = new NettyEchoServer();
nettyEchoServer.bind(8098); // nettyEchoServer.bind(8098);
// 初始化mqtt订阅记录 // 初始化mqtt订阅记录
// initializeMqttSubscription(); // initializeMqttSubscription();
} }

2
user-service/src/main/java/com/mh/user/job/DealDataJob.java

@ -74,7 +74,7 @@ public class DealDataJob {
/** /**
* 采集 * 采集
*/ */
@Scheduled(cron = "35 0/2 * * * ?") // @Scheduled(cron = "35 0/2 * * * ?")
// @Scheduled(cron = "0 0/1 * * * ?") // @Scheduled(cron = "0 0/1 * * * ?")
// @Scheduled(cron = "0 0/5 * * * ?") //5分钟 // @Scheduled(cron = "0 0/5 * * * ?") //5分钟
public void collect() { public void collect() {

2
user-service/src/main/java/com/mh/user/job/S7PlcCollectionJob.java

@ -57,7 +57,7 @@ public class S7PlcCollectionJob {
* 每5分钟执行一次可根据实际需求调整 * 每5分钟执行一次可根据实际需求调整
* 优先处理手动操作如果Constant.WEB_PLC_FLAG为true则跳过本次采集 * 优先处理手动操作如果Constant.WEB_PLC_FLAG为true则跳过本次采集
*/ */
@Scheduled(cron = "0 0/5 * * * ?") // @Scheduled(cron = "0 0/5 * * * ?")
public void collectS7Data() { public void collectS7Data() {
log.info("------S7 PLC定时采集开始>>>>Constant.FLAG=={}------", Constant.PLC_FLAG); log.info("------S7 PLC定时采集开始>>>>Constant.FLAG=={}------", Constant.PLC_FLAG);

69
user-service/src/main/java/com/mh/user/service/impl/CollectionParamsManageServiceImpl.java

@ -348,6 +348,7 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage
case "循环泵": case "循环泵":
return createCircuitPumpControlVO(dlEntry, dlItems, parentDto); return createCircuitPumpControlVO(dlEntry, dlItems, parentDto);
case "供水泵": case "供水泵":
case "供回水设置":
return createSupplyPumpControlVO(dlEntry, dlItems, parentDto); return createSupplyPumpControlVO(dlEntry, dlItems, parentDto);
case "回水泵": case "回水泵":
return createBackPumpControlVO(dlEntry, dlItems, parentDto); return createBackPumpControlVO(dlEntry, dlItems, parentDto);
@ -355,9 +356,12 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage
case "多箱电动阀": case "多箱电动阀":
return createElectricValveControlVO(dlEntry, dlItems, parentDto); return createElectricValveControlVO(dlEntry, dlItems, parentDto);
case "单箱电磁阀": case "单箱电磁阀":
case "单箱设置":
case "多箱设置":
case "多箱电磁阀": case "多箱电磁阀":
return createSolenoidValveControlVO(dlEntry, dlItems, parentDto); return createSolenoidValveControlVO(dlEntry, dlItems, parentDto);
case "补水电磁阀": case "补水电磁阀":
case "补水设置":
return createHydrateSolenoidValveControlVO(dlEntry, dlItems, parentDto); return createHydrateSolenoidValveControlVO(dlEntry, dlItems, parentDto);
case "设备校准": case "设备校准":
return createDeviceCalibrationControlVO(dlEntry, dlItems, parentDto); return createDeviceCalibrationControlVO(dlEntry, dlItems, parentDto);
@ -429,7 +433,7 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage
case "26": case "26":
// 液位上限 // 液位上限
// 判断是否是单箱或者多箱 // 判断是否是单箱或者多箱
if (parentDto.getName().contains("单箱")) { if (item.getOtherName().contains("单箱")) {
circuitPumpVo.setSetSingleUpperLimit(item.getCurValue()); circuitPumpVo.setSetSingleUpperLimit(item.getCurValue());
circuitPumpVo.setSetSingleUpperLimitId(item.getCpmId()); circuitPumpVo.setSetSingleUpperLimitId(item.getCpmId());
} else { } else {
@ -439,7 +443,7 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage
break; break;
case "27": case "27":
// 液位下限 // 液位下限
if (parentDto.getName().contains("单箱")) { if (item.getOtherName().contains("单箱")) {
circuitPumpVo.setSetSingleLowerLimit(item.getCurValue()); circuitPumpVo.setSetSingleLowerLimit(item.getCurValue());
circuitPumpVo.setSetSingleLowerLimitId(item.getCpmId()); circuitPumpVo.setSetSingleLowerLimitId(item.getCpmId());
} else { } else {
@ -449,7 +453,7 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage
break; break;
case "39": case "39":
// 液位设置 // 液位设置
if (parentDto.getName().contains("单箱")) { if (item.getOtherName().contains("单箱")) {
circuitPumpVo.setSetSingleLevel(item.getCurValue()); circuitPumpVo.setSetSingleLevel(item.getCurValue());
circuitPumpVo.setSetSingleLevelId(item.getCpmId()); circuitPumpVo.setSetSingleLevelId(item.getCpmId());
} else { } else {
@ -551,14 +555,43 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage
circuitPumpVo.setManualAutoSwitchId(item.getCpmId()); circuitPumpVo.setManualAutoSwitchId(item.getCpmId());
break; break;
case "26": case "26":
// 温度上限 // 液位上限
circuitPumpVo.setSetUpperLimit(item.getCurValue()); // 判断是否是单箱或者多箱
circuitPumpVo.setSetUpperLimitId(item.getCpmId()); if (item.getOtherName().contains("单箱")) {
circuitPumpVo.setSetSingleUpperLimit(item.getCurValue());
circuitPumpVo.setSetSingleUpperLimitId(item.getCpmId());
} else if (item.getOtherName().contains("温度")) {
// 温度上限
circuitPumpVo.setSetUpperLimit(item.getCurValue());
circuitPumpVo.setSetUpperLimitId(item.getCpmId());
} else {
circuitPumpVo.setSetMultiUpperLimit(item.getCurValue());
circuitPumpVo.setSetMultiUpperLimitId(item.getCpmId());
}
break; break;
case "27": case "27":
// 温度下限 // 液位下限
circuitPumpVo.setSetLowerLimit(item.getCurValue()); if (item.getOtherName().contains("单箱")) {
circuitPumpVo.setSetLowerLimitId(item.getCpmId()); circuitPumpVo.setSetSingleLowerLimit(item.getCurValue());
circuitPumpVo.setSetSingleLowerLimitId(item.getCpmId());
} else if (item.getOtherName().contains("温度")) {
// 温度下限
circuitPumpVo.setSetLowerLimit(item.getCurValue());
circuitPumpVo.setSetLowerLimitId(item.getCpmId());
} else {
circuitPumpVo.setSetMultiLowerLimit(item.getCurValue());
circuitPumpVo.setSetMultiLowerLimitId(item.getCpmId());
}
break;
case "39":
// 液位设置
if (item.getOtherName().contains("单箱")) {
circuitPumpVo.setSetSingleLevel(item.getCurValue());
circuitPumpVo.setSetSingleLevelId(item.getCpmId());
} else {
circuitPumpVo.setSetMultiLevel(item.getCurValue());
circuitPumpVo.setSetMultiLevelId(item.getCpmId());
}
break; break;
case "41": case "41":
// 控制模式 // 控制模式
@ -810,6 +843,11 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage
supplyPumpVo.setReducePumpErrorSetId(item.getCpmId()); supplyPumpVo.setReducePumpErrorSetId(item.getCpmId());
} }
break; break;
case "41":
// 控制模式
supplyPumpVo.setControlMode(item.getCurValue().intValue());
supplyPumpVo.setControlModeId(item.getCpmId());
break;
default: default:
break; break;
} }
@ -905,9 +943,14 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage
vo.setTimeSetId(item.getCpmId()); vo.setTimeSetId(item.getCpmId());
break; break;
case "22": case "22":
// 校时手自动切换 if (item.getOtherName().contains("温控")) {
vo.setTimeSetAuto(item.getCurValue().intValue()); vo.setControlMode(item.getCurValue().intValue());
vo.setTimeSetAutoId(item.getCpmId()); vo.setControlModeId(item.getCpmId());
} else {
// 校时手自动切换
vo.setTimeSetAuto(item.getCurValue().intValue());
vo.setTimeSetAutoId(item.getCpmId());
}
break; break;
case "5": case "5":
// 压力 // 压力
@ -916,7 +959,7 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage
break; break;
case "32": case "32":
// 压力设置 // 压力设置
vo.setPressureSet(item.getCurValue().intValue()); vo.setPressureSet(item.getCurValue());
vo.setPressureSetId(item.getCpmId()); vo.setPressureSetId(item.getCpmId());
break; break;
case "6": case "6":

4
user-service/src/main/java/com/mh/user/strategy/TimeControlStrategy.java

@ -112,11 +112,11 @@ public class TimeControlStrategy implements DeviceStrategy {
+ "00" + dataValue.substring(10,12) // 分 + "00" + dataValue.substring(10,12) // 分
+ "0000" // 秒 + "0000" // 秒
+ "0002"; // 只写 写2设置日期,写1读取日期 + "0002"; // 只写 写2设置日期,写1读取日期
} else if ("0041".equals(registerAddr)) { } else if ("0041".equals(registerAddr) || isExactlyDivisible("0041", registerAddr)) {
str = str + funCode + registerAddr + "000204" str = str + funCode + registerAddr + "000204"
+ "00" + dataValue.substring(0, 2) // 分 + "00" + dataValue.substring(0, 2) // 分
+ "00" + dataValue.substring(2, 4); // 秒 + "00" + dataValue.substring(2, 4); // 秒
} else if ("0044".equals(registerAddr)) { } else if ("0044".equals(registerAddr) || isExactlyDivisible("0044", registerAddr)) {
str = str + funCode + registerAddr + "000204" str = str + funCode + registerAddr + "000204"
+ ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.parseByte2HexStr(dataValue.substring(0, 8)), 4) // 1-8路 + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.parseByte2HexStr(dataValue.substring(0, 8)), 4) // 1-8路
+ ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.parseByte2HexStr(dataValue.substring(8, 16)), 4); // 9-16路 + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.parseByte2HexStr(dataValue.substring(8, 16)), 4); // 9-16路

2
user-service/src/main/resources/application.yml

@ -1,6 +1,6 @@
spring: spring:
profiles: profiles:
active: prod active: dev
mvc: mvc:
pathmatch: pathmatch:
matching-strategy: ant_path_matcher matching-strategy: ant_path_matcher

Loading…
Cancel
Save