class QModbusRequest#

QModbusRequest 是一个容器类,包含存储在 Modbus ADU 中的功能码和有效负载。 更多...

Inheritance diagram of PySide6.QtSerialBus.QModbusRequest

摘要#

方法#

静态函数#

注意

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

详细描述#

Modbus请求通常由一个字节描述FunctionCode和N个字节的负载

典型的Modbus请求可能看起来像这样

QModbusRequest request(QModbusRequest::WriteMultipleCoils,
    QByteArray::fromHex("0013000a02cd01"));

注意

当使用带QByteArray的构造函数时,请确保在创建请求之前将包含的数据转换为大端字节顺序。

如果编译时知道值,可将请求创建如下

quint16 startAddress = 19, numberOfCoils = 10;
quint8 payloadInBytes = 2, outputHigh = 0xcd, outputLow = 0x01;
QModbusRequest request(QModbusRequest::WriteMultipleCoils, startAddress, numberOfCoils,
    payloadInBytes, outputHigh, outputLow);
__init__

构建一个无效的QModbusRequest

__init__(code[, newData=QByteArray()])
参数:

构建一个QModbusResponse با设置函数代码为code和负载设置在data上。已经存储在已经是大端的字节顺序的数据。

__init__(pdu)
参数:

pduQModbusPdu

构建pdu的副本。

static calculateDataSize
参数:

pduQModbusRequest

返回类型:

int

根据请求的函数代码和数据计算等待的数据大小。返回请求数据部分的全尺寸;如果尺寸无法正确计算,则返回-1

另请参阅

minimumDataSize registerDataSizeCalculator

static minimumDataSize(pdu)#
参数:

pduQModbusRequest

返回类型:

int

根据请求的功能码,返回请求的期望最小数据大小;如果功能码未知,则返回-1