QModbusDevice 类

The QModbusDevice class is the base class for Modbus classes, QModbusServer and QModbusClient . 更多...

头: #include <QModbusDevice>
qmake: QT += serialbus
Since: Qt 5.8
继承: QObject
继承者: QModbusClient and QModbusServer

公共类型

enum ConnectionParameter { SerialPortNameParameter, SerialParityParameter, SerialBaudRateParameter, SerialDataBitsParameter, ..., UserParameter }
enum Error { NoError, ReadError, WriteError, ConnectionError, ..., UnknownError }
enum State { UnconnectedState, ConnectingState, ConnectedState, ClosingState }

公共函数

QModbusDevice (QObject * parent = nullptr)
~QModbusDevice ()
bool connectDevice ()
QVariant connectionParameter (int parameter ) const
void disconnectDevice ()
Error error () const
QString errorString () const
void setConnectionParameter (int parameter , const QVariant & value )
状态 state () const

信号

void errorOccurred (QModbusDevice::Error error )
void stateChanged (QModbusDevice::State state )

保护函数

virtual void close () = 0
virtual bool open () = 0
void setError (const QString & errorText , QModbusDevice::Error error )
void setState (QModbusDevice::State newState )

额外继承成员

详细描述

The QModbusDevice class is the base class for Modbus classes, QModbusServer and QModbusClient .

成员类型文档编制

enum QModbusDevice:: ConnectionParameter

This enum describes the possible values that can be set for a Modbus device connection.

The general purpose value (and the associated types) are:

常量 描述
QModbusDevice::SerialPortNameParameter 0 This parameter holds the serial port used for device communication, e.g. COM1. QString
QModbusDevice::SerialParityParameter 1 此参数保持奇偶校验模式。 QSerialPort::Parity
QModbusDevice::SerialBaudRateParameter 2 This parameter holds the data baud rate for the communication. QSerialPort::BaudRate
QModbusDevice::SerialDataBitsParameter 3 此参数保持帧中的数据位。 QSerialPort::DataBits
QModbusDevice::SerialStopBitsParameter 4 This parameter holds the number of stop bits in a frame. QSerialPort::StopBits
QModbusDevice::NetworkPortParameter 5 此参数保持网络端口。 int
QModbusDevice::NetworkAddressParameter 6 This parameter holds the host address for network communication. QString

用户选项:

常量 描述
QModbusDevice::UserParameter 0x100 The first parameter that can be used for user-specific purposes. QVariant

enum QModbusDevice:: Error

此枚举描述所有可能的错误条件。

常量 描述
QModbusDevice::NoError 0 没有发生错误。
QModbusDevice::ReadError 1 在读取操作期间出现错误。
QModbusDevice::WriteError 2 在写入操作期间出现错误。
QModbusDevice::ConnectionError 3 An error occurred when attempting to open the backend.
QModbusDevice::ConfigurationError 4 An error occurred when attempting to set a configuration parameter.
QModbusDevice::TimeoutError 5 A timeout occurred during I/O. An I/O operation did not finish within a given time frame.
QModbusDevice::ProtocolError 6 出现 Modbus 特定协议错误。
QModbusDevice::ReplyAbortedError 7 The reply was aborted due to a disconnection of the device.
QModbusDevice::UnknownError 8 出现未知错误。

enum QModbusDevice:: State

此枚举描述所有可能的设备状态。

常量 描述
QModbusDevice::UnconnectedState 0 设备已断开连接。
QModbusDevice::ConnectingState 1 设备正在连接。
QModbusDevice::ConnectedState 2 设备已连接到 Modbus 网络。
QModbusDevice::ClosingState 3 设备正在关闭。

成员函数文档编制

QModbusDevice:: QModbusDevice ( QObject * parent = nullptr)

构造 Modbus 设备采用指定 parent .

QModbusDevice:: ~QModbusDevice ()

销毁 QModbusDevice 实例

[pure virtual protected] void QModbusDevice:: close ()

This function is responsible for closing the Modbus connection. The implementation must ensure that the instance's state () 被设为 QModbusDevice::UnconnectedState .

另请参阅 disconnectDevice ().

bool QModbusDevice:: connectDevice ()

把设备连接到 Modbus 网络。返回 true 当成功时;否则 false .

此函数调用 open () 作为其实现的一部分。

QVariant QModbusDevice:: connectionParameter ( int parameter ) const

返回的值关联给定连接 parameter 。返回值可以为空。

默认情况下 QModbusDevice is initialized with some common values. The serial port settings are even parity, a baud rate of 19200 bits per second, eight data bits and one stop bit. The network settings for the host address is set to local host and port to 502.

注意: 要成功连接串行, SerialPortNameParameter 需要被设为有效通信端口。有效串口的有关信息可以获得从 QSerialPortInfo .

注意: 若设备已连接,在重新连接设备后考虑设置。

另请参阅 setConnectionParameter () 和 ConnectionParameter .

void QModbusDevice:: disconnectDevice ()

断开设备连接。

此函数调用 close () 作为其实现的一部分。

Error QModbusDevice:: error () const

返回设备的错误状态。

另请参阅 setError () 和 QModbusDevice::Error .

[signal] void QModbusDevice:: errorOccurred ( QModbusDevice::Error error )

This signal is emitted when an error of the type, error ,出现。

QString QModbusDevice:: errorString () const

返回用于设备错误的描述性错误文本。

另请参阅 QModbusDevice::Error .

[pure virtual protected] bool QModbusDevice:: open ()

此函数被调用通过 connectDevice (). Subclasses must provide an implementation that returns true on successful Modbus connection or false 否则。

实现必须确保实例的 state () 被设为 QModbusDevice::ConnectedState upon success; otherwise QModbusDevice::UnconnectedState .

另请参阅 connectDevice ().

void QModbusDevice:: setConnectionParameter ( int parameter , const QVariant & value )

设置值为 parameter to value 。若 parameter already exists, the previous value is overwritten. A active or running connection is not affected by such parameter changes.

另请参阅 ConnectionParameter and connectionParameter ().

[protected] void QModbusDevice:: setError (const QString & errorText , QModbusDevice::Error error )

Sets the error state of the device. ModBus device implementations must use this function in case of an error to set the error type and a descriptive errorText .

另请参阅 error () 和 QModbusDevice::Error .

[protected] void QModbusDevice:: setState ( QModbusDevice::State newState )

把设备的状态设为 newState . Modbus device implementations must use this function to update the device state.

另请参阅 state ().

State QModbusDevice:: state () const

返回设备的当前状态。

另请参阅 setState () 和 stateChanged ().

[signal] void QModbusDevice:: stateChanged ( QModbusDevice::State state )

This signal is emitted every time the state of the device changes. The new state is represented by state .

另请参阅 setState () 和 state ().