QModbusRtuSerialClient Class
The QModbusRtuSerialClient class represents a Modbus client that uses a serial bus for its communication with the Modbus server. More...
Header: | #include <QModbusRtuSerialClient> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS SerialBus) target_link_libraries(mytarget PRIVATE Qt6::SerialBus) |
qmake: | QT += serialbus |
Since: | Qt 6.2 |
Inherits: | QModbusClient |
Public Functions
QModbusRtuSerialClient(QObject *parent = nullptr) | |
int | interFrameDelay() const |
void | setInterFrameDelay(int microseconds) |
void | setTurnaroundDelay(int turnaroundDelay) |
int | turnaroundDelay() const |
Reimplemented Protected Functions
Detailed Description
Communication via Modbus requires the interaction between a single Modbus client instance and multiple Modbus servers. This class provides the client implementation via a serial port.
Member Function Documentation
[explicit]
QModbusRtuSerialClient::QModbusRtuSerialClient(QObject *parent = nullptr)
Constructs a serial Modbus client with the specified parent.
[override virtual protected]
void QModbusRtuSerialClient::close()
Reimplements: QModbusDevice::close().
int QModbusRtuSerialClient::interFrameDelay() const
Returns the amount of microseconds for the silent interval between two consecutive Modbus messages.
See also setInterFrameDelay().
[override virtual protected]
bool QModbusRtuSerialClient::open()
Reimplements: QModbusDevice::open().
Note: When calling this function, existing buffered data is removed from the serial port.
void QModbusRtuSerialClient::setInterFrameDelay(int microseconds)
Sets the amount of microseconds for the silent interval between two consecutive Modbus messages. By default, the class implementation will use a pre-calculated value according to the Modbus specification. A active or running connection is not affected by such delay changes.
Note: If microseconds is set to -1 or microseconds is less than the pre-calculated delay then this pre-calculated value is used as frame delay.
See also interFrameDelay().
void QModbusRtuSerialClient::setTurnaroundDelay(int turnaroundDelay)
Sets the amount of milliseconds for the silent interval between a Modbus broadcast and a consecutive Modbus messages to turnaroundDelay. Typically the turnaround delay is in the range of 100
to 200
milliseconds.
See also turnaroundDelay().
int QModbusRtuSerialClient::turnaroundDelay() const
Returns the amount of milliseconds for the silent interval between a Modbus broadcast and a consecutive Modbus messages. The default value is set to 100
milliseconds.
See also setTurnaroundDelay().
© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.