class QModbusDevice#

QModbusDevice 类是 Modbus 类的基础类,包括 QModbusServerQModbusClient . 更多信息...

Inheritance diagram of PySide6.QtSerialBus.QModbusDevice

继承自: QModbusServerQModbusTcpServerQModbusRtuSerialServerQModbusClientQModbusTcpClientQModbusRtuSerialClient

概要

方法

虚方法

信号

注意

此文档可能包含从C++自动翻译到Python的片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单来告知我们。

详细描述#

class Error#

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

常量

描述

QModbusDevice.NoError

没有发生错误。

QModbusDevice.ReadError

读取操作过程中发生错误。

QModbusDevice.WriteError

写入操作过程中发生错误。

QModbusDevice.ConnectionError

尝试打开后端时发生错误。

QModbusDevice.ConfigurationError

尝试设置配置参数时发生错误。

QModbusDevice.TimeoutError

I/O操作期间出现超时。I/O操作未在给定的时间框架内完成。

QModbusDevice.ProtocolError

发生Modbus特定协议错误。

QModbusDevice.ReplyAbortedError

由于设备断开,回复被中止。

QModbusDevice.UnknownError

发生未知错误。

QModbusDevice.InvalidResponseError

解析响应时发生错误,或者当前实现不支持FunctionCode。在后一种情况下,自定义Modbus客户端实现可以覆盖processResponse()processPrivateResponse()方法以提供所需的功能。

class State#

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

常量

描述

QModbusDevice.UnconnectedState

设备未连接。

QModbusDevice.ConnectingState

设备正在连接。

QModbusDevice.ConnectedState

设备已连接到Modbus网络。

QModbusDevice.ClosingState

设备正在关闭。

class ConnectionParameter#

枚举描述了可以设置Modbus设备连接的可能值。

通用值(及其相关类型)为

常量

描述

QModbusDevice.SerialPortNameParameter

此参数包含用于设备通信的串行端口,例如COM1。 QString

QModbusDevice.SerialParityParameter

此参数包含奇偶校验检查模式。 QSerialPort::Parity

QModbusDevice.SerialBaudRateParameter

此参数包含通信的数据波特率。 QSerialPort::BaudRate

QModbusDevice.SerialDataBitsParameter

此参数包含帧中的数据位。 QSerialPort::DataBits

QModbusDevice.SerialStopBitsParameter

此参数包含帧中的停止位数。 QSerialPort::StopBits

QModbusDevice.NetworkPortParameter

此参数包含网络端口。 int

QModbusDevice.NetworkAddressParameter

该参数保存网络通信的主机地址。 QString

class IntermediateError#

枚举描述了在Modbus回复的完整发送和接收周期中可能发生的错误。

常量

描述

QModbusDevice.ResponseCrcError

接收到的Modbus响应CRC错误。

QModbusDevice.ResponseRequestMismatch

接收到的Modbus响应与打开请求不匹配,可能是由于PDU的功能代码不匹配。

如果发生上述任何中间错误,帧很可能会重发,直到达到最大重试次数。

可以从不间断的错误函数中检查中间错误列表。

__init__([parent=None])#
参数:

parentQObject

使用指定的 parent 构造Modbus设备。

abstract close()#

此函数负责关闭Modbus连接。实现必须确保实例的 state() 被设置为 UnconnectedState

另请参阅

disconnectDevice()

connectDevice()#
返回类型:

布尔值

将设备连接到Modbus网络。如果连接过程成功启动,则返回 true;否则返回 false。最终连接成功确认要求将 state() 更改为 ConnectedState

此函数在其实现部分调用 open()

另请参阅

open()

connectionParameter(parameter)#
参数:

parameterConnectionParameter

返回类型:

对象

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

默认情况下,QModbusDevice 以某些共同值初始化。串行端口的设置是偶校验,每秒19200位波特率,8个数据位和1个停止位。对于主机地址的网络设置,设置为本地主机和端口号502。

注意

为了使串行连接成功,必须将 SerialPortNameParameter 设置为有效的通信端口。可从 QSerialPortInfo 获取有效串行端口的信息。

注意

如果设备已连接,则在重新连接设备后考虑设置。

device()#
返回类型:

QIODevice

返回用于 ModBus 通信的底层 QIODevice 或者在设备尚未完全初始化的情况下返回 nullptr

注意

请不要存储底层设备的指针,因为它可能在任何时间点失效。

disconnectDevice()#

断开设备连接。

这个函数在其实现中调用 close()

error()#
返回类型:

错误

返回设备错误状态。

另请参阅

setError() Error

errorOccurred(error)#
参数:

errorError

当发生类型为 error 的错误时,将发出此信号。

errorString()#
返回类型:

字符串

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

另请参阅

错误

摘要 open()#
返回类型:

布尔值

此函数由 connectDevice() 调用。子类必须提供一个新的实现来返回 true 表示成功建立或初始化 Modbus 连接;否则返回 false

实现必须确保实例的 state() 在成功时设置为 ConnectingStateConnectedState;否则设置为 UnconnectedState。通常,当连接过程异步报告时使用 ConnectingState,而同步连接行为则使用 ConnectedState

另请参阅

connectDevice()

setConnectionParameter(parameter, value)#
参数:

parameter 的值设置为 value。如果 parameter 已经存在,则覆盖其之前的值。激活或正在运行中的连接不会受到此类参数变更的影响。

setError(errorText, error)#
参数:
  • errorText – 字符串

  • errorError

设置设备的错误状态。ModBus 设备实现必须在使用此函数以设置错误类型和描述性 errorText 的异常情况下使用此功能。

另请参阅

error() Error

setState(newState)#
参数:

newStateState

设置设备的状态为 newState。Modbus 设备实现必须使用此函数来更新设备状态。

另请参阅

state()

state()#
返回类型:

状态

返回设备的当前状态。

另请参阅

setState() stateChanged()

stateChanged(state)#
参数:

stateState

每当设备的状态改变时,就会发出这个信号。新状态由 state 表示。

另请参阅

setState() state()