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,并设置 registerTypeInvalid .

__init__(type)
参数:

typeRegisterType

构建用于注册 type 的数据单元。起始地址设置为 0,数据范围和数据值为空。

__init__(type, newStartAddress, newValues)
参数:
  • typeRegisterType

  • newStartAddress – int

  • newValues – .quint16列表

构建用于注册 `type` 的数据单元。数据的起始地址设置为 `address` 并且单元的值为 `data`。值计数由 `data` 的大小暗示。

__init__(type, newStartAddress, newValueCount)
参数:
  • typeRegisterType

  • newStartAddress – int

  • newValueCount – int

构建用于注册 `type` 的数据单元。数据的起始地址设置为 `address` 并且单元的大小设置为 `size`。values(): 的条目用 `0` 初始化。

isValid()#
返回类型::

bool

如果 QModbusDataUnit 有效,则返回 true,否则返回 false。一个 QModbusDataUnit 被视为有效,如果其 registerType() 不是 Invalid,并且其 startAddress() 大于或等于 0

registerType()#
返回类型::

寄存器类型

返回寄存器的类型。

setRegisterType(type)#
参数:

typeRegisterType

设置寄存器的 type

setStartAddress(newAddress)#
参数:

newAddress – int

设置数据单元的起始 address

另请参阅

startAddress()

setValue(index, newValue)#
参数:
  • index – int

  • newValue – int

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

另请参阅

value()

setValueCount(newCount)#
参数:

newCount – int

将请求的寄存器数据块的尺寸设置为 newCount

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

另请参阅

valueCount()

setValues(newValues)#
参数:

newValues – .quint16列表

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

另请参阅

values()

startAddress()#
返回类型::

int

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

另请参阅

setStartAddress()

value(index)#
参数:

index – int

返回类型::

int

返回指定位置 index 的值。

另请参阅

setValue()

valueCount()#
返回类型::

int

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

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

另请参阅

setValueCount()

values()#
返回类型::

quint16 的列表

返回数据单元中的数据。《DiscreteInputs》和《Coils》表格只接受单比特值,因此0被视为0,其他任何值都视为1

另请参阅

setValues()