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().