From 87549b312f862d77ace02126a5ba3a80a782deae Mon Sep 17 00:00:00 2001 From: zhangsheng Date: Mon, 28 Jul 2025 22:41:24 +0800 Subject: [PATCH] add temp code --- TSI_Config.pro | 3 - config_mgr.cpp | 240 ++++++++++++------- mainwindow.cpp | 7 +- setpoint.cpp | 482 -------------------------------------- setpoint.h | 45 ---- setpoint.ui | 620 ------------------------------------------------- 6 files changed, 160 insertions(+), 1237 deletions(-) delete mode 100644 setpoint.cpp delete mode 100644 setpoint.h delete mode 100644 setpoint.ui diff --git a/TSI_Config.pro b/TSI_Config.pro index 49a74a5..4b5bb4f 100644 --- a/TSI_Config.pro +++ b/TSI_Config.pro @@ -28,7 +28,6 @@ SOURCES += \ rangeslider.cpp \ relaysetting.cpp \ seismic_monitor.cpp \ - setpoint.cpp \ setpoint_tachometer.cpp \ singlerelay.cpp \ singlerelay_data.cpp \ @@ -62,7 +61,6 @@ HEADERS += \ rangeslider.h \ relaysetting.h \ seismic_monitor.h \ - setpoint.h \ setpoint_tachometer.h \ singlerelay.h \ singlerelay_data.h \ @@ -89,7 +87,6 @@ FORMS += \ radial_vibration.ui \ relaysetting.ui \ seismic_monitor.ui \ - setpoint.ui \ setpoint_tachometer.ui \ singlerelay.ui \ tachometer.ui \ diff --git a/config_mgr.cpp b/config_mgr.cpp index f711058..c33a65d 100644 --- a/config_mgr.cpp +++ b/config_mgr.cpp @@ -535,35 +535,54 @@ void ConfigMgr::Load(QString filename) { variable->filter_[k].checked = filter_ele["checked"].toBool(); } variable->id_ = j + 1; - QJsonObject direct = tmp_variable["direct"].toObject(); - variable->direct_.full_scale_range = direct["full_scale_range"].toInt(); - variable->direct_.clamp_value = direct["clamp_value"].toDouble(); - variable->direct_.custom = direct["custom"].toDouble(); - QJsonObject x1 = tmp_variable["x1"].toObject(); - variable->x1_.checked = x1["checked"].toBool(); - variable->x1_.full_scale_range = x1["full_scale_range"].toInt(); - variable->x1_.clamp_value = x1["clamp_value"].toDouble(); - variable->x1_.custom = x1["custom"].toDouble(); - variable->x1_.phase_lag = x1["phase_lag"].toInt(); - QJsonObject x2 = tmp_variable["x2"].toObject(); - variable->x2_.checked = x2["checked"].toBool(); - variable->x2_.full_scale_range = x2["full_scale_range"].toInt(); - variable->x2_.clamp_value = x2["clamp_value"].toDouble(); - variable->x2_.custom = x2["custom"].toDouble(); - variable->x2_.phase_lag = x2["phase_lag"].toInt(); - QJsonObject recorder_out = tmp_variable["recorder_out"].toObject(); - variable->recorder_out_.recorder_output = recorder_out["recorder_output"].toInt(); - variable->recorder_out_.two_ma_clamp = recorder_out["two_ma_clamp"].toBool(); - variable->recorder_out_.trip_multiply = recorder_out["trip_multiply"].toDouble(); - variable->recorder_out_.comparision = recorder_out["comparision"].toInt(); - variable->recorder_out_.percentage = recorder_out["percentage"].toInt(); - QJsonObject delay = tmp_variable["delay"].toObject(); - variable->delay_.alert = delay["alert"].toInt(); - variable->delay_.danger = delay["danger"].toDouble(); - variable->delay_.active_100ms = delay["active_100ms"].toBool(); - QJsonObject latching = tmp_variable["latching"].toObject(); - variable->alert_latching_ = latching["alert"].toBool(); - variable->danger_latching_ = latching["danger"].toBool(); + QJsonObject measurement, gap; + measurement = tmp_variable["measurement"].toObject(); + gap = tmp_variable["gap"].toObject(); + variable->general.output_used = measurement["output_used"].toBool(); + variable->general.engineering_unit = measurement["engieneering_unit"].toString(); + variable->general.rectifier_function = measurement["rectifier_function"].toString(); + variable->danger_high.level = measurement["danger_high_level"].toDouble(); + variable->danger_high.hysteresis = measurement["danger_high_hysteresis"].toDouble(); + variable->danger_high.delay = measurement["danger_high_delay"].toInt(); + variable->danger_high.enable = measurement["danger_high_enable"].toBool(); + variable->danger_high.latch = measurement["danger_high_latch"].toBool(); + variable->alert_high.level = measurement["alert_high_level"].toDouble(); + variable->alert_high.hysteresis = measurement["alert_high_hysteresis"].toDouble(); + variable->alert_high.delay = measurement["alert_high_delay"].toInt(); + variable->alert_high.enable = measurement["alert_high_enable"].toBool(); + variable->alert_high.latch = measurement["alert_high_latch"].toBool(); + variable->danger_low.level = measurement["danger_low_level"].toDouble(); + variable->danger_low.hysteresis = measurement["danger_low_hysteresis"].toDouble(); + variable->danger_low.delay = measurement["danger_low_delay"].toInt(); + variable->danger_low.enable = measurement["danger_low_enable"].toBool(); + variable->danger_low.latch = measurement["danger_low_latch"].toBool(); + variable->alert_low.level = measurement["alert_low_level"].toDouble(); + variable->alert_low.hysteresis = measurement["alert_low_hysteresis"].toDouble(); + variable->alert_low.delay = measurement["alert_low_delay"].toInt(); + variable->alert_low.enable = measurement["alert_low_enable"].toBool(); + variable->alert_low.latch = measurement["alert_low_latch"].toBool(); + + variable->gap_danger_high.level = gap["danger_high_level"].toDouble(); + variable->gap_danger_high.hysteresis = gap["danger_high_hysteresis"].toDouble(); + variable->gap_danger_high.delay = gap["danger_high_delay"].toInt(); + variable->gap_danger_high.enable = gap["danger_high_enable"].toBool(); + variable->gap_danger_high.latch = gap["danger_high_latch"].toBool(); + variable->gap_alert_high.level = gap["alert_high_level"].toDouble(); + variable->gap_alert_high.hysteresis = gap["alert_high_hysteresis"].toDouble(); + variable->gap_alert_high.delay = gap["alert_high_delay"].toInt(); + variable->gap_alert_high.enable = gap["alert_high_enable"].toBool(); + variable->gap_alert_high.latch = gap["alert_high_latch"].toBool(); + variable->gap_danger_low.level = gap["danger_low_level"].toDouble(); + variable->gap_danger_low.hysteresis = gap["danger_low_hysteresis"].toDouble(); + variable->gap_danger_low.delay = gap["danger_low_delay"].toInt(); + variable->gap_danger_low.enable = gap["danger_low_enable"].toBool(); + variable->gap_danger_low.latch = gap["danger_low_latch"].toBool(); + variable->gap_alert_low.level = gap["alert_low_level"].toDouble(); + variable->gap_alert_low.hysteresis = gap["alert_low_hysteresis"].toDouble(); + variable->gap_alert_low.delay = gap["alert_low_delay"].toInt(); + variable->gap_alert_low.enable = gap["alert_low_enable"].toBool(); + variable->gap_alert_low.latch = gap["alert_low_latch"].toBool(); + vib_data->variables_.push_back(variable); break; } @@ -578,26 +597,28 @@ void ConfigMgr::Load(QString filename) { variable->filter_[k].checked = filter_ele["checked"].toBool(); } variable->id_ = j + 1; - QJsonObject direct = tmp_variable["direct"].toObject(); - variable->direct_.full_scale_range = direct["full_scale_range"].toInt(); - variable->direct_.clamp_value = direct["clamp_value"].toDouble(); - variable->direct_.custom = direct["custom"].toDouble(); - - QJsonObject gap = tmp_variable["gap"].toObject(); - variable->gap_range.full_scale_range = direct["full_scale_range"].toInt(); - variable->gap_range.custom = direct["custom"].toDouble(); - - QJsonObject recorder_out = tmp_variable["recorder_out"].toObject(); - variable->recorder_out_.recorder_output = recorder_out["recorder_output"].toInt(); - variable->recorder_out_.two_ma_clamp = recorder_out["two_ma_clamp"].toBool(); - QJsonObject delay = tmp_variable["delay"].toObject(); - variable->delay_.alert = delay["alert"].toInt(); - variable->delay_.danger = delay["danger"].toDouble(); - variable->delay_.active_100ms = delay["active_100ms"].toBool(); - QJsonObject latching = tmp_variable["latching"].toObject(); - variable->alert_latching_ = latching["alert"].toBool(); - variable->danger_latching_ = latching["danger"].toBool(); - variable->timed_ok_ = latching["timed_ok"].toBool(); + QJsonObject gap; + gap = tmp_variable["gap"].toObject(); + variable->gap_danger_high.level = gap["danger_high_level"].toDouble(); + variable->gap_danger_high.hysteresis = gap["danger_high_hysteresis"].toDouble(); + variable->gap_danger_high.delay = gap["danger_high_delay"].toInt(); + variable->gap_danger_high.enable = gap["danger_high_enable"].toBool(); + variable->gap_danger_high.latch = gap["danger_high_latch"].toBool(); + variable->gap_alert_high.level = gap["alert_high_level"].toDouble(); + variable->gap_alert_high.hysteresis = gap["alert_high_hysteresis"].toDouble(); + variable->gap_alert_high.delay = gap["alert_high_delay"].toInt(); + variable->gap_alert_high.enable = gap["alert_high_enable"].toBool(); + variable->gap_alert_high.latch = gap["alert_high_latch"].toBool(); + variable->gap_danger_low.level = gap["danger_low_level"].toDouble(); + variable->gap_danger_low.hysteresis = gap["danger_low_hysteresis"].toDouble(); + variable->gap_danger_low.delay = gap["danger_low_delay"].toInt(); + variable->gap_danger_low.enable = gap["danger_low_enable"].toBool(); + variable->gap_danger_low.latch = gap["danger_low_latch"].toBool(); + variable->gap_alert_low.level = gap["alert_low_level"].toDouble(); + variable->gap_alert_low.hysteresis = gap["alert_low_hysteresis"].toDouble(); + variable->gap_alert_low.delay = gap["alert_low_delay"].toInt(); + variable->gap_alert_low.enable = gap["alert_low_enable"].toBool(); + variable->gap_alert_low.latch = gap["alert_low_latch"].toBool(); variable->zero_position.value = tmp_variable["zero_position"].toDouble(); variable->zero_position.negation = tmp_variable["negation"].toBool(); vib_data->variables_.push_back(variable); @@ -625,10 +646,59 @@ void ConfigMgr::Load(QString filename) { variable->measuring_max = scaling["measuring_max"].toInt(); variable->scale_min = scaling["scale_min"].toInt(); variable->scale_max = scaling["scale_max"].toInt(); + QJsonArray freband_output_array = tmp_variable["freband_output"].toArray(); + for (int k = 0; k < freband_output_array.size(); ++k) { + QJsonObject freband_output = freband_output_array[k].toObject(); + FrequencybandOutput output; + output.enable = freband_output["enable"].toBool(); + output.start = freband_output["start"].toInt(); + output.end = freband_output["end"].toInt(); + variable->freband_output[k] = output; + } + vib_data->variables_.push_back(variable); + break; + } + case kVibVelocity:{ + std::shared_ptr variable = std::make_shared(); + // filter + QJsonArray filter_array = tmp_variable["filter"].toArray(); + for (int k = 0; k < filter_array.size(); k++) { + QJsonObject filter_ele = filter_array[k].toObject(); + variable->filter_[k].low = filter_ele["low"].toInt(); + variable->filter_[k].high = filter_ele["high"].toInt(); + variable->filter_[k].checked = filter_ele["checked"].toBool(); + } + variable->id_ = j + 1; + QJsonObject processed_output, general, alarm; + processed_output = tmp_variable["processed_output"].toObject(); + general = processed_output["general"].toObject(); + alarm = processed_output["alarm"].toObject(); + variable->general.output_used = general["output_used"].toBool(); + variable->general.engineering_unit = general["engieneering_unit"].toString(); + variable->general.rectifier_function = general["rectifier_function"].toString(); + variable->danger_high.level = alarm["danger_high_level"].toDouble(); + variable->danger_high.hysteresis = alarm["danger_high_hysteresis"].toDouble(); + variable->danger_high.delay = alarm["danger_high_delay"].toInt(); + variable->danger_high.enable = alarm["danger_high_enable"].toBool(); + variable->danger_high.latch = alarm["danger_high_latch"].toBool(); + variable->alert_high.level = alarm["alert_high_level"].toDouble(); + variable->alert_high.hysteresis = alarm["alert_high_hysteresis"].toDouble(); + variable->alert_high.delay = alarm["alert_high_delay"].toInt(); + variable->alert_high.enable = alarm["alert_high_enable"].toBool(); + variable->alert_high.latch = alarm["alert_high_latch"].toBool(); + variable->danger_low.level = alarm["danger_low_level"].toDouble(); + variable->danger_low.hysteresis = alarm["danger_low_hysteresis"].toDouble(); + variable->danger_low.delay = alarm["danger_low_delay"].toInt(); + variable->danger_low.enable = alarm["danger_low_enable"].toBool(); + variable->danger_low.latch = alarm["danger_low_latch"].toBool(); + variable->alert_low.level = alarm["alert_low_level"].toDouble(); + variable->alert_low.hysteresis = alarm["alert_low_hysteresis"].toDouble(); + variable->alert_low.delay = alarm["alert_low_delay"].toInt(); + variable->alert_low.enable = alarm["alert_low_enable"].toBool(); + variable->alert_low.latch = alarm["alert_low_latch"].toBool(); vib_data->variables_.push_back(variable); break; } - case kVibVelocity: case kVibAcc: { std::shared_ptr variable = std::make_shared(); // filter @@ -640,39 +710,43 @@ void ConfigMgr::Load(QString filename) { variable->filter_[k].checked = filter_ele["checked"].toBool(); } variable->id_ = j + 1; - QJsonObject direct = tmp_variable["direct"].toObject(); - variable->direct_.full_scale_range = direct["full_scale_range"].toInt(); - variable->direct_.clamp_value = direct["clamp_value"].toDouble(); - variable->direct_.custom = direct["custom"].toDouble(); - QJsonObject x1 = tmp_variable["x1"].toObject(); - variable->x1_.checked = x1["checked"].toBool(); - variable->x1_.full_scale_range = x1["full_scale_range"].toInt(); - variable->x1_.clamp_value = x1["clamp_value"].toDouble(); - variable->x1_.custom = x1["custom"].toDouble(); - variable->x1_.phase_lag = x1["phase_lag"].toInt(); - QJsonObject x2 = tmp_variable["x2"].toObject(); - variable->x2_.checked = x2["checked"].toBool(); - variable->x2_.full_scale_range = x2["full_scale_range"].toInt(); - variable->x2_.clamp_value = x2["clamp_value"].toDouble(); - variable->x2_.custom = x2["custom"].toDouble(); - variable->x2_.phase_lag = x2["phase_lag"].toInt(); - QJsonObject rms_integrate = tmp_variable["rms_integrate"].toObject(); - variable->rms_active_ = rms_integrate["rms_active"].toBool(); - variable->integrate_active_ = rms_integrate["integrate_active"].toBool(); - QJsonObject recorder_out = tmp_variable["recorder_out"].toObject(); - variable->recorder_out_.recorder_output = recorder_out["recorder_output"].toInt(); - variable->recorder_out_.two_ma_clamp = recorder_out["two_ma_clamp"].toBool(); - variable->recorder_out_.trip_multiply = recorder_out["trip_multiply"].toDouble(); - variable->recorder_out_.comparision = recorder_out["comparision"].toInt(); - variable->recorder_out_.percentage = recorder_out["percentage"].toInt(); - QJsonObject delay = tmp_variable["delay"].toObject(); - variable->delay_.alert = delay["alert"].toInt(); - variable->delay_.danger = delay["danger"].toDouble(); - variable->delay_.active_100ms = delay["active_100ms"].toBool(); - QJsonObject latching = tmp_variable["latching"].toObject(); - variable->alert_latching_ = latching["alert"].toBool(); - variable->danger_latching_ = latching["danger"].toBool(); - variable->timed_ok_ = latching["timed_ok"].toBool(); + QJsonObject processed_output, general, alarm; + processed_output = tmp_variable["processed_output"].toObject(); + general = processed_output["general"].toObject(); + alarm = processed_output["alarm"].toObject(); + variable->general.output_used = general["output_used"].toBool(); + variable->general.engineering_unit = general["engieneering_unit"].toString(); + variable->general.rectifier_function = general["rectifier_function"].toString(); + variable->danger_high.level = alarm["danger_high_level"].toDouble(); + variable->danger_high.hysteresis = alarm["danger_high_hysteresis"].toDouble(); + variable->danger_high.delay = alarm["danger_high_delay"].toInt(); + variable->danger_high.enable = alarm["danger_high_enable"].toBool(); + variable->danger_high.latch = alarm["danger_high_latch"].toBool(); + variable->alert_high.level = alarm["alert_high_level"].toDouble(); + variable->alert_high.hysteresis = alarm["alert_high_hysteresis"].toDouble(); + variable->alert_high.delay = alarm["alert_high_delay"].toInt(); + variable->alert_high.enable = alarm["alert_high_enable"].toBool(); + variable->alert_high.latch = alarm["alert_high_latch"].toBool(); + variable->danger_low.level = alarm["danger_low_level"].toDouble(); + variable->danger_low.hysteresis = alarm["danger_low_hysteresis"].toDouble(); + variable->danger_low.delay = alarm["danger_low_delay"].toInt(); + variable->danger_low.enable = alarm["danger_low_enable"].toBool(); + variable->danger_low.latch = alarm["danger_low_latch"].toBool(); + variable->alert_low.level = alarm["alert_low_level"].toDouble(); + variable->alert_low.hysteresis = alarm["alert_low_hysteresis"].toDouble(); + variable->alert_low.delay = alarm["alert_low_delay"].toInt(); + variable->alert_low.enable = alarm["alert_low_enable"].toBool(); + variable->alert_low.latch = alarm["alert_low_latch"].toBool(); + + QJsonArray freband_output_array = tmp_variable["freband_output"].toArray(); + for (int k = 0; k < freband_output_array.size(); ++k) { + QJsonObject freband_output = freband_output_array[k].toObject(); + FrequencybandOutput output; + output.enable = freband_output["enable"].toBool(); + output.start = freband_output["start"].toInt(); + output.end = freband_output["end"].toInt(); + variable->freband_output[k] = output; + } vib_data->variables_.push_back(variable); break; } diff --git a/mainwindow.cpp b/mainwindow.cpp index 0820363..e71af28 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -10,7 +10,6 @@ #include "singlerelay.h" #include "tachometer.h" #include "seismic_monitor.h" -#include "setpoint.h" #include #include #include @@ -476,9 +475,9 @@ void MainWindow::OnButtonGroup(QAbstractButton *slot_btn) { case kCardVibSingle:{ QString object_name = slot_btn->objectName(); int button_id = object_name.right(object_name.length() - 15).toInt(); - Setpoint *setpoint = new Setpoint(button_id,ConfigMgr::Instance()->card_type_[button_id - 1]); - setpoint->setWindowModality(Qt::ApplicationModal); - setpoint->show(); + // Setpoint *setpoint = new Setpoint(button_id,ConfigMgr::Instance()->card_type_[button_id - 1]); + // setpoint->setWindowModality(Qt::ApplicationModal); + // setpoint->show(); break; } case kCardSpeedSingle:{ diff --git a/setpoint.cpp b/setpoint.cpp deleted file mode 100644 index a9cdd04..0000000 --- a/setpoint.cpp +++ /dev/null @@ -1,482 +0,0 @@ -#include "setpoint.h" -#include "ui_setpoint.h" -#include "config_mgr.h" -#include -#include "displacement_ds.h" -#include "acceleration_ds.h" -#include "velocity_ds.h" -#include -#include - -Setpoint::Setpoint(int slot_no_,int cardtype,QWidget *parent) : - QWidget(parent), - ui(new Ui::Setpoint) -{ - ui->setupUi(this); - slot_no = slot_no_; - car_type = static_cast(cardtype); - ui->label_slot->setText(QString::number(slot_no)); - ui->comboBox_chan->setView(new QListView()); - ui->comboBox_danger->setView(new QListView()); - Init(); - connect(ui->comboBox_chan, QOverload::of(&QComboBox::currentIndexChanged), - this, &Setpoint::onComboBoxIndexChanged); - current_index = ui->comboBox_chan->currentIndex(); -} - -Setpoint::~Setpoint() -{ - if(slider_1st != nullptr) - delete slider_1st; - if(slider_2nd != nullptr) - delete slider_2nd; - if(slider_3rd != nullptr) - delete slider_3rd; - if(slider_danger != nullptr) - delete slider_danger; - delete ui; -} -void Setpoint::Init(){ - - QVBoxLayout *layout_direct = new QVBoxLayout(ui->widget_direct); - slider_1st = new RangeSlider; - layout_direct->addWidget(slider_1st); - - QVBoxLayout *layout_1x_ampl = new QVBoxLayout(ui->widget_1x_ampl); - slider_2nd = new RangeSlider; - layout_1x_ampl->addWidget(slider_2nd); - - QVBoxLayout *layout_2x_ampl = new QVBoxLayout(ui->widget_2x_ampl); - slider_3rd = new RangeSlider; - layout_2x_ampl->addWidget(slider_3rd); - - QVBoxLayout *layout_danger = new QVBoxLayout(ui->widget_danger); - slider_danger = new RangeSlider(1); - layout_danger->addWidget(slider_danger); - - std::shared_ptr base_ptr = ConfigMgr::Instance()->GetSlotPtr(slot_no); - - switch (car_type) { - case kCardVibSingle:{ - update(); - }break; - } - QObject::connect(ui->lineEdit_1st_upper, &QLineEdit::editingFinished, [&]() { - slider_1st->setUpperValue(ui->lineEdit_1st_upper->text().toFloat()); - }); - QObject::connect(slider_1st, &RangeSlider::rangeChanged, [&](float low,float high) { - ui->lineEdit_1st_upper->setText(QString::number(high)); - }); - - QObject::connect(slider_2nd, &RangeSlider::rangeChanged, [&](float low, float high) { - ui->lineEdit_2nd_upper->setText(QString::number(high)); - ui->lineEdit_2nd_lower->setText(QString::number(low)); - }); - QObject::connect(ui->lineEdit_2nd_upper, &QLineEdit::editingFinished, [&]() { - slider_2nd->setUpperValue(ui->lineEdit_2nd_upper->text().toFloat()); - }); - QObject::connect(ui->lineEdit_2nd_lower, &QLineEdit::editingFinished, [&]() { - slider_2nd->setLowerValue(ui->lineEdit_2nd_lower->text().toFloat()); - }); - - QObject::connect(slider_3rd, &RangeSlider::rangeChanged, [&](float low, float high) { - ui->lineEdit_3rd_upper->setText(QString::number(high)); - ui->lineEdit_3rd_lower->setText(QString::number(low)); - }); - QObject::connect(ui->lineEdit_3rd_upper, &QLineEdit::editingFinished, [&]() { - slider_2nd->setUpperValue(ui->lineEdit_3rd_upper->text().toFloat()); - }); - QObject::connect(ui->lineEdit_3rd_lower, &QLineEdit::editingFinished, [&]() { - slider_2nd->setLowerValue(ui->lineEdit_3rd_lower->text().toFloat()); - }); - - QObject::connect(slider_danger, &RangeSlider::rangeChanged, [&](float low,float high) { - ui->lineEdit_danger_upper->setText(QString::number(high)); - }); - QObject::connect(ui->lineEdit_danger_upper, &QLineEdit::editingFinished, [&]() { - slider_danger->setUpperValue(ui->lineEdit_danger_upper->text().toFloat()); - }); -} - -void Setpoint::on_pushButton_confirm_clicked() -{ - - std::shared_ptr base_ptr = ConfigMgr::Instance()->GetSlotPtr(slot_no); - std::shared_ptr setpoint_data = std::dynamic_pointer_cast(base_ptr); - if(setpoint_data->base_config_[current_index].channel_type == kVibPressurePulsation){ - setpoint_data->alert_danger_press[current_index].low_upper = ui->lineEdit_1st_upper->text().toFloat(); - setpoint_data->alert_danger_press[current_index].low_enable = ui->checkBox_1st->checkState(); - setpoint_data->alert_danger_press[current_index].mid1_upper = ui->lineEdit_2nd_upper->text().toFloat(); - setpoint_data->alert_danger_press[current_index].mid1_enable = ui->checkBox_2nd->checkState(); - setpoint_data->alert_danger_press[current_index].mid2_upper = ui->lineEdit_3rd_upper->text().toFloat(); - setpoint_data->alert_danger_press[current_index].mid2_enable = ui->checkBox_3rd->checkState(); - setpoint_data->alert_danger_press[current_index].danger_param = ui->comboBox_danger->currentIndex(); - setpoint_data->alert_danger_press[current_index].danger_upper = ui->lineEdit_danger_upper->text().toFloat(); - setpoint_data->alert_danger_press[current_index].danger_enable = ui->checkBox_danger->checkState(); - }else{ - setpoint_data->alert_danger[current_index].direct_upper = ui->lineEdit_1st_upper->text().toFloat(); - setpoint_data->alert_danger[current_index].direct_enable = ui->checkBox_1st->checkState(); - setpoint_data->alert_danger[current_index].x1_ampl_upper = ui->lineEdit_2nd_upper->text().toFloat(); - setpoint_data->alert_danger[current_index].x1_ampl_lower = ui->lineEdit_2nd_lower->text().toFloat(); - setpoint_data->alert_danger[current_index].x1_ampl_enable = ui->checkBox_2nd->checkState(); - setpoint_data->alert_danger[current_index].x2_ampl_upper = ui->lineEdit_3rd_upper->text().toFloat(); - setpoint_data->alert_danger[current_index].x2_ampl_lower = ui->lineEdit_3rd_lower->text().toFloat(); - setpoint_data->alert_danger[current_index].x2_ampl_enable = ui->checkBox_3rd->checkState(); - setpoint_data->alert_danger[current_index].danger_param = ui->comboBox_danger->currentIndex(); - setpoint_data->alert_danger[current_index].danger_upper = ui->lineEdit_danger_upper->text().toFloat(); - setpoint_data->alert_danger[current_index].danger_enable = ui->checkBox_danger->checkState(); - } - this->close(); -} - - -void Setpoint::on_pushButton_cancel_clicked() -{ - this->close(); -} - - -void Setpoint::on_pushButton_set_default_clicked() -{ - -} -void Setpoint::onComboBoxIndexChanged(int index){ - - std::shared_ptr base_ptr = ConfigMgr::Instance()->GetSlotPtr(slot_no); - std::shared_ptr setpoint_data = std::dynamic_pointer_cast(base_ptr); - if(setpoint_data->base_config_[current_index].channel_type == kVibPressurePulsation){ - setpoint_data->alert_danger_press[current_index].low_upper = ui->lineEdit_1st_upper->text().toFloat(); - setpoint_data->alert_danger_press[current_index].low_enable = ui->checkBox_1st->checkState(); - setpoint_data->alert_danger_press[current_index].mid1_upper = ui->lineEdit_2nd_upper->text().toFloat(); - setpoint_data->alert_danger_press[current_index].mid1_enable = ui->checkBox_2nd->checkState(); - setpoint_data->alert_danger_press[current_index].mid2_upper = ui->lineEdit_3rd_upper->text().toFloat(); - setpoint_data->alert_danger_press[current_index].mid2_enable = ui->checkBox_3rd->checkState(); - setpoint_data->alert_danger_press[current_index].danger_param = ui->comboBox_danger->currentIndex(); - setpoint_data->alert_danger_press[current_index].danger_upper = ui->lineEdit_danger_upper->text().toFloat(); - setpoint_data->alert_danger_press[current_index].danger_enable = ui->checkBox_danger->checkState(); - }else{ - setpoint_data->alert_danger[current_index].direct_upper = ui->lineEdit_1st_upper->text().toFloat(); - setpoint_data->alert_danger[current_index].direct_enable = ui->checkBox_1st->checkState(); - setpoint_data->alert_danger[current_index].x1_ampl_upper = ui->lineEdit_2nd_upper->text().toFloat(); - setpoint_data->alert_danger[current_index].x1_ampl_lower = ui->lineEdit_2nd_lower->text().toFloat(); - setpoint_data->alert_danger[current_index].x1_ampl_enable = ui->checkBox_2nd->checkState(); - setpoint_data->alert_danger[current_index].x2_ampl_upper = ui->lineEdit_3rd_upper->text().toFloat(); - setpoint_data->alert_danger[current_index].x2_ampl_lower = ui->lineEdit_3rd_lower->text().toFloat(); - setpoint_data->alert_danger[current_index].x2_ampl_enable = ui->checkBox_3rd->checkState(); - setpoint_data->alert_danger[current_index].danger_param = ui->comboBox_danger->currentIndex(); - setpoint_data->alert_danger[current_index].danger_upper = ui->lineEdit_danger_upper->text().toFloat(); - setpoint_data->alert_danger[current_index].danger_enable = ui->checkBox_danger->checkState(); - } - current_index = index; - update(); - -} -void Setpoint::update() -{ - int chan = ui->comboBox_chan->currentIndex(); - std::shared_ptr base_ptr = ConfigMgr::Instance()->GetSlotPtr(slot_no); - std::shared_ptr setpoint_data = std::dynamic_pointer_cast(base_ptr); - std::vector> variable_ = setpoint_data->variables_; - if(variable_.size() <= 0 ) - { - QMessageBox::information(this, QStringLiteral("提示"), "请先配置完通道参数!"); - return; - } - if(!variable_[chan]->x1_.checked){ - ui->checkBox_1st->setEnabled(false); - ui->lineEdit_2nd_lower->setEnabled(false); - ui->lineEdit_2nd_upper->setEnabled(false); - } - if(!variable_[chan]->x2_.checked){ - ui->checkBox_2nd->setEnabled(false); - ui->lineEdit_3rd_upper->setEnabled(false); - ui->lineEdit_3rd_lower->setEnabled(false); - } - if(setpoint_data->base_config_[chan].channel_type == kVibRadial){ - EnableNormal(); - ShowSlider(); - if(variable_[chan]->direct_.full_scale_range == 0){ - slider_1st->setRange(0,100); - slider_danger->setRange(0,100); - }else if(variable_[chan]->direct_.full_scale_range == 1){ - slider_1st->setRange(0,150); - slider_danger->setRange(0,150); - }else if(variable_[chan]->direct_.full_scale_range == 2){ - slider_1st->setRange(0,200); - slider_danger->setRange(0,200); - }else if(variable_[chan]->direct_.full_scale_range == 3){ - slider_1st->setRange(0,400); - slider_danger->setRange(0,400); - }else if(variable_[chan]->direct_.full_scale_range == 4){ - slider_1st->setRange(0,500); - slider_danger->setRange(0,500); - } - ui->label_unit_1st->setText("um"); - ui->label_danger->setText("um"); - - } - if(setpoint_data->base_config_[chan].channel_type == kVibThrust){ - EnableNormal(); - ui->label_2nd->hide(); - ui->label_unit_2nd->hide(); - ui->lineEdit_2nd_upper->hide(); - ui->widget_1x_ampl->hide(); - ui->lineEdit_2nd_lower->hide(); - ui->checkBox_2nd->hide(); - ui->label_3rd->hide(); - ui->label_unit_3rd->hide(); - ui->lineEdit_3rd_upper->hide(); - ui->widget_2x_ampl->hide(); - ui->lineEdit_3rd_lower->hide(); - ui->checkBox_3rd->hide(); - ui->label_unit_1st->setText("mil"); - ui->label_danger->setText("mil"); - if(variable_[chan]->direct_.full_scale_range == 0){ - slider_1st->setRange(-25,25); - slider_danger->setRange(-25,25); - }else if(variable_[chan]->direct_.full_scale_range == 1){ - slider_1st->setRange(-30,30); - slider_danger->setRange(-30,30); - }else if(variable_[chan]->direct_.full_scale_range == 2){ - slider_1st->setRange(-40,40); - slider_danger->setRange(-40,40); - }else if(variable_[chan]->direct_.full_scale_range == 3){ - ui->label_unit_1st->setText("mm"); - ui->label_danger->setText("mm"); - slider_1st->setRange(-0.5,0.5); - slider_danger->setRange(-0.5,0.5); - }else if(variable_[chan]->direct_.full_scale_range == 4){ - ui->label_unit_1st->setText("mm"); - ui->label_danger->setText("mm"); - slider_1st->setRange(-1,1); - slider_danger->setRange(-1,1); - } - } - if(setpoint_data->base_config_[chan].channel_type == kVibAcc){ - EnableNormal(); - ShowSlider(); - std::shared_ptr base_channel_ptr = setpoint_data->GetChannelPtr(chan + 1); - std::shared_ptr av_ptr = std::dynamic_pointer_cast(base_channel_ptr); - if(variable_[chan]->direct_.full_scale_range == 0){ - slider_1st->setRange(0,20); - slider_danger->setRange(0,20); - }else if(variable_[chan]->direct_.full_scale_range == 1){ - slider_1st->setRange(0,50); - slider_danger->setRange(0,50); - }else if(variable_[chan]->direct_.full_scale_range == 2){ - slider_1st->setRange(0,100); - slider_danger->setRange(0,100); - }else if(variable_[chan]->direct_.full_scale_range == 3){ - slider_1st->setRange(0,200); - slider_danger->setRange(0,200); - }else if(variable_[chan]->direct_.full_scale_range == 4){ - slider_1st->setRange(0,250); - slider_danger->setRange(0,250); - }else if(variable_[chan]->direct_.full_scale_range == 5){ - slider_1st->setRange(0,400); - slider_danger->setRange(0,400); - } - ui->label_unit_1st->setText("m/s^2 pk"); - ui->label_danger->setText("m/s^2 pk"); - - if(av_ptr->rms_active_){ - if(variable_[chan]->direct_.full_scale_range == 0){ - slider_1st->setRange(0,20); - slider_danger->setRange(0,20); - }else if(variable_[chan]->direct_.full_scale_range == 1){ - slider_1st->setRange(0,50); - slider_danger->setRange(0,50); - }else if(variable_[chan]->direct_.full_scale_range == 2){ - slider_1st->setRange(0,100); - slider_danger->setRange(0,100); - }else if(variable_[chan]->direct_.full_scale_range == 3){ - slider_1st->setRange(0,200); - slider_danger->setRange(0,200); - } - ui->label_unit_1st->setText("m/s^2 rms"); - ui->label_danger->setText("m/s^2 rms"); - } - - if(av_ptr->integrate_active_){ - if(variable_[chan]->direct_.full_scale_range == 0){ - slider_1st->setRange(0,25); - slider_danger->setRange(0,25); - }else if(variable_[chan]->direct_.full_scale_range == 1){ - slider_1st->setRange(0,50); - slider_danger->setRange(0,50); - }else if(variable_[chan]->direct_.full_scale_range == 2){ - slider_1st->setRange(0,100); - slider_danger->setRange(0,100); - } - ui->label_unit_1st->setText("mm/s pk"); - ui->label_danger->setText("mm/s pk"); - } - - if(av_ptr->rms_active_ && av_ptr->integrate_active_){ - if(variable_[chan]->direct_.full_scale_range == 0){ - slider_1st->setRange(0,25); - slider_danger->setRange(0,25); - }else if(variable_[chan]->direct_.full_scale_range == 1){ - slider_1st->setRange(0,50); - slider_danger->setRange(0,50); - } - ui->label_unit_1st->setText("mm/s rms"); - ui->label_danger->setText("mm/s rms"); - } - - } - if(setpoint_data->base_config_[chan].channel_type == kVibVelocity){ - EnableNormal(); - ShowSlider(); - std::shared_ptr base_channel_ptr = setpoint_data->GetChannelPtr(chan + 1); - std::shared_ptr av_ptr = std::dynamic_pointer_cast(base_channel_ptr); - - if(variable_[chan]->direct_.full_scale_range == 0){ - slider_1st->setRange(0,10); - slider_danger->setRange(0,10); - }else if(variable_[chan]->direct_.full_scale_range == 1){ - slider_1st->setRange(0,20); - slider_danger->setRange(0,20); - }else if(variable_[chan]->direct_.full_scale_range == 2){ - slider_1st->setRange(0,50); - slider_danger->setRange(0,50); - } - ui->label_unit_1st->setText("mm/s pk"); - ui->label_danger->setText("mm/s pk"); - - if(av_ptr->rms_active_){ - if(variable_[chan]->direct_.full_scale_range == 0){ - slider_1st->setRange(0,10); - slider_danger->setRange(0,10); - }else if(variable_[chan]->direct_.full_scale_range == 1){ - slider_1st->setRange(0,20); - slider_danger->setRange(0,20); - }else if(variable_[chan]->direct_.full_scale_range == 2){ - slider_1st->setRange(0,50); - slider_danger->setRange(0,50); - } - ui->label_unit_1st->setText("mm/s rms"); - ui->label_danger->setText("mm/s rms"); - } - - if(av_ptr->integrate_active_){ - if(variable_[chan]->direct_.full_scale_range == 0){ - slider_1st->setRange(0,100); - slider_danger->setRange(0,100); - }else if(variable_[chan]->direct_.full_scale_range == 1){ - slider_1st->setRange(0,200); - slider_danger->setRange(0,200); - }else if(variable_[chan]->direct_.full_scale_range == 2){ - slider_1st->setRange(0,500); - slider_danger->setRange(0,500); - } - ui->label_unit_1st->setText("um pp"); - ui->label_danger->setText("um pp"); - } - } - if(setpoint_data->base_config_[chan].channel_type == kVibPressurePulsation){ - ShowSlider(); - ui->label_1st->setText("低频段"); - ui->label_2nd->setText("中1频段"); - ui->label_3rd->setText("中2频段"); - ui->comboBox_danger->clear(); - ui->comboBox_danger->addItem("全频段"); - ui->checkBox_1st->setEnabled(true); - ui->checkBox_2nd->setEnabled(true); - ui->checkBox_3rd->setEnabled(true); - ui->lineEdit_2nd_lower->hide(); - ui->lineEdit_2nd_upper->setEnabled(true); - ui->lineEdit_3rd_lower->hide(); - ui->lineEdit_3rd_upper->setEnabled(true); - ui->label_unit_1st->setText("kPa"); - ui->label_unit_2nd->setText("kPa"); - ui->label_unit_3rd->setText("kPa"); - ui->label_danger->setText("kPa"); - slider_1st->setRange(0,10); - slider_2nd->setRange(0,10); - slider_3rd->setRange(0,10); - slider_danger->setRange(0,40); - ui->lineEdit_1st_upper->setText(QString::number(setpoint_data->alert_danger_press[chan].low_upper)); - ui->checkBox_1st->setChecked(setpoint_data->alert_danger_press[chan].low_enable); - if(setpoint_data->alert_danger_press[chan].low_upper > 0){ - slider_1st->m_upper = setpoint_data->alert_danger_press[chan].low_upper; - slider_1st->m_lower = 0; - } - - ui->lineEdit_2nd_upper->setText(QString::number(setpoint_data->alert_danger_press[chan].mid1_upper)); - ui->checkBox_2nd->setChecked(setpoint_data->alert_danger_press[chan].mid1_enable); - if(setpoint_data->alert_danger_press[chan].mid1_upper > 0){ - slider_2nd->m_upper = setpoint_data->alert_danger_press[chan].mid1_upper; - slider_2nd->m_lower = 0; - } - ui->lineEdit_3rd_upper->setText(QString::number(setpoint_data->alert_danger_press[chan].mid2_upper)); - ui->checkBox_3rd->setChecked(setpoint_data->alert_danger_press[chan].mid2_enable); - if(setpoint_data->alert_danger_press[chan].mid2_upper > 0){ - slider_3rd->m_upper = setpoint_data->alert_danger_press[chan].mid2_upper; - slider_3rd->m_lower = 0; - } - ui->lineEdit_danger_upper->setText(QString::number(setpoint_data->alert_danger_press[chan].danger_upper)); - ui->checkBox_danger->setChecked(setpoint_data->alert_danger_press[chan].danger_enable); - if(setpoint_data->alert_danger_press[chan].danger_upper > 0){ - slider_danger->m_upper = setpoint_data->alert_danger_press[chan].danger_upper; - slider_danger->m_lower = 0; - } - }else{ - ui->lineEdit_1st_upper->setText(QString::number(setpoint_data->alert_danger[chan].direct_upper)); - ui->checkBox_1st->setChecked(setpoint_data->alert_danger[chan].direct_enable); - if(setpoint_data->alert_danger[chan].direct_upper > 0){ - slider_1st->m_upper = setpoint_data->alert_danger[chan].direct_upper; - slider_1st->m_lower = 0; - } - ui->lineEdit_2nd_upper->setText(QString::number(setpoint_data->alert_danger[chan].x1_ampl_upper)); - ui->lineEdit_2nd_lower->setText(QString::number(setpoint_data->alert_danger[chan].x1_ampl_lower)); - ui->checkBox_2nd->setChecked(setpoint_data->alert_danger[chan].x1_ampl_enable); - if(setpoint_data->alert_danger[chan].x1_ampl_upper > 0 && setpoint_data->alert_danger[chan].x1_ampl_lower > 0){ - slider_2nd->m_upper = setpoint_data->alert_danger[chan].x1_ampl_upper; - slider_2nd->m_lower = setpoint_data->alert_danger[chan].x1_ampl_lower; - } - ui->lineEdit_3rd_upper->setText(QString::number(setpoint_data->alert_danger[chan].x2_ampl_upper)); - ui->lineEdit_3rd_lower->setText(QString::number(setpoint_data->alert_danger[chan].x2_ampl_lower)); - ui->checkBox_3rd->setChecked(setpoint_data->alert_danger[chan].x2_ampl_enable); - if(setpoint_data->alert_danger[chan].x2_ampl_upper > 0 && setpoint_data->alert_danger[chan].x2_ampl_lower > 0){ - slider_3rd->m_upper = setpoint_data->alert_danger[chan].x2_ampl_upper; - slider_3rd->m_lower = setpoint_data->alert_danger[chan].x2_ampl_lower; - } - ui->lineEdit_danger_upper->setText(QString::number(setpoint_data->alert_danger[chan].danger_upper)); - ui->checkBox_danger->setChecked(setpoint_data->alert_danger[chan].danger_enable); - if(setpoint_data->alert_danger[chan].danger_upper > 0){ - slider_danger->m_upper = setpoint_data->alert_danger[chan].danger_upper; - slider_danger->m_lower = 0; - } - } -} - - -void Setpoint::EnableNormal(){ - ui->label_1st->setText("直接值"); - ui->label_2nd->setText("1倍频幅值"); - ui->label_3rd->setText("2倍频幅值"); - ui->comboBox_danger->clear(); - QStringList items = {"直接值", "1倍频幅值", "2倍频幅值"}; - ui->comboBox_danger->addItems(items); - ui->checkBox_2nd->setChecked(false); - ui->checkBox_3rd->setChecked(false); - ui->label_unit_2nd->setText("- -"); - ui->label_unit_3rd->setText("- -"); -} - -void Setpoint::ShowSlider(){ - ui->label_2nd->show(); - ui->label_unit_2nd->show(); - ui->lineEdit_2nd_upper->show(); - ui->widget_1x_ampl->show(); - ui->lineEdit_2nd_lower->show(); - ui->checkBox_1st->show(); - - ui->label_3rd->show(); - ui->label_unit_3rd->show(); - ui->lineEdit_3rd_upper->show(); - ui->widget_2x_ampl->show(); - ui->lineEdit_3rd_lower->show(); - ui->checkBox_2nd->show(); -} diff --git a/setpoint.h b/setpoint.h deleted file mode 100644 index b83af7d..0000000 --- a/setpoint.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef SETPOINT_H -#define SETPOINT_H - -#include -#include "data_config.h" -#include "rangeslider.h" -#include "vibrationdata.h" - -namespace Ui { -class Setpoint; -} - -class Setpoint : public QWidget -{ - Q_OBJECT - -public: - explicit Setpoint(int slot_no_,int cardtype,QWidget *parent = nullptr); - ~Setpoint(); - int slot_no; - CardType car_type; -private slots: - void on_pushButton_confirm_clicked(); - - void on_pushButton_cancel_clicked(); - - void on_pushButton_set_default_clicked(); - - void onComboBoxIndexChanged(int index); - -private: - Ui::Setpoint *ui; - RangeSlider *slider_1st; - RangeSlider *slider_2nd; - RangeSlider *slider_3rd; - RangeSlider *slider_danger; - int current_index; - void Init(); - void update(); - void EnbalePressurePulsation(); - void EnableNormal(); - void ShowSlider(); -}; - -#endif // SETPOINT_H diff --git a/setpoint.ui b/setpoint.ui deleted file mode 100644 index 359ecac..0000000 --- a/setpoint.ui +++ /dev/null @@ -1,620 +0,0 @@ - - - Setpoint - - - - 0 - 0 - 734 - 528 - - - - 触发配置 - - - - - 540 - 10 - 161 - 451 - - - - 危险 / 警报 2 - - - - - 20 - 30 - 69 - 22 - - - - - 直接值 - - - - - 1倍频幅值 - - - - - 2倍频幅值 - - - - - - - 30 - 60 - 50 - 20 - - - - - 50 - 0 - - - - - 50 - 16777215 - - - - - - - - - Qt::AlignCenter - - - - - - 30 - 415 - 47 - 16 - - - - 启用 - - - false - - - - - - 30 - 90 - 50 - 20 - - - - - 50 - 0 - - - - - 50 - 16777215 - - - - - - - 10 - 116 - 100 - 260 - - - - - 100 - 260 - - - - - 100 - 260 - - - - - - - - 20 - 480 - 666 - 37 - - - - - - - 槽位号 - - - - - - - slot - - - - - - - - 通道 1 - - - - - 通道 2 - - - - - 通道 3 - - - - - 通道 4 - - - - - - - - - 100 - 35 - - - - 确定 - - - - - - - false - - - - 100 - 35 - - - - 设置为默认值 - - - - - - - - 100 - 35 - - - - 取消 - - - - - - - false - - - - 100 - 35 - - - - 打印 - - - - - - - false - - - - 100 - 35 - - - - 帮助 - - - - - - - - - 10 - 10 - 521 - 451 - - - - 告警 / 警报 1 - - - - - 100 - 110 - 100 - 260 - - - - - 100 - 260 - - - - - 100 - 260 - - - - - - - 121 - 41 - 54 - 16 - - - - 1倍频幅值 - - - - - - 121 - 77 - 50 - 20 - - - - - 50 - 0 - - - - - 50 - 16777215 - - - - - - - 130 - 59 - 50 - 16 - - - - - 50 - 0 - - - - - 50 - 16777215 - - - - - - - - - - - - 120 - 380 - 50 - 20 - - - - - 50 - 0 - - - - - 50 - 16777215 - - - - - - - 121 - 420 - 47 - 16 - - - - 启用 - - - - - - 221 - 420 - 47 - 16 - - - - 启用 - - - - - - 221 - 41 - 54 - 16 - - - - 2倍频幅值 - - - - - - 230 - 59 - 50 - 16 - - - - - 50 - 0 - - - - - 50 - 16777215 - - - - - - - - - - - - 221 - 77 - 50 - 20 - - - - - 50 - 0 - - - - - 50 - 16777215 - - - - - - - 200 - 110 - 100 - 260 - - - - - 100 - 260 - - - - - 100 - 260 - - - - - - - 220 - 380 - 50 - 20 - - - - - 50 - 0 - - - - - 50 - 16777215 - - - - - - - 30 - 80 - 50 - 20 - - - - - 50 - 0 - - - - - 50 - 16777215 - - - - Qt::AlignCenter - - - - - - 10 - 107 - 100 - 260 - - - - - 100 - 260 - - - - - 100 - 260 - - - - - - - 40 - 40 - 36 - 16 - - - - 直接值 - - - Qt::AlignCenter - - - - - - 25 - 60 - 50 - 20 - - - - - 50 - 0 - - - - - 50 - 16777215 - - - - - - - - - Qt::AlignCenter - - - - - - 30 - 420 - 65 - 16 - - - - 启用 - - - - - - -