波形解析代码移植

This commit is contained in:
2025-09-01 13:30:59 +08:00
parent 0043a21455
commit 17c4616da4

View File

@@ -353,10 +353,7 @@ public class WaveFileComponent {
**********************************/ **********************************/
private ComtradeCfgDTO getComtradeCfg(InputStream cfgStream) { private ComtradeCfgDTO getComtradeCfg(InputStream cfgStream) {
ComtradeCfgDTO comtradeCfgDTO = new ComtradeCfgDTO(); ComtradeCfgDTO comtradeCfgDTO = new ComtradeCfgDTO();
try ( try (InputStreamReader read = new InputStreamReader(cfgStream, CharsetUtil.CHARSET_GBK); BufferedReader bufferedReader = new BufferedReader(read);) {
InputStreamReader read = new InputStreamReader(cfgStream, CharsetUtil.CHARSET_GBK);
BufferedReader bufferedReader = new BufferedReader(read);
) {
// 第一行不关心仅仅是一些描述类的信息 // 第一行不关心仅仅是一些描述类的信息
String strFileLine = bufferedReader.readLine(); String strFileLine = bufferedReader.readLine();
@@ -435,6 +432,7 @@ public class WaveFileComponent {
rateDTO.setNOneSample(result); rateDTO.setNOneSample(result);
// 总点数 //这里的strTemp是一个偏移量 // 总点数 //这里的strTemp是一个偏移量
rateDTO.setNSampleNum((Integer.parseInt(strTempArray[1]) - nOffset)); rateDTO.setNSampleNum((Integer.parseInt(strTempArray[1]) - nOffset));
nOffset = rateDTO.getNSampleNum();
lstRate.add(rateDTO); lstRate.add(rateDTO);
} }
comtradeCfgDTO.setLstRate(lstRate); comtradeCfgDTO.setLstRate(lstRate);
@@ -576,6 +574,7 @@ public class WaveFileComponent {
break; break;
} }
} }
tmpRateDTO = comtradeCfgDTO.getLstRate().get(nIndex);
//YXB 2025-08-27 如果是有效值,那么需要去补点,而不是抽点 //YXB 2025-08-27 如果是有效值,那么需要去补点,而不是抽点
if (newLstRate.get(nIndex).bRMSFlag == true) { if (newLstRate.get(nIndex).bRMSFlag == true) {
//计算本段补点采样间隔 //计算本段补点采样间隔
@@ -612,6 +611,7 @@ public class WaveFileComponent {
break; break;
} }
float fCoef = comtradeCfgDTO.getLstAnalogDTO().get(j).getFCoefficent(); float fCoef = comtradeCfgDTO.getLstAnalogDTO().get(j).getFCoefficent();
fValue = BitConverter.byte2ToUnsignedShort(datArray, i * nBlockSize + 2 * 4 + j * 2) * fCoef; fValue = BitConverter.byte2ToUnsignedShort(datArray, i * nBlockSize + 2 * 4 + j * 2) * fCoef;
//WW 2019-11-14 //WW 2019-11-14
/************************* /*************************
@@ -1366,10 +1366,10 @@ public class WaveFileComponent {
s = sdf.format(d); s = sdf.format(d);
System.out.println(s); System.out.println(s);
WaveFileComponent waveFileComponent = new WaveFileComponent(); WaveFileComponent waveFileComponent = new WaveFileComponent();
InputStream cfgStream = waveFileComponent.getFileInputStreamByFilePath("D:\\comtrade\\00-B7-8D-00-FA-44\\PQMonitor_PQM1_005_20250709_173908_812.CFG"); InputStream cfgStream = waveFileComponent.getFileInputStreamByFilePath("F:\\PQ_PQLD3_9_20250821_081038_640.cfg");
InputStream datStream = waveFileComponent.getFileInputStreamByFilePath("D:\\comtrade\\00-B7-8D-00-FA-44\\PQMonitor_PQM1_005_20250709_173908_812.DAT"); InputStream datStream = waveFileComponent.getFileInputStreamByFilePath("F:\\PQ_PQLD3_9_20250821_081038_640.dat");
// 获取瞬时波形 //获取原始波形值 // 获取瞬时波形 //获取原始波形值
WaveDataDTO waveDataDTO = waveFileComponent.getComtrade(cfgStream, datStream, 0); WaveDataDTO waveDataDTO = waveFileComponent.getComtrade(cfgStream, datStream, 1);
d = new Date(); d = new Date();
s = sdf.format(d); s = sdf.format(d);
System.out.println(s); System.out.println(s);
@@ -1380,6 +1380,7 @@ public class WaveFileComponent {
System.out.println(s); System.out.println(s);
// 获取特征值 // 获取特征值
List<EigenvalueDTO> lstEigenvalueDTO = waveFileComponent.getEigenvalue(waveDataDTO, true); List<EigenvalueDTO> lstEigenvalueDTO = waveFileComponent.getEigenvalue(waveDataDTO, true);
System.out.println(1);
} }
} }