diff --git a/A1210_Desktop.pro b/A1210_Desktop.pro index bab662b..836fa66 100644 --- a/A1210_Desktop.pro +++ b/A1210_Desktop.pro @@ -18,6 +18,7 @@ DEFINES += QT_DEPRECATED_WARNINGS SOURCES += \ comWorks.cpp \ + customcombobox.cpp \ customlabel.cpp \ main.cpp \ mainwindow.cpp \ @@ -27,6 +28,7 @@ SOURCES += \ HEADERS += \ comWorks.h \ + customcombobox.h \ customlabel.h \ enums.h \ mainwindow.h \ diff --git a/app.ico b/app.ico index d06db39..4b74940 100644 Binary files a/app.ico and b/app.ico differ diff --git a/customcombobox.cpp b/customcombobox.cpp new file mode 100644 index 0000000..dbfa37e --- /dev/null +++ b/customcombobox.cpp @@ -0,0 +1,57 @@ +#include "customcombobox.h" + +CustomComboBox::CustomComboBox(QWidget *parent) : QComboBox(parent) +{ + this->setStyleSheet("QComboBox { background-color : black; color : #00bbff; " + "}QComboBox:editable {" + " background: #00bbff; selection-background-color: black; color : black;}" + "QComboBox QAbstractItemView {" + " selection-background-color: black;}" + + + ); + +} + +void CustomComboBox::wheelEvent(QWheelEvent * event) +{ + if (event->delta() > 0) { + emit wheelUp(); + }else{ + emit wheelDown(); + } +} + +/* +void CustomComboBox::mousePressEvent(QMouseEvent *event) +{ + emit clicked(); +} +*/ + +void CustomComboBox::enterEvent(QEvent * event) +{ + this->setStyleSheet("QComboBox { selection-color: white; color : white; background-color : black; background: black; selection-background-color: black;}" + ); + /* + this->setStyleSheet("QComboBox { background-color : black; color : green; " + "}QComboBox:editable {" + " background: black; selection-background-color: black;}" + "QComboBox QAbstractItemView {" + " selection-background-color: black;}" + ); + + */ + emit focused(); +} + +void CustomComboBox::leaveEvent(QEvent * event) +{ + this->setStyleSheet("QComboBox { background-color : black; color : #00bbff; selection-color: #00bbff;" + "}QComboBox:editable {" + " background: #00bbff; selection-background-color: black; color : black;}" + "QComboBox QAbstractItemView {" + " selection-background-color: black;}" + ); + emit unfocused(); +} diff --git a/customcombobox.h b/customcombobox.h new file mode 100644 index 0000000..0e0d8ed --- /dev/null +++ b/customcombobox.h @@ -0,0 +1,31 @@ +#ifndef CUSTOMCOMBOBOX_H +#define CUSTOMCOMBOBOX_H + +#include +#include +#include +#include +#include + +class CustomComboBox : public QComboBox +{ + Q_OBJECT +public: + explicit CustomComboBox(QWidget *parent = nullptr); + +protected: + void wheelEvent(QWheelEvent * event) override; + // void mousePressEvent(QMouseEvent *event) override; + void enterEvent(QEvent * event) override; + void leaveEvent(QEvent * event) override; + + +signals: + void wheelUp(); + void wheelDown(); + void clicked(); + void focused(); + void unfocused(); +}; + +#endif // CUSTOMCOMBOBOX_H diff --git a/customlabel.cpp b/customlabel.cpp index 27437e3..334edd3 100644 --- a/customlabel.cpp +++ b/customlabel.cpp @@ -22,12 +22,12 @@ void CustomLabel::mousePressEvent(QMouseEvent *event) void CustomLabel::enterEvent(QEvent * event) { - this->setStyleSheet("QLabel { background-color : #00bbff; color : black; }"); + this->setStyleSheet("QLabel { color : white; }"); emit focused(); } void CustomLabel::leaveEvent(QEvent * event) { - this->setStyleSheet("QLabel { background-color : black; color : #00bbff; }"); + this->setStyleSheet("QLabel { color : #00bbff; }"); emit unfocused(); } diff --git a/enums.h b/enums.h index 9e06f98..f792cf6 100644 --- a/enums.h +++ b/enums.h @@ -14,6 +14,8 @@ typedef enum{MS2=0, PA, H } typeUnit; typedef enum{Oz=0, Pz } typePlavGround; typedef enum{Norm=0, Overload } typeOverload; +typedef enum{SENS_REQ_TYPE=0, STATE_REQ_TYPE} typeReq; + typedef enum{in=0, ku, fv,fn,unit,overload,pz } typeParam; typedef enum {UART_PARITY_NONE=0, UART_PARITY_ODD, UART_PARITY_EVEN} Parity; diff --git a/mainwindow.cpp b/mainwindow.cpp index a315484..51561f6 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -48,6 +48,9 @@ const char *STRINGS_OUTUNITS[] = {"0.0001мВ/", const char *STRINGS_UNITS[]={"мс2","Па","Н"}; // массив с единицами измерений + + + MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) { conf = new QSettings(); @@ -77,15 +80,7 @@ MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWin - // Перечислим порты в консоль - foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts()){ //для каждого доступного порта - QSerialPort port; // - port.setPort(info); // - if(port.open(QIODevice::ReadWrite)){// если порт доступен - ui->comboBoxPort->addItem(info.portName()); // Добавляем в список доступных - comList.push_back(info.portName()); - } - }//конец foreach + //формирую комбобокс для установки скорости @@ -98,6 +93,18 @@ MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWin ui->comboBoxBit->addItem("Четности"); // Добавляем в список доступных ui->comboBoxBit->addItem("Нечетности"); // Добавляем в список доступных + + + // Перечислим порты в консоль + foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts()){ //для каждого доступного порта + QSerialPort port; // + port.setPort(info); // + if(port.open(QIODevice::ReadWrite)){// если порт доступен + ui->comboBoxPort->addItem(info.portName()); // Добавляем в список доступных + comList.push_back(info.portName()); + } + }//конец foreach + // значения для полей из сохраненных значений ui->comboBoxPort->setCurrentIndex(conf->value("section1/keyCurrentPort").toInt()); ui->comboBoxSpeed->setCurrentIndex(conf->value("section1/keyCurrentSpeed").toInt()); @@ -111,7 +118,29 @@ MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWin speedComboboxIndex=ui->comboBoxSpeed->currentIndex(); + //заполняю статические комбобоксы + ui->comboBoxPlavGround->addItem("ОЗ"); + ui->comboBoxPlavGround->addItem("ПЗ"); + + + ui->comboBoxNch->addItem("0.1"); + ui->comboBoxNch->addItem("0.3"); + ui->comboBoxNch->addItem("1"); + ui->comboBoxNch->addItem("3"); + ui->comboBoxNch->addItem("10"); + ui->comboBoxNch->addItem("30"); + ui->comboBoxNch->addItem("100"); + + ui->comboBoxVch->addItem("0.2"); + ui->comboBoxVch->addItem("1"); + ui->comboBoxVch->addItem("2"); + ui->comboBoxVch->addItem("10"); + + + ui->comboBoxUnitSens->addItem("пКл/Н"); + ui->comboBoxUnitSens->addItem("пКл/Па"); + ui->comboBoxUnitSens->addItem("пКл/мс2"); }//конец конструктора главного окна @@ -120,8 +149,9 @@ MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWin MainWindow::~MainWindow() { - qDebug()<<"сработал деструктор первого окна"; + qDebug()<comboBoxPort->currentIndex(); //сохранение значения полей + conf->setValue("section1/keyCurrentPort", ui->comboBoxPort->currentIndex()); conf->setValue("section1/keyCurrentSpeed", ui->comboBoxSpeed->currentIndex()); conf->setValue("section1/keyCurrentBit", ui->comboBoxBit->currentIndex()); @@ -172,13 +202,7 @@ void MainWindow::on_pushButtonConnect_clicked() //удаляем прибор с данным адресом из списка - //опустошаем форму - ui->labelKu->setText("XXXXX"); - ui->labelNch->setText("XX"); - ui->labelVch->setText("XX"); - ui->labelSens->setText("XXXXX"); - ui->labelPlavGround->setText("XX"); - ui->labelUnitSens->setText("XXXXXX"); + //разблокируем элементы ui->lineEditAddr->setDisabled(false); @@ -237,54 +261,65 @@ void MainWindow::refreshDisplay(){ else if(state.sens<100&&state.sens>=10){ui->labelSens->setText(QString::number(state.sens,'f', 3));} else {ui->labelSens->setText(QString::number(state.sens,'f', 4));} - //с автоподгонкой всё начинает прыгать. Я думаю всё прокатит если её применять поьлко по изменеию содержимого + //с автоподгонкой всё начинает прыгать. Я думаю всё прокатит если её применять тоьлко по изменеию содержимого //ui->labelSens->adjustSize(); //подгоняем размер по содержимому switch (state.fn) { case Lp100: - ui->labelNch->setText("0.1"); + + ui->comboBoxNch->setCurrentIndex(0); break; case Lp300: - ui->labelNch->setText("0.3"); + + ui->comboBoxNch->setCurrentIndex(1); break; case Lp1000: - ui->labelNch->setText("1"); + + ui->comboBoxNch->setCurrentIndex(2); break; case Lp3000: - ui->labelNch->setText("3"); + + ui->comboBoxNch->setCurrentIndex(3); break; case Lp10000: - ui->labelNch->setText("10"); + + ui->comboBoxNch->setCurrentIndex(4); break; case Lp30000: - ui->labelNch->setText("30"); + + ui->comboBoxNch->setCurrentIndex(5); break; case Lp100000: - ui->labelNch->setText("100"); + + ui->comboBoxNch->setCurrentIndex(6); break; default: - ui->labelNch->setText("#####"); +// ui->labelNch->setText("#####"); break; } switch (state.fv) { case Hp0_2 : - ui->labelVch->setText("0.2"); + + ui->comboBoxVch->setCurrentIndex(0); break; case Hp1: - ui->labelVch->setText("1"); + + ui->comboBoxVch->setCurrentIndex(1); break; case Hp2: - ui->labelVch->setText("2"); + + ui->comboBoxVch->setCurrentIndex(2); break; case Hp10: - ui->labelVch->setText("10"); + + ui->comboBoxVch->setCurrentIndex(3); break; default: - ui->labelVch->setText("#####"); + break; } @@ -308,22 +343,36 @@ void MainWindow::refreshDisplay(){ strcpy(result, STRINGS_OUTUNITS[state.ku+OffsetKuDisplay]); strcat(result, STRINGS_UNITS[state.unit]); - ui->labelKu->setText(result); - ui->labelKu->adjustSize(); + free(result); /// освободил память + //шляпа для комбобокса + ui->comboBoxKu->clear(); + for(int i=0; i<=12; i++){ + QString StringForComboBox; + StringForComboBox.append(STRINGS_OUTUNITS[i+OffsetKuDisplay]); + StringForComboBox.append(STRINGS_UNITS[state.unit]); + ui->comboBoxKu->addItem(StringForComboBox); + + }; + ui->comboBoxKu->setCurrentIndex(state.ku); switch (state.pz) { //todo тут нужно нормирование case 0 : - ui->labelPlavGround->setText("ОЗ"); + ui->comboBoxPlavGround->show(); + + ui->comboBoxPlavGround->setCurrentIndex(0); break; case 1: - ui->labelPlavGround->setText("ПЗ"); + ui->comboBoxPlavGround->show(); + + ui->comboBoxPlavGround->setCurrentIndex(1); break; default: - ui->labelPlavGround->setText("#####"); + + ui->comboBoxPlavGround->hide(); break; } @@ -333,25 +382,28 @@ void MainWindow::refreshDisplay(){ switch (state.unit) { //todo тут нужно нормирование case H : - ui->labelUnitSens->setText("пКл/Н"); + + ui->comboBoxUnitSens->setCurrentIndex(0); // ui->labelUnitKu->setText("xВ/Н"); // Заменил на нормирование с прибора break; case PA: - ui->labelUnitSens->setText("пКл/Па"); + + ui->comboBoxUnitSens->setCurrentIndex(1); // ui->labelUnitKu->setText("xВ/Па"); break; case MS2: - ui->labelUnitSens->setText("пКл/мс2"); + + ui->comboBoxUnitSens->setCurrentIndex(2); // ui->labelUnitKu->setText("xВ/мс2"); break; default: - ui->labelUnitSens->setText("#####"); + break; } //ui->labelUnitSens->adjustSize(); - switch (state.overload) { //todo тут нужно нормирование + switch (state.overload) { case Norm : ui->labelOverload->setText(""); break; @@ -366,77 +418,6 @@ void MainWindow::refreshDisplay(){ -void MainWindow::on_labelKu_wheelDown() -{ //смотрим на текущее состояние дел - - state.ku=typeIKU((uint16_t)state.ku-1); - modebus->writeDataToPribor(state); - //writePalam(serial, adrPri, ku, newVal); // и тут ему говорим - отправь на запись такое то значение КУ - - qDebug()<<"WheelDown"; - -} - -void MainWindow::on_labelKu_wheelUp() -{ - state.ku=typeIKU((uint16_t)state.ku+1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ - qDebug()<<"WheelUp"; -} - -void MainWindow::on_labelVch_wheelDown() -{ - - state.fv=typeIFV((uint16_t)state.fv-1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ - qDebug()<<"WheelUp"; -} - -void MainWindow::on_labelVch_wheelUp() -{ - state.fv=typeIFV((uint16_t)state.fv+1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ - qDebug()<<"WheelUp"; -} - -void MainWindow::on_labelNch_wheelDown() -{ - - state.fn=typeIFN((uint16_t)state.fn-1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ -} - -void MainWindow::on_labelNch_wheelUp() -{ - state.fn=typeIFN((uint16_t)state.fn+1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ -} - - -void MainWindow::on_labelPlavGround_wheelDown() -{ - state.pz=typePlavGround((uint16_t)state.pz-1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ -} - -void MainWindow::on_labelPlavGround_wheelUp() -{ - state.pz=typePlavGround((uint16_t)state.pz+1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ -} - -void MainWindow::on_labelUnitSens_wheelDown() -{ - - state.unit=typeUnit((uint16_t)state.unit-1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ -} - -void MainWindow::on_labelUnitSens_wheelUp() -{ - state.unit=typeUnit((uint16_t)state.unit+1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ -} @@ -447,7 +428,7 @@ void MainWindow::on_labelSens_clicked() tr("Введите значение чувствительности датчика"), state.sens, 0.001, 1000, 4, &ok, Qt::WindowFlags(), 1); - if (ok){modebus->writeDataToPribor(state);} + if (ok){modebus->writeDataToPribor(state, SENS_REQ_TYPE);} } @@ -471,3 +452,44 @@ void MainWindow::on_lineEditAddr_textEdited(const QString &) { adrValue=ui->lineEditAddr->text(); } + +void MainWindow::on_comboBoxUnitSens_activated(int index) +{ + if(index==0)state.unit=H; + if(index==1)state.unit=PA; //тут были непонятки, скорее всего сработает без этого + if(index==2)state.unit=MS2; + + modebus->writeDataToPribor(state, STATE_REQ_TYPE); +} + + + +void MainWindow::on_comboBoxKu_activated(int index) +{ + state.ku=typeIKU(index); + modebus->writeDataToPribor(state, STATE_REQ_TYPE); +} + + + +void MainWindow::on_comboBoxVch_activated(int index) +{ + state.fv=typeIFV(index); + modebus->writeDataToPribor(state, STATE_REQ_TYPE); +} + + + + + +void MainWindow::on_comboBoxNch_activated(int index) +{ + state.fn=typeIFN(index); + modebus->writeDataToPribor(state, STATE_REQ_TYPE); +} + +void MainWindow::on_comboBoxPlavGround_activated(int index) +{ + state.pz=typePlavGround(index); + modebus->writeDataToPribor(state, STATE_REQ_TYPE); +} diff --git a/mainwindow.h b/mainwindow.h index 33ba311..0940874 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -58,26 +58,6 @@ private slots: void on_pushButtonSetPri_clicked(); - void on_labelKu_wheelDown(); - - void on_labelKu_wheelUp(); - - void on_labelVch_wheelDown(); - - void on_labelVch_wheelUp(); - - void on_labelNch_wheelDown(); - - void on_labelNch_wheelUp(); - - void on_labelPlavGround_wheelDown(); - - void on_labelPlavGround_wheelUp(); - - void on_labelUnitSens_wheelDown(); - - void on_labelUnitSens_wheelUp(); - void on_labelSens_clicked(); void on_comboBoxPort_currentIndexChanged(int index); @@ -88,6 +68,16 @@ private slots: void on_lineEditAddr_textEdited(const QString &arg1); + void on_comboBoxUnitSens_activated(int index); + + void on_comboBoxKu_activated(int index); + + void on_comboBoxVch_activated(int index); + + void on_comboBoxNch_activated(int index); + + void on_comboBoxPlavGround_activated(int index); + private: uint16_t adrPri; diff --git a/mainwindow.ui b/mainwindow.ui index 67388ed..0e66d36 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -606,521 +606,6 @@ QFrame::Plain - - - - 50 - 100 - 41 - 21 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - - - @@ -2151,2069 +1636,6 @@ Выход - - - - 105 - 48 - 91 - 21 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - Qt::NoContextMenu - - - XXXxx/xxx - - - - - - 159 - 50 - 81 - 21 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - - - - - - - 68 - 75 - 31 - 21 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - X.X - - - - - - 181 - 75 - 35 - 21 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - X.X - - @@ -5247,7 +2669,7 @@ - 221 + 229 75 40 21 @@ -5762,7 +3184,7 @@ - 100 + 103 75 27 21 @@ -6274,1563 +3696,1129 @@ Гц - + - 30 - 20 - 221 - 27 + 59 + 98 + 61 + 22 - - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - Датчик - - - - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - XXX.XX - - - - - - - - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - пКл/xx - - - - + + + Segoe UI + 14 + + - layoutWidget - labelUnitKu - labelPlavGround + + + + 170 + 74 + 56 + 22 + + + + + Segoe UI + 14 + + + + + + + 55 + 74 + 47 + 22 + + + + + Segoe UI + 14 + + + + + + + 91 + 49 + 121 + 22 + + + + + Segoe UI + 14 + + + + + + + 163 + 22 + 96 + 22 + + + + + Segoe UI + 14 + + + + + + + 99 + 21 + 59 + 25 + + + + + + + + + 0 + 187 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 187 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 240 + 240 + 240 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + Segoe UI + 14 + + + + XXX.XX + + + + + + 31 + 21 + 62 + 25 + + + + + + + + + 0 + 187 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 187 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 240 + 240 + 240 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + Segoe UI + 14 + + + + Датчик + + + labelSens + label_4 labelOverload label_8 - labelKu - labelVch - labelNch label_11 label_16 label_14 label_13 + comboBoxPlavGround + comboBoxNch + comboBoxVch + comboBoxKu + comboBoxUnitSens @@ -8054,6 +5042,11 @@ wheelDown() + + CustomComboBox + QComboBox +
customcombobox.h
+
diff --git a/modbushandler.cpp b/modbushandler.cpp index f4c11f2..8ee8b59 100644 --- a/modbushandler.cpp +++ b/modbushandler.cpp @@ -4,7 +4,7 @@ -#define REQ_PERIOD 50 //прериод опроса +#define REQ_PERIOD 500 //прериод опроса @@ -15,14 +15,10 @@ ModBusHandler::ModBusHandler(QObject *parent) : QObject(parent) modbusDevice = new QModbusRtuSerialMaster; //заводим таймер - - tmr = new QTimer(); tmr->start(REQ_PERIOD); connect(tmr, SIGNAL(timeout()), this, SLOT(requestPriborFromList())); - - // 2. Если вы находитесь в состоянии соединения, отключите соединение if (modbusDevice->state() == QModbusDevice::ConnectedState) { @@ -50,8 +46,9 @@ void ModBusHandler::requestPriborFromList() //слот для истекшег //пробегаемся по листу и опрашиваем выкидываая сигналы static uint numForReqest; + //QMap::iterator iteratorPriborMap; - qDebug()<<"Приборов в списке "<disconnectDevice(); + modbusDevice->setConnectionParameter(QModbusDevice::SerialPortNameParameter, QVariant(atr.port)); modbusDevice->setConnectionParameter(QModbusDevice::SerialStopBitsParameter, QSerialPort::OneStop); modbusDevice->setConnectionParameter(QModbusDevice::SerialDataBitsParameter, QSerialPort::Data8); modbusDevice->setTimeout(100); //1 таймаута - modbusDevice->setNumberOfRetries(1);// попытки достучатся + modbusDevice->setNumberOfRetries(0);// попытки достучатся modbusDevice->setConnectionParameter(QModbusDevice::SerialBaudRateParameter, atr.speed); switch (atr.parity) {//выставляем парити case UART_PARITY_NONE: @@ -146,7 +131,6 @@ void ModBusHandler::onReadReady() { qDebug() << "Read response Error: " << reply->errorString(); } - // Удалить перенастремленность isWaitingResponse=false; reply->deleteLater(); } @@ -230,12 +214,12 @@ void ModBusHandler::dataCollector(quint16 adress, QVectorrecivedData) data.pz=(typePlavGround)recivedData[7]; stateIsRecived=1; }; - if(stateIsRecived&&stateIsRecived){ + if(sensIsRecived&&stateIsRecived){ //connect(this,SIGNAL(dataRecivedNotify(DataStruct)),parent(),SLOT(dataSetter(DataStruct))); emit dataRecivedNotify(data); // qDebug()<<"Должен проити эмит"; - stateIsRecived=0; + sensIsRecived=0; stateIsRecived=0; } } @@ -259,7 +243,8 @@ void ModBusHandler::prepareWrite(uint16_t adress, int startAddress, int count, Q } else if(lastRequest->error() == QModbusDevice::TimeoutError) { qDebug() << "таймаут"; } else if (lastRequest->error() != QModbusDevice::NoError) { - qDebug() << "уууууууу"; + qDebug() << "Какая то ошибка"; + qDebug() << lastRequest->rawResult(); } else if(lastRequest->error() == QModbusDevice::NoError) { qDebug() << "успех)"; } @@ -277,6 +262,9 @@ void ModBusHandler::prepareWrite(uint16_t adress, int startAddress, int count, Q } } + + + void ModBusHandler::scanAdressSignalChain(uint16_t adrToScan) { if(adrToScan<=247){// делаем запрос @@ -305,16 +293,20 @@ void ModBusHandler::scanAdressSignalChain(uint16_t adrToScan) } + + void ModBusHandler::scanPort(QString port){ modbusDevice->setConnectionParameter(QModbusDevice::SerialPortNameParameter, QVariant(port)); modbusDevice->setConnectionParameter(QModbusDevice::SerialStopBitsParameter, QSerialPort::OneStop); modbusDevice->setConnectionParameter(QModbusDevice::SerialDataBitsParameter, QSerialPort::Data8); - modbusDevice->setTimeout(30); //1 таймаута + + modbusDevice->setNumberOfRetries(0);// попытки достучатся scanPort(); } + void ModBusHandler::scanPort() //принимает сигнал о завершенных адресах { @@ -336,6 +328,50 @@ void ModBusHandler::scanPort() //принимает сигнал о заверш modbusDevice->disconnectDevice();//отключавемся modbusDevice->setConnectionParameter(QModbusDevice::SerialBaudRateParameter, BAUDRATE[s]); + + switch (BAUDRATE[s]) {//выставляем парити + case 4800: + modbusDevice->setTimeout(140); //1 таймаута + break; + + case 7200: + modbusDevice->setTimeout(90); //1 таймаута + break; + + case 9600: + modbusDevice->setTimeout(80); //1 таймаута + break; + + case 14400: + modbusDevice->setTimeout(70); //1 таймаута + break; + + case 19200: + modbusDevice->setTimeout(60); //1 таймаута + break; + + case 38400: + modbusDevice->setTimeout(50); //1 таймаута + break; + + case 57600: + modbusDevice->setTimeout(40); //1 таймаута + break; + + case 115200: + modbusDevice->setTimeout(30); //1 таймаута + break; + + case 128000: + modbusDevice->setTimeout(30); //1 таймаута + break; + + default: + qDebug()<< "пролет свитча с таймаутом"; + break; + + } + switch (b) {//выставляем парити case UART_PARITY_NONE: modbusDevice->setConnectionParameter(QModbusDevice::SerialParityParameter, QSerialPort::NoParity); @@ -445,17 +481,20 @@ void ModBusHandler::writeConnectionAttr(PrborConnectonAtr oldAtr,PrborConnectonA -void ModBusHandler::writeDataToPribor(DataStruct datastruct) +void ModBusHandler::writeDataToPribor(DataStruct datastruct, typeReq type) { + if(type==SENS_REQ_TYPE){ usfloat floated; floated.fl = datastruct.sens; QVector floatedQVector(2); floatedQVector[0]=floated.sh[1]; floatedQVector[1]=floated.sh[0]; prepareWrite(datastruct.adress, 7004, 2, floatedQVector);//7004* +} - QVector dataValues(10); + if(type==STATE_REQ_TYPE){ + QVector dataValues(10); dataValues={ dataValues[0]=datastruct.in, dataValues[1]=datastruct.fv, @@ -468,8 +507,8 @@ void ModBusHandler::writeDataToPribor(DataStruct datastruct) dataValues[8]=0, dataValues[9]=datastruct.unit, // dataValues[10]=datastruct.overload, - }; + }; prepareWrite(datastruct.adress, 5001, 10, dataValues); - + } } diff --git a/modbushandler.h b/modbushandler.h index b4a3b54..e5c1591 100644 --- a/modbushandler.h +++ b/modbushandler.h @@ -36,6 +36,7 @@ public: bool isConnected = false; // QList PriborList; QMapPriborMap; + QMap::iterator iteratorPriborMap; bool isWaitingResponse=false; QTimer *tmr; @@ -62,7 +63,7 @@ public slots: void scanPort(QString port); void scanPort(); - void writeDataToPribor(DataStruct datastruct); //обработчик в лямде!!!!! + void writeDataToPribor(DataStruct datastruct, typeReq type); //обработчик в лямде!!!!! void prepareWrite(uint16_t adress, int startAddress, int count, QVector values); void getDataFromPribor(PrborConnectonAtr atr); diff --git a/release/moc_predefs.h b/release/moc_predefs.h new file mode 100644 index 0000000..d4948e6 --- /dev/null +++ b/release/moc_predefs.h @@ -0,0 +1,376 @@ +#define __DBL_MIN_EXP__ (-1021) +#define __FLT32X_MAX_EXP__ 1024 +#define __cpp_attributes 200809 +#define __pentiumpro__ 1 +#define __UINT_LEAST16_MAX__ 0xffff +#define __ATOMIC_ACQUIRE 2 +#define __FLT128_MAX_10_EXP__ 4932 +#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F +#define __GCC_IEC_559_COMPLEX 2 +#define __UINT_LEAST8_TYPE__ unsigned char +#define __SIZEOF_FLOAT80__ 12 +#define _WIN32 1 +#define __INTMAX_C(c) c ## LL +#define __CHAR_BIT__ 8 +#define __UINT8_MAX__ 0xff +#define __WINT_MAX__ 0xffff +#define __FLT32_MIN_EXP__ (-125) +#define __cpp_static_assert 200410 +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __SIZE_MAX__ 0xffffffffU +#define __WCHAR_MAX__ 0xffff +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#define __GCC_IEC_559 2 +#define __FLT32X_DECIMAL_DIG__ 17 +#define __FLT_EVAL_METHOD__ 2 +#define __cpp_binary_literals 201304 +#define __FLT64_DECIMAL_DIG__ 17 +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#define __cpp_variadic_templates 200704 +#define __UINT_FAST64_MAX__ 0xffffffffffffffffULL +#define __SIG_ATOMIC_TYPE__ int +#define __DBL_MIN_10_EXP__ (-307) +#define __FINITE_MATH_ONLY__ 0 +#define __GNUC_PATCHLEVEL__ 0 +#define __FLT32_HAS_DENORM__ 1 +#define __UINT_FAST8_MAX__ 0xff +#define __has_include(STR) __has_include__(STR) +#define _stdcall __attribute__((__stdcall__)) +#define __DEC64_MAX_EXP__ 385 +#define __INT8_C(c) c +#define __INT_LEAST8_WIDTH__ 8 +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffULL +#define __SHRT_MAX__ 0x7fff +#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L +#define __FLT64X_MAX_10_EXP__ 4932 +#define __UINT_LEAST8_MAX__ 0xff +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 +#define __UINTMAX_TYPE__ long long unsigned int +#define __DEC32_EPSILON__ 1E-6DF +#define __FLT_EVAL_METHOD_TS_18661_3__ 2 +#define __OPTIMIZE__ 1 +#define __UINT32_MAX__ 0xffffffffU +#define __GXX_EXPERIMENTAL_CXX0X__ 1 +#define __LDBL_MAX_EXP__ 16384 +#define __FLT128_MIN_EXP__ (-16381) +#define __WINT_MIN__ 0 +#define __FLT128_MIN_10_EXP__ (-4931) +#define __INT_LEAST16_WIDTH__ 16 +#define __SCHAR_MAX__ 0x7f +#define __FLT128_MANT_DIG__ 113 +#define __WCHAR_MIN__ 0 +#define __INT64_C(c) c ## LL +#define __DBL_DIG__ 15 +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#define __FLT64X_MANT_DIG__ 64 +#define __SIZEOF_INT__ 4 +#define __SIZEOF_POINTER__ 4 +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#define __USER_LABEL_PREFIX__ _ +#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x +#define __STDC_HOSTED__ 1 +#define __WIN32 1 +#define __LDBL_HAS_INFINITY__ 1 +#define __FLT32_DIG__ 6 +#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F +#define __GXX_WEAK__ 1 +#define __SHRT_WIDTH__ 16 +#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L +#define __DEC32_MAX__ 9.999999E96DF +#define __cpp_threadsafe_static_init 200806 +#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x +#define __MINGW32__ 1 +#define __FLT32X_HAS_INFINITY__ 1 +#define __INT32_MAX__ 0x7fffffff +#define __INT_WIDTH__ 32 +#define __SIZEOF_LONG__ 4 +#define __UINT16_C(c) c +#define __PTRDIFF_WIDTH__ 32 +#define __DECIMAL_DIG__ 21 +#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 +#define __INTMAX_WIDTH__ 64 +#define __FLT64_MIN_EXP__ (-1021) +#define __has_include_next(STR) __has_include_next__(STR) +#define __FLT64X_MIN_10_EXP__ (-4931) +#define __LDBL_HAS_QUIET_NAN__ 1 +#define __FLT64_MANT_DIG__ 53 +#define _REENTRANT 1 +#define __GNUC__ 7 +#define _cdecl __attribute__((__cdecl__)) +#define __GXX_RTTI 1 +#define __cpp_delegating_constructors 200604 +#define __FLT_HAS_DENORM__ 1 +#define __SIZEOF_LONG_DOUBLE__ 12 +#define __BIGGEST_ALIGNMENT__ 16 +#define __STDC_UTF_16__ 1 +#define __FLT64_MAX_10_EXP__ 308 +#define __i686 1 +#define __FLT32_HAS_INFINITY__ 1 +#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L) +#define _thiscall __attribute__((__thiscall__)) +#define __cpp_raw_strings 200710 +#define __INT_FAST32_MAX__ 0x7fffffff +#define __WINNT 1 +#define __DBL_HAS_INFINITY__ 1 +#define __INT64_MAX__ 0x7fffffffffffffffLL +#define __WINNT__ 1 +#define __DEC32_MIN_EXP__ (-94) +#define __INTPTR_WIDTH__ 32 +#define __FLT32X_HAS_DENORM__ 1 +#define __INT_FAST16_TYPE__ short int +#define _fastcall __attribute__((__fastcall__)) +#define __LDBL_HAS_DENORM__ 1 +#define __cplusplus 201103L +#define __cpp_ref_qualifiers 200710 +#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL +#define __INT_LEAST32_MAX__ 0x7fffffff +#define __DEC32_MIN__ 1E-95DF +#define __DEPRECATED 1 +#define __cpp_rvalue_references 200610 +#define __DBL_MAX_EXP__ 1024 +#define __WCHAR_WIDTH__ 16 +#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32 +#define __DEC128_EPSILON__ 1E-33DL +#define __ATOMIC_HLE_RELEASE 131072 +#define __WIN32__ 1 +#define __PTRDIFF_MAX__ 0x7fffffff +#define __ATOMIC_HLE_ACQUIRE 65536 +#define __FLT32_HAS_QUIET_NAN__ 1 +#define __GNUG__ 7 +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +#define __SIZEOF_SIZE_T__ 4 +#define __cpp_rvalue_reference 200610 +#define __cpp_nsdmi 200809 +#define __FLT64X_MIN_EXP__ (-16381) +#define __SIZEOF_WINT_T__ 2 +#define __LONG_LONG_WIDTH__ 64 +#define __cpp_initializer_lists 200806 +#define __FLT32_MAX_EXP__ 128 +#define __cpp_hex_float 201603 +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#define __GXX_ABI_VERSION 1011 +#define __FLT128_HAS_INFINITY__ 1 +#define __FLT_MIN_EXP__ (-125) +#define __i686__ 1 +#define __cpp_lambdas 200907 +#define __FLT64X_HAS_QUIET_NAN__ 1 +#define __INT_FAST64_TYPE__ long long int +#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64 +#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L) +#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x +#define __DECIMAL_BID_FORMAT__ 1 +#define __GXX_TYPEINFO_EQUALITY_INLINE 0 +#define __FLT64_MIN_10_EXP__ (-307) +#define __FLT64X_DECIMAL_DIG__ 21 +#define __DEC128_MIN__ 1E-6143DL +#define __REGISTER_PREFIX__ +#define __UINT16_MAX__ 0xffff +#define __DBL_HAS_DENORM__ 1 +#define __cdecl __attribute__((__cdecl__)) +#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32 +#define __UINT8_TYPE__ unsigned char +#define __i386 1 +#define __FLT_MANT_DIG__ 24 +#define __LDBL_DECIMAL_DIG__ 21 +#define __VERSION__ "7.3.0" +#define __UINT64_C(c) c ## ULL +#define __cpp_unicode_characters 200704 +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +#define __FLT128_MAX_EXP__ 16384 +#define __FLT32_MANT_DIG__ 24 +#define _X86_ 1 +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __FLT128_HAS_DENORM__ 1 +#define __FLT128_DIG__ 33 +#define __SCHAR_WIDTH__ 8 +#define __INT32_C(c) c +#define __DEC64_EPSILON__ 1E-15DD +#define __ORDER_PDP_ENDIAN__ 3412 +#define __DEC128_MIN_EXP__ (-6142) +#define __code_model_32__ 1 +#define __FLT32_MAX_10_EXP__ 38 +#define __INT_FAST32_TYPE__ int +#define __UINT_LEAST16_TYPE__ short unsigned int +#define __FLT64X_HAS_INFINITY__ 1 +#define __INT16_MAX__ 0x7fff +#define __i386__ 1 +#define __cpp_rtti 199711 +#define __SIZE_TYPE__ unsigned int +#define __UINT64_MAX__ 0xffffffffffffffffULL +#define __FLT64X_DIG__ 18 +#define __INT8_TYPE__ signed char +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +#define __FLT_RADIX__ 2 +#define __INT_LEAST16_TYPE__ short int +#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L +#define __UINTMAX_C(c) c ## ULL +#define __SIG_ATOMIC_MAX__ 0x7fffffff +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +#define __SIZEOF_PTRDIFF_T__ 4 +#define __FLT32X_MANT_DIG__ 53 +#define __FLT32X_MIN_EXP__ (-1021) +#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF +#define __pentiumpro 1 +#define __MSVCRT__ 1 +#define __INT_FAST16_MAX__ 0x7fff +#define __FLT64_DIG__ 15 +#define __UINT_FAST32_MAX__ 0xffffffffU +#define __UINT_LEAST64_TYPE__ long long unsigned int +#define __FLT_HAS_QUIET_NAN__ 1 +#define __FLT_MAX_10_EXP__ 38 +#define __LONG_MAX__ 0x7fffffffL +#define __FLT64X_HAS_DENORM__ 1 +#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL +#define __FLT_HAS_INFINITY__ 1 +#define __cpp_unicode_literals 200710 +#define __UINT_FAST16_TYPE__ short unsigned int +#define __DEC64_MAX__ 9.999999999999999E384DD +#define __INT_FAST32_WIDTH__ 32 +#define __CHAR16_TYPE__ short unsigned int +#define __PRAGMA_REDEFINE_EXTNAME 1 +#define __SIZE_WIDTH__ 32 +#define __SEG_FS 1 +#define __INT_LEAST16_MAX__ 0x7fff +#define __DEC64_MANT_DIG__ 16 +#define __UINT_LEAST32_MAX__ 0xffffffffU +#define __SEG_GS 1 +#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32 +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +#define __SIG_ATOMIC_WIDTH__ 32 +#define __INT_LEAST64_TYPE__ long long int +#define __INT16_TYPE__ short int +#define __INT_LEAST8_TYPE__ signed char +#define __DEC32_MAX_EXP__ 97 +#define __INT_FAST8_MAX__ 0x7f +#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128 +#define __INTPTR_MAX__ 0x7fffffff +#define __GXX_MERGED_TYPEINFO_NAMES 0 +#define __cpp_range_based_for 200907 +#define __FLT64_HAS_QUIET_NAN__ 1 +#define __stdcall __attribute__((__stdcall__)) +#define __FLT32_MIN_10_EXP__ (-37) +#define __EXCEPTIONS 1 +#define __LDBL_MANT_DIG__ 64 +#define __DBL_HAS_QUIET_NAN__ 1 +#define __FLT64_HAS_INFINITY__ 1 +#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#define __INTPTR_TYPE__ int +#define __UINT16_TYPE__ short unsigned int +#define __WCHAR_TYPE__ short unsigned int +#define __SIZEOF_FLOAT__ 4 +#define __UINTPTR_MAX__ 0xffffffffU +#define __INT_FAST64_WIDTH__ 64 +#define __DEC64_MIN_EXP__ (-382) +#define __cpp_decltype 200707 +#define __FLT32_DECIMAL_DIG__ 9 +#define __INT_FAST64_MAX__ 0x7fffffffffffffffLL +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#define __FLT_DIG__ 6 +#define __FLT64X_MAX_EXP__ 16384 +#define __UINT_FAST64_TYPE__ long long unsigned int +#define __INT_MAX__ 0x7fffffff +#define WIN32 1 +#define __INT64_TYPE__ long long int +#define __FLT_MAX_EXP__ 128 +#define __DBL_MANT_DIG__ 53 +#define __cpp_inheriting_constructors 201511 +#define __SIZEOF_FLOAT128__ 16 +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffLL +#define __DEC64_MIN__ 1E-383DD +#define __WINT_TYPE__ short unsigned int +#define __UINT_LEAST32_TYPE__ unsigned int +#define __SIZEOF_SHORT__ 2 +#define __LDBL_MIN_EXP__ (-16381) +#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 +#define __WINT_WIDTH__ 16 +#define __INT_LEAST8_MAX__ 0x7f +#define __FLT32X_MAX_10_EXP__ 308 +#define __WCHAR_UNSIGNED__ 1 +#define __LDBL_MAX_10_EXP__ 4932 +#define __ATOMIC_RELAXED 0 +#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L) +#define __thiscall __attribute__((__thiscall__)) +#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 +#define __UINT8_C(c) c +#define __FLT64_MAX_EXP__ 1024 +#define __INT_LEAST32_TYPE__ int +#define __SIZEOF_WCHAR_T__ 2 +#define __FLT128_HAS_QUIET_NAN__ 1 +#define __INT_FAST8_TYPE__ signed char +#define __fastcall __attribute__((__fastcall__)) +#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x +#define __GNUC_STDC_INLINE__ 1 +#define __FLT64_HAS_DENORM__ 1 +#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 +#define __DBL_DECIMAL_DIG__ 17 +#define __STDC_UTF_32__ 1 +#define __INT_FAST8_WIDTH__ 8 +#define __DEC_EVAL_METHOD__ 2 +#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x +#define __ORDER_BIG_ENDIAN__ 4321 +#define __cpp_runtime_arrays 198712 +#define __UINT64_TYPE__ long long unsigned int +#define __UINT32_C(c) c ## U +#define __INTMAX_MAX__ 0x7fffffffffffffffLL +#define __cpp_alias_templates 200704 +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define WINNT 1 +#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F +#define __INT8_MAX__ 0x7f +#define __LONG_WIDTH__ 32 +#define __UINT_FAST32_TYPE__ unsigned int +#define __CHAR32_TYPE__ unsigned int +#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F +#define __cpp_constexpr 200704 +#define __INT32_TYPE__ int +#define __SIZEOF_DOUBLE__ 8 +#define __cpp_exceptions 199711 +#define __FLT_MIN_10_EXP__ (-37) +#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 +#define __INT_LEAST32_WIDTH__ 32 +#define __INTMAX_TYPE__ long long int +#define i386 1 +#define _INTEGRAL_MAX_BITS 64 +#define __DEC128_MAX_EXP__ 6145 +#define __FLT32X_HAS_QUIET_NAN__ 1 +#define __ATOMIC_CONSUME 1 +#define __GNUC_MINOR__ 3 +#define __INT_FAST16_WIDTH__ 16 +#define __UINTMAX_MAX__ 0xffffffffffffffffULL +#define __DEC32_MANT_DIG__ 7 +#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x +#define __DBL_MAX_10_EXP__ 308 +#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L +#define __INT16_C(c) c +#define __STDC__ 1 +#define __FLT32X_DIG__ 15 +#define __PTRDIFF_TYPE__ int +#define __ATOMIC_SEQ_CST 5 +#define __UINT32_TYPE__ unsigned int +#define __FLT32X_MIN_10_EXP__ (-307) +#define __UINTPTR_TYPE__ unsigned int +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#define __DEC128_MANT_DIG__ 34 +#define __LDBL_MIN_10_EXP__ (-4931) +#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 +#define __SIZEOF_LONG_LONG__ 8 +#define __cpp_user_defined_literals 200809 +#define __FLT128_DECIMAL_DIG__ 36 +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x +#define __LDBL_DIG__ 18 +#define __FLT_DECIMAL_DIG__ 9 +#define __UINT_FAST16_MAX__ 0xffff +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#define __INT_LEAST64_WIDTH__ 64 +#define __UINT_FAST8_TYPE__ unsigned char +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_RELEASE 3 +#define __declspec(x) __attribute__((x)) diff --git a/secondwindows.cpp b/secondwindows.cpp index eb414b9..8c313ac 100644 --- a/secondwindows.cpp +++ b/secondwindows.cpp @@ -56,6 +56,27 @@ SecondWindows::SecondWindows(MainWindow *parent) ://конструктор ui->comboBoxBit->setCurrentIndex(conf->value("section2/keyCurrentBit").toInt()); ui->lineEditAddr->setText(conf->value("section2/keyAdress").toString()); + ui->comboBoxPlavGround->addItem("ОЗ"); + ui->comboBoxPlavGround->addItem("ПЗ"); + + + ui->comboBoxNch->addItem("0.1"); + ui->comboBoxNch->addItem("0.3"); + ui->comboBoxNch->addItem("1"); + ui->comboBoxNch->addItem("3"); + ui->comboBoxNch->addItem("10"); + ui->comboBoxNch->addItem("30"); + ui->comboBoxNch->addItem("100"); + + ui->comboBoxVch->addItem("0.2"); + ui->comboBoxVch->addItem("1"); + ui->comboBoxVch->addItem("2"); + ui->comboBoxVch->addItem("10"); + + + ui->comboBoxUnitSens->addItem("пКл/Н"); + ui->comboBoxUnitSens->addItem("пКл/Па"); + ui->comboBoxUnitSens->addItem("пКл/мс2"); } @@ -82,6 +103,7 @@ void SecondWindows::dataSetter(DataStruct data) } + //todo: заблокировать элементы управления без подключения void SecondWindows::on_pushButtonConnect_clicked() { @@ -113,12 +135,9 @@ void SecondWindows::on_pushButtonConnect_clicked() //удаляем прибор с данным адресом из списка //опустошаем форму - ui->labelKu->setText("XXXXX"); - ui->labelNch->setText("XX"); - ui->labelVch->setText("XX"); + ui->labelSens->setText("XXXXX"); - ui->labelPlavGround->setText("XX"); - ui->labelUnitSens->setText("XXXXXX"); + //разблокируем элементы ui->lineEditAddr->setDisabled(false); @@ -146,51 +165,61 @@ void SecondWindows::refreshDisplay(){ switch (state.fn) { case Lp100: - ui->labelNch->setText("0.1"); + + ui->comboBoxNch->setCurrentIndex(0); break; case Lp300: - ui->labelNch->setText("0.3"); + + ui->comboBoxNch->setCurrentIndex(1); break; case Lp1000: - ui->labelNch->setText("1"); + + ui->comboBoxNch->setCurrentIndex(2); break; case Lp3000: - ui->labelNch->setText("3"); + + ui->comboBoxNch->setCurrentIndex(3); break; case Lp10000: - ui->labelNch->setText("10"); + + ui->comboBoxNch->setCurrentIndex(4); break; case Lp30000: - ui->labelNch->setText("30"); + + ui->comboBoxNch->setCurrentIndex(5); break; case Lp100000: - ui->labelNch->setText("100"); + + ui->comboBoxNch->setCurrentIndex(6); break; default: - ui->labelNch->setText("#####"); +// ui->labelNch->setText("#####"); break; } switch (state.fv) { case Hp0_2 : - ui->labelVch->setText("0.2"); + + ui->comboBoxVch->setCurrentIndex(0); break; case Hp1: - ui->labelVch->setText("1"); + + ui->comboBoxVch->setCurrentIndex(1); break; case Hp2: - ui->labelVch->setText("2"); + + ui->comboBoxVch->setCurrentIndex(2); break; case Hp10: - ui->labelVch->setText("10"); + + ui->comboBoxVch->setCurrentIndex(3); break; default: - ui->labelVch->setText("#####"); + break; } - //////////////////////////////////// ///// вывод юнитов и нормирование/// //////////////////////////////////// @@ -210,22 +239,36 @@ void SecondWindows::refreshDisplay(){ strcpy(result, STRINGS_OUTUNITS[state.ku+OffsetKuDisplay]); strcat(result, STRINGS_UNITS[state.unit]); - ui->labelKu->setText(result); - ui->labelKu->adjustSize(); + free(result); /// освободил память + //шляпа для комбобокса + ui->comboBoxKu->clear(); + for(int i=0; i<=12; i++){ + QString StringForComboBox; + StringForComboBox.append(STRINGS_OUTUNITS[i+OffsetKuDisplay]); + StringForComboBox.append(STRINGS_UNITS[state.unit]); + ui->comboBoxKu->addItem(StringForComboBox); + + }; + ui->comboBoxKu->setCurrentIndex(state.ku); switch (state.pz) { //todo тут нужно нормирование case 0 : - ui->labelPlavGround->setText("ОЗ"); + ui->comboBoxPlavGround->show(); + + ui->comboBoxPlavGround->setCurrentIndex(0); break; case 1: - ui->labelPlavGround->setText("ПЗ"); + ui->comboBoxPlavGround->show(); + + ui->comboBoxPlavGround->setCurrentIndex(1); break; default: - ui->labelPlavGround->setText("#####"); + + ui->comboBoxPlavGround->hide(); break; } @@ -233,27 +276,31 @@ void SecondWindows::refreshDisplay(){ + switch (state.unit) { //todo тут нужно нормирование case H : - ui->labelUnitSens->setText("пКл/Н"); + + ui->comboBoxUnitSens->setCurrentIndex(0); // ui->labelUnitKu->setText("xВ/Н"); // Заменил на нормирование с прибора break; case PA: - ui->labelUnitSens->setText("пКл/Па"); + + ui->comboBoxUnitSens->setCurrentIndex(1); // ui->labelUnitKu->setText("xВ/Па"); break; case MS2: - ui->labelUnitSens->setText("пКл/мс2"); + + ui->comboBoxUnitSens->setCurrentIndex(2); // ui->labelUnitKu->setText("xВ/мс2"); break; default: - ui->labelUnitSens->setText("#####"); + break; } //ui->labelUnitSens->adjustSize(); - switch (state.overload) { //todo тут нужно нормирование + switch (state.overload) { case Norm : ui->labelOverload->setText(""); break; @@ -268,80 +315,6 @@ void SecondWindows::refreshDisplay(){ -void SecondWindows::on_labelKu_wheelDown() -{ //смотрим на текущее состояние дел - - state.ku=typeIKU((uint16_t)state.ku-1); - modebus->writeDataToPribor(state); - //writePalam(serial, adrPri, ku, newVal); // и тут ему говорим - отправь на запись такое то значение КУ - - qDebug()<<"WheelDown"; - -} - -void SecondWindows::on_labelKu_wheelUp() -{ - state.ku=typeIKU((uint16_t)state.ku+1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ - qDebug()<<"WheelUp"; -} - -void SecondWindows::on_labelVch_wheelDown() -{ - - state.fv=typeIFV((uint16_t)state.fv-1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ - qDebug()<<"WheelUp"; -} - -void SecondWindows::on_labelVch_wheelUp() -{ - state.fv=typeIFV((uint16_t)state.fv+1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ - qDebug()<<"WheelUp"; -} - -void SecondWindows::on_labelNch_wheelDown() -{ - - state.fn=typeIFN((uint16_t)state.fn-1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ -} - -void SecondWindows::on_labelNch_wheelUp() -{ - state.fn=typeIFN((uint16_t)state.fn+1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ -} - - -void SecondWindows::on_labelPlavGround_wheelDown() -{ - state.pz=typePlavGround((uint16_t)state.pz-1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ -} - -void SecondWindows::on_labelPlavGround_wheelUp() -{ - state.pz=typePlavGround((uint16_t)state.pz+1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ -} - -void SecondWindows::on_labelUnitSens_wheelDown() -{ - - state.unit=typeUnit((uint16_t)state.unit-1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ -} - -void SecondWindows::on_labelUnitSens_wheelUp() -{ - state.unit=typeUnit((uint16_t)state.unit+1); - modebus->writeDataToPribor(state); // и тут ему говорим - отправь на запись такое то значение КУ -} - - - void SecondWindows::on_labelSens_clicked() { bool ok; @@ -349,10 +322,50 @@ void SecondWindows::on_labelSens_clicked() tr("Введите значение чувствительности датчика"), state.sens, 0.001, 1000, 4, &ok, Qt::WindowFlags(), 1); - if (ok){modebus->writeDataToPribor(state);} - + if (ok){modebus->writeDataToPribor(state, SENS_REQ_TYPE);} } + +void SecondWindows::on_comboBoxUnitSens_activated(int index) +{ + if(index==0)state.unit=H; + if(index==1)state.unit=PA; //тут были непонятки, скорее всего сработает без этого + if(index==2)state.unit=MS2; + + modebus->writeDataToPribor(state, STATE_REQ_TYPE); +} + + + +void SecondWindows::on_comboBoxKu_activated(int index) +{ + state.ku=typeIKU(index); + modebus->writeDataToPribor(state, STATE_REQ_TYPE); +} + + + +void SecondWindows::on_comboBoxVch_activated(int index) +{ + state.fv=typeIFV(index); + modebus->writeDataToPribor(state, STATE_REQ_TYPE); +} + + + + + +void SecondWindows::on_comboBoxNch_activated(int index) +{ + state.fn=typeIFN(index); + modebus->writeDataToPribor(state, STATE_REQ_TYPE); +} + +void SecondWindows::on_comboBoxPlavGround_activated(int index) +{ + state.pz=typePlavGround(index); + modebus->writeDataToPribor(state, STATE_REQ_TYPE); +} diff --git a/secondwindows.h b/secondwindows.h index 14592cd..c714d23 100644 --- a/secondwindows.h +++ b/secondwindows.h @@ -29,17 +29,18 @@ public: void dataSetter(DataStruct data); private slots: - void on_labelKu_wheelDown(); - void on_labelKu_wheelUp(); - void on_labelVch_wheelDown(); - void on_labelVch_wheelUp(); - void on_labelNch_wheelDown(); - void on_labelNch_wheelUp(); - void on_labelPlavGround_wheelDown(); - void on_labelPlavGround_wheelUp(); - void on_labelUnitSens_wheelDown(); - void on_labelUnitSens_wheelUp(); + void on_labelSens_clicked(); + void on_comboBoxUnitSens_activated(int index); + + void on_comboBoxKu_activated(int index); + + void on_comboBoxVch_activated(int index); + + void on_comboBoxNch_activated(int index); + + void on_comboBoxPlavGround_activated(int index); + private: Ui::SecondWindows *ui; ModBusHandler *modebus; diff --git a/secondwindows.ui b/secondwindows.ui index 7d184d6..169420e 100644 --- a/secondwindows.ui +++ b/secondwindows.ui @@ -729,521 +729,6 @@ QFrame::Plain - - - - 50 - 100 - 41 - 21 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - - - @@ -2274,524 +1759,6 @@ Выход - - - - 105 - 48 - 91 - 21 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - Qt::NoContextMenu - - - XXXxx/xxx - - @@ -3307,1036 +2274,6 @@ - - - - 68 - 75 - 31 - 21 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - X.X - - - - - - 181 - 75 - 35 - 21 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - X.X - - @@ -5370,7 +3307,7 @@ - 221 + 229 75 40 21 @@ -5885,7 +3822,7 @@ - 100 + 104 75 27 21 @@ -6397,1563 +4334,1129 @@ Гц - + - 30 - 20 - 221 - 27 + 92 + 50 + 121 + 22 - - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - Датчик - - - - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - XXX.XX - - - - - - - - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 187 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 170 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - Segoe UI - 14 - - - - пКл/xx - - - - + + + Segoe UI + 14 + + + + + + + 60 + 99 + 61 + 22 + + + + + Segoe UI + 14 + + + + + + + 171 + 75 + 56 + 22 + + + + + Segoe UI + 14 + + + + + + + 56 + 75 + 47 + 22 + + + + + Segoe UI + 14 + + + + + + + 164 + 23 + 96 + 22 + + + + + Segoe UI + 14 + + + + + + + 31 + 21 + 62 + 25 + + + + + + + + + 0 + 187 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 187 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 240 + 240 + 240 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + Segoe UI + 14 + + + + Датчик + + + + + + 99 + 21 + 59 + 25 + + + + + + + + + 0 + 187 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 187 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 240 + 240 + 240 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + Segoe UI + 14 + + + + XXX.XX + layoutWidget labelUnitKu - labelPlavGround labelOverload label_8 - labelKu - labelVch - labelNch label_11 label_16 label_14 label_13 + comboBoxKu + comboBoxPlavGround + comboBoxNch + comboBoxVch + comboBoxUnitSens @@ -8001,6 +5504,11 @@ wheelDown() + + CustomComboBox + QComboBox +
customcombobox.h
+
diff --git a/setpribor.h b/setpribor.h index 1c5b216..3ee511f 100644 --- a/setpribor.h +++ b/setpribor.h @@ -7,7 +7,7 @@ #include "QDebug" #include "mainwindow.h" #include "comWorks.h" -#include // чтоб знал ошибки модбаса +//#include // чтоб знал ошибки модбаса namespace Ui { class setPribor; diff --git a/setpribor.ui b/setpribor.ui index 89a4b97..e05c174 100644 --- a/setpribor.ui +++ b/setpribor.ui @@ -36,7 +36,7 @@
- Убедитесь что к шине подключен только один прибор + Проверьте правильность указания порта
@@ -246,7 +246,7 @@ 100 - 70 + 90 69 22 @@ -256,7 +256,7 @@ 30 - 70 + 90 47 13 @@ -265,6 +265,19 @@ Порт + + + + 20 + 50 + 361 + 31 + + + + Убедитесь что к шине подключен только один прибор + + groupBox_2 groupBox label @@ -282,6 +295,7 @@ progressBar comboBoxPort label_6 + label_7