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