From 0da25401ac9bfc1fe9c606907ebd5d918a5bd359 Mon Sep 17 00:00:00 2001 From: zhangsheng Date: Tue, 22 Apr 2025 20:55:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TSI_Config.pro | 6 ++ config_mgr.cpp | 2 + connect.cpp | 11 ++-- mainwindow.cpp | 25 +++++++- mainwindow.h | 2 + mainwindow.ui | 8 ++- setpoint.cpp | 158 +++++++++++++++++++++++++++++++++++++++++++++++-- setpoint.ui | 16 ++--- 8 files changed, 207 insertions(+), 21 deletions(-) diff --git a/TSI_Config.pro b/TSI_Config.pro index 319c72a..2e6363f 100644 --- a/TSI_Config.pro +++ b/TSI_Config.pro @@ -15,8 +15,10 @@ SOURCES += \ common.cpp \ config_mgr.cpp \ connect.cpp \ + ethconfig.cpp \ keyphase.cpp \ keyphase_data.cpp \ + macconfig.cpp \ main.cpp \ mainwindow.cpp \ pointname.cpp \ @@ -45,8 +47,10 @@ HEADERS += \ connect.h \ data_config.h \ displacement_ds.h \ + ethconfig.h \ keyphase.h \ keyphase_data.h \ + macconfig.h \ mainwindow.h \ pointname.h \ radial_vibration.h \ @@ -68,7 +72,9 @@ HEADERS += \ FORMS += \ acceleration.ui \ connect.ui \ + ethconfig.ui \ keyphase.ui \ + macconfig.ui \ mainwindow.ui \ pointname.ui \ radial_vibration.ui \ diff --git a/config_mgr.cpp b/config_mgr.cpp index d49344e..893dc07 100644 --- a/config_mgr.cpp +++ b/config_mgr.cpp @@ -65,6 +65,7 @@ void ConfigMgr::Save(QString & file_path) { channel_item["scale_factor"] = ptr->base_config_[cid].scale_factor; channel_item["sampling_rate"] = ptr->base_config_[cid].sampling_rate; channel_item["power"] = ptr->base_config_[cid].power; + channel_item["point_name"] = ptr->base_config_[cid].point_name; QJsonArray voltage_range; voltage_range.append(ptr->base_config_[cid].normal_voltage_low); voltage_range.append(ptr->base_config_[cid].normal_voltage_high); @@ -393,6 +394,7 @@ void ConfigMgr::Load(QString filename) { vib_data->base_config_[j].normal_voltage_low = voltage_range_array[0].toDouble(); vib_data->base_config_[j].normal_voltage_high = voltage_range_array[1].toDouble(); vib_data->base_config_[j].power = channel["power"].toBool(); + vib_data->base_config_[j].point_name = channel["point_name"].toString(); //setpoint QJsonObject setpoint_data = channel["setpoint"].toObject(); vib_data->alert_danger[j].direct_upper = setpoint_data["direct_upper"].toDouble(); diff --git a/connect.cpp b/connect.cpp index 54522a9..654ef41 100644 --- a/connect.cpp +++ b/connect.cpp @@ -1,6 +1,7 @@ #include "connect.h" #include "ui_connect.h" -#include +#include +#include #include "data_config.h" Connect::Connect(QWidget *parent) : @@ -9,11 +10,9 @@ Connect::Connect(QWidget *parent) : { ui->setupUi(this); - QString exp = "\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.)" - "{3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b"; - QRegExp rege(exp); - QValidator *Validator = new QRegExpValidator(rege); - ui->lineEdit_IP->setValidator(Validator); + QRegularExpression ipRegex(R"(^(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}$)"); + QRegularExpressionValidator *ipValidator = new QRegularExpressionValidator(ipRegex, this); + ui->lineEdit_IP->setValidator(ipValidator); } Connect::~Connect() diff --git a/mainwindow.cpp b/mainwindow.cpp index 934eb6d..e0c1d97 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -23,6 +23,9 @@ #include "connect.h" #include "tmrrelayassociation.h" #include "setpoint_tachometer.h" +#include "pointname.h" +#include "ethconfig.h" +#include "macconfig.h" QString g_strServerIp; @@ -90,7 +93,9 @@ MainWindow::MainWindow(QWidget *parent) createMenu(); connect(btnGroup_slot, SIGNAL(buttonClicked(QAbstractButton *)), this, SLOT(OnButtonGroup(QAbstractButton *))); QObject::connect(ui->action_connect, &QAction::triggered, this, &MainWindow::onConnect); - QObject::connect(ui->action_disconnect, &QAction::triggered, this, &MainWindow::onConnect); + QObject::connect(ui->action_disconnect, &QAction::triggered, this, &MainWindow::onDisconnect); + QObject::connect(ui->action_eth, &QAction::triggered, this, &MainWindow::onEthConfig); + QObject::connect(ui->action_mac, &QAction::triggered, this, &MainWindow::onMACConfig); QSettings settingsread(QCoreApplication::applicationDirPath() + "\\config\\config.ini", QSettings::IniFormat); g_strServerIp = settingsread.value("Server/IP").toString(); @@ -484,6 +489,13 @@ void MainWindow::OnButtonGroup(QAbstractButton *slot_btn) { } } } + if(slot_btn != NULL && ui->pushButton_point_name->isChecked()){ + QString object_name = slot_btn->objectName(); + int button_id = object_name.right(object_name.length() - 15).toInt(); + PointName *point_name = new PointName(button_id,ConfigMgr::Instance()->card_type_[button_id - 1]); + point_name->setWindowModality(Qt::ApplicationModal); + point_name->show(); + } } void MainWindow::on_pushButton_slot_clicked() { @@ -824,3 +836,14 @@ void MainWindow::onConnect(){ void MainWindow::onDisconnect(){ m_tcpClient->disconnectFromServer(); } + +void MainWindow::onEthConfig(){ + EthConfig *eth_config = new EthConfig(); + eth_config->setWindowModality(Qt::ApplicationModal); + eth_config->show(); +} +void MainWindow::onMACConfig(){ + MacConfig *mac_config = new MacConfig(); + mac_config->setWindowModality(Qt::ApplicationModal); + mac_config->show(); +} diff --git a/mainwindow.h b/mainwindow.h index 6938e41..36bce57 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -68,6 +68,8 @@ private slots: void OnButtonGroup(QAbstractButton *); void onConnect(); void onDisconnect(); + void onEthConfig(); + void onMACConfig(); void onMenuActionTriggered(); void on_pushButton_slot_clicked(); diff --git a/mainwindow.ui b/mainwindow.ui index ff8aaa2..7ed79bc 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -11,7 +11,7 @@ - MainWindow + TSI_Config @@ -1146,6 +1146,7 @@ + @@ -1192,6 +1193,11 @@ 网络配置 + + + MAC配置 + + diff --git a/setpoint.cpp b/setpoint.cpp index 746d05e..21aebe9 100644 --- a/setpoint.cpp +++ b/setpoint.cpp @@ -2,6 +2,9 @@ #include "ui_setpoint.h" #include "config_mgr.h" #include +#include "displacement_ds.h" +#include "acceleration_ds.h" +#include "velocity_ds.h" Setpoint::Setpoint(int slot_no_,int cardtype,QWidget *parent) : QWidget(parent), @@ -56,9 +59,157 @@ void Setpoint::Init(){ slider_direct->setRange(0,20); slider_1x_ampl->setRange(0,20); slider_2x_ampl->setRange(0,20); - slider_danger->setRange(0,20); + int chan = ui->comboBox_chan->currentIndex(); std::shared_ptr setpoint_data = std::dynamic_pointer_cast(base_ptr); + std::vector> variable_ = setpoint_data->variables_; + if(setpoint_data->base_config_[chan].channel_type == kVibRadial){ + for (int var = 0; var < variable_.size(); ++var) { + if(variable_[var]->direct_.full_scale_range == 0){ + slider_direct->setRange(0,100); + slider_danger->setRange(0,100); + }else if(variable_[var]->direct_.full_scale_range == 1){ + slider_direct->setRange(0,150); + slider_danger->setRange(0,150); + }else if(variable_[var]->direct_.full_scale_range == 2){ + slider_direct->setRange(0,200); + slider_danger->setRange(0,200); + }else if(variable_[var]->direct_.full_scale_range == 3){ + slider_direct->setRange(0,400); + slider_danger->setRange(0,400); + }else if(variable_[var]->direct_.full_scale_range == 4){ + slider_direct->setRange(0,500); + slider_danger->setRange(0,500); + } + ui->label_direct->setText("um"); + ui->label_danger->setText("um"); + } + } + if(setpoint_data->base_config_[chan].channel_type == kVibAcc){ + std::shared_ptr base_channel_ptr = setpoint_data->GetChannelPtr(chan + 1); + std::shared_ptr av_ptr = std::dynamic_pointer_cast(base_channel_ptr); + for (int var = 0; var < variable_.size(); ++ var) { + if(variable_[var]->direct_.full_scale_range == 0){ + slider_direct->setRange(0,20); + slider_danger->setRange(0,20); + }else if(variable_[var]->direct_.full_scale_range == 1){ + slider_direct->setRange(0,50); + slider_danger->setRange(0,50); + }else if(variable_[var]->direct_.full_scale_range == 2){ + slider_direct->setRange(0,100); + slider_danger->setRange(0,100); + }else if(variable_[var]->direct_.full_scale_range == 3){ + slider_direct->setRange(0,200); + slider_danger->setRange(0,200); + }else if(variable_[var]->direct_.full_scale_range == 4){ + slider_direct->setRange(0,250); + slider_danger->setRange(0,250); + }else if(variable_[var]->direct_.full_scale_range == 5){ + slider_direct->setRange(0,400); + slider_danger->setRange(0,400); + } + ui->label_direct->setText("m/s^2 pk"); + ui->label_danger->setText("m/s^2 pk"); + } + if(av_ptr->rms_active_){ + for (int var = 0; var < variable_.size(); ++ var) { + if(variable_[var]->direct_.full_scale_range == 0){ + slider_direct->setRange(0,20); + slider_danger->setRange(0,20); + }else if(variable_[var]->direct_.full_scale_range == 1){ + slider_direct->setRange(0,50); + slider_danger->setRange(0,50); + }else if(variable_[var]->direct_.full_scale_range == 2){ + slider_direct->setRange(0,100); + slider_danger->setRange(0,100); + }else if(variable_[var]->direct_.full_scale_range == 3){ + slider_direct->setRange(0,200); + slider_danger->setRange(0,200); + } + ui->label_direct->setText("m/s^2 rms"); + ui->label_danger->setText("m/s^2 rms"); + } + } + if(av_ptr->integrate_active_){ + for (int var = 0; var < variable_.size(); ++ var) { + if(variable_[var]->direct_.full_scale_range == 0){ + slider_direct->setRange(0,25); + slider_danger->setRange(0,25); + }else if(variable_[var]->direct_.full_scale_range == 1){ + slider_direct->setRange(0,50); + slider_danger->setRange(0,50); + }else if(variable_[var]->direct_.full_scale_range == 2){ + slider_direct->setRange(0,100); + slider_danger->setRange(0,100); + } + ui->label_direct->setText("mm/s pk"); + ui->label_danger->setText("mm/s pk"); + } + } + if(av_ptr->rms_active_ && av_ptr->integrate_active_){ + for (int var = 0; var < variable_.size(); ++ var) { + if(variable_[var]->direct_.full_scale_range == 0){ + slider_direct->setRange(0,25); + slider_danger->setRange(0,25); + }else if(variable_[var]->direct_.full_scale_range == 1){ + slider_direct->setRange(0,50); + slider_danger->setRange(0,50); + } + ui->label_direct->setText("mm/s rms"); + ui->label_danger->setText("mm/s rms"); + } + } + } + if(setpoint_data->base_config_[chan].channel_type == kVibVelocity){ + std::shared_ptr base_channel_ptr = setpoint_data->GetChannelPtr(chan + 1); + std::shared_ptr av_ptr = std::dynamic_pointer_cast(base_channel_ptr); + for (int var = 0; var < variable_.size(); ++ var) { + if(variable_[var]->direct_.full_scale_range == 0){ + slider_direct->setRange(0,10); + slider_danger->setRange(0,10); + }else if(variable_[var]->direct_.full_scale_range == 1){ + slider_direct->setRange(0,20); + slider_danger->setRange(0,20); + }else if(variable_[var]->direct_.full_scale_range == 2){ + slider_direct->setRange(0,50); + slider_danger->setRange(0,50); + } + ui->label_direct->setText("mm/s pk"); + ui->label_danger->setText("mm/s pk"); + } + if(av_ptr->rms_active_){ + for (int var = 0; var < variable_.size(); ++ var) { + if(variable_[var]->direct_.full_scale_range == 0){ + slider_direct->setRange(0,10); + slider_danger->setRange(0,10); + }else if(variable_[var]->direct_.full_scale_range == 1){ + slider_direct->setRange(0,20); + slider_danger->setRange(0,20); + }else if(variable_[var]->direct_.full_scale_range == 2){ + slider_direct->setRange(0,50); + slider_danger->setRange(0,50); + } + ui->label_direct->setText("mm/s rms"); + ui->label_danger->setText("mm/s rms"); + } + } + if(av_ptr->integrate_active_){ + for (int var = 0; var < variable_.size(); ++ var) { + if(variable_[var]->direct_.full_scale_range == 0){ + slider_direct->setRange(0,100); + slider_danger->setRange(0,100); + }else if(variable_[var]->direct_.full_scale_range == 1){ + slider_direct->setRange(0,200); + slider_danger->setRange(0,200); + }else if(variable_[var]->direct_.full_scale_range == 2){ + slider_direct->setRange(0,500); + slider_danger->setRange(0,500); + } + ui->label_direct->setText("um pp"); + ui->label_danger->setText("um pp"); + } + } + } ui->lineEdit_direct_upper->setText(QString::number(setpoint_data->alert_danger[chan].direct_upper)); ui->checkBox_direct->setChecked(setpoint_data->alert_danger[chan].direct_enable); if(setpoint_data->alert_danger[chan].direct_upper > 0){ @@ -85,10 +236,6 @@ void Setpoint::Init(){ slider_danger->m_lower = 0; } }break; - case kCardSpeedSingle:{ - slider_direct->setRange(0,5000); - - }break; } QObject::connect(ui->lineEdit_direct_upper, &QLineEdit::editingFinished, [&]() { slider_direct->setUpperValue(ui->lineEdit_direct_upper->text().toFloat()); @@ -199,3 +346,4 @@ void Setpoint::onComboBoxIndexChanged(int index){ slider_danger->m_upper = vib_alert_ptr->alert_danger[index].danger_upper; } } + diff --git a/setpoint.ui b/setpoint.ui index d63f0ca..c0a1d58 100644 --- a/setpoint.ui +++ b/setpoint.ui @@ -50,7 +50,7 @@ - + 20 @@ -60,7 +60,7 @@ - mil pp + - - @@ -314,7 +314,7 @@ - + 130 @@ -324,7 +324,7 @@ - mil pp + - - @@ -388,7 +388,7 @@ 2倍频幅值 - + 230 @@ -398,7 +398,7 @@ - mil pp + - - @@ -530,7 +530,7 @@ Qt::AlignCenter - + 40 @@ -540,7 +540,7 @@ - mil pp + - - Qt::AlignCenter