Browse Source

multithread

design
nasi 3 years ago
parent
commit
7806864f1d
  1. 3
      serialConnectionManager/Modbuswrapper.cpp
  2. 2
      serialConnectionManager/Simulatermodbus.cpp

3
serialConnectionManager/Modbuswrapper.cpp

@ -24,7 +24,7 @@ void ModbusWrapper::initWrapper(QString serialPort, int slaveAddress)
connect(this, &ModbusWrapper::stopConnectionOrder, &modBusObj, &ModBusMaster::stop, Qt::BlockingQueuedConnection);
connect(&workerThread, &QThread::started, &modBusObj, &ModBusMaster::init);
connect(&modBusObj, &ModBusMaster::finished, &workerThread, &QThread::terminate);
connect(this, &ModbusWrapper::getCoilOrder, &modBusObj, &ModBusMaster::getCoil, Qt::BlockingQueuedConnection);
qDebug() << "initWrapper " << QThread::currentThreadId() ;
emit openConnectionOrder(serialPort, slaveAddress);
}
@ -36,7 +36,6 @@ void ModbusWrapper::stopWrapper()
QBitArray ModbusWrapper::getCoilWrapper(int startAddress, quint16 numberOfEntries)
{
connect(this, &ModbusWrapper::getCoilOrder, &modBusObj, &ModBusMaster::getCoil, Qt::BlockingQueuedConnection);
QBitArray coilDataFromClient = emit getCoilOrder(startAddress, numberOfEntries);
return coilDataFromClient;
}

2
serialConnectionManager/Simulatermodbus.cpp

@ -40,7 +40,7 @@ void Simulatermodbus::readCoil(int startAddress, quint16 readSize)
QEventLoop qloop;
qDebug() << "Simulatermodbus::open " << QThread::currentThreadId() ;
timer = new QTimer();
timer->setInterval(2000);
timer->setInterval(10000);
timer->start();
connect(timer, &QTimer::timeout, &qloop, &QEventLoop::quit);
qloop.exec();

Loading…
Cancel
Save