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 参数 ) const |
void | disconnectDevice () |
Error | error () const |
QString | errorString () const |
void | setConnectionParameter (int 参数 , 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 .
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
|
This parameter holds the parity checking mode.
QSerialPort::Parity
|
QModbusDevice::SerialBaudRateParameter
|
2
|
This parameter holds the data baud rate for the communication.
QSerialPort::BaudRate
|
QModbusDevice::SerialDataBitsParameter
|
3
|
This parameter holds the data bits in a frame.
QSerialPort::DataBits
|
QModbusDevice::SerialStopBitsParameter
|
4
|
This parameter holds the number of stop bits in a frame.
QSerialPort::StopBits
|
QModbusDevice::NetworkPortParameter
|
5
|
This parameter holds the network port.
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
|
此枚举描述所有可能的错误条件。
常量 | 值 | 描述 |
---|---|---|
QModbusDevice::NoError
|
0
|
没有发生错误。 |
QModbusDevice::ReadError
|
1
|
An error occurred during a read operation. |
QModbusDevice::WriteError
|
2
|
An error occurred during a write operation. |
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
|
A Modbus specific protocol error occurred. |
QModbusDevice::ReplyAbortedError
|
7
|
The reply was aborted due to a disconnection of the device. |
QModbusDevice::UnknownError
|
8
|
出现未知错误。 |
此枚举描述所有可能的设备状态。
常量 | 值 | 描述 |
---|---|---|
QModbusDevice::UnconnectedState
|
0
|
设备已断开连接。 |
QModbusDevice::ConnectingState
|
1
|
设备正在连接。 |
QModbusDevice::ConnectedState
|
2
|
The device is connected to the Modbus network. |
QModbusDevice::ClosingState
|
3
|
设备正在关闭。 |
Constructs a Modbus device with the specified parent .
销毁 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 ().
Connects the device to the Modbus network. Returns
true
当成功时;否则
false
.
此函数调用 open () 作为其实现的一部分。
Returns the value associated with the given connection 参数 . The returned value can be empty.
By default the
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.
注意: For a serial connection to succeed, the SerialPortNameParameter needs to be set to a valid communication port. The information about valid serial ports can be obtained from QSerialPortInfo .
注意: If the device is already connected, the settings are taken into account after reconnecting the device.
另请参阅 setConnectionParameter () 和 ConnectionParameter .
Disconnects the device.
此函数调用 close () 作为其实现的一部分。
Returns the error state of the device.
另请参阅 setError () 和 QModbusDevice::Error .
[signal]
void
QModbusDevice::
errorOccurred
(
QModbusDevice::Error
error
)
This signal is emitted when an error of the type, error , occurs.
Returns descriptive error text for the device error.
另请参阅 QModbusDevice::Error .
[pure virtual protected]
bool
QModbusDevice::
open
()
此函数被调用通过
connectDevice
(). Subclasses must provide an implementation that returns
true
on successful Modbus connection or
false
否则。
The implementation must ensure that the instance's state () 被设为 QModbusDevice::ConnectedState upon success; otherwise QModbusDevice::UnconnectedState .
另请参阅 connectDevice ().
设置值为 参数 to value 。若 参数 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
)
Sets the state of the device to newState . Modbus device implementations must use this function to update the device state.
另请参阅 state ().
返回设备的当前状态。
另请参阅 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 .