PySide6.QtSerialBus.QModbusClient

class QModbusClient

QModbusClient 类是发送 Modbus 请求的接口。更多

PySide6.QtSerialBus.QModbusClient 的继承图

继承者: QModbusTcpClient, QModbusRtuSerialClient

概要

方法

虚拟方法

信号

注意

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

详细描述

QModbusClient API 围绕一个 QModbusClient 对象构建,该对象保存了它发送请求的通用配置和设置。一个 QModbusClient 应该足以满足整个 Qt 应用程序的需求。

一旦创建了一个QModbusClient对象,应用程序就可以使用它来发送请求。返回的对象用于获取响应相应请求返回的任何数据。

QModbusClient 有一个异步API。当调用finished槽时,它接收的参数是包含PDU以及元数据(地址等)的QModbusReply对象。

注意:QModbusClient 会将其接收到的请求排队。并行执行的请求数量取决于协议。例如,桌面平台上的HTTP协议会为一个主机/端口组合发出6个并行请求。

__init__([parent=None])
Parameters:

父对象QObject

使用指定的parent构建一个Modbus客户端设备。

numberOfRetries()
Return type:

整数

返回客户端在请求失败之前将执行的重试次数。默认值设置为3

另请参阅

setNumberOfRetries()

processPrivateResponse(response, data)
Parameters:
Return type:

布尔

由自定义Modbus客户端实现来实现。默认实现忽略responsedata。它总是返回false以指示错误。

processResponse(response, data)
Parameters:
Return type:

布尔

处理Modbus服务器的response并将解码后的信息存储在data中。成功时返回true;否则返回false

注意

默认实现不支持所有的FunctionCode。在自定义的Modbus客户端实现中重写此方法以处理所需的函数。

sendRawRequest(request, serverAddress)
Parameters:
Return type:

QModbusReply

发送一个原始的Modbus request。原始请求可以包含任何适合Modbus PDU数据部分的内容,并且具有有效的功能代码。因此,在发送之前执行的唯一检查是有效性检查,请参见isValid。如果没有发生错误,该函数将返回一个新的有效的QModbusReply;否则返回nullptr。Modbus网络可能有多个服务器,每个服务器都有一个唯一的serverAddress

另请参阅

rawResult()

sendReadRequest(read, serverAddress)
Parameters:
Return type:

QModbusReply

发送请求以读取由read指向的数据内容。如果没有发生错误,则返回一个新的有效的QModbusReply对象,否则返回nullptr。Modbus网络可能有多个服务器,每个服务器都有唯一的serverAddress

sendReadWriteRequest(read, write, serverAddress)
Parameters:
Return type:

QModbusReply

发送请求以读取由read指向的数据内容,并使用Modbus功能代码ReadWriteMultipleRegisters修改由write指向的数据内容。如果没有发生错误,则返回一个新的有效的QModbusReply对象,否则返回nullptr。Modbus网络可能有多个服务器,每个服务器都有唯一的serverAddress

注意

: 发送这种请求只有在 readwrite 都是 HoldingRegisters 类型时才有效。

sendWriteRequest(write, serverAddress)
Parameters:
Return type:

QModbusReply

发送请求以修改由write指向的数据内容。如果没有发生错误,则返回一个新的有效的QModbusReply对象,否则返回nullptr。Modbus网络可能有多个服务器,每个服务器都有唯一的serverAddress

setNumberOfRetries(number)
Parameters:

数字 – 整数

设置客户端在请求失败前将执行的重试次数。默认值设置为3

注意

新值必须大于或等于0。更改此属性只会影响新的请求,不会影响已经安排的请求。

另请参阅

numberOfRetries()

setTimeout(newTimeout)
Parameters:

newTimeout – 整数

设置此QModbusClient实例的newTimeout。最小超时时间为10毫秒。

超时时间由客户端用来确定它等待服务器响应的时间。如果在所需的超时时间内未收到响应,则设置TimeoutError

已经激活/运行的超时不受此类超时持续时间更改的影响。

另请参阅

timeout timeoutChanged()

timeout()
Return type:

整数

返回此QModbusClient实例使用的超时值,单位为毫秒。超时由TimeoutError表示。默认值为1000毫秒。

timeoutChanged(newTimeout)
Parameters:

newTimeout – 整数

当此QModbusClient实例使用的超时时间发生变化时,会发出此信号。设备的新响应超时时间作为newTimeout传递。

另请参阅

setTimeout()