PCS关机先向设备发送给定功率值再发送关机指令
This commit is contained in:
@ -99,7 +99,10 @@ public class StrategyPoller {
|
|||||||
logger.error("运行策略{}轮询异常", strategyVo.getId(), e);
|
logger.error("运行策略{}轮询异常", strategyVo.getId(), e);
|
||||||
return null;
|
return null;
|
||||||
})
|
})
|
||||||
.thenRun(() -> strategyLocks.remove(strategyId));
|
.thenRun(() -> {
|
||||||
|
logger.info("运行策略{}轮询任务执行完成,释放锁", strategyVo.getId());
|
||||||
|
strategyLocks.remove(strategyId);
|
||||||
|
});
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("运行策略{}任务失败", strategyVo.getId(), e);
|
logger.error("运行策略{}任务失败", strategyVo.getId(), e);
|
||||||
strategyLocks.remove(strategyId);
|
strategyLocks.remove(strategyId);
|
||||||
@ -306,30 +309,39 @@ public class StrategyPoller {
|
|||||||
public List<WriteTagConfig> getSwitchDeviceWriteTags(EmsPcsSetting pcsSetting, String workStatus) {
|
public List<WriteTagConfig> getSwitchDeviceWriteTags(EmsPcsSetting pcsSetting, String workStatus) {
|
||||||
List<WriteTagConfig> writeTags = new ArrayList<>();
|
List<WriteTagConfig> writeTags = new ArrayList<>();
|
||||||
BigDecimal power;
|
BigDecimal power;
|
||||||
WriteTagConfig writeTag = new WriteTagConfig();
|
|
||||||
writeTag.setAddress(pcsSetting.getPointAddress());
|
|
||||||
if (WorkStatus.NORMAL.getCode().equals(workStatus)) {
|
if (WorkStatus.NORMAL.getCode().equals(workStatus)) {
|
||||||
// 开机
|
// 开机先发送开机指令再发送有功功率给定值
|
||||||
|
WriteTagConfig writeTag = new WriteTagConfig();
|
||||||
|
writeTag.setAddress(pcsSetting.getPointAddress());
|
||||||
writeTag.setValue(pcsSetting.getStartCommand());
|
writeTag.setValue(pcsSetting.getStartCommand());
|
||||||
|
writeTags.add(writeTag);
|
||||||
|
|
||||||
power = pcsSetting.getStartPower();
|
power = pcsSetting.getStartPower();
|
||||||
} else {
|
} else {
|
||||||
// 关机
|
// 关机
|
||||||
writeTag.setValue(pcsSetting.getStopCommand());
|
|
||||||
power = pcsSetting.getStopPower();
|
power = pcsSetting.getStopPower();
|
||||||
}
|
}
|
||||||
writeTags.add(writeTag);
|
|
||||||
JSONArray array = JSON.parseArray(pcsSetting.getClusterPointAddress());
|
JSONArray array = JSON.parseArray(pcsSetting.getClusterPointAddress());
|
||||||
for (int i = 0; i < pcsSetting.getClusterNum(); i++) {
|
for (int i = 0; i < pcsSetting.getClusterNum(); i++) {
|
||||||
Object clusterPointAddress = array.get(i);
|
Object clusterPointAddress = array.get(i);
|
||||||
WriteTagConfig clusterWriteTag = new WriteTagConfig();
|
WriteTagConfig clusterWriteTag = new WriteTagConfig();
|
||||||
clusterWriteTag.setAddress(String.valueOf(clusterPointAddress));
|
clusterWriteTag.setAddress(String.valueOf(clusterPointAddress));
|
||||||
// 电池簇PCS有功功率给定置0
|
// 电池簇PCS有功功率给定默认置0
|
||||||
if (power == null) {
|
if (power == null) {
|
||||||
power = BigDecimal.ZERO;
|
power = BigDecimal.ZERO;
|
||||||
}
|
}
|
||||||
clusterWriteTag.setValue(power);
|
clusterWriteTag.setValue(power);
|
||||||
writeTags.add(clusterWriteTag);
|
writeTags.add(clusterWriteTag);
|
||||||
}
|
}
|
||||||
|
if (WorkStatus.STOP.getCode().equals(workStatus)) {
|
||||||
|
// 关机先发送有功功率给定值再发送关机指令
|
||||||
|
WriteTagConfig writeTag = new WriteTagConfig();
|
||||||
|
writeTag.setAddress(pcsSetting.getPointAddress());
|
||||||
|
writeTag.setValue(pcsSetting.getStopCommand());
|
||||||
|
writeTags.add(writeTag);
|
||||||
|
}
|
||||||
return writeTags;
|
return writeTags;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -564,32 +564,39 @@ public class EmsDeviceSettingServiceImpl implements IEmsDeviceSettingService
|
|||||||
public List<WriteTagConfig> getWriteTags(String workStatus, EmsPcsSetting pcsSetting) {
|
public List<WriteTagConfig> getWriteTags(String workStatus, EmsPcsSetting pcsSetting) {
|
||||||
List<WriteTagConfig> writeTags = new ArrayList<>();
|
List<WriteTagConfig> writeTags = new ArrayList<>();
|
||||||
BigDecimal power;
|
BigDecimal power;
|
||||||
WriteTagConfig writeTag = new WriteTagConfig();
|
|
||||||
writeTag.setAddress(pcsSetting.getPointAddress());
|
|
||||||
if (WorkStatus.NORMAL.getCode().equals(workStatus)) {
|
if (WorkStatus.NORMAL.getCode().equals(workStatus)) {
|
||||||
// 开机
|
// 开机先发送开机指令再发送有功功率给定值
|
||||||
|
WriteTagConfig writeTag = new WriteTagConfig();
|
||||||
|
writeTag.setAddress(pcsSetting.getPointAddress());
|
||||||
writeTag.setValue(pcsSetting.getStartCommand());
|
writeTag.setValue(pcsSetting.getStartCommand());
|
||||||
|
writeTags.add(writeTag);
|
||||||
power = pcsSetting.getStartPower();
|
power = pcsSetting.getStartPower();
|
||||||
} else if (WorkStatus.STOP.getCode().equals(workStatus)) {
|
} else if (WorkStatus.STOP.getCode().equals(workStatus)) {
|
||||||
// 关机
|
// 关机
|
||||||
writeTag.setValue(pcsSetting.getStopCommand());
|
|
||||||
power = pcsSetting.getStopPower();
|
power = pcsSetting.getStopPower();
|
||||||
} else {
|
} else {
|
||||||
throw new ServiceException("工作状态不合法");
|
throw new ServiceException("工作状态不合法");
|
||||||
}
|
}
|
||||||
writeTags.add(writeTag);
|
|
||||||
JSONArray array = JSON.parseArray(pcsSetting.getClusterPointAddress());
|
JSONArray array = JSON.parseArray(pcsSetting.getClusterPointAddress());
|
||||||
for (int i = 0; i < pcsSetting.getClusterNum(); i++) {
|
for (int i = 0; i < pcsSetting.getClusterNum(); i++) {
|
||||||
Object clusterPointAddress = array.get(i);
|
Object clusterPointAddress = array.get(i);
|
||||||
WriteTagConfig clusterWriteTag = new WriteTagConfig();
|
WriteTagConfig clusterWriteTag = new WriteTagConfig();
|
||||||
clusterWriteTag.setAddress(String.valueOf(clusterPointAddress));
|
clusterWriteTag.setAddress(String.valueOf(clusterPointAddress));
|
||||||
// 电池簇PCS有功功率给定置0
|
// 电池簇PCS有功功率给定默认置0
|
||||||
if (power == null) {
|
if (power == null) {
|
||||||
power = BigDecimal.ZERO;
|
power = BigDecimal.ZERO;
|
||||||
}
|
}
|
||||||
clusterWriteTag.setValue(power);
|
clusterWriteTag.setValue(power);
|
||||||
writeTags.add(clusterWriteTag);
|
writeTags.add(clusterWriteTag);
|
||||||
}
|
}
|
||||||
|
if (WorkStatus.STOP.getCode().equals(workStatus)) {
|
||||||
|
// 关机先发送有功功率给定值再发送关机指令
|
||||||
|
WriteTagConfig writeTag = new WriteTagConfig();
|
||||||
|
writeTag.setAddress(pcsSetting.getPointAddress());
|
||||||
|
writeTag.setValue(pcsSetting.getStopCommand());
|
||||||
|
writeTags.add(writeTag);
|
||||||
|
}
|
||||||
return writeTags;
|
return writeTags;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user