3500/ChannelSetting.cpp
2025-07-29 21:08:57 +08:00

859 lines
40 KiB
C++

#include "ChannelSetting.h"
#include "ui_channelsetting.h"
#include <QListView>
#include <QTimer>
#include <QTime>
#include "CopyChannelSetting.h"
#include "NetMgr.h"
#include "CustomFilter.h"
#include <QNetworkRequest>
CChannelSetting::CChannelSetting(QWidget *parent) :
QWidget(parent),
ui(new Ui::CChannelSetting)
{
ui->setupUi(this);
this->setWindowTitle("高速通道配置");
ui->RPMComBox->setView(new QListView());
ui->pairChannelComBox->setView(new QListView());
ui->channelTypeCombox->setView(new QListView());
ui->comboBox_sensorICP_2->setView(new QListView());
ui->comboBox_sensorType->setView(new QListView());
ui->tabWidget->tabBar()->hide();
QRegExp exp("[0-9\\.-]+$");
QValidator *Validator = new QRegExpValidator(exp);
ui->lineEdit_rpmMultiplier->setValidator(Validator);
ui->lineEdit_sensorSensitivity->setValidator(Validator);
ui->lineEdit_frequencyRangeMax->setValidator(Validator);
ui->lineEdit_frequencyRangeMin->setValidator(Validator);
ui->lineEdit_sensorRange->setValidator(Validator);
ui->lineEdit_ChUnitCoeff->setValidator(Validator);
ui->lineEdit_vMax->setValidator(Validator);
ui->lineEdit_vMin->setValidator(Validator);
ui->lineEdit_ChUnitDot->setValidator(Validator);
ui->lineEdit_analyseRate->setValidator(Validator);
ui->lineEdit_RateRatio->setValidator(Validator);
//ui->lineEdit_envelopeLowpassband->setValidator(Validator);
//ui->lineEdit_envelopeHighpassband->setValidator(Validator);
ui->lineEdit_sensorLocationInDegree->setValidator(Validator);
ui->lineEdit_sensor1xPhaseRunout->setValidator(Validator);
ui->lineEdit_sensor1xAmplitudeRunout->setValidator(Validator);
ui->lineEdit_sensorGapVoltage->setValidator(Validator);
ui->lineEdit_bearingClearance->setValidator(Validator);
ui->lineEdit_sensorRange_2->setValidator(Validator);
ui->lineEdit_vMax_2->setValidator(Validator);
ui->lineEdit_vMin_2->setValidator(Validator);
ui->lineEdit_tachTriggerVoltageLevel->setValidator(Validator);
ui->lineEdit_tachTriggerPerRev->setValidator(Validator);
ui->lineEdit_tachTriggerHysteresis->setValidator(Validator);
connect(ui->channelTypeCombox,SIGNAL(currentTextChanged(const QString&)),this,SLOT(on_channelTypeCombox_currentTextChanged(const QString&)));
QStringList strSensorList;
strSensorList << "电涡流传感器" << "低频位移" << "IEPE型传感器" << "速度型传感器" ;
ui->comboBox_sensorType->addItems(strSensorList);
QStringList ChannelTypeList;
ChannelTypeList << "转速" << "径向振动位移" << "轴向位移" << "加速度" << "速度" << "动态电压";
ui->channelTypeCombox->addItems(ChannelTypeList);
m_itemList << "" << "" ;
m_DisPlayerList << "峰峰值" << "有效值" << "峰值" <<"平均值" << "诊断峰峰值" << "积分有效值";
ui->comboBox_sensorICP->addItems(m_itemList);
ui->comboBox_defaultDisplay->clear();
ui->comboBox_defaultDisplay->addItems(m_DisPlayerList);
strListFs << "1kHz"<<"2kHz"<<"4kHz"<<"8kHz";
ui->comboBox_samplingRate->addItems(strListFs);
QStringList strListDirection;
strListDirection << "顺时针" << "逆时针" ;
ui->comboBox_shaftRotationDirection->addItems(strListDirection);
QStringList strListPosition;
strListPosition << "" << "" << "" << "" ;
ui->comboBox_bearingStartPosition->addItems(strListPosition);
ui->comboBox_tachTriggerEdge->addItem("上升沿");
ui->comboBox_tachTriggerEdge->addItem("下降沿");
ui->comboBox_sensorICP_2->addItems(m_itemList);
ui->comboBox_tachAutoTach->addItems(m_itemList);
ui->comboBox_samplingRate_2->addItems(strListFs);
ui->comboBox_sensorRangeCheck_2->addItems(m_itemList);
setAttribute(Qt::WA_DeleteOnClose);//使能析构函数调用
}
CChannelSetting::~CChannelSetting()
{
qDebug() << "~CChannelSetting" << endl;
emit ChannelSettingClose_sg();
delete ui;
}
void CChannelSetting::displayChannelSetting()
{
qDebug() <<"channelSetting.sensorType" << channelSetting.sensorType << ui->channelTypeCombox->count() <<endl;
QMap<QString,QString>::Iterator iter = g_MapChannelType.begin();
for (; iter != g_MapChannelType.end(); iter++) {
if(iter.key() == channelSetting.sensorType){
ui->channelTypeCombox->setCurrentText(iter.value());
break;
}
}
if(channelSetting.boardType == "2" || channelSetting.boardType == "3"){
ui->lineEdit_zeroScalePosition->setText("-30");
ui->lineEdit_fullScalePosition->setText("30");
}
if(channelSetting.boardType == "4"){
ui->lineEdit_zeroScalePosition->setText("-12");
ui->lineEdit_fullScalePosition->setText("12");
}
ui->label_unit1->setText(channelSetting.EngineeringUnit);
ui->label_unit2->setText(channelSetting.EngineeringUnit);
QString string_sectionNum = QString("%1").arg(channelSetting.sectionNum);
ui->lineEdit_sectionNum->setText(string_sectionNum);
QString string_confidenceDegree = QString("%1").arg(channelSetting.confidenceDegree);
ui->lineEdit_confidenceDegree->setText(string_confidenceDegree);
QString string_modelNo = QString("%1").arg(channelSetting.sensorModuleNo);
ui->label_modelNo->setText(string_modelNo);
QString string_sensorNo = QString("%1").arg(channelSetting.sensorNo);
ui->label_channelNo->setText(string_sensorNo);
ui->comboBox_coupling->clear();
ui->comboBox_coupling->addItem("AC");
ui->comboBox_coupling->addItem("DC");
if(channelSetting.EngineeringUnit == "")
ui->lineEdit_engineeringUnit->setText(channelSetting.sensorEngineeringUnit);
else
ui->lineEdit_engineeringUnit->setText(channelSetting.EngineeringUnit);
//ui->lineEdit_zeroScalePosition->setText(channelSetting.zeroScalePosition);
QString str = QString("%1").arg(channelSetting.fullScalePosition);
//ui->lineEdit_fullScalePosition->setText(str);
ui->lineEdit_xzeroScalePosition->setText(channelSetting.xZeroScalePosition);
ui->lineEdit_xfullScalePosition->setText(channelSetting.xFullScalePosition);
ui->comboBox_defaultDisplay->setCurrentText(channelSetting.defaultDisplay);
ui->lineEdit_sensorRange->setText(channelSetting.sensorRange);
ui->lineEdit_sensorRange_2->setText(channelSetting.sensorRange);
ui->comboBox_sensorType->setCurrentText(channelSetting.sensorTypes);
if(channelSetting.couplingACDC)
ui->comboBox_coupling->setCurrentText("AC");
else
ui->comboBox_coupling->setCurrentText("DC");
ui->RPMComBox->clear();
ui->pairChannelComBox->clear();
ui->RPMComBox->addItem("- -");
ui->pairChannelComBox->addItem("- -");
QMap<QString,QMap<QString,QString>>::iterator iterChannel = g_MapChannel.begin();
for (; iterChannel != g_MapChannel.end(); iterChannel++) {
QMap<QString,QString>::iterator iter = iterChannel.value().begin();
for (;iter != iterChannel.value().end() ; iter++) {
ui->pairChannelComBox->addItem(iter.value());
if(iter.key() == "TACHOMETER"){
qDebug() << iter.key() << endl;
ui->RPMComBox->addItem(iter.value());
}
}
}
if(channelSetting.pairChannelId == "NONE" || channelSetting.pairChannelId == ""){
ui->pairChannelComBox->setCurrentText("- -");
}else {
for (int i = 0; i < g_ChannelBaseInfo.size(); i++) {
if(g_ChannelBaseInfo[i].channelID == channelSetting.pairChannelId){
ui->pairChannelComBox->setCurrentText(g_ChannelBaseInfo[i].channelName);
break;
}
}
}
if(channelSetting.speedRefChannelId == "" || channelSetting.speedRefChannelId == "NONE"){
ui->pairChannelComBox->addItem("- -");
ui->RPMComBox->setCurrentText("- -");
}else{
for (int i = 0; i < g_ChannelBaseInfo.size(); i++) {
if(g_ChannelBaseInfo[i].channelID == channelSetting.speedRefChannelId){
ui->RPMComBox->setCurrentText(g_ChannelBaseInfo[i].channelName);
break;
}
}
}
ui->lineEdit_ChannelName->setText(channelSetting.channelName);
QString rpmMultiplier = QString("%1").arg(channelSetting.rpmMultiplier);
ui->lineEdit_rpmMultiplier->setText(rpmMultiplier);
ui->lineEdit_SensorType->setText(channelSetting.channelSensorType);
ui->lineEdit_sensorEngineeringUnit->setText(channelSetting.sensorEngineeringUnit);
QString sensorSensitivity = QString("%1").arg(channelSetting.sensorSensitivity);
ui->lineEdit_sensorSensitivity->setText(sensorSensitivity);
ui->comboBox_sensorICP->clear();
ui->comboBox_sensorICP->addItem("");
ui->comboBox_sensorICP->addItem("");
if(channelSetting.sensorICP){
ui->comboBox_sensorICP->setCurrentText("");
}
else{
ui->comboBox_sensorICP->setCurrentText("");
}
ui->lineEdit_frequencyRangeMax->setText(channelSetting.frequencyRangeMax);
ui->lineEdit_frequencyRangeMin->setText(channelSetting.frequencyRangeMin);
ui->comboBox_sensorRangeCheck->clear();
ui->comboBox_sensorRangeCheck->addItems(m_itemList);
if(channelSetting.sensorRangeCheck)
ui->comboBox_sensorRangeCheck->setCurrentText("");
else
ui->comboBox_sensorRangeCheck->setCurrentText("");
QString sensorRangeMax = QString("%1").arg(channelSetting.sensorRangeMax);
ui->lineEdit_vMax->setText(sensorRangeMax);
QString sensorRangeMin = QString("%1").arg(channelSetting.sensorRangeMin);
ui->lineEdit_vMin->setText(sensorRangeMin);
if(channelSetting.samplingRate == 1024)
ui->comboBox_samplingRate->setCurrentText("1kHz");
if(channelSetting.samplingRate == 2048)
ui->comboBox_samplingRate->setCurrentText("2kHz");
if(channelSetting.samplingRate == 4096)
ui->comboBox_samplingRate->setCurrentText("4kHz");
if(channelSetting.samplingRate == 8192)
ui->comboBox_samplingRate->setCurrentText("8kHz");
// if(channelSetting.samplingRate == 16384)
// ui->comboBox_samplingRate->setCurrentText("16kHz");
QString envelopeLowpassband = QString("%1").arg(channelSetting.envelopeLowpassband);
//ui->lineEdit_envelopeLowpassband->setText(envelopeLowpassband);
QString envelopeHighpassband = QString("%1").arg(channelSetting.envelopeHighpassband);
//ui->lineEdit_envelopeHighpassband->setText(envelopeHighpassband);
QString sensorLocationInDegree = QString("%1").arg(channelSetting.sensorLocationInDegree);
ui->lineEdit_sensorLocationInDegree->setText(sensorLocationInDegree);
if(channelSetting.shaftRotationDirection == "顺时针"){
ui->comboBox_shaftRotationDirection->setCurrentText("顺时针");
}else if(channelSetting.shaftRotationDirection == "逆时针"){
ui->comboBox_shaftRotationDirection->setCurrentText("逆时针");
}
QString sensor1xPhaseRunout = QString("%1").arg(channelSetting.sensor1xPhaseRunout);
ui->lineEdit_sensor1xPhaseRunout->setText(sensor1xPhaseRunout);
QString sensor1xAmplitudeRunout = QString("%1").arg(channelSetting.sensor1xAmplitudeRunout);
ui->lineEdit_sensor1xAmplitudeRunout->setText(sensor1xAmplitudeRunout);
QString bearingClearance = QString("%1").arg(channelSetting.bearingClearance);
ui->lineEdit_bearingClearance->setText(bearingClearance);
ui->lineEdit_sensorGapVoltage->setText(channelSetting.sensorGapVoltage);
if(channelSetting.bearingStartPosition == "Bottom"){
ui->comboBox_bearingStartPosition->setCurrentText("");
}else if(channelSetting.bearingStartPosition == "Top"){
ui->comboBox_bearingStartPosition->setCurrentText("");
}else if(channelSetting.bearingStartPosition == "left"){
ui->comboBox_bearingStartPosition->setCurrentText("");
}else if(channelSetting.bearingStartPosition == "right"){
ui->comboBox_bearingStartPosition->setCurrentText("");
}
QString ChUnitCoeff = QString("%1").arg(channelSetting.ChUnitCoeff);
ui->lineEdit_ChUnitCoeff->setText(ChUnitCoeff);
QString ChUnitDot = QString("%1").arg(channelSetting.ChUnitDot);
ui->lineEdit_ChUnitDot->setText(ChUnitDot);
ui->textEdit_comment->setText(channelSetting.comments);
//转速
if(ui->tabWidget->currentIndex() == 1){
if(channelSetting.sensorICP)
ui->comboBox_sensorICP_2->setCurrentText("");
else
ui->comboBox_sensorICP_2->setCurrentText("");
ui->lineEdit_vMax_2->setText( channelSetting.sensorRangeMax);
ui->lineEdit_vMin_2->setText( channelSetting.sensorRangeMin);
if(channelSetting.sensorRangeCheck)
ui->comboBox_sensorRangeCheck_2->setCurrentText("");
else
ui->comboBox_sensorRangeCheck_2->setCurrentText("");
ui->comboBox_samplingRate_2->setCurrentText("8kHz");
if(channelSetting.samplingRate == 1024)
ui->comboBox_samplingRate_2->setCurrentText("1kHz");
if(channelSetting.samplingRate == 2048)
ui->comboBox_samplingRate_2->setCurrentText("2kHz");
if(channelSetting.samplingRate == 4096)
ui->comboBox_samplingRate_2->setCurrentText("4kHz");
if(channelSetting.samplingRate == 8192)
ui->comboBox_samplingRate_2->setCurrentText("8kHz");
if(channelSetting.samplingRate == 16384)
ui->comboBox_samplingRate_2->setCurrentText("16kHz");
if(channelSetting.samplingRate == 131072)
ui->comboBox_samplingRate_2->setCurrentText("128kHz");
ui->lineEdit_sensorLeftOrRight->setText(channelSetting.sensorLeftOrRight);
if(channelSetting.tachAutoTach )
ui->comboBox_tachAutoTach->setCurrentText("");
else
ui->comboBox_tachAutoTach->setCurrentText("");
QString tachTriggerVoltageLevel = QString("%1").arg(channelSetting.tachTriggerVoltageLevel);
ui->lineEdit_tachTriggerVoltageLevel->setText(tachTriggerVoltageLevel);
ui->lineEdit_tachTriggerPerRev->setText(channelSetting.tachTriggerPerRev);
QString tachTriggerHysteresis = QString("%1").arg(channelSetting.tachTriggerHysteresis);
ui->lineEdit_tachTriggerHysteresis->setText(tachTriggerHysteresis);
ui->comboBox_tachTriggerEdge->setCurrentText(channelSetting.tachTriggerEdge);
}
}
void CChannelSetting::on_pushButton_submit_clicked()
{
#ifdef QT_DEBUG
PushData();
#elif QT_NO_DEBUG
connect(g_NetMgr,SIGNAL(sigNetMgr(QString, const QVariant&)), this, SLOT(slotNetMgr(QString,const QVariant&)));
g_NetMgr->DetectNet();
#endif
}
void CChannelSetting::slotNetMgr(QString sAddr, const QVariant &msg)
{
QJsonObject objec = msg.value<QJsonObject>();
if(objec.contains("cmd"))
{
QJsonValue arrays_value = objec.take("cmd");
//qDebug()<<"cmd ="<<arrays_value.toString();
if(arrays_value.toString() == "110"){
bool Status = objec.take("success").toBool();
if(Status){
PushData();
}
}
}
disconnect(g_NetMgr,SIGNAL(sigNetMgr(QString, const QVariant&)), this, SLOT(slotNetMgr(QString,const QVariant&)));
}
void CChannelSetting::PushData()
{
channelSetting.channelName = ui->lineEdit_ChannelName->text();
if(ui->channelTypeCombox->currentText() == "加速度"){
channelSetting.sensorType ="ACCELEROMETER";
}else if(ui->channelTypeCombox->currentText() == "声音"){
channelSetting.sensorType ="MICROPHONE";
}else if(ui->channelTypeCombox->currentText() == "轴向位移"){
channelSetting.sensorType ="THRUST";
}else if(ui->channelTypeCombox->currentText() == "速度"){
channelSetting.sensorType ="VELOCITY";
}else if(ui->channelTypeCombox->currentText() == "转速"){
channelSetting.sensorType ="TACHOMETER";
}else if(ui->channelTypeCombox->currentText() == "径向振动位移"){
channelSetting.sensorType ="PROXIMETER";
}else if(ui->channelTypeCombox->currentText() == "动态电压"){
channelSetting.sensorType ="FAST_VOLTAGE";
}
channelSetting.defaultDisplay = ui->comboBox_defaultDisplay->currentText();
channelSetting.pairChannelName = ui->pairChannelComBox->currentText();
for (int i = 0; i < g_ChannelBaseInfo.size(); i++) {
if(g_ChannelBaseInfo[i].channelName == ui->RPMComBox->currentText()){
channelSetting.speedRefChannelId = g_ChannelBaseInfo[i].channelID;
channelSetting.speedRefChannelName = g_ChannelBaseInfo[i].channelName;
}else if(ui->RPMComBox->currentText() == "- -")
{
channelSetting.speedRefChannelId = "";
channelSetting.speedRefChannelName = "";
}
if(g_ChannelBaseInfo[i].channelName == ui->pairChannelComBox->currentText()){
channelSetting.pairChannelId = g_ChannelBaseInfo[i].channelID;
channelSetting.pairChannelName = g_ChannelBaseInfo[i].channelName;
}else if(ui->pairChannelComBox->currentText() == "- -")
{
channelSetting.pairChannelId = "";
channelSetting.pairChannelId = "";
}
}
channelSetting.rpmMultiplier = ui->lineEdit_rpmMultiplier->text();
channelSetting.channelSensorType = ui->lineEdit_SensorType->text();
channelSetting.sensorEngineeringUnit = ui->lineEdit_sensorEngineeringUnit->text();
channelSetting.sensorSensitivity = ui->lineEdit_sensorSensitivity->text();
QString strSensorICP = ui->comboBox_sensorICP->currentText();
if(strSensorICP == "")
channelSetting.sensorICP = true;
else if(strSensorICP == "")
channelSetting.sensorICP = false;
channelSetting.EngineeringUnit = ui->lineEdit_engineeringUnit->text().trimmed();
qDebug() <<"channelSetting.EngineeringUnit" <<channelSetting.EngineeringUnit << endl;
channelSetting.zeroScalePosition = ui->lineEdit_zeroScalePosition->text();
channelSetting.xZeroScalePosition = ui->lineEdit_xzeroScalePosition->text();
channelSetting.fullScalePosition = ui->lineEdit_fullScalePosition->text().toDouble();
channelSetting.xFullScalePosition = ui->lineEdit_xfullScalePosition->text();
QString strACDC = ui->comboBox_coupling->currentText();
if(strACDC == "AC")
channelSetting.couplingACDC = true;
else if(strACDC == "DC")
channelSetting.couplingACDC = false;
channelSetting.frequencyRangeMax = ui->lineEdit_frequencyRangeMax->text();
channelSetting.frequencyRangeMin = ui->lineEdit_frequencyRangeMin->text();
channelSetting.sensorRange = ui->lineEdit_sensorRange->text();
QString strSensorRangeCheck = ui->comboBox_sensorRangeCheck->currentText();
if(strSensorRangeCheck == "")
channelSetting.sensorRangeCheck = true;
else if(strSensorRangeCheck == "")
channelSetting.sensorRangeCheck = false;
channelSetting.sensorRangeMax = ui->lineEdit_vMax->text();
channelSetting.sensorRangeMin = ui->lineEdit_vMin->text();
QString strSamplingRate = ui->comboBox_samplingRate->currentText();
if(strSamplingRate == "1kHz")
channelSetting.samplingRate = 1024;
else if(strSamplingRate == "2kHz")
channelSetting.samplingRate = 2048;
else if(strSamplingRate == "4kHz")
channelSetting.samplingRate = 4096;
else if(strSamplingRate == "8kHz")
channelSetting.samplingRate = 8192;
// else if(strSamplingRate == "16kHz")
// channelSetting.samplingRate = 16384;
channelSetting.channelName = ui->lineEdit_ChannelName->text();
channelSetting.isEnable = 1;
channelSetting.isWork = 1;
channelSetting.confidenceDegree = ui->lineEdit_confidenceDegree->text().toInt();
channelSetting.sectionNum = ui->lineEdit_sectionNum->text().toInt();
qDebug() << channelSetting.confidenceDegree << channelSetting.sectionNum << endl;
if(channelSetting.confidenceDegree > 99 || channelSetting.confidenceDegree < 1 || \
channelSetting.sectionNum > 18 || channelSetting.sectionNum < 1){
QMessageBox::information(this, QStringLiteral("提示"), "参数错误,正确范围是置信度:(0, 100),分段数(1,20)");
return;
}
channelSetting.ChUnitCoeff = ui->lineEdit_ChUnitCoeff->text().toDouble();
channelSetting.ChUnitDot = ui->lineEdit_ChUnitDot->text().toInt();
channelSetting.sensorGapVoltage = ui->lineEdit_sensorGapVoltage->text();
channelSetting.bearingClearance = ui->lineEdit_bearingClearance->text();
channelSetting.sensorLocationInDegree = ui->lineEdit_sensorLocationInDegree->text().toInt();
channelSetting.sensorLeftOrRight = ui->lineEdit_sensorLeftOrRight->text();
channelSetting.sensor1xPhaseRunout = ui->lineEdit_sensor1xPhaseRunout->text();
channelSetting.sensor1xAmplitudeRunout = ui->lineEdit_sensor1xAmplitudeRunout->text();
//channelSetting.envelopeHighpassband = ui->lineEdit_envelopeHighpassband->text().toDouble();
//channelSetting.envelopeLowpassband = ui->lineEdit_envelopeLowpassband->text().toDouble();
channelSetting.sensorTypes = ui->comboBox_sensorType->currentText();
if(ui->comboBox_bearingStartPosition->currentText() == ""){
channelSetting.bearingStartPosition = "Bottom";
}else if(ui->comboBox_bearingStartPosition->currentText() == ""){
channelSetting.bearingStartPosition = "Top";
}else if(ui->comboBox_bearingStartPosition->currentText() == ""){
channelSetting.bearingStartPosition = "left";
}else if(ui->comboBox_bearingStartPosition->currentText() == ""){
channelSetting.bearingStartPosition = "right";
}
channelSetting.comments = ui->textEdit_comment->toPlainText();
if(ui->tabWidget->currentIndex() == 1){
channelSetting.sensorEngineeringUnit = ui->lineEdit_sensorEngineeringUnit_2->text();
channelSetting.channelSensorType = ui->lineEdit_SensorType_2->text();
channelSetting.sensorRange = ui->lineEdit_sensorRange_2->text();
QString strSensorRangeCheck = ui->comboBox_sensorRangeCheck_2->currentText();
if(strSensorRangeCheck == "")
channelSetting.sensorRangeCheck = true;
else if(strSensorRangeCheck == "")
channelSetting.sensorRangeCheck = false;
QString sensorICP = ui->comboBox_sensorICP_2->currentText();
if(sensorICP == "")
channelSetting.sensorICP = true;
else if(sensorICP == "")
channelSetting.sensorICP = false;
channelSetting.sensorRangeMax = ui->lineEdit_vMax_2->text();
channelSetting.sensorRangeMin = ui->lineEdit_vMin_2->text();
QString strtachAutoTach = ui->comboBox_tachAutoTach->currentText();
if(strtachAutoTach == "")
channelSetting.tachAutoTach = true;
else if(strtachAutoTach == "")
channelSetting.tachAutoTach = false;
channelSetting.tachTriggerVoltageLevel = ui->lineEdit_tachTriggerVoltageLevel->text().toDouble();
channelSetting.tachTriggerPerRev = ui->lineEdit_tachTriggerPerRev->text();
channelSetting.tachTriggerHysteresis = ui->lineEdit_tachTriggerHysteresis->text().toDouble();
QString strSamplingRate = ui->comboBox_samplingRate_2->currentText();
if(strSamplingRate == "1kHz")
channelSetting.samplingRate = 1024;
else if(strSamplingRate == "2kHz")
channelSetting.samplingRate = 2048;
else if(strSamplingRate == "4kHz")
channelSetting.samplingRate = 4096;
else if(strSamplingRate == "8kHz")
channelSetting.samplingRate = 8192;
// else if(strSamplingRate == "16kHz")
// channelSetting.samplingRate = 16384;
if(ui->comboBox_tachTriggerEdge->currentText() == "上升沿")
channelSetting.tachTriggerEdge = "rising";
else
channelSetting.tachTriggerEdge = "falling";
channelSetting.sensorSensitivity ="0";
channelSetting.defaultDisplay = "转速";
}
QDateTime timeNow = QDateTime::currentDateTime();
channelSetting.sensorConfigureDate = QString("%1").arg(timeNow.toTime_t());
emit sgSetChannelData(channelSetting);
this->close();
}
void CChannelSetting::on_channelTypeCombox_currentTextChanged(const QString &arg1)
{
qDebug() << arg1 << endl;
if(arg1 == "转速"){
ui->tabWidget->setCurrentIndex(1);
ui->comboBox_samplingRate_2->setCurrentText("8kHz");
ui->lineEdit_tachTriggerVoltageLevel->setText("-10");
ui->lineEdit_tachTriggerPerRev->setText("1");
ui->lineEdit_tachTriggerHysteresis->setText("2");
ui->lineEdit_sensorRange_2->setText("20000");
ui->lineEdit_vMax_2->setText("-2");
ui->lineEdit_vMin_2->setText("-22");
}else{
ui->tabWidget->setCurrentIndex(0);
if(arg1 == "加速度"){
ui->lineEdit_SensorType->setText("CTC-AC102");
ui->lineEdit_sensorEngineeringUnit->setText("m/s^2");
ui->lineEdit_sensorSensitivity->setText("10.2");
ui->comboBox_sensorICP->clear();
ui->comboBox_sensorICP->addItems(m_itemList);
ui->lineEdit_frequencyRangeMax->setText("15000");
ui->lineEdit_frequencyRangeMin->setText("0.5");
ui->comboBox_sensorRangeCheck->clear();
ui->comboBox_sensorRangeCheck->addItems(m_itemList);
//ui->comboBox_defaultDisplay->clear();
//ui->comboBox_defaultDisplay->addItems(m_DisPlayerList);
ui->lineEdit_vMax->setText("-2");
ui->lineEdit_vMin->setText("-20");
ui->comboBox_samplingRate->clear();
ui->comboBox_samplingRate->addItems(strListFs);
ui->comboBox_samplingRate->setCurrentText("1kHz");
ui->pairChannelComBox->setCurrentText("- -");
ui->RPMComBox->setCurrentText("- -");
QString str = QString("%1").arg(16*1024/2.56);
ui->lineEdit_analyseRate->setText(str);
ui->lineEdit_RateRatio->setText("1");
// ui->comboBox_coupling->clear();
// ui->comboBox_coupling->addItem("AC");
// ui->comboBox_coupling->addItem("DC");
//ui->lineEdit_envelopeLowpassband->setText("10");
//ui->lineEdit_envelopeHighpassband->setText("3500");
ui->lineEdit_sensorRange->setText("2032");
}else if(arg1 == "速度"){
ui->lineEdit_SensorType->setText("CTC-VE102");
ui->lineEdit_sensorEngineeringUnit->setText("mm/s");
ui->lineEdit_sensorSensitivity->setText("3.93");
ui->comboBox_sensorICP->clear();
ui->comboBox_sensorICP->addItems(m_itemList);
ui->lineEdit_frequencyRangeMax->setText("5000");
ui->lineEdit_frequencyRangeMin->setText("4.5");
ui->comboBox_sensorRangeCheck->clear();
ui->comboBox_sensorRangeCheck->addItems(m_itemList);
ui->lineEdit_vMax->setText("-2");
ui->lineEdit_vMin->setText("-20");
ui->comboBox_samplingRate->clear();
ui->comboBox_samplingRate->addItems(strListFs);
ui->comboBox_samplingRate->setCurrentText("1kHz");
QString str = QString("%1").arg(8*1024/2.56);
ui->lineEdit_analyseRate->setText(str);
ui->lineEdit_RateRatio->setText("1");
ui->comboBox_coupling->clear();
ui->comboBox_coupling->addItem("AC");
ui->comboBox_coupling->addItem("DC");
//ui->lineEdit_envelopeLowpassband->setText("4.5");
//ui->lineEdit_envelopeHighpassband->setText("5000");
ui->pairChannelComBox->setCurrentText("- -");
ui->RPMComBox->setCurrentText("- -");
ui->lineEdit_sensorRange->setText("2054");
ui->comboBox_sensorType->setCurrentIndex(3);
}else if(arg1 == "声音"){
ui->lineEdit_SensorType->setText("378B02");
ui->lineEdit_sensorEngineeringUnit->setText("Pa");
ui->lineEdit_sensorSensitivity->setText("50");
ui->comboBox_sensorICP->clear();
ui->comboBox_sensorICP->addItems(m_itemList);
ui->lineEdit_frequencyRangeMax->setText("20000");
ui->lineEdit_frequencyRangeMin->setText("3.75");
ui->comboBox_sensorRangeCheck->clear();
ui->comboBox_sensorRangeCheck->addItems(m_itemList);
ui->lineEdit_vMax->setText("-2");
ui->lineEdit_vMin->setText("-20");
ui->comboBox_samplingRate->clear();
ui->comboBox_samplingRate->addItems(strListFs);
ui->comboBox_samplingRate->setCurrentText("1kHz");
QString str = QString("%1").arg(16*1024/2.56);
ui->lineEdit_analyseRate->setText(str);
ui->lineEdit_RateRatio->setText("1");
ui->comboBox_coupling->clear();
ui->comboBox_coupling->addItem("AC");
ui->comboBox_coupling->addItem("DC");
//ui->lineEdit_envelopeLowpassband->setText("350");
//ui->lineEdit_envelopeHighpassband->setText("12000");
ui->pairChannelComBox->setCurrentText("- -");
ui->RPMComBox->setCurrentText("- -");
ui->lineEdit_sensorRange->setText("2000");
}else if(arg1 == "径向振动位移"){
ui->lineEdit_SensorType->setText("CTC-DP1001");
ui->lineEdit_sensorEngineeringUnit->setText("um");
ui->lineEdit_sensorSensitivity->setText("7.87");
ui->comboBox_sensorICP->clear();
ui->comboBox_sensorICP->addItems(m_itemList);
ui->lineEdit_frequencyRangeMax->setText("10000");
ui->lineEdit_frequencyRangeMin->setText("0");
ui->comboBox_sensorRangeCheck->clear();
ui->comboBox_sensorRangeCheck->addItems(m_itemList);
ui->lineEdit_vMax->setText("-2");
ui->lineEdit_vMin->setText("-20");
ui->comboBox_samplingRate->clear();
ui->comboBox_samplingRate->addItems(strListFs);
ui->comboBox_samplingRate->setCurrentText("1kHz");
QString str = QString("%1").arg(8*1024/2.56);
ui->lineEdit_analyseRate->setText(str);
ui->lineEdit_RateRatio->setText("1");
ui->comboBox_coupling->clear();
ui->comboBox_coupling->addItem("DC");
ui->comboBox_coupling->addItem("AC");
//ui->lineEdit_envelopeLowpassband->setText("1");
//ui->lineEdit_envelopeHighpassband->setText("4000");
ui->pairChannelComBox->setCurrentText("- -");
ui->RPMComBox->setCurrentText("- -");
ui->lineEdit_sensorRange->setText("2000");
ui->comboBox_sensorType->setCurrentIndex(0);
}else if(arg1 == "轴向位移"){
ui->lineEdit_SensorType->setText("CTC-DP1001");
ui->lineEdit_sensorEngineeringUnit->setText("mm");
ui->lineEdit_sensorSensitivity->setText("7.87");
ui->comboBox_sensorICP->clear();
ui->comboBox_sensorICP->addItems(m_itemList);
ui->lineEdit_frequencyRangeMax->setText("10000");
ui->lineEdit_frequencyRangeMin->setText("0");
ui->comboBox_sensorRangeCheck->clear();
ui->comboBox_sensorRangeCheck->addItems(m_itemList);
ui->lineEdit_vMax->setText("-2");
ui->lineEdit_vMin->setText("-20");
ui->comboBox_samplingRate->clear();
ui->comboBox_samplingRate->addItems(strListFs);
ui->comboBox_samplingRate->setCurrentText("1kHz");
QString str = QString("%1").arg(8*1024/2.56);
ui->lineEdit_analyseRate->setText(str);
ui->lineEdit_RateRatio->setText("1");
ui->comboBox_coupling->clear();
ui->comboBox_coupling->addItem("DC");
ui->comboBox_coupling->addItem("AC");
//ui->lineEdit_envelopeLowpassband->setText("1");
//ui->lineEdit_envelopeHighpassband->setText("4000");
ui->pairChannelComBox->setCurrentText("- -");
ui->RPMComBox->setCurrentText("- -");
ui->lineEdit_sensorRange->setText("2");
ui->comboBox_sensorType->setCurrentIndex(0);
}else if(arg1 == "动态电压"){
ui->lineEdit_SensorType->setText("电压");
ui->lineEdit_sensorEngineeringUnit->setText("V");
ui->lineEdit_sensorSensitivity->setText("1000");
ui->comboBox_sensorICP->clear();
ui->comboBox_sensorICP->addItems(m_itemList);
ui->lineEdit_frequencyRangeMax->setText("10000");
ui->lineEdit_frequencyRangeMin->setText("0");
ui->comboBox_sensorRangeCheck->clear();
ui->comboBox_sensorRangeCheck->addItems(m_itemList);
ui->lineEdit_vMax->setText("-2");
ui->lineEdit_vMin->setText("-20");
ui->comboBox_samplingRate->clear();
ui->comboBox_samplingRate->addItems(strListFs);
ui->comboBox_samplingRate->setCurrentText("1kHz");
QString str = QString("%1").arg(8*1024/2.56);
ui->lineEdit_analyseRate->setText(str);
ui->lineEdit_RateRatio->setText("1");
ui->comboBox_coupling->clear();
ui->comboBox_coupling->addItem("DC");
ui->comboBox_coupling->addItem("AC");
//ui->lineEdit_envelopeLowpassband->setText("0");
//ui->lineEdit_envelopeHighpassband->setText("5000");
ui->pairChannelComBox->setCurrentText("- -");
ui->RPMComBox->setCurrentText("- -");
ui->lineEdit_sensorRange->setText("2000");
}
}
}
void CChannelSetting::on_lineEdit_sensorEngineeringUnit_editingFinished()
{
QString str = ui->lineEdit_sensorEngineeringUnit->text();
ui->label_unit->setText(str);
}
void CChannelSetting::on_comboBox_tachAutoTach_currentIndexChanged(const QString &arg1)
{
if(arg1 == ""){
ui->lineEdit_tachTriggerVoltageLevel->setEnabled(false);
ui->comboBox_samplingRate_2->setEnabled(false);
ui->lineEdit_tachTriggerHysteresis->setEnabled(false);
ui->comboBox_tachTriggerEdge->setEnabled(false);
}else if(arg1 == ""){
ui->lineEdit_tachTriggerVoltageLevel->setEnabled(true);
ui->comboBox_samplingRate_2->setEnabled(true);
ui->lineEdit_tachTriggerHysteresis->setEnabled(true);
ui->comboBox_tachTriggerEdge->setEnabled(true);
}
}
void CChannelSetting::on_comboBox_samplingRate_currentTextChanged(const QString &arg1)
{
int samplingRate = arg1.left(arg1.size()-3).toInt();
QString str = QString("%1").arg(samplingRate*1024/2.56);
ui->lineEdit_analyseRate->setText(str);
}
void CChannelSetting::slotCopyChannelData(QStringList& listChannelID)
{
qDebug() << listChannelID << endl;
for (int i = 0; i < listChannelID.size(); i++)
{
QString strUpdateSql = QString(" set ChUnitCoeff = '%1' , ChUnitDot = %2,SensorICP = '%3', \
SensorType = '%4',bearingClearance='%5',bearingStartPosition='%6',\
channelIntDiff = '%7',channelRMSPkPk2Pk='%8',channelSensorType='%9',\
comments = '%10',couplingACDC='%11',envelopeHighpassband=%12,envelopeLowpassband=%13,\
equipmentId = %14,filter='%15',frequencyRangeMax='%16',frequencyRangeMin='%17',\
fullScalePosition=%18,highPassFrequency='%19',installMethod='%20',isEnable=%21,\
isWork=%22,lowPassFrequency='%23',measuringRange='%24',offset=%25,pairChannelId='%26',\
pairChannelName='%27',rpmMultiplier='%28',samplingRate=%29,sensor1xAmplitudeRunout='%30',\
sensor1xPhaseRunout='%31',sensorConfigureDate='%32',sensorEngineeringUnit='%33',\
sensorGapVoltage='%34',sensorLeftOrRight='%35',sensorLocationInDegree=%36,\
sensorRange='%37',sensorRangeCheck='%38',sensorRangeMax='%39',sensorRangeMin='%40',\
sensorSensitivity='%41',shaftRotationDirection='%42',speedRefChannelId='%43',\
startBrands='%44',stopBrands='%45',tachAutoTach='%46',tachTriggerEdge='%47',tachTriggerHysteresis=%48,\
tachTriggerPerRev='%49',tachTriggerVoltageLevel='%50',thermalCoupleType = '%51',xFullScalePosition='%52',\
xProcessVariableName='%53',xZeroScalePosition='%54',zeroScalePosition='%55',speedRefChannelName = '%56',\
defaultDisplay = '%57' ,confidenceDegree=%58,sectionNum=%59,sensorTypes='%60' where channelId = '%61'").\
arg(channelSetting.ChUnitCoeff).arg(channelSetting.ChUnitDot).arg(channelSetting.sensorICP).\
arg(channelSetting.sensorType).arg(channelSetting.bearingClearance).arg(channelSetting.bearingStartPosition).\
arg(channelSetting.channelIntDiff).arg(channelSetting.channelRMSPkPk2Pk).arg(channelSetting.channelSensorType).\
arg(channelSetting.comments).arg(channelSetting.couplingACDC).arg(channelSetting.envelopeHighpassband).arg(channelSetting.envelopeLowpassband).\
arg(channelSetting.equipmentId).arg(channelSetting.filter).arg(channelSetting.frequencyRangeMax).\
arg(channelSetting.frequencyRangeMin).arg(channelSetting.fullScalePosition).arg(channelSetting.highPassFrequency).\
arg(channelSetting.installMethod).arg(channelSetting.isEnable).arg(channelSetting.isWork).\
arg(channelSetting.lowPassFrequency).arg(channelSetting.measuringRange).arg(channelSetting.offset).\
arg(channelSetting.pairChannelId).arg(channelSetting.pairChannelName).arg(channelSetting.rpmMultiplier).\
arg(channelSetting.samplingRate).arg(channelSetting.sensor1xAmplitudeRunout).arg(channelSetting.sensor1xPhaseRunout).\
arg(channelSetting.sensorConfigureDate).arg(channelSetting.sensorEngineeringUnit).arg(channelSetting.sensorGapVoltage).\
arg(channelSetting.sensorLeftOrRight).arg(channelSetting.sensorLocationInDegree).\
arg(channelSetting.sensorRange).arg(channelSetting.sensorRangeCheck).\
arg(channelSetting.sensorRangeMax).arg(channelSetting.sensorRangeMin).arg(channelSetting.sensorSensitivity).\
arg(channelSetting.shaftRotationDirection).arg(channelSetting.speedRefChannelId).\
arg(channelSetting.startBrands).arg(channelSetting.stopBrands).arg(channelSetting.tachAutoTach).arg(channelSetting.tachTriggerEdge).\
arg(channelSetting.tachTriggerHysteresis).arg(channelSetting.tachTriggerPerRev).arg(channelSetting.tachTriggerVoltageLevel).\
arg(channelSetting.thermalCoupleType).arg(channelSetting.xFullScalePosition).arg(channelSetting.xProcessVariableName).arg(channelSetting.xZeroScalePosition).\
arg(channelSetting.zeroScalePosition).arg(channelSetting.speedRefChannelName).arg(channelSetting.defaultDisplay).\
arg(channelSetting.confidenceDegree).arg(channelSetting.sectionNum).arg(channelSetting.sensorTypes).arg(listChannelID[i]);
QString tableName = "t_ChannelSetting ";
g_SqliteDB->UpdateDataSql(tableName,strUpdateSql);
}
}
void CChannelSetting::on_pushButton_copy_clicked()
{
//sensorModuleNo
QString strWhere = QString(" sensorModuleNo = %1 and channelId <> '%2' ").arg(channelSetting.sensorModuleNo).arg(channelSetting.channelId);
QVector<ChannelSetting> copyChannel = g_SqliteDB->GetDataMultiLine("t_ChannelSetting","*",strWhere);
CopyChannelSetting *dialog = new CopyChannelSetting();
connect(dialog, SIGNAL(sgCopyChannelData(QStringList&)), this, SLOT(slotCopyChannelData(QStringList&)));
dialog->copyChannel = copyChannel;
dialog->setWindowModality(Qt::ApplicationModal);
dialog->displayCopyChannel();
dialog->show();
}
void CChannelSetting::on_comboBox_sensorType_currentTextChanged(const QString &arg1)
{
if(arg1 == "电涡流传感器"){
ui->lineEdit_vMax->setText("-2");
ui->lineEdit_vMin->setText("-22");
}else if(arg1 == "低频位移"){
ui->lineEdit_vMax->setText("10");
ui->lineEdit_vMin->setText("-10");
}else if(arg1 == "IEPE型传感器"){
ui->lineEdit_vMax->setText("12");
ui->lineEdit_vMin->setText("8");
}else if(arg1 == "速度型传感器"){
ui->lineEdit_vMax->setText("24");
ui->lineEdit_vMin->setText("-24");
}
}
void CChannelSetting::on_lineEdit_engineeringUnit_editingFinished()
{
QString str = ui->lineEdit_engineeringUnit->text();
ui->label_unit1->setText(str);
ui->label_unit2->setText(str);
}
void CChannelSetting::on_pushButton_CustomFilter_clicked()
{
CustomFilter *pCustomFilter = new CustomFilter();
pCustomFilter->channel_ID = channelSetting.channelId;
pCustomFilter->vibrate_channel = 1;
pCustomFilter->setWindowModality(Qt::ApplicationModal);
pCustomFilter->show();
pCustomFilter->getfilterInfo();
}