IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

QModbusRtuSerialServer Class

The QModbusRtuSerialServer class represents a Modbus server that uses a serial port for its communication with the Modbus client.

This class was introduced in Qt 6.2.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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

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

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+