Merge branch 'master' into Dev

# Conflicts:
#	ChaosDataPlayer/ChildForm.cpp
This commit is contained in:
Zhang0626 2022-08-05 19:50:05 +08:00
commit a1250befa0
4 changed files with 486 additions and 198 deletions

File diff suppressed because it is too large Load Diff

View File

@ -181,7 +181,7 @@ private:
QAction *Rad; QAction *Rad;
QCPAxis *yAxis3; QCPAxis *yAxis3;
QList<QCPAxis*> axes; QList<QCPAxis*> Axis;
QCPItemTracer *tracer; //游标 QCPItemTracer *tracer; //游标
QCPItemTracer *tracer2; //游标 QCPItemTracer *tracer2; //游标

View File

@ -1193,9 +1193,6 @@ void MainWidget::ItemCheckStateSlot(QString strID, bool bChecked)
QString strChannelType = iter.value().at(0).sensorType; QString strChannelType = iter.value().at(0).sensorType;
if(strChannelType != "PROXIMETER") if(strChannelType != "PROXIMETER")
return; return;
qDebug() << "speedChannelID" << speedChannelID << endl;
qDebug() << "ChannelID" << ChannelID << endl;
qDebug() << "size" << mapWaveData[ChannelID].size() << endl;
if(speedChannelID == "NONE" || speedChannelID == ""){ if(speedChannelID == "NONE" || speedChannelID == ""){
MyMsgBox(QMessageBox::Warning,"警告","当前文件中没有转速通道数据"); MyMsgBox(QMessageBox::Warning,"警告","当前文件中没有转速通道数据");
return; return;
@ -1259,7 +1256,7 @@ void MainWidget::ItemCheckStateSlot(QString strID, bool bChecked)
if((iter.key() == strChannelID)){ if((iter.key() == strChannelID)){
QString ChannelID = iter.value().at(0).pairChannelID; QString ChannelID = iter.value().at(0).pairChannelID;
QString ChannelType = iter.value().at(0).sensorType; QString ChannelType = iter.value().at(0).sensorType;
if((ChannelType != "PROXIMETER") && (ChannelID == "NONE" || ChannelID == "")){ if((ChannelType != "PROXIMETER") /*&& (ChannelID == "NONE" || ChannelID == "")*/){
MyMsgBox(QMessageBox::Warning,"警告","请选择径向位移通道"); MyMsgBox(QMessageBox::Warning,"警告","请选择径向位移通道");
return; return;
} }
@ -1775,6 +1772,10 @@ void MainWidget::View3D()
} }
void MainWidget::Dat2Csv() void MainWidget::Dat2Csv()
{ {
if(mapWaveData.size() < 1){
MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!");
return;
}
QString dirpath = QFileDialog::getExistingDirectory(this, QStringLiteral("选择目录"), "./", QFileDialog::ShowDirsOnly); QString dirpath = QFileDialog::getExistingDirectory(this, QStringLiteral("选择目录"), "./", QFileDialog::ShowDirsOnly);
if(dirpath.isEmpty()) return; if(dirpath.isEmpty()) return;
@ -2230,7 +2231,7 @@ void MainWidget::ReadDatData(QString strPath,QString strFileName,QString strIP)
for (int i = 0; i < waveSize; i++) { for (int i = 0; i < waveSize; i++) {
file.read((char *)&f, sizeof(f)); file.read((char *)&f, sizeof(f));
m_WaveChnData[j].channelId = buf; m_WaveChnData[j].channelId = buf;
m_WaveChnData[j].waveData.push_back(f); m_WaveChnData[j].waveData.push_back((double)f);
m_WaveChnData[j].Second = Count; m_WaveChnData[j].Second = Count;
} }
@ -2266,13 +2267,13 @@ void MainWidget::ReadDatData(QString strPath,QString strFileName,QString strIP)
if(iter->channelId.left(15) == m_WaveChnData[i].channelId.left(15)){ if(iter->channelId.left(15) == m_WaveChnData[i].channelId.left(15)){
wave.waveData = m_WaveChnData[i].waveData; wave.waveData = m_WaveChnData[i].waveData;
float sum = 0.0; double sum = 0.0;
if(iter->sensorType == "ACCELEROMETER" || iter->sensorType == "MICROPHONE" || if(iter->sensorType == "ACCELEROMETER" || iter->sensorType == "MICROPHONE" ||
iter->sensorType == "PROXIMETER" || iter->sensorType == "VELOCITY" || iter->sensorType == "PROXIMETER" || iter->sensorType == "VELOCITY" ||
iter->sensorType == "TACHOMETER" || iter->sensorType == "THRUST" || iter->sensorType == "TACHOMETER" || iter->sensorType == "THRUST" ||
iter->sensorType == "FAST_VOLTAGE"){ iter->sensorType == "FAST_VOLTAGE"){
sum = std::accumulate(std::begin(wave.waveData), std::end(wave.waveData), 0.0); sum = std::accumulate(std::begin(wave.waveData), std::end(wave.waveData), 0.0);
float size = m_WaveChnData[i].waveData.size(); double size = m_WaveChnData[i].waveData.size();
wave.mean = sum/size; wave.mean = sum/size;
}else{ }else{

View File

@ -22,7 +22,7 @@ typedef struct tag_WAVE_DATA{
int channelNo; int channelNo;
int Time; int Time;
QString pairChannelID; QString pairChannelID;
QVector<float> waveData; QVector<double> waveData;
QVector<double> waveDataRealTime; QVector<double> waveDataRealTime;
QColor linColor; QColor linColor;
QVector<double> SpeedProfileSpeed; QVector<double> SpeedProfileSpeed;
@ -63,7 +63,7 @@ typedef struct {
typedef struct { typedef struct {
int Second; int Second;
QString channelId; QString channelId;
QVector<float> waveData; QVector<double> waveData;
QVector<double> TimeStamp; QVector<double> TimeStamp;
} WAVE_CHNDATA; } WAVE_CHNDATA;
@ -89,12 +89,13 @@ typedef struct {
QVector<double> wavedata; //原始数据 QVector<double> wavedata; //原始数据
QVector<double> wavedataEnv;//包络数据 QVector<double> wavedataEnv;//包络数据
QVector<double> wavedata_DC; QVector<double> wavedata_DC;
QVector<double> wavedataFre;//频域数据
QVector<double> TimeStamp; QVector<double> TimeStamp;
QColor linColor; QColor linColor;
QString channelType; QString channelType;
QString sensorEngineeringUnit; QString sensorEngineeringUnit;
int SamleRate; int SamleRate;
float mean; double mean;
double meanRpm; double meanRpm;
QString channleName; QString channleName;
int iTrigger; int iTrigger;