- class QModbusDataUnit#
QModbusDataUnit
是一个容器类,代表 Modbus 寄存器中的单个位和16
位词条目。 更多…概述#
方法#
def
__init__()
def
isValid()
def
registerType()
定义
setValue()
定义
setValues()
定义
value()
定义
valueCount()
定义
values()
注意
本文档可能包含自动从C++翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单来告诉我们。
详细描述#
QModbusDataUnit
可用于读写操作。条目通过startAddress()
和连续条目数量valueCount()
来寻址。registerType()
确定用于操作是哪个寄存器。请注意,一些寄存器是只读寄存器。实际的
values()
要么是单比特的,要么是基于16位。DiscreteInputs
和Coils
只接受单比特。因此,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)
- 参数:
type –
RegisterType
构建用于注册
type
的数据单元。起始地址设置为0
,数据范围和数据值为空。- __init__(type, newStartAddress, newValues)
- 参数:
type –
RegisterType
newStartAddress – int
newValues – .quint16列表
构建用于注册 `type` 的数据单元。数据的起始地址设置为 `address` 并且单元的值为 `data`。值计数由 `data` 的大小暗示。
- __init__(type, newStartAddress, newValueCount)
- 参数:
type –
RegisterType
newStartAddress – int
newValueCount – int
构建用于注册 `type` 的数据单元。数据的起始地址设置为 `address` 并且单元的大小设置为 `size`。
values():
的条目用 `0` 初始化。- isValid()#
- 返回类型::
bool
如果
QModbusDataUnit
有效,则返回true
,否则返回false
。一个QModbusDataUnit
被视为有效,如果其registerType()
不是Invalid
,并且其startAddress()
大于或等于0
。返回寄存器的类型。
- setRegisterType(type)#
- 参数:
type –
RegisterType
设置寄存器的
type
。- setStartAddress(newAddress)#
- 参数:
newAddress – int
设置数据单元的起始
address
。另请参阅
- setValue(index, newValue)#
- 参数:
index – int
newValue – int
将位置
index
的寄存器设置为value
。另请参阅
- setValueCount(newCount)#
- 参数:
newCount – int
将请求的寄存器数据块的尺寸设置为
newCount
。此值可能不同于
values()
的大小,因为此函数用于指示数据请求的大小。只有在数据请求已处理完成之后,valueCount()
才等于values()
的大小。另请参阅
- setValues(newValues)#
- 参数:
newValues – .quint16列表
设置数据单元的
values
。DiscreteInputs
和Coils
表只接受单比特值,所以0
被解释为0
,其他任何内容都被解释为1
。另请参阅
- startAddress()#
- 返回类型::
int
返回数据单元在寄存器中的起始地址。
另请参阅
- value(index)#
- 参数:
index – int
- 返回类型::
int
返回指定位置
index
的值。另请参阅
- valueCount()#
- 返回类型::
int
返回请求寄存器数据块的大小或从设备读取的数据大小。
此函数可能不总是返回等于
values()
大小的计数。由于此类用于从远程数据寄存器请求数据,可以使用 valueCount() 来表示请求寄存器数据块的大小。一旦请求被处理,valueCount() 等于 values() 的大小。另请参阅
- values()#
- 返回类型::
quint16 的列表
返回数据单元中的数据。《
DiscreteInputs
》和《Coils
》表格只接受单比特值,因此0
被视为0
,其他任何值都视为1
。另请参阅