diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index 8f341d0..6a89af5 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -1940,7 +1940,7 @@ if(dlg.exec()==QDialog::Accepted){ dStdValue = dlg.getInputData(); } - if(sLabel=="电压示值误差"||sLabel=="电流示值误差(直接测量)"||sLabel=="电流示值误差(间接测量)"){ + if(sLabel=="电压示值误差"||sLabel=="电流示值误差(直接测量)"){ newdStdValue= TranDecimals(sLabel,dataRes[i],dStdValue); int idx= getIndexByHeader(sLabel,QStrTranQStrList(("标准值"))); if(idx!=-1) @@ -1959,6 +1959,33 @@ ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); } } + else if(sLabel=="电流示值误差(间接测量)"){ + newdStdValue= TranDecimals(sLabel,dataRes[i],dStdValue); + int idx= getIndexByHeader(sLabel,QStrTranQStrList(("标准电压值"))); + if(idx!=-1) + { + dataRes[i][idx] = newdStdValue; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdStdValue)); + } + idx= getIndexByHeader(sLabel,QStrTranQStrList(("标准值"))); + if(idx!=-1) + { + int idx2=getIndexByHeader(sLabel,QStrTranQStrList(("标准电阻值"))); + double dTmp = dataRes[i][idx2].toDouble(); + dError = dStdValue/dTmp;//计算电流 + newdError=TranDecimals(sLabel,dataRes[i],dError); + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + + idx2=getIndexByHeader(sLabel,QStrTranQStrList(("被检表示值"))); + dTmp = dataRes[i][idx2].toDouble(); + idx= getIndexByHeader(sLabel,QStrTranQStrList(("绝对误差"))); + dError = dTmp-dError; + newdError=TranDecimals(sLabel,dataRes[i],dError); + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + } + } else if(sLabel=="电源电压调整率"){ newdStdValue= TranDecimals(sLabel,dataRes[i],dStdValue); int idx= getIndexByHeader(sLabel,QStrTranQStrList("被检电源输出电压值")); @@ -1967,22 +1994,37 @@ dataRes[i][idx] = newdStdValue; ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdStdValue)); } - idx= getIndexByHeader(sLabel,QStrTranQStrList("被检电源输出电压最大差值")); - if(idx!=-1) - { - int idx2=getIndexByHeader(sLabel,QStrTranQStrList("调压器输出值")); - double dTmp = dataRes[i][idx2].toDouble(); - dError = dTmp-dStdValue; - newdError=TranDecimals(sLabel,dataRes[i],dError); - dataRes[i][idx] = newdError; - ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + if((i+1)%3==0){ + double dMin=0,dMax=0; + for(int k=i-2;ktableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + + int idx2=getIndexByHeader(sLabel,QStrTranQStrList("调压器输出值")); + double dTmp = dataRes[i][idx2].toDouble(); + idx= getIndexByHeader(sLabel,QStrTranQStrList("电源电压调整率")); + if(idx!=-1){ + dError = dError/dTmp; + newdError=TranDecimals(sLabel,dataRes[i],dError)+"%"; + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + } } } } @@ -1994,29 +2036,81 @@ dataRes[i][idx] = newdStdValue; ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdStdValue)); } - double dFull,dEmpty; - for(QStringList item:dataRes){ - if(item[4]=="满载"){ - dFull = item[5].toDouble(); - }else if(item[4]=="空载"){ - dEmpty = item[5].toDouble(); + if((i+1)%2==0){ + double dFull=dataRes[i-1][5].toDouble(),dEmpty=dStdValue; + if(dataRes[i-1][4]=="满载"){ + dFull=dataRes[i-1][5].toDouble(); + dEmpty=dStdValue; + }else{ + dFull = dStdValue; + dEmpty=dataRes[i-1][5].toDouble(); + } +// for(QStringList item:dataRes){ +// if(item[4]=="满载"){ +// dFull = item[5].toDouble(); +// }else if(item[4]=="空载"){ +// dEmpty = item[5].toDouble(); +// } +// } + idx= getIndexByHeader(sLabel,QStrTranQStrList("电压差值")); + if(idx!=-1) + { + dError = abs(dFull-dEmpty); + newdError=TranDecimals(sLabel,dataRes[i],dError); + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + + idx= getIndexByHeader(sLabel,QStrTranQStrList("负载调整率")); + if(idx!=-1){ + dError = dError/dEmpty; + newdError=TranDecimals(sLabel,dataRes[i],dError)+"%"; + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + } } } - idx= getIndexByHeader(sLabel,QStrTranQStrList("电压差值")); + } + else if(sLabel=="纹波电压"){ + newdStdValue= TranDecimals(sLabel,dataRes[i],dStdValue); + int idx= getIndexByHeader(sLabel,QStrTranQStrList(("纹波电压"))); if(idx!=-1) { - dError = abs(dFull-dEmpty); + dataRes[i][idx] = newdStdValue; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdStdValue)); + } + } + else if(sLabel=="输出电压短期稳定性"){ + newdStdValue= TranDecimals(sLabel,dataRes[i],dStdValue); + int idx= getIndexByHeader(sLabel,QStrTranQStrList(("被测电源输出电压"))); + if(idx!=-1) + { + dataRes[i][idx] = newdStdValue; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdStdValue)); + } + double dMin=0,dMax=0,dBase=1; + int cnt=0; + for(QStringList item:dataRes){ + if(item[idx]!=""){ + if(cnt==0){ + dMin = dMax= dBase = item[idx].toDouble(); + }else{ + dMin = qMin(dMin,item[idx].toDouble()); + dMax = qMax(dMax,item[idx].toDouble()); + } + } + } + idx= getIndexByHeader(sLabel,QStrTranQStrList("输出电压最大变化值")); + if(idx!=-1){ + dError = dMax-dMin; newdError=TranDecimals(sLabel,dataRes[i],dError); dataRes[i][idx] = newdError; ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); - idx= getIndexByHeader(sLabel,QStrTranQStrList("负载调整率")); - if(idx!=-1){ - dError = dError/dEmpty; - newdError=TranDecimals(sLabel,dataRes[i],dError)+"%"; - dataRes[i][idx] = newdError; - ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); - } + idx= getIndexByHeader(sLabel,QStrTranQStrList("短期稳定性")); + dError = dError/dBase; + newdError=TranDecimals(sLabel,dataRes[i],dError)+"%"; + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); } } }