QModbusRtuSerialServer Class▲
-
Header: QModbusRtuSerialServer
-
Since: Qt 6.2
-
CMake:
find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
-
qmake: QT += serialbus
-
Inherits: QModbusServer
Detailed Description▲
Communication via Modbus requires the interaction between a single Modbus client instance and multiple Modbus server. This class provides the Modbus server implementation via a serial port.
Since multiple Modbus server instances can interact with a Modbus client at the same time (using a serial bus), servers are identified by their serverAddress().
Member Function Documentation▲
[explicit] QModbusRtuSerialServer::QModbusRtuSerialServer(QObject *parent = nullptr)▲
Constructs a QModbusRtuSerialServer with the specified parent. The serverAddress preset is 1.
[virtual] QModbusRtuSerialServer::~QModbusRtuSerialServer()▲
Destroys the QModbusRtuSerialServer instance.
[override virtual protected] void QModbusRtuSerialServer::close()▲
Reimplements: QModbusDevice::close().
[since 6.2] int QModbusRtuSerialServer::interFrameDelay() const▲
Returns the amount of microseconds for the silent interval between two consecutive Modbus messages.
This function was introduced in Qt 6.2.
See Also▲
See also setInterFrameDelay()
[override virtual protected] bool QModbusRtuSerialServer::open()▲
Reimplements: QModbusDevice::open().
When calling this function, existing buffered data is removed from the serial port.
[override virtual protected] QModbusResponse QModbusRtuSerialServer::processRequest(const QModbusPdu &request)▲
Reimplements: QModbusServer::processRequest(const QModbusPdu &request).
Processes the Modbus client request specified by request and returns a Modbus response.
The Modbus function QModbusRequest::EncapsulatedInterfaceTransport with MEI Type 13 (0x0D) CANopen General Reference is filtered out because it is usually Modbus TCP or Modbus serial ASCII only.
A request to the RTU serial server will be answered with a Modbus exception response with the exception code QModbusExceptionResponse::IllegalFunction.
[override virtual] bool QModbusRtuSerialServer::processesBroadcast() const▲
Reimplements: QModbusServer::processesBroadcast() const.
[since 6.2] void QModbusRtuSerialServer::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.
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.
This function was introduced in Qt 6.2.
See Also▲
See also interFrameDelay()