no message
parent
7993d51f95
commit
5eeda7ab66
15
global.h
15
global.h
|
@ -59,9 +59,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void Run(void *v) override{
|
void Run(void *v) override{
|
||||||
Config *pcom = (Config*)v;
|
|
||||||
qDebug()<<"start"<<pcom->com;
|
|
||||||
|
|
||||||
// 读取1
|
// 读取1
|
||||||
float x = 0;
|
float x = 0;
|
||||||
while(mRuning){
|
while(mRuning){
|
||||||
|
@ -71,8 +68,6 @@ public:
|
||||||
it++){
|
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(),
|
||||||
57600, 'N', 8, 1); //相同的端口只能同时打开一个
|
57600, 'N', 8, 1); //相同的端口只能同时打开一个
|
||||||
|
|
||||||
|
@ -82,12 +77,13 @@ public:
|
||||||
modbus_set_response_timeout(mMod,1000,1000);
|
modbus_set_response_timeout(mMod,1000,1000);
|
||||||
QThread::msleep(300);
|
QThread::msleep(300);
|
||||||
|
|
||||||
|
for(auto s = 0;s < itr->req.length();s++){
|
||||||
|
|
||||||
|
|
||||||
QThread::msleep(1000);
|
QThread::msleep(1000);
|
||||||
int ret = modbus_read_registers(mMod,1,1,dat);
|
int ret = modbus_read_registers(mMod,itr->req[s].addr,itr->req[s].len,dat);
|
||||||
|
|
||||||
mMux.lock();
|
mMux.lock();
|
||||||
|
|
||||||
|
|
||||||
if(mListData.contains(itr->addr)){
|
if(mListData.contains(itr->addr)){
|
||||||
mListData[itr->addr]->push_front(new CapData{
|
mListData[itr->addr]->push_front(new CapData{
|
||||||
itr->addr,
|
itr->addr,
|
||||||
|
@ -103,9 +99,10 @@ public:
|
||||||
x += 3.1415*2 /256;
|
x += 3.1415*2 /256;
|
||||||
|
|
||||||
mMux.unlock();
|
mMux.unlock();
|
||||||
|
|
||||||
|
}
|
||||||
modbus_close(mMod);
|
modbus_close(mMod);
|
||||||
}
|
}
|
||||||
|
|
||||||
QThread::msleep(1000*pcom->rate);
|
QThread::msleep(1000*pcom->rate);
|
||||||
}
|
}
|
||||||
// 读取2
|
// 读取2
|
||||||
|
|
|
@ -61,13 +61,14 @@ 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())){
|
if(this->mForms.contains(ui->lineEdit_2->text())){
|
||||||
QMessageBox::warning(this,"串口已经打开","串口已经打开");
|
QMessageBox::warning(this,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>","<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
SubForm *p1 = new SubForm(ui->lineEdit_2->text(),
|
SubForm *p1 = new SubForm(ui->lineEdit_2->text(),
|
||||||
ui->comboBox->currentText().toInt());
|
ui->comboBox->currentText().toInt(),
|
||||||
|
ui->lineEdit_2->text().toInt());
|
||||||
qDebug()<<ui->lineEdit_2->text();
|
qDebug()<<ui->lineEdit_2->text();
|
||||||
ui->tabWidget->addTab((QWidget*)p1,"设备地址:" + ui->lineEdit_2->text());
|
ui->tabWidget->addTab((QWidget*)p1,"<EFBFBD>豸<EFBFBD><EFBFBD>ַ:" + ui->lineEdit_2->text());
|
||||||
this->mForms[ui->lineEdit_2->text()] = p1;
|
this->mForms[ui->lineEdit_2->text()] = p1;
|
||||||
|
|
||||||
if(nullptr == gAsyncData){
|
if(nullptr == gAsyncData){
|
||||||
|
@ -76,17 +77,13 @@ void MainWindow::on_pushButton_3_clicked()
|
||||||
qDebug()<<"done";
|
qDebug()<<"done";
|
||||||
});
|
});
|
||||||
|
|
||||||
gAsyncData->Start(new Config{
|
|
||||||
QString(ui->comboBox_2->currentText()),
|
|
||||||
ui->lineEdit_2->text().toInt(),
|
|
||||||
ui->lineEdit_3->text().toInt(),
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
gAsyncData->AddConfig(new Config{
|
|
||||||
QString(ui->comboBox_2->currentText()),
|
// gAsyncData->AddConfig(new Config{
|
||||||
ui->lineEdit_2->text().toInt(),
|
// QString(ui->comboBox_2->currentText()),
|
||||||
ui->lineEdit_3->text().toInt(),
|
// ui->lineEdit_2->text().toInt(),
|
||||||
});
|
// ui->lineEdit_3->text().toInt(),
|
||||||
|
// });
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
6
sub.ui
6
sub.ui
|
@ -29,7 +29,11 @@
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLineEdit" name="lineEdit_2"/>
|
<widget class="QLineEdit" name="lineEdit_2">
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label">
|
<widget class="QLabel" name="label">
|
||||||
|
|
16
subform.cpp
16
subform.cpp
|
@ -15,7 +15,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
SubForm::SubForm(QString addr,int baurate)
|
SubForm::SubForm(QString addr,int baurate,int device_addr)
|
||||||
:ui(new Ui::Form) {
|
:ui(new Ui::Form) {
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
@ -61,7 +61,9 @@ SubForm::SubForm(QString addr,int baurate)
|
||||||
qDebug()<<QDateTime::currentDateTime().toString();
|
qDebug()<<QDateTime::currentDateTime().toString();
|
||||||
ui->lineEdit_2->setText(addr);
|
ui->lineEdit_2->setText(addr);
|
||||||
|
|
||||||
|
mConfig = new Config;
|
||||||
|
mConfig->addr = device_addr;
|
||||||
|
mConfig->com = *com;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SubForm::on_pushButton_clicked() {
|
void SubForm::on_pushButton_clicked() {
|
||||||
|
@ -197,6 +199,14 @@ void SubForm::on_pushButton_2_clicked(bool checked) {
|
||||||
|
|
||||||
|
|
||||||
void SubForm::on_pushButton_2_clicked() {
|
void SubForm::on_pushButton_2_clicked() {
|
||||||
|
for(int i = 0;i < mConfig->req.length();i++){
|
||||||
|
if(ui->lineEdit->text().toInt() == mConfig->req[i].addr){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mConfig->req.append(Req{
|
||||||
|
ui->lineEdit->text().toUShort(),
|
||||||
|
ui->lineEdit_3->text().toUShort(),
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue