क्यूटी QML - QModBus पढ़ने के द्वारा भ्रष्ट QML BusyIndicator/एनीमेशन - SingleThread

0

सवाल

मैं एक एकल धागा QQuick आवेदन के साथ एक मुख्य विंडो और एक वर्ग को संभालती है कि Modbus पढ़ें/लिखें कार्य करता है । सब कुछ ठीक काम कर रहा है अब तक लेकिन जब मैं डाल एक BusyIndicator में qml विंडो दिखाने के लिए है कि बस है, मैं व्यस्त हो सीआरसी बेमेल और प्रतिक्रिया समय समाप्ति, जैसे:

  • "Discarding प्रतिक्रिया के साथ गलत CRC, प्राप्त किया: 64580 , गणना की सीआरसी: 55067"
  • "पढ़ें प्रतिक्रिया त्रुटि: प्रतिक्रिया के लिए जारी रहेगा । (कोड: 0x5)" - क्यूटी.modbus: (आरटीयू ग्राहक) से मेल नहीं कर सकते प्रतिक्रिया के साथ खुला अनुरोध की अनदेखी,

के ReadRequest माध्यम से भेजा जाता है

void ModbusDevice::readData(int serveraddress, int startaddress, int cnt) {
QModbusDataUnit RxData;

if(startaddress>=HOLDING_BASE) RxData.setRegisterType(QModbusDataUnit::HoldingRegisters);
else RxData.setRegisterType(QModbusDataUnit::InputRegisters);

RxData.setStartAddress(startaddress);
RxData.setValueCount(cnt);

if (auto *reply = m_ModbusClient->sendReadRequest(RxData, serveraddress)) {
    connect(reply, &QModbusReply::finished, this, &CellDevice::InterruptHandler);
else qDebug() << m_ModbusClient->errorString();
}

अगर वहाँ कोई एनिमेशन में चल रहा है, मेरी खिड़की, प्राप्त होता है डेटा त्रुटियों के बिना.

  • कर सकते हैं यह तय किया जा सकता का उपयोग करके एक अलग धागे को चलाने के लिए modbus/पढ़ने लिखने के तरीके और कैसे होगा मैं को लागू है कि? या मैं केवल वृद्धि misreads डाल द्वारा सीरियल कार्यों में एक अलग थ्रेड?

के रूप में मैं इसे समझ अब तक, इस तथ्य के कारण है कि मेरे आवेदन है अब तक चल रहा है में एक एकल धागा, निरंतर अद्यतन जीयूआई के किसी भी तरह के दखल के स्वागत के साथ धारावाहिक डेटा.

मैं linux कमांड लाइन उपकरण "तनाव" के लिए देखने के लिए अगर मैं खो डेटा के तहत उच्च cpu लोड के रूप में अच्छी तरह से, लेकिन है कि मामला नहीं है.

तरह का संबंध है

c++ modbus multithreading qml
2021-10-27 11:45:23
1

सबसे अच्छा जवाब

1

मैंने पाया इस मुद्दे:

के रूप में मैंने सोचा था कि qml प्रतिपादन इंजन, दृश्य ग्राफ या जो कुछ भी तुम इसे कॉल, की वजह से याद किया फ्रेम के modbus स्वागत है । मुझे लगता है कि किसी भी तरह सूत्रण हो सकता है के साथ मदद की है कि है, लेकिन मैं नहीं था इसे ठीक करने में सक्षम होने के द्वारा modbusInterface में चलाने के लिए एक अलग धागा ।

अंत में समाधान किया गया था सक्षम करने के लिए लड़ी पिरोया प्रस्तुत पाश के दृश्य ग्राफ के रूप में यहाँ कहा: https://doc.qt.io/qt-5/qtquick-visualcanvas-scenegraph.html#threaded-render-loop-threaded

I. ई. डाल द्वारा

qputenv("QSG_RENDER_LOOP","threaded");

मेरा मुख्य().

2021-10-28 12:49:29

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में