Merge remote-tracking branch 'origin/master'
# Conflicts: # cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/line/CslineController.java
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
package com.njcn.csdevice.api;
|
||||
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.csdevice.api.fallback.OverLimitFallbackFactory;
|
||||
import com.njcn.csdevice.pojo.po.Overlimit;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 监测点数据完整性
|
||||
* @author cdf
|
||||
* @date 2023/6/7
|
||||
*/
|
||||
@FeignClient(value = ServerInfo.CS_DEVICE_BOOT,
|
||||
path = "/overLimit",
|
||||
fallbackFactory = OverLimitFallbackFactory.class,contextId = "overLimit")
|
||||
public interface OverLimitClient {
|
||||
|
||||
/**
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2023/6/7
|
||||
*/
|
||||
@PostMapping("/getOverLimitByLineIds")
|
||||
HttpResult<List<Overlimit>> getOverLimitByLineIds(@RequestBody List<String> lineIds);
|
||||
|
||||
/**
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2023/6/7
|
||||
*/
|
||||
@PostMapping("/getLimitMapsByLineIds")
|
||||
HttpResult<List<Map<String, Object>>> getLimitMapsByLineIds(@RequestBody List<String> lineIds);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.njcn.csdevice.api.fallback;
|
||||
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.csdevice.api.OverLimitClient;
|
||||
import com.njcn.csdevice.pojo.po.Overlimit;
|
||||
import com.njcn.device.biz.utils.DeviceEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 告警管理熔断降级
|
||||
* @author yzh
|
||||
* @date 2022/9/19
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class OverLimitFallbackFactory implements FallbackFactory<OverLimitClient> {
|
||||
@Override
|
||||
public OverLimitClient create(Throwable throwable) {
|
||||
//判断抛出异常是否为解码器抛出的业务异常
|
||||
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
|
||||
if (throwable.getCause() instanceof BusinessException) {
|
||||
BusinessException businessException = (BusinessException) throwable.getCause();
|
||||
exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult());
|
||||
}
|
||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||
return new OverLimitClient() {
|
||||
@Override
|
||||
public HttpResult<List<Overlimit>> getOverLimitByLineIds(List<String> lineIds) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "监测点限值", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<List<Map<String, Object>>> getLimitMapsByLineIds(List<String> lineIds) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "获取监测点限值map", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,953 @@
|
||||
package com.njcn.csdevice.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.device.biz.utils.COverlimit;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2022-01-04
|
||||
*/
|
||||
@Data
|
||||
@TableName("pq_overlimit")
|
||||
public class Overlimit implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 监测点序号
|
||||
*/
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 频率限值
|
||||
*/
|
||||
private Float freqDev;
|
||||
|
||||
/**
|
||||
* 电压波动
|
||||
*/
|
||||
private Float voltageFluctuation;
|
||||
|
||||
/**
|
||||
* 电压上偏差限值
|
||||
*/
|
||||
private Float voltageDev;
|
||||
|
||||
/**
|
||||
* 电压下偏差限值
|
||||
*/
|
||||
private Float uvoltageDev;
|
||||
|
||||
/**
|
||||
* 三相电压不平衡度限值
|
||||
*/
|
||||
private Float ubalance;
|
||||
|
||||
/**
|
||||
* 短时电压不平衡度限值
|
||||
*/
|
||||
private Float shortUbalance;
|
||||
|
||||
/**
|
||||
* 闪变限值
|
||||
*/
|
||||
private Float flicker;
|
||||
|
||||
/**
|
||||
* 电压总谐波畸变率限值
|
||||
*/
|
||||
private Float uaberrance;
|
||||
|
||||
/**
|
||||
* 负序电流限值
|
||||
*/
|
||||
private Float iNeg;
|
||||
|
||||
/**
|
||||
* 2次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_2")
|
||||
private Float uharm2;
|
||||
|
||||
/**
|
||||
* 3次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_3")
|
||||
private Float uharm3;
|
||||
|
||||
/**
|
||||
* 4次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_4")
|
||||
private Float uharm4;
|
||||
|
||||
/**
|
||||
* 5次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_5")
|
||||
private Float uharm5;
|
||||
|
||||
/**
|
||||
* 6次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_6")
|
||||
private Float uharm6;
|
||||
|
||||
/**
|
||||
* 7次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_7")
|
||||
private Float uharm7;
|
||||
|
||||
/**
|
||||
* 8次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_8")
|
||||
private Float uharm8;
|
||||
|
||||
/**
|
||||
* 9次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_9")
|
||||
private Float uharm9;
|
||||
|
||||
/**
|
||||
* 10次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_10")
|
||||
private Float uharm10;
|
||||
|
||||
/**
|
||||
* 11次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_11")
|
||||
private Float uharm11;
|
||||
|
||||
/**
|
||||
* 12次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_12")
|
||||
private Float uharm12;
|
||||
|
||||
/**
|
||||
* 13次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_13")
|
||||
private Float uharm13;
|
||||
|
||||
/**
|
||||
* 14次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_14")
|
||||
private Float uharm14;
|
||||
|
||||
/**
|
||||
* 15次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_15")
|
||||
private Float uharm15;
|
||||
|
||||
/**
|
||||
* 16次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_16")
|
||||
private Float uharm16;
|
||||
|
||||
/**
|
||||
* 17次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_17")
|
||||
private Float uharm17;
|
||||
|
||||
/**
|
||||
* 18次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_18")
|
||||
private Float uharm18;
|
||||
|
||||
/**
|
||||
* 19次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_19")
|
||||
private Float uharm19;
|
||||
|
||||
/**
|
||||
* 20次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_20")
|
||||
private Float uharm20;
|
||||
|
||||
/**
|
||||
* 21次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_21")
|
||||
private Float uharm21;
|
||||
|
||||
/**
|
||||
* 22次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_22")
|
||||
private Float uharm22;
|
||||
|
||||
/**
|
||||
* 23次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_23")
|
||||
private Float uharm23;
|
||||
|
||||
/**
|
||||
* 24次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_24")
|
||||
private Float uharm24;
|
||||
|
||||
/**
|
||||
* 25次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_25")
|
||||
private Float uharm25;
|
||||
|
||||
/**
|
||||
* 2次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_26")
|
||||
private Float uharm26;
|
||||
|
||||
/**
|
||||
* 3次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_27")
|
||||
private Float uharm27;
|
||||
|
||||
/**
|
||||
* 4次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_28")
|
||||
private Float uharm28;
|
||||
|
||||
/**
|
||||
* 5次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_29")
|
||||
private Float uharm29;
|
||||
|
||||
/**
|
||||
* 6次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_30")
|
||||
private Float uharm30;
|
||||
|
||||
/**
|
||||
* 7次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_31")
|
||||
private Float uharm31;
|
||||
|
||||
/**
|
||||
* 8次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_32")
|
||||
private Float uharm32;
|
||||
|
||||
/**
|
||||
* 9次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_33")
|
||||
private Float uharm33;
|
||||
|
||||
/**
|
||||
* 10次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_34")
|
||||
private Float uharm34;
|
||||
|
||||
/**
|
||||
* 11次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_35")
|
||||
private Float uharm35;
|
||||
|
||||
/**
|
||||
* 12次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_36")
|
||||
private Float uharm36;
|
||||
|
||||
/**
|
||||
* 13次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_37")
|
||||
private Float uharm37;
|
||||
|
||||
/**
|
||||
* 14次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_38")
|
||||
private Float uharm38;
|
||||
|
||||
/**
|
||||
* 15次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_39")
|
||||
private Float uharm39;
|
||||
|
||||
/**
|
||||
* 16次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_40")
|
||||
private Float uharm40;
|
||||
|
||||
/**
|
||||
* 17次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_41")
|
||||
private Float uharm41;
|
||||
|
||||
/**
|
||||
* 18次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_42")
|
||||
private Float uharm42;
|
||||
|
||||
/**
|
||||
* 19次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_43")
|
||||
private Float uharm43;
|
||||
|
||||
/**
|
||||
* 20次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_44")
|
||||
private Float uharm44;
|
||||
|
||||
/**
|
||||
* 21次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_45")
|
||||
private Float uharm45;
|
||||
|
||||
/**
|
||||
* 22次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_46")
|
||||
private Float uharm46;
|
||||
|
||||
/**
|
||||
* 23次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_47")
|
||||
private Float uharm47;
|
||||
|
||||
/**
|
||||
* 24次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_48")
|
||||
private Float uharm48;
|
||||
|
||||
/**
|
||||
* 25次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_49")
|
||||
private Float uharm49;
|
||||
|
||||
/**
|
||||
* 50次谐波电压限值
|
||||
*/
|
||||
@TableField("uharm_50")
|
||||
private Float uharm50;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 2次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_2")
|
||||
private Float iharm2;
|
||||
|
||||
/**
|
||||
* 3次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_3")
|
||||
private Float iharm3;
|
||||
|
||||
/**
|
||||
* 4次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_4")
|
||||
private Float iharm4;
|
||||
|
||||
/**
|
||||
* 5次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_5")
|
||||
private Float iharm5;
|
||||
|
||||
/**
|
||||
* 6次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_6")
|
||||
private Float iharm6;
|
||||
|
||||
/**
|
||||
* 7次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_7")
|
||||
private Float iharm7;
|
||||
|
||||
/**
|
||||
* 8次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_8")
|
||||
private Float iharm8;
|
||||
|
||||
/**
|
||||
* 9次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_9")
|
||||
private Float iharm9;
|
||||
|
||||
/**
|
||||
* 10次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_10")
|
||||
private Float iharm10;
|
||||
|
||||
/**
|
||||
* 11次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_11")
|
||||
private Float iharm11;
|
||||
|
||||
/**
|
||||
* 12次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_12")
|
||||
private Float iharm12;
|
||||
|
||||
/**
|
||||
* 13次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_13")
|
||||
private Float iharm13;
|
||||
|
||||
/**
|
||||
* 14次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_14")
|
||||
private Float iharm14;
|
||||
|
||||
/**
|
||||
* 15次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_15")
|
||||
private Float iharm15;
|
||||
|
||||
/**
|
||||
* 16次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_16")
|
||||
private Float iharm16;
|
||||
|
||||
/**
|
||||
* 17次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_17")
|
||||
private Float iharm17;
|
||||
|
||||
/**
|
||||
* 18次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_18")
|
||||
private Float iharm18;
|
||||
|
||||
/**
|
||||
* 19次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_19")
|
||||
private Float iharm19;
|
||||
|
||||
/**
|
||||
* 20次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_20")
|
||||
private Float iharm20;
|
||||
|
||||
/**
|
||||
* 21次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_21")
|
||||
private Float iharm21;
|
||||
|
||||
/**
|
||||
* 22次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_22")
|
||||
private Float iharm22;
|
||||
|
||||
/**
|
||||
* 23次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_23")
|
||||
private Float iharm23;
|
||||
|
||||
/**
|
||||
* 24次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_24")
|
||||
private Float iharm24;
|
||||
|
||||
/**
|
||||
* 25次谐波电流限值
|
||||
*/
|
||||
@TableField("iharm_25")
|
||||
private Float iharm25;
|
||||
|
||||
/**
|
||||
* 2次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_26")
|
||||
private Float iharm26;
|
||||
|
||||
/**
|
||||
* 3次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_27")
|
||||
private Float iharm27;
|
||||
|
||||
/**
|
||||
* 4次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_28")
|
||||
private Float iharm28;
|
||||
|
||||
/**
|
||||
* 5次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_29")
|
||||
private Float iharm29;
|
||||
|
||||
/**
|
||||
* 6次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_30")
|
||||
private Float iharm30;
|
||||
|
||||
/**
|
||||
* 7次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_31")
|
||||
private Float iharm31;
|
||||
|
||||
/**
|
||||
* 8次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_32")
|
||||
private Float iharm32;
|
||||
|
||||
/**
|
||||
* 9次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_33")
|
||||
private Float iharm33;
|
||||
|
||||
/**
|
||||
* 10次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_34")
|
||||
private Float iharm34;
|
||||
|
||||
/**
|
||||
* 11次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_35")
|
||||
private Float iharm35;
|
||||
|
||||
/**
|
||||
* 12次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_36")
|
||||
private Float iharm36;
|
||||
|
||||
/**
|
||||
* 13次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_37")
|
||||
private Float iharm37;
|
||||
|
||||
/**
|
||||
* 14次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_38")
|
||||
private Float iharm38;
|
||||
|
||||
/**
|
||||
* 15次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_39")
|
||||
private Float iharm39;
|
||||
|
||||
/**
|
||||
* 16次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_40")
|
||||
private Float iharm40;
|
||||
|
||||
/**
|
||||
* 17次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_41")
|
||||
private Float iharm41;
|
||||
|
||||
/**
|
||||
* 18次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_42")
|
||||
private Float iharm42;
|
||||
|
||||
/**
|
||||
* 19次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_43")
|
||||
private Float iharm43;
|
||||
|
||||
/**
|
||||
* 20次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_44")
|
||||
private Float iharm44;
|
||||
|
||||
/**
|
||||
* 21次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_45")
|
||||
private Float iharm45;
|
||||
|
||||
/**
|
||||
* 22次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_46")
|
||||
private Float iharm46;
|
||||
|
||||
/**
|
||||
* 23次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_47")
|
||||
private Float iharm47;
|
||||
|
||||
/**
|
||||
* 24次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_48")
|
||||
private Float iharm48;
|
||||
|
||||
/**
|
||||
* 25次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_49")
|
||||
private Float iharm49;
|
||||
|
||||
/**
|
||||
* 50次谐波电压限值
|
||||
*/
|
||||
@TableField("iharm_50")
|
||||
private Float iharm50;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 0.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_1")
|
||||
private Float inuharm1;
|
||||
|
||||
/**
|
||||
* 1.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_2")
|
||||
private Float inuharm2;
|
||||
|
||||
/**
|
||||
* 2.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_3")
|
||||
private Float inuharm3;
|
||||
|
||||
/**
|
||||
* 3.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_4")
|
||||
private Float inuharm4;
|
||||
|
||||
/**
|
||||
* 4.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_5")
|
||||
private Float inuharm5;
|
||||
|
||||
/**
|
||||
* 5.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_6")
|
||||
private Float inuharm6;
|
||||
|
||||
/**
|
||||
* 6.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_7")
|
||||
private Float inuharm7;
|
||||
|
||||
/**
|
||||
* 7.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_8")
|
||||
private Float inuharm8;
|
||||
|
||||
/**
|
||||
* 8.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_9")
|
||||
private Float inuharm9;
|
||||
|
||||
/**
|
||||
* 9.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_10")
|
||||
private Float inuharm10;
|
||||
|
||||
/**
|
||||
* 10.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_11")
|
||||
private Float inuharm11;
|
||||
|
||||
/**
|
||||
* 11.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_12")
|
||||
private Float inuharm12;
|
||||
|
||||
/**
|
||||
* 12.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_13")
|
||||
private Float inuharm13;
|
||||
|
||||
/**
|
||||
* 13.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_14")
|
||||
private Float inuharm14;
|
||||
|
||||
/**
|
||||
* 14.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_15")
|
||||
private Float inuharm15;
|
||||
|
||||
/**
|
||||
* 15.5次间谐波电压限值
|
||||
*/
|
||||
@TableField("inuharm_16")
|
||||
private Float inuharm16;
|
||||
|
||||
public Overlimit(){}
|
||||
|
||||
|
||||
public Overlimit(String lineId, String scaTmp, float fDLRL, float fJZRL, float fXYRL, float fSBRL){
|
||||
float[] fLimit = COverlimit.GetOverLimit(scaTmp, fDLRL, fJZRL, fXYRL, fSBRL);
|
||||
this.id=lineId;
|
||||
this.freqDev=fLimit[0];
|
||||
this.voltageDev=fLimit[1];
|
||||
this.ubalance=fLimit[2];
|
||||
this.flicker=fLimit[3];
|
||||
this.uaberrance=fLimit[4];
|
||||
this.uharm2=fLimit[5];
|
||||
this.uharm3=fLimit[6];
|
||||
this.uharm4=fLimit[7];
|
||||
this.uharm5=fLimit[8];
|
||||
this.uharm6=fLimit[9];
|
||||
this.uharm7=fLimit[10];
|
||||
this.uharm8=fLimit[11];
|
||||
this.uharm9=fLimit[12];
|
||||
this.uharm10=fLimit[13];
|
||||
this.uharm11=fLimit[14];
|
||||
this.uharm12=fLimit[15];
|
||||
this.uharm13=fLimit[16];
|
||||
this.uharm14=fLimit[17];
|
||||
this.uharm15=fLimit[18];
|
||||
this.uharm16=fLimit[19];
|
||||
this.uharm17=fLimit[20];
|
||||
this.uharm18=fLimit[21];
|
||||
this.uharm19=fLimit[22];
|
||||
this.uharm20=fLimit[23];
|
||||
this.uharm21=fLimit[24];
|
||||
this.uharm22=fLimit[25];
|
||||
this.uharm23=fLimit[26];
|
||||
this.uharm24=fLimit[27];
|
||||
this.uharm25=fLimit[28];
|
||||
this.iharm2=fLimit[29];
|
||||
this.iharm3=fLimit[30];
|
||||
this.iharm4=fLimit[31];
|
||||
this.iharm5=fLimit[32];
|
||||
this.iharm6=fLimit[33];
|
||||
this.iharm7=fLimit[34];
|
||||
this.iharm8=fLimit[35];
|
||||
this.iharm9=fLimit[36];
|
||||
this.iharm10=fLimit[37];
|
||||
this.iharm11=fLimit[38];
|
||||
this.iharm12=fLimit[39];
|
||||
this.iharm13=fLimit[40];
|
||||
this.iharm14=fLimit[41];
|
||||
this.iharm15=fLimit[42];
|
||||
this.iharm16=fLimit[43];
|
||||
this.iharm17=fLimit[44];
|
||||
this.iharm18=fLimit[45];
|
||||
this.iharm19=fLimit[46];
|
||||
this.iharm20=fLimit[47];
|
||||
this.iharm21=fLimit[48];
|
||||
this.iharm22=fLimit[49];
|
||||
this.iharm23=fLimit[50];
|
||||
this.iharm24=fLimit[51];
|
||||
this.iharm25=fLimit[52];
|
||||
this.uvoltageDev=fLimit[53];
|
||||
this.iNeg=fLimit[54];
|
||||
this.inuharm1=fLimit[55];
|
||||
this.inuharm2=fLimit[56];
|
||||
this.inuharm3=fLimit[57];
|
||||
this.inuharm4=fLimit[58];
|
||||
this.inuharm5=fLimit[59];
|
||||
this.inuharm6=fLimit[60];
|
||||
this.inuharm7=fLimit[61];
|
||||
this.inuharm8=fLimit[62];
|
||||
this.inuharm9=fLimit[63];
|
||||
this.inuharm10=fLimit[64];
|
||||
this.inuharm11=fLimit[65];
|
||||
this.inuharm12=fLimit[66];
|
||||
this.inuharm13=fLimit[67];
|
||||
this.inuharm14=fLimit[68];
|
||||
this.inuharm15=fLimit[69];
|
||||
this.inuharm16=fLimit[70];
|
||||
}
|
||||
|
||||
public void buildIHarm(Float[] iHarmTem){
|
||||
this.iharm2= iHarmTem[0];
|
||||
this.iharm4= iHarmTem[2];
|
||||
this.iharm6= iHarmTem[4];
|
||||
this.iharm8= iHarmTem[6];
|
||||
this.iharm10= iHarmTem[8];
|
||||
this.iharm12= iHarmTem[10];
|
||||
this.iharm14= iHarmTem[12];
|
||||
this.iharm16= iHarmTem[14];
|
||||
this.iharm18= iHarmTem[16];
|
||||
this.iharm20= iHarmTem[18];
|
||||
this.iharm22= iHarmTem[20];
|
||||
this.iharm24= iHarmTem[22];
|
||||
this.iharm26= iHarmTem[24];
|
||||
this.iharm28= iHarmTem[26];
|
||||
this.iharm30= iHarmTem[28];
|
||||
this.iharm32= iHarmTem[30];
|
||||
this.iharm34= iHarmTem[32];
|
||||
this.iharm36= iHarmTem[34];
|
||||
this.iharm38= iHarmTem[36];
|
||||
this.iharm40= iHarmTem[38];
|
||||
this.iharm42= iHarmTem[40];
|
||||
this.iharm44= iHarmTem[42];
|
||||
this.iharm46= iHarmTem[44];
|
||||
this.iharm48= iHarmTem[46];
|
||||
this.iharm50= iHarmTem[48];
|
||||
|
||||
|
||||
|
||||
this.iharm3= iHarmTem[1];
|
||||
this.iharm5= iHarmTem[3];
|
||||
this.iharm7= iHarmTem[5];
|
||||
this.iharm9= iHarmTem[7];
|
||||
this.iharm11= iHarmTem[9];
|
||||
this.iharm13= iHarmTem[11];
|
||||
this.iharm15= iHarmTem[13];
|
||||
this.iharm17= iHarmTem[15];
|
||||
this.iharm19= iHarmTem[17];
|
||||
this.iharm21= iHarmTem[19];
|
||||
this.iharm23= iHarmTem[21];
|
||||
this.iharm25= iHarmTem[23];
|
||||
this.iharm27= iHarmTem[25];
|
||||
this.iharm29= iHarmTem[27];
|
||||
this.iharm31= iHarmTem[29];
|
||||
this.iharm33= iHarmTem[31];
|
||||
this.iharm35= iHarmTem[33];
|
||||
this.iharm37= iHarmTem[35];
|
||||
this.iharm39= iHarmTem[37];
|
||||
this.iharm41= iHarmTem[39];
|
||||
this.iharm43= iHarmTem[41];
|
||||
this.iharm45= iHarmTem[43];
|
||||
this.iharm47= iHarmTem[45];
|
||||
this.iharm49= iHarmTem[47];
|
||||
}
|
||||
|
||||
public void buildUharm(Float resultEven,Float resultOdd){
|
||||
this.uharm2=resultEven;
|
||||
this.uharm4=resultEven;
|
||||
this.uharm6=resultEven;
|
||||
this.uharm8=resultEven;
|
||||
this.uharm10=resultEven;
|
||||
this.uharm12=resultEven;
|
||||
this.uharm14=resultEven;
|
||||
this.uharm16=resultEven;
|
||||
this.uharm18=resultEven;
|
||||
this.uharm20=resultEven;
|
||||
this.uharm22=resultEven;
|
||||
this.uharm24=resultEven;
|
||||
this.uharm26=resultEven;
|
||||
this.uharm28=resultEven;
|
||||
this.uharm30=resultEven;
|
||||
this.uharm32=resultEven;
|
||||
this.uharm34=resultEven;
|
||||
this.uharm36=resultEven;
|
||||
this.uharm38=resultEven;
|
||||
this.uharm40=resultEven;
|
||||
this.uharm42=resultEven;
|
||||
this.uharm44=resultEven;
|
||||
this.uharm46=resultEven;
|
||||
this.uharm48=resultEven;
|
||||
this.uharm50=resultEven;
|
||||
|
||||
|
||||
this.uharm3=resultOdd;
|
||||
this.uharm5=resultOdd;
|
||||
this.uharm7=resultOdd;
|
||||
this.uharm9=resultOdd;
|
||||
this.uharm11=resultOdd;
|
||||
this.uharm13=resultOdd;
|
||||
this.uharm15=resultOdd;
|
||||
this.uharm17=resultOdd;
|
||||
this.uharm19=resultOdd;
|
||||
this.uharm21=resultOdd;
|
||||
this.uharm23=resultOdd;
|
||||
this.uharm25=resultOdd;
|
||||
this.uharm27=resultOdd;
|
||||
this.uharm29=resultOdd;
|
||||
this.uharm31=resultOdd;
|
||||
this.uharm33=resultOdd;
|
||||
this.uharm35=resultOdd;
|
||||
this.uharm37=resultOdd;
|
||||
this.uharm39=resultOdd;
|
||||
this.uharm41=resultOdd;
|
||||
this.uharm43=resultOdd;
|
||||
this.uharm45=resultOdd;
|
||||
this.uharm47=resultOdd;
|
||||
this.uharm49=resultOdd;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
package com.njcn.csdevice.pojo.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author denghuajun
|
||||
* @date 2022/2/23
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
@ApiModel
|
||||
public class LineOverLimitVO {
|
||||
|
||||
@ApiModelProperty(name = "freqDev",value = "频率限值")
|
||||
private Float freqDev;
|
||||
|
||||
@ApiModelProperty(name = "voltageDev",value = "电压上偏差限值")
|
||||
private Float voltageDev;
|
||||
|
||||
@ApiModelProperty(name = "uvoltageDev",value = "电压下偏差限值")
|
||||
private Float uvoltageDev;
|
||||
|
||||
@ApiModelProperty(name = "ubalance",value = "三相电压不平衡度限值")
|
||||
private Float ubalance;
|
||||
|
||||
@ApiModelProperty(name = "iNeg",value = "负序电流")
|
||||
private Float iNeg;
|
||||
|
||||
@ApiModelProperty(name = "flicker",value = "长时闪变限值")
|
||||
private Float flicker;
|
||||
|
||||
@ApiModelProperty(name = "uaberrance",value = "电压总谐波畸变率限值")
|
||||
private Float uaberrance;
|
||||
|
||||
@ApiModelProperty(name = "oddHarm",value = "奇次谐波含有率限值")
|
||||
private Float oddHarm;
|
||||
|
||||
@ApiModelProperty(name = "evenHarm",value = "偶次谐波含有率限值")
|
||||
private Float evenHarm;
|
||||
|
||||
@ApiModelProperty(name = "iharm2",value = "2次谐波电流幅值限值")
|
||||
private Float iharm2;
|
||||
|
||||
@ApiModelProperty(name = "iharm3",value = "3次谐波电流幅值限值")
|
||||
private Float iharm3;
|
||||
|
||||
@ApiModelProperty(name = "iharm4",value = "4次谐波电流幅值限值")
|
||||
private Float iharm4;
|
||||
|
||||
@ApiModelProperty(name = "iharm5",value = "5次谐波电流幅值限值")
|
||||
private Float iharm5;
|
||||
|
||||
@ApiModelProperty(name = "iharm6",value = "6次谐波电流幅值限值")
|
||||
private Float iharm6;
|
||||
|
||||
@ApiModelProperty(name = "iharm7",value = "7次谐波电流幅值限值")
|
||||
private Float iharm7;
|
||||
|
||||
@ApiModelProperty(name = "iharm8",value = "8次谐波电流幅值限值")
|
||||
private Float iharm8;
|
||||
|
||||
@ApiModelProperty(name = "iharm9",value = "9次谐波电流幅值限值")
|
||||
private Float iharm9;
|
||||
|
||||
@ApiModelProperty(name = "iharm10",value = "10次谐波电流幅值限值")
|
||||
private Float iharm10;
|
||||
|
||||
@ApiModelProperty(name = "iharm11",value = "11次谐波电流幅值限值")
|
||||
private Float iharm11;
|
||||
|
||||
@ApiModelProperty(name = "iharm12",value = "12次谐波电流幅值限值")
|
||||
private Float iharm12;
|
||||
|
||||
@ApiModelProperty(name = "iharm13",value = "13次谐波电流幅值限值")
|
||||
private Float iharm13;
|
||||
|
||||
@ApiModelProperty(name = "iharm14",value = "14次谐波电流幅值限值")
|
||||
private Float iharm14;
|
||||
|
||||
@ApiModelProperty(name = "iharm15",value = "15次谐波电流幅值限值")
|
||||
private Float iharm15;
|
||||
|
||||
@ApiModelProperty(name = "iharm16",value = "16次谐波电流幅值限值")
|
||||
private Float iharm16;
|
||||
|
||||
@ApiModelProperty(name = "iharm17",value = "17次谐波电流幅值限值")
|
||||
private Float iharm17;
|
||||
|
||||
@ApiModelProperty(name = "iharm18",value = "18次谐波电流幅值限值")
|
||||
private Float iharm18;
|
||||
|
||||
@ApiModelProperty(name = "iharm19",value = "19次谐波电流幅值限值")
|
||||
private Float iharm19;
|
||||
|
||||
@ApiModelProperty(name = "iharm20",value = "20次谐波电流幅值限值")
|
||||
private Float iharm20;
|
||||
|
||||
@ApiModelProperty(name = "iharm21",value = "21次谐波电流幅值限值")
|
||||
private Float iharm21;
|
||||
|
||||
@ApiModelProperty(name = "iharm22",value = "22次谐波电流幅值限值")
|
||||
private Float iharm22;
|
||||
|
||||
@ApiModelProperty(name = "iharm23",value = "23次谐波电流幅值限值")
|
||||
private Float iharm23;
|
||||
|
||||
@ApiModelProperty(name = "iharm24",value = "24次谐波电流幅值限值")
|
||||
private Float iharm24;
|
||||
|
||||
@ApiModelProperty(name = "iharm25",value = "25次谐波电流幅值限值")
|
||||
private Float iharm25;
|
||||
|
||||
@ApiModelProperty(name = "inUharm",value = "0.5-1.5次间谐波电压幅值限值")
|
||||
private Float inUharm;
|
||||
|
||||
@ApiModelProperty(name = "inUharm16",value = "2.5-15.5次间谐波电压幅值限值")
|
||||
private Float inUharm16;
|
||||
}
|
||||
@@ -0,0 +1,383 @@
|
||||
package com.njcn.csdevice.utils;
|
||||
|
||||
import com.njcn.csdevice.pojo.po.Overlimit;
|
||||
import com.njcn.device.biz.enums.RunFlagEnum;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
/**
|
||||
* pqs
|
||||
* 限值计算工具类
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2023/5/15
|
||||
*/
|
||||
public class COverlimitUtil {
|
||||
|
||||
|
||||
/**
|
||||
* 谐波电流系数
|
||||
*/
|
||||
private static final double[][] ARR = {
|
||||
{78, 62, 39, 62, 26, 44, 19, 21, 16, 28, 13, 24, 11, 12, 9.7, 18, 8.6, 16, 7.8, 8.9, 7.1, 14, 6.5, 12, 6.0, 6.9, 5.6, 11, 5.2, 10, 4.9, 5.6, 4.6, 8.9, 4.3, 8.4, 4.1, 4.8, 3.9, 7.6, 3.7, 7.2, 3.5, 4.1, 3.4, 6.6, 3.3, 6.3, 3.1},
|
||||
{43, 34, 21, 34, 14, 24, 11, 11, 8.5, 16, 7.1, 13, 6.1, 6.8, 5.3, 10, 4.7, 9, 4.3, 4.9, 3.9, 7.4, 3.6, 6.8, 3.3, 3.8, 3.1, 5.9, 2.9, 5.5, 2.7, 3.1, 2.5, 4.9, 2.4, 4.6, 2.3, 2.6, 2.2, 4.1, 2.0, 4.0, 2.0, 2.3, 1.9, 3.6, 1.8, 3.5, 1.7},
|
||||
{26, 20, 13, 20, 8.5, 15, 6.4, 6.8, 5.1, 9.3, 4.3, 7.9, 3.7, 4.1, 3.2, 6, 2.8, 5.4, 2.6, 2.9, 2.3, 4.5, 2.1, 4.1, 2.0, 2.2, 1.9, 3.4, 1.7, 3.2, 1.6, 1.8, 1.5, 2.9, 1.4, 2.7, 1.4, 1.5, 1.3, 2.4, 1.2, 2.3, 1.2, 1.3, 1.1, 2.1, 1.1, 2.0, 1.0},
|
||||
{15, 12, 7.7, 12, 5.1, 8.8, 3.8, 4.1, 3.1, 5.6, 2.6, 4.7, 2.2, 2.5, 1.9, 3.6, 1.7, 3.2, 1.5, 1.8, 1.4, 2.7, 1.3, 2.5, 1.2, 1.3, 1.1, 2.1, 1.0, 1.9, 0.9, 1.1, 0.9, 1.7, 0.8, 1.6, 0.8, 0.9, 0.8, 1.5, 0.7, 1.4, 0.7, 0.8, 0.7, 1.3, 0.6, 1.2, 0.6},
|
||||
{16, 13, 8.1, 13, 5.4, 9.3, 4.1, 4.3, 3.3, 5.9, 2.7, 5, 2.3, 2.6, 2, 3.8, 1.8, 3.4, 1.6, 1.9, 1.5, 2.8, 1.4, 2.6, 1.2, 1.4, 1.1, 2.2, 1.1, 2.1, 1.0, 1.2, 0.9, 1.9, 0.9, 1.8, 0.8, 1.0, 0.8, 1.6, 0.8, 1.5, 0.7, 0.9, 0.7, 1.4, 0.7, 1.3, 0.6},
|
||||
{12, 9.6, 6, 9.6, 4, 6.8, 3, 3.2, 2.4, 4.3, 2, 3.7, 1.7, 1.9, 1.5, 2.8, 1.3, 2.5, 1.2, 1.4, 1.1, 2.1, 1, 1.9, 0.9, 1.1, 0.9, 1.7, 0.8, 1.5, 0.8, 0.9, 0.7, 1.4, 0.7, 1.3, 0.6, 0.7, 0.6, 1.2, 0.6, 1.1, 0.5, 0.6, 0.5, 1.0, 0.5, 1.0, 0.5}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* 计算监测点限值
|
||||
* @param voltageLevel 电压等级(10kV = 10 220kV = 220 )
|
||||
* @param protocolCapacity 协议容量
|
||||
* @param devCapacity 设备容量
|
||||
* @param shortCapacity 短路容量
|
||||
* @param powerFlag 0.用户侧 1.电网侧
|
||||
* @param lineType 0.主网 1.配网 需要注意配网目前没有四种容量,谐波电流幅值限值,负序电流限值无法计算默认-3.14159
|
||||
*/
|
||||
public static Overlimit globalAssemble(Float voltageLevel, Float protocolCapacity, Float devCapacity,
|
||||
Float shortCapacity, Integer powerFlag, Integer lineType) {
|
||||
Overlimit overlimit = new Overlimit();
|
||||
voltageDeviation(overlimit,voltageLevel);
|
||||
frequency(overlimit);
|
||||
voltageFluctuation(overlimit,voltageLevel);
|
||||
voltageFlicker(overlimit,voltageLevel);
|
||||
totalHarmonicDistortion(overlimit,voltageLevel);
|
||||
uHarm(overlimit,voltageLevel);
|
||||
threeVoltageUnbalance(overlimit);
|
||||
interharmonicCurrent(overlimit,voltageLevel);
|
||||
|
||||
if(Objects.equals(lineType, RunFlagEnum.PW_FLAG.getStatus())) {
|
||||
//配网
|
||||
Float[] iHarmTem = new Float[49];
|
||||
for (int i = 0; i <= 48; i++) {
|
||||
|
||||
iHarmTem[i] = -3.14159f;
|
||||
}
|
||||
overlimit.buildIHarm(iHarmTem);
|
||||
overlimit.setINeg(-3.14159f);
|
||||
}else {
|
||||
//主网
|
||||
iHarm(overlimit, voltageLevel, protocolCapacity, devCapacity, shortCapacity);
|
||||
negativeSequenceCurrent(overlimit, voltageLevel, shortCapacity);
|
||||
}
|
||||
return overlimit;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 电压偏差限值
|
||||
*
|
||||
*/
|
||||
public static void voltageDeviation(Overlimit overlimit,Float voltageLevel) {
|
||||
float voltageDev = 3.14159f,uvoltageDev = 3.14159f;
|
||||
if(voltageLevel <= Float.parseFloat(DicDataEnum.V220.getCode())){
|
||||
voltageDev = 7.0f;
|
||||
uvoltageDev=-10.0f;
|
||||
}else if(voltageLevel>Float.parseFloat(DicDataEnum.V220.getCode())&&voltageLevel<Float.parseFloat(DicDataEnum.KV20.getCode())){
|
||||
voltageDev = 7.0f;
|
||||
uvoltageDev=-7.0f;
|
||||
}else if(voltageLevel>=Float.parseFloat(DicDataEnum.KV20.getCode())&&voltageLevel<Float.parseFloat(DicDataEnum.KV35.getCode())){
|
||||
voltageDev = 7.0f;
|
||||
uvoltageDev=-7.0f;
|
||||
}else if(voltageLevel>=Float.parseFloat(DicDataEnum.KV35.getCode())&&voltageLevel<Float.parseFloat(DicDataEnum.KV66.getCode())){
|
||||
voltageDev = 10.0f;
|
||||
uvoltageDev=-10.0f;
|
||||
}else if(voltageLevel>=Float.parseFloat(DicDataEnum.KV66.getCode())&&voltageLevel<=Float.parseFloat(DicDataEnum.KV110.getCode())){
|
||||
voltageDev = 7.0f;
|
||||
uvoltageDev=-3.0f;
|
||||
}else if(voltageLevel>Float.parseFloat(DicDataEnum.KV110.getCode())){
|
||||
voltageDev = 10.0f;
|
||||
uvoltageDev=-10.0f;
|
||||
}
|
||||
overlimit.setVoltageDev(voltageDev);
|
||||
overlimit.setUvoltageDev(uvoltageDev);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 频率偏差
|
||||
* 默认限值:±0.2Hz(即:-0.2 Hz≤限值≤0.2 Hz)
|
||||
*/
|
||||
public static void frequency(Overlimit overlimit) {
|
||||
overlimit.setFreqDev(0.2f);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 电压波动
|
||||
* 对LV、MV:0≤限值≤3%;对HV:0≤限值≤2.5%。
|
||||
* LV、MV、HV的定义:
|
||||
* 低压(LV) UN≤1kV
|
||||
* 中压(MV) 1kV<UN≤35kV
|
||||
* 高压(HV) 35kV<UN≤220kV
|
||||
* 超高压(EHV),220kV<UN,参照HV执行
|
||||
*/
|
||||
public static void voltageFluctuation(Overlimit overlimit, Float voltageLevel) {
|
||||
if (voltageLevel < Float.parseFloat(DicDataEnum.KV35.getCode())) {
|
||||
overlimit.setVoltageFluctuation(3.0f);
|
||||
} else {
|
||||
overlimit.setVoltageFluctuation(2.5f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 电压闪变
|
||||
* ≤110kV 1
|
||||
* >110kV 0.8
|
||||
*/
|
||||
public static void voltageFlicker(Overlimit overlimit, Float voltageLevel) {
|
||||
if (voltageLevel <= Float.parseFloat(DicDataEnum.KV110.getCode())) {
|
||||
overlimit.setFlicker(1.0f);
|
||||
} else {
|
||||
overlimit.setFlicker(0.8f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 总谐波电压畸变率
|
||||
*
|
||||
*
|
||||
*/
|
||||
public static void totalHarmonicDistortion(Overlimit overlimit, Float voltageLevel) {
|
||||
float result = 3.14159f;
|
||||
if (voltageLevel < Float.parseFloat(DicDataEnum.KV6.getCode())) {
|
||||
result = 5.0f;
|
||||
} else if(voltageLevel >= Float.parseFloat(DicDataEnum.KV6.getCode()) && voltageLevel <= Float.parseFloat(DicDataEnum.KV20.getCode())){
|
||||
result = 4.0f;
|
||||
} else if(voltageLevel >= Float.parseFloat(DicDataEnum.KV35.getCode()) && voltageLevel <= Float.parseFloat(DicDataEnum.KV66.getCode())){
|
||||
result = 3.0f;
|
||||
} else if(voltageLevel >= Float.parseFloat(DicDataEnum.KV110.getCode()) && voltageLevel <= Float.parseFloat(DicDataEnum.KV1000.getCode())){
|
||||
result = 2.0f;
|
||||
}
|
||||
overlimit.setUaberrance(result);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 谐波电压含有率
|
||||
*/
|
||||
public static void uHarm(Overlimit overlimit, Float voltageLevel) {
|
||||
float resultOdd = 3.14159f,resultEven = 3.14159f;
|
||||
if (voltageLevel < Float.parseFloat(DicDataEnum.KV6.getCode())) {
|
||||
resultOdd = 4.0f;
|
||||
resultEven = 2.0f;
|
||||
} else if(voltageLevel >= Float.parseFloat(DicDataEnum.KV6.getCode()) && voltageLevel <= Float.parseFloat(DicDataEnum.KV20.getCode())){
|
||||
resultOdd = 3.2f;
|
||||
resultEven = 1.6f;
|
||||
} else if(voltageLevel >= Float.parseFloat(DicDataEnum.KV35.getCode()) && voltageLevel <= Float.parseFloat(DicDataEnum.KV66.getCode())){
|
||||
resultOdd = 2.4f;
|
||||
resultEven = 1.2f;
|
||||
} else if(voltageLevel >= Float.parseFloat(DicDataEnum.KV110.getCode()) && voltageLevel <= Float.parseFloat(DicDataEnum.KV1000.getCode())){
|
||||
resultOdd = 1.6f;
|
||||
resultEven = 0.8f;
|
||||
}
|
||||
overlimit.buildUharm(resultEven,resultOdd);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 负序电压不平衡(三相电压不平衡度)
|
||||
*
|
||||
*/
|
||||
public static void threeVoltageUnbalance(Overlimit overlimit) {
|
||||
overlimit.setUbalance(2.0f);
|
||||
overlimit.setShortUbalance(4.0f);
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------谐波电流限值start-----------------------------------*/
|
||||
|
||||
/**
|
||||
* 谐波电流限值
|
||||
*/
|
||||
public static void iHarm(Overlimit overlimit, Float voltageLevel,Float protocolCapacity,Float devCapacity,Float shortCapacity) {
|
||||
float calCap = shortCapacity/getDlCapByVoltageLevel(voltageLevel);
|
||||
//24谐波电流幅值
|
||||
Float[] iHarmTem = new Float[49];
|
||||
for (int i = 0; i <= 48; i++) {
|
||||
float inHarm = iHarmCalculate(i+2,voltageLevel,protocolCapacity,devCapacity,calCap);
|
||||
iHarmTem[i] = inHarm;
|
||||
}
|
||||
overlimit.buildIHarm(iHarmTem);
|
||||
}
|
||||
/**
|
||||
* @Description: iHarmCalculate
|
||||
* @Param: protocolCapacity 协议容量 devCapacity设备容量 calCap 短路容量
|
||||
* @return: float
|
||||
* @Author: clam
|
||||
* @Date: 2024/2/4
|
||||
*/
|
||||
private static float iHarmCalculate(int nHarm, Float voltageLevel,float protocolCapacity, float devCapacity,float calCap) {
|
||||
double tag = calCap*getHarmTag(nHarm,voltageLevel);
|
||||
Double limit = getHarmonicLimit(nHarm,tag,new BigDecimal(String.valueOf(devCapacity)).doubleValue(),new BigDecimal(String.valueOf(protocolCapacity)).doubleValue());
|
||||
BigDecimal bigDecimal = BigDecimal.valueOf(limit).setScale(4,RoundingMode.HALF_UP);
|
||||
return bigDecimal.floatValue();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 电流谐波限值
|
||||
*/
|
||||
private static Double getHarmTag(Integer iCount, Float voltageLevel) {
|
||||
int x, y;
|
||||
if (voltageLevel < DicDataEnum.KV6.getValue()) {
|
||||
x = 0;
|
||||
} else if (voltageLevel<DicDataEnum.KV10.getValue()) {
|
||||
x = 1;
|
||||
} else if (voltageLevel<DicDataEnum.KV35.getValue()) {
|
||||
x = 2;
|
||||
} else if (voltageLevel<DicDataEnum.KV66.getValue()) {
|
||||
x = 3;
|
||||
} else if (voltageLevel<DicDataEnum.KV110.getValue()) {
|
||||
x = 4;
|
||||
} else {
|
||||
x = 5;
|
||||
}
|
||||
y = iCount - 2;
|
||||
return ARR[x][y];
|
||||
}
|
||||
|
||||
/**
|
||||
* 相位叠加系数的取值
|
||||
*/
|
||||
public static Double getHarmonicLimit(Integer times, double iTag, double supply, double user) {
|
||||
if (supply == 0) {
|
||||
return 0.0;
|
||||
}
|
||||
double coefficient = 2.0;
|
||||
if (times == 3) {
|
||||
coefficient = 1.1;
|
||||
} else if (times == 5) {
|
||||
coefficient = 1.2;
|
||||
} else if (times == 7) {
|
||||
coefficient = 1.4;
|
||||
} else if (times == 11) {
|
||||
coefficient = 1.8;
|
||||
} else if (times == 13) {
|
||||
coefficient = 1.9;
|
||||
}
|
||||
BigDecimal bd = new BigDecimal(iTag * Math.pow((user / supply), (1 / coefficient)));
|
||||
bd = bd.setScale(6, RoundingMode.HALF_UP);
|
||||
return Double.parseDouble(bd.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据电压等级获取基准短路容量
|
||||
*/
|
||||
public static float getDlCapByVoltageLevel(Float voltageLevel){
|
||||
float capValue;
|
||||
if(voltageLevel< DicDataEnum.KV06.getValue()){
|
||||
capValue = 10;
|
||||
}else if(voltageLevel<DicDataEnum.KV20.getValue()){
|
||||
capValue = 100;
|
||||
}else if(voltageLevel<DicDataEnum.KV35.getValue()){
|
||||
capValue = 200;
|
||||
}else if(voltageLevel<DicDataEnum.KV66.getValue()){
|
||||
capValue = 250;
|
||||
}else if(voltageLevel<DicDataEnum.KV110.getValue()){
|
||||
capValue = 500;
|
||||
}else if(voltageLevel<DicDataEnum.KV220.getValue()){
|
||||
capValue = 750;
|
||||
}else if(voltageLevel<DicDataEnum.KV330.getValue()){
|
||||
capValue = 2000;
|
||||
}else if(voltageLevel<DicDataEnum.KV500.getValue()){
|
||||
capValue = 3000;
|
||||
}else if(voltageLevel<DicDataEnum.KV750.getValue()){
|
||||
capValue = 4500;
|
||||
}else if(voltageLevel<DicDataEnum.KV1000.getValue()){
|
||||
capValue = 7000;
|
||||
}else {
|
||||
capValue = 9000;
|
||||
}
|
||||
return capValue;
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------谐波电流限值end-----------------------------------*/
|
||||
|
||||
|
||||
/**
|
||||
* 间谐波电压含有率
|
||||
*/
|
||||
|
||||
public static void interharmonicCurrent(Overlimit overlimit,Float voltageLevel){
|
||||
float aValue,bValue;
|
||||
if(voltageLevel <= DicDataEnum.KV1.getValue()){
|
||||
aValue = 0.2f;bValue = 0.5f;
|
||||
}else {
|
||||
aValue = 0.16f;bValue = 0.4f;
|
||||
}
|
||||
overlimit.setInuharm1(aValue);
|
||||
overlimit.setInuharm2(aValue);
|
||||
|
||||
overlimit.setInuharm3(bValue);
|
||||
overlimit.setInuharm4(bValue);
|
||||
overlimit.setInuharm5(bValue);
|
||||
overlimit.setInuharm6(bValue);
|
||||
overlimit.setInuharm7(bValue);
|
||||
overlimit.setInuharm8(bValue);
|
||||
overlimit.setInuharm9(bValue);
|
||||
overlimit.setInuharm10(bValue);
|
||||
overlimit.setInuharm11(bValue);
|
||||
overlimit.setInuharm12(bValue);
|
||||
overlimit.setInuharm13(bValue);
|
||||
overlimit.setInuharm14(bValue);
|
||||
overlimit.setInuharm15(bValue);
|
||||
overlimit.setInuharm16(bValue);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 负序电流限值
|
||||
*/
|
||||
public static void negativeSequenceCurrent(Overlimit overlimit,Float voltageLevel,Float shortCapacity){
|
||||
double v = (0.013*shortCapacity*1000)/(getUl(voltageLevel)*Math.sqrt(3));
|
||||
overlimit.setINeg((float) v);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取额定线电压
|
||||
*/
|
||||
private static float getUl(Float voltageLevel){
|
||||
float value;
|
||||
if(voltageLevel<DicDataEnum.KV6.getValue()){
|
||||
value = 0.4f;
|
||||
}else if(voltageLevel<DicDataEnum.KV10.getValue()){
|
||||
value = 6.3f;
|
||||
}else if(voltageLevel<DicDataEnum.KV20.getValue()){
|
||||
value = 10.5f;
|
||||
}else if(voltageLevel<DicDataEnum.KV35.getValue()){
|
||||
value = 21.0f;
|
||||
}else if(voltageLevel<DicDataEnum.KV66.getValue()){
|
||||
value = 36.5f;
|
||||
}else if(voltageLevel<DicDataEnum.KV110.getValue()){
|
||||
value = 69.0f;
|
||||
}else if(voltageLevel<DicDataEnum.KV220.getValue()){
|
||||
value = 115.5f;
|
||||
}else if(voltageLevel<DicDataEnum.KV330.getValue()){
|
||||
value = 230.0f;
|
||||
}else {
|
||||
value = 345.0f;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println("sss");
|
||||
float aa = iHarmCalculate(9,500f,10,10,0.002222222222f);
|
||||
|
||||
System.out.println(aa);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user