- class QModbusDevice#
QModbusDevice
类是 Modbus 类的基础类,包括QModbusServer
和QModbusClient
. 更多信息...继承自:
QModbusServer
,QModbusTcpServer
,QModbusRtuSerialServer
,QModbusClient
,QModbusTcpClient
,QModbusRtuSerialClient
概要
方法
def
__init__()
def
connectDevice()
def
device()
def
error()
def
errorString()
def
setError()
def
setState()
def
state()
虚方法
信号
def
errorOccurred()
def
stateChanged()
注意
此文档可能包含从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的功能代码不匹配。
如果发生上述任何中间错误,帧很可能会重发,直到达到最大重试次数。
可以从不间断的错误函数中检查中间错误列表。
使用指定的
parent
构造Modbus设备。- abstract close()#
此函数负责关闭Modbus连接。实现必须确保实例的
state()
被设置为UnconnectedState
。另请参阅
- connectDevice()#
- 返回类型:
布尔值
将设备连接到Modbus网络。如果连接过程成功启动,则返回
true
;否则返回false
。最终连接成功确认要求将state()
更改为ConnectedState
。此函数在其实现部分调用
open()
。另请参阅
- connectionParameter(parameter)#
- 参数:
parameter –
ConnectionParameter
- 返回类型:
对象
返回给定连接
parameter
相关联的值。返回的值可以为空。默认情况下,
QModbusDevice
以某些共同值初始化。串行端口的设置是偶校验,每秒19200位波特率,8个数据位和1个停止位。对于主机地址的网络设置,设置为本地主机和端口号502。注意
为了使串行连接成功,必须将
SerialPortNameParameter
设置为有效的通信端口。可从 QSerialPortInfo 获取有效串行端口的信息。返回用于 ModBus 通信的底层 QIODevice 或者在设备尚未完全初始化的情况下返回
nullptr
。注意
请不要存储底层设备的指针,因为它可能在任何时间点失效。
- disconnectDevice()#
断开设备连接。
这个函数在其实现中调用
close()
。返回设备错误状态。
另请参阅
当发生类型为
error
的错误时,将发出此信号。- errorString()#
- 返回类型:
字符串
返回设备错误的描述性文本。
另请参阅
- 摘要 open()#
- 返回类型:
布尔值
此函数由
connectDevice()
调用。子类必须提供一个新的实现来返回true
表示成功建立或初始化 Modbus 连接;否则返回false
。实现必须确保实例的
state()
在成功时设置为ConnectingState
或ConnectedState
;否则设置为UnconnectedState
。通常,当连接过程异步报告时使用ConnectingState
,而同步连接行为则使用ConnectedState
。另请参阅
- setConnectionParameter(parameter, value)#
- 参数:
parameter –
ConnectionParameter
value – 对象
将
parameter
的值设置为value
。如果parameter
已经存在,则覆盖其之前的值。激活或正在运行中的连接不会受到此类参数变更的影响。设置设备的错误状态。ModBus 设备实现必须在使用此函数以设置错误类型和描述性
errorText
的异常情况下使用此功能。设置设备的状态为
newState
。Modbus 设备实现必须使用此函数来更新设备状态。另请参阅
返回设备的当前状态。
另请参阅
每当设备的状态改变时,就会发出这个信号。新状态由
state
表示。另请参阅