PySide6.QtSerialBus.QModbusDataUnit

class QModbusDataUnit

QModbusDataUnit 是一个容器类,表示 Modbus 寄存器中的单比特和 16 比特字条目。更多

概要

方法

注意

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

详细描述

QModbusDataUnit 可以用于读写操作。条目通过 startAddress()valueCount() 连续条目的数量进行寻址。registerType() 确定用于操作的寄存器。请注意,某些寄存器是只读寄存器。

实际的values()是基于单比特或16比特的。DiscreteInputsCoils只接受单比特。因此0被解释为0,其他任何值都被解释为1

class RegisterType

此枚举描述了所有支持的寄存器类型。

常量

描述

QModbusDataUnit.Invalid

由默认构造函数设置,请勿使用。

QModbusDataUnit.DiscreteInputs

这种类型的数据可以由I/O系统提供。

QModbusDataUnit.Coils

这种类型的数据可以通过应用程序进行修改。

QModbusDataUnit.InputRegisters

这种类型的数据可以由I/O系统提供。

QModbusDataUnit.HoldingRegisters

这种类型的数据可以通过应用程序进行修改。

__init__()

构造一个空的、无效的QModbusDataUnit。起始地址设置为-1,并且registerType设置为Invalid

__init__(type)
Parameters:

类型RegisterType

为寄存器type构造一个数据单元。起始地址设置为0,数据范围和数据值为空。

__init__(type, newStartAddress, newValues)
Parameters:
  • typeRegisterType

  • newStartAddress – int

  • newValues – quint16 的列表

为寄存器类型``type``构造一个数据单元。数据的起始地址设置为address,单元的值设置为data。值的数量由data的大小隐含。

__init__(type, newStartAddress, newValueCount)
Parameters:
  • typeRegisterType

  • newStartAddress – int

  • newValueCount – int

为寄存器类型``type``构造一个数据单元。数据的起始地址设置为address,单元的大小设置为sizevalues()的条目初始化为0

isValid()
Return type:

布尔

如果 QModbusDataUnit 有效,则返回 true;否则返回 false。如果 registerType() 不是 Invalid 并且 startAddress() 大于或等于 0,则认为 QModbusDataUnit 是有效的。

registerType()
Return type:

RegisterType

返回寄存器的类型。

setRegisterType(type)
Parameters:

类型RegisterType

设置寄存器 type

setStartAddress(newAddress)
Parameters:

newAddress – int

设置数据单元的起始address

另请参阅

startAddress()

setValue(index, newValue)
Parameters:
  • index – 整数

  • newValue – int

将位置 index 的寄存器设置为 value

另请参阅

value()

setValueCount(newCount)
Parameters:

newCount – int

将请求寄存器的数据块大小设置为newCount

这可能与values()的大小不同,因为此函数用于指示数据请求的大小。只有在数据请求被处理后,valueCount()才等于values()的大小。

另请参阅

valueCount()

setValues(newValues)
Parameters:

newValues – .quint16的列表

设置数据单元的valuesDiscreteInputsCoils表只接受单比特值,因此0被解释为0,其他任何值都被解释为1

另请参阅

values()

startAddress()
Return type:

整数

返回寄存器中数据单元的起始地址。

另请参阅

setStartAddress()

value(index)
Parameters:

索引 – int

Return type:

整数

返回位置 index 处的值。

另请参阅

setValue()

valueCount()
Return type:

整数

返回请求寄存器的数据块大小或从设备读取的数据大小。

此函数可能不总是返回一个等于values()大小的计数。由于此类用于从远程数据寄存器请求数据,valueCount()可用于指示请求寄存器的数据块的大小。一旦请求被处理,valueCount()等于values()的大小。

另请参阅

setValueCount()

values()
Return type:

.quint16的列表

返回数据单元中的数据。DiscreteInputsCoils 表只接受单比特值,因此 0 被解释为 0,其他任何值都被解释为 1

另请参阅

setValues()