no message

master
zcy 2023-10-01 17:15:57 +08:00
parent 5eeda7ab66
commit e0f929fab3
5 changed files with 61 additions and 44 deletions

View File

@ -49,23 +49,26 @@ public:
} }
void AddConfig(Config *c){ void AddConfig(Config *c){
if(nullptr != c){ if(nullptr != c){
mMux.lock();
for(auto itr = mConf.begin();itr != mConf.end(); for(auto itr = mConf.begin();itr != mConf.end();
itr++){ itr++){
if (c == *itr){ if (c == *itr){
mMux.unlock();
return; return;
} }
} }
this->mConf.append(c); this->mConf.append(c);
mMux.unlock();
} }
} }
void Run(void *v) override{ void Run(void *v) override{
// 读取1 // 读取1
float x = 0; float x = 0;
while(mRuning){ while(mRuning){
int count = 0;
int it = 0; for(int it = 0;it < mConf.size();it++) {
for(;it < mConf.size();
it++){
auto itr = mConf.at(it); auto itr = mConf.at(it);
uint16_t dat[10] = {0}; uint16_t dat[10] = {0};
mMod = modbus_new_rtu(itr->com.toStdString().c_str(), mMod = modbus_new_rtu(itr->com.toStdString().c_str(),
@ -79,7 +82,6 @@ public:
for(auto s = 0;s < itr->req.length();s++){ for(auto s = 0;s < itr->req.length();s++){
QThread::msleep(1000); QThread::msleep(1000);
int ret = modbus_read_registers(mMod,itr->req[s].addr,itr->req[s].len,dat); int ret = modbus_read_registers(mMod,itr->req[s].addr,itr->req[s].len,dat);
@ -103,7 +105,8 @@ public:
} }
modbus_close(mMod); modbus_close(mMod);
} }
QThread::msleep(1000*pcom->rate); qDebug()<<"keep alive";
QThread::msleep(100);
} }
// 读取2 // 读取2
} }

View File

@ -60,30 +60,28 @@ void MainWindow::on_pushButton_clicked()
void MainWindow::on_pushButton_3_clicked() void MainWindow::on_pushButton_3_clicked()
{ {
if(this->mForms.contains(ui->lineEdit_2->text())){
QMessageBox::warning(this,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>","<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>");
return;
}
SubForm *p1 = new SubForm(ui->lineEdit_2->text(),
ui->comboBox->currentText().toInt(),
ui->lineEdit_2->text().toInt());
qDebug()<<ui->lineEdit_2->text();
ui->tabWidget->addTab((QWidget*)p1,"<EFBFBD><EFBFBD><EFBFBD>ַ:" + ui->lineEdit_2->text());
this->mForms[ui->lineEdit_2->text()] = p1;
if(nullptr == gAsyncData){ if(nullptr == gAsyncData){
gAsyncData = new ASyncReadData(this); gAsyncData = new ASyncReadData(this);
connect(gAsyncData,&QSSASyncProcess::Done,[&](){ connect(gAsyncData,&QSSASyncProcess::Done,[&](){
qDebug()<<"done"; qDebug()<<"done";
}); });
qDebug()<<"hello world";
gAsyncData->Start(nullptr);
} }
if(this->mForms.contains(ui->lineEdit_2->text())){
QMessageBox::warning(this,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>","<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>");
return;
}
SubForm *p1 = new SubForm(ui->comboBox_2->currentText(),
ui->comboBox->currentText().toInt(),
ui->lineEdit_2->text().toInt());
qDebug()<<ui->lineEdit_2->text();
ui->tabWidget->addTab((QWidget*)p1,"address:" + ui->lineEdit_2->text());
this->mForms[ui->lineEdit_2->text()] = p1;
// gAsyncData->AddConfig(new Config{
// QString(ui->comboBox_2->currentText()),
// ui->lineEdit_2->text().toInt(),
// ui->lineEdit_3->text().toInt(),
// });
} }

13
mainwindow.cpp.rej Normal file
View File

@ -0,0 +1,13 @@
diff a/mainwindow.cpp b/mainwindow.cpp (rejected hunks)
@@ -79,6 +79,11 @@
}
+// gAsyncData->AddConfig(new Config{
+// QString(ui->comboBox_2->currentText()),
+// ui->lineEdit_2->text().toInt(),
+// ui->lineEdit_3->text().toInt(),
+// });
}

View File

@ -54,6 +54,7 @@
<widget class="QComboBox" name="comboBox_2"> <widget class="QComboBox" name="comboBox_2">
<property name="font"> <property name="font">
<font> <font>
<family>Arial</family>
<pointsize>12</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>

View File

@ -27,13 +27,17 @@ SubForm::SubForm(QString addr,int baurate,int device_addr)
mModel->setHorizontalHeaderLabels(QStringList() << "寄存器地址" << "返回值"<<"读取时间"); mModel->setHorizontalHeaderLabels(QStringList() << "寄存器地址" << "返回值"<<"读取时间");
ui->tableView->setModel(mModel); ui->tableView->setModel(mModel);
mConfig = new Config;
mConfig->addr = device_addr;
mConfig->com = *com;
connect(pTimer,&QTimer::timeout,[=](){ connect(pTimer,&QTimer::timeout,[=](){
static float sd = 0; static float sd = 0;
if(gAsyncData == nullptr) if(gAsyncData == nullptr)
return; return;
CapData *z = new CapData; CapData *z = new CapData;
int ret = gAsyncData->TakeLast((*com).toInt(),&z); int ret = gAsyncData->TakeLast(device_addr,&z);
if(ret == 0){ if(ret == 0){
mSeries1->append(sd,z->val1); mSeries1->append(sd,z->val1);
@ -60,10 +64,8 @@ SubForm::SubForm(QString addr,int baurate,int device_addr)
pTimer->start(100); pTimer->start(100);
qDebug()<<QDateTime::currentDateTime().toString(); qDebug()<<QDateTime::currentDateTime().toString();
ui->lineEdit_2->setText(addr); ui->lineEdit_2->setText(addr);
gAsyncData->AddConfig(this->mConfig);
mConfig = new Config;
mConfig->addr = device_addr;
mConfig->com = *com;
} }
void SubForm::on_pushButton_clicked() { void SubForm::on_pushButton_clicked() {