diff --git a/comWorks.cpp b/comWorks.cpp index 3200940..1fde43f 100644 --- a/comWorks.cpp +++ b/comWorks.cpp @@ -10,7 +10,7 @@ #define PACKET_STATE_SIZE 26 #define PACKET_SENS_SIZE 10 -#define READY_FOR_READ_INT 200 +#define READY_FOR_READ_INT 400 extern QSerialPort *serial; diff --git a/mainwindow.cpp b/mainwindow.cpp index 51561f6..ad35d88 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -142,6 +142,10 @@ MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWin ui->comboBoxUnitSens->addItem("пКл/Па"); ui->comboBoxUnitSens->addItem("пКл/мс2"); + hideInteface(); + + + }//конец конструктора главного окна @@ -170,12 +174,55 @@ void MainWindow::dataSetter(DataStruct data) } } +void MainWindow::hideInteface() +{ + + + ui->label_4->hide(); + + ui->label_8->hide(); + ui->label_11->hide(); + ui->label_13->hide(); + ui->label_14->hide(); + ui->label_16->hide(); + ui->labelSens->hide(); + ui->labelOverload->hide(); + ui->comboBoxKu->hide(); + ui->comboBoxNch->hide(); + ui->comboBoxVch->hide(); + ui->comboBoxUnitSens->hide(); + ui->comboBoxPlavGround->hide(); + +} + +void MainWindow::showInteface() +{ + + + ui->label_4->show(); + + ui->label_8->show(); + ui->label_11->show(); + ui->label_13->show(); + ui->label_14->show(); + ui->label_16->show(); + ui->labelSens->show(); + ui->labelOverload->show(); + ui->comboBoxKu->show(); + ui->comboBoxVch->show(); + ui->comboBoxNch->show(); + ui->comboBoxUnitSens->show(); + ui->comboBoxPlavGround->show(); +} + //todo: заблокировать элементы управления без подключения void MainWindow::on_pushButtonConnect_clicked() { adrPri=ui->lineEditAddr->text().toInt(); //todo:добавить валидатор для адреса + + if(isConnected==false){ @@ -195,6 +242,9 @@ void MainWindow::on_pushButtonConnect_clicked() ui->comboBoxPort->setDisabled(true); ui->comboBoxBit->setDisabled(true); ui->comboBoxSpeed->setDisabled(true); + + showInteface(); + isConnected=true; } else if(isConnected==true){ @@ -212,6 +262,8 @@ void MainWindow::on_pushButtonConnect_clicked() ui->comboBoxSpeed->setDisabled(false); ui->pushButtonConnect->setText("Подключение"); + hideInteface(); + isConnected=false; } @@ -361,12 +413,11 @@ void MainWindow::refreshDisplay(){ switch (state.pz) { //todo тут нужно нормирование case 0 : - ui->comboBoxPlavGround->show(); + ui->comboBoxPlavGround->setCurrentIndex(0); break; case 1: - ui->comboBoxPlavGround->show(); ui->comboBoxPlavGround->setCurrentIndex(1); break; diff --git a/mainwindow.h b/mainwindow.h index 0940874..29abc6f 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -19,7 +19,6 @@ QT_END_NAMESPACE -#define REFRESH_TIME_MS 5 class MainWindow : public QMainWindow { @@ -52,6 +51,10 @@ public slots: private slots: + void hideInteface(); + + void showInteface(); + void on_pushButtonConnect_clicked(); void on_pushButtonAddPri_clicked(); diff --git a/modbushandler.cpp b/modbushandler.cpp index 8ee8b59..377e59a 100644 --- a/modbushandler.cpp +++ b/modbushandler.cpp @@ -4,8 +4,9 @@ -#define REQ_PERIOD 500 //прериод опроса +#define REQ_PERIOD 1000 //прериод опроса +#define TIMEOUT 120 @@ -45,7 +46,7 @@ void ModBusHandler::requestPriborFromList() //слот для истекшег { //пробегаемся по листу и опрашиваем выкидываая сигналы - static uint numForReqest; + //static uint numForReqest; //QMap::iterator iteratorPriborMap; // qDebug()<<"Приборов в списке "<disconnectDevice(); + // modbusDevice->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->setTimeout(TIMEOUT); //1 таймаута modbusDevice->setNumberOfRetries(0);// попытки достучатся modbusDevice->setConnectionParameter(QModbusDevice::SerialBaudRateParameter, atr.speed); switch (atr.parity) {//выставляем парити @@ -101,7 +102,8 @@ void ModBusHandler::getDataFromPribor(PrborConnectonAtr atr) //слот для readCoils(atr.adress, 5001, 11); - readCoils(atr.adress, 7004, 2); + + readCoils(atr.adress, 7004, 2); } @@ -331,7 +333,7 @@ void ModBusHandler::scanPort() //принимает сигнал о заверш switch (BAUDRATE[s]) {//выставляем парити case 4800: - modbusDevice->setTimeout(140); //1 таймаута + modbusDevice->setTimeout(120); //1 таймаута break; case 7200: diff --git a/secondwindows.cpp b/secondwindows.cpp index 8c313ac..2bfdf25 100644 --- a/secondwindows.cpp +++ b/secondwindows.cpp @@ -78,6 +78,7 @@ SecondWindows::SecondWindows(MainWindow *parent) ://конструктор ui->comboBoxUnitSens->addItem("пКл/Па"); ui->comboBoxUnitSens->addItem("пКл/мс2"); + hideInteface(); } @@ -93,6 +94,48 @@ SecondWindows::~SecondWindows() } +void SecondWindows::hideInteface() +{ + + + ui->label_4->hide(); + ui->comboBoxPlavGround->hide(); + ui->label_8->hide(); + ui->label_11->hide(); + ui->label_13->hide(); + ui->label_14->hide(); + ui->label_16->hide(); + ui->labelSens->hide(); + ui->labelOverload->hide(); + ui->comboBoxKu->hide(); + ui->comboBoxNch->hide(); + ui->comboBoxVch->hide(); + ui->comboBoxUnitSens->hide(); + ui->comboBoxPlavGround->hide(); // может со второго раза?? + +} + +void SecondWindows::showInteface() +{ + + + ui->label_4->show(); + ui->comboBoxPlavGround->show(); + ui->label_8->show(); + ui->label_11->show(); + ui->label_13->show(); + ui->label_14->show(); + ui->label_16->show(); + ui->labelSens->show(); + ui->labelOverload->show(); + ui->comboBoxKu->show(); + ui->comboBoxVch->show(); + ui->comboBoxNch->show(); + ui->comboBoxUnitSens->show(); + +} + + void SecondWindows::dataSetter(DataStruct data) { @@ -127,6 +170,9 @@ void SecondWindows::on_pushButtonConnect_clicked() ui->comboBoxPort->setDisabled(true); ui->comboBoxBit->setDisabled(true); ui->comboBoxSpeed->setDisabled(true); + + showInteface(); + isConnected=true; } else if(isConnected==true){ @@ -146,6 +192,9 @@ void SecondWindows::on_pushButtonConnect_clicked() ui->comboBoxSpeed->setDisabled(false); ui->pushButtonConnect->setText("Подключение"); + hideInteface(); + ui->comboBoxPlavGround->hide(); + isConnected=false; } } @@ -255,50 +304,33 @@ void SecondWindows::refreshDisplay(){ }; ui->comboBoxKu->setCurrentIndex(state.ku); + switch (state.pz) { //todo тут нужно нормирование case 0 : - ui->comboBoxPlavGround->show(); - ui->comboBoxPlavGround->setCurrentIndex(0); break; case 1: - ui->comboBoxPlavGround->show(); - ui->comboBoxPlavGround->setCurrentIndex(1); break; default: - - ui->comboBoxPlavGround->hide(); break; } - - - switch (state.unit) { //todo тут нужно нормирование case H : - ui->comboBoxUnitSens->setCurrentIndex(0); - // ui->labelUnitKu->setText("xВ/Н"); // Заменил на нормирование с прибора break; case PA: - ui->comboBoxUnitSens->setCurrentIndex(1); - // ui->labelUnitKu->setText("xВ/Па"); break; case MS2: - ui->comboBoxUnitSens->setCurrentIndex(2); - // ui->labelUnitKu->setText("xВ/мс2"); break; default: - break; } - //ui->labelUnitSens->adjustSize(); - switch (state.overload) { case Norm : diff --git a/secondwindows.h b/secondwindows.h index c714d23..147f096 100644 --- a/secondwindows.h +++ b/secondwindows.h @@ -28,6 +28,8 @@ public: void on_pushButtonConnect_clicked(); void dataSetter(DataStruct data); + void showInteface(); + void hideInteface(); private slots: void on_labelSens_clicked(); diff --git a/setpribor.cpp b/setpribor.cpp index c4ce3de..56789f6 100644 --- a/setpribor.cpp +++ b/setpribor.cpp @@ -120,7 +120,7 @@ void SetPribor::priborIsSetConnAtr(QModbusDevice::Error modbusMessage) } else if (modbusMessage != QModbusDevice::NoError) { ui->labelResult->setText("Ошибочка"); // } else if(modbusMessage == QModbusDevice::NoError) { - ui->labelResult->setText("Успшно настроен"); // + ui->labelResult->setText("Успшно настроен /n Подключитесь к прибору с новыми атрибутами"); // } QApplication::beep(); diff --git a/setpribor.ui b/setpribor.ui index e05c174..6009e71 100644 --- a/setpribor.ui +++ b/setpribor.ui @@ -209,7 +209,7 @@ 10 170 91 - 31 + 51