PySide6.QtSerialBus.QModbusPdu¶
- class QModbusPdu¶
QModbusPdu是一个抽象容器类,包含存储在 Modbus ADU 中的功能代码和有效载荷。更多…继承自:
QModbusResponse,QModbusExceptionResponse,QModbusRequest概要¶
方法¶
def
__init__()def
data()def
dataSize()def
exceptionCode()def
functionCode()def
isException()def
isValid()def
setData()def
size()
虚拟方法¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
该类提供对由Modbus应用协议规范1.1b定义的原始Modbus协议数据包的访问。
- class ExceptionCode¶
此枚举描述了由Modbus异常代码定义的所有可能的错误条件。它们在服务器检查请求回复中的适当错误条件后设置,并且必须由客户端解码以操作异常代码。
常量
描述
QModbusPdu.IllegalFunction
设备不支持的功能代码。
QModbusPdu.IllegalDataAddress
查询中接收到的数据地址不是Modbus服务器允许的地址。
QModbusPdu.IllegalDataValue
请求数据字段中包含的值对于Modbus服务器来说是不可接受的值。
QModbusPdu.ServerDeviceFailure
服务器在尝试执行请求的操作时发生了不可恢复的错误。
QModbusPdu.Acknowledge
与编程命令结合使用的特殊用途。
QModbusPdu.ServerDeviceBusy
服务器正在处理一个长时间的程序命令。
QModbusPdu.NegativeAcknowledge
服务器无法执行查询中接收到的程序功能。此代码用于返回不成功的编程请求。客户端应从服务器请求诊断或错误信息。
QModbusPdu.MemoryParityError
表示扩展文件区域未能通过一致性检查。与功能码20和21一起使用。异常代码不涉及传输线的任何奇偶校验设置,仅涉及服务器内部文件记录的内存。
QModbusPdu.GatewayPathUnavailable
表示网关无法为处理请求分配从输入端口到输出端口的内部通信路径。
QModbusPdu.GatewayTargetDeviceFailedToRespond
表示未从网关后的目标设备获得响应。通常这意味着目标设备不在网络上在线。
QModbusPdu.ExtendedException
这是根据Modbus规范的扩展异常。通常,此代码用于描述一个在其他地方进一步描述的异常。
- class FunctionCode¶
定义服务器所需的功能代码和隐式操作类型。并非所有Modbus设备都能处理相同的功能代码集。
常量
描述
QModbusPdu.Invalid
由默认构造函数设置,请勿使用。
QModbusPdu.ReadCoils
请求设备中一个或多个线圈的状态。
QModbusPdu.ReadDiscreteInputs
请求从设备读取一个或多个输入寄存器的状态。
QModbusPdu.ReadHoldingRegisters
请求从一个设备获取一个或多个保持寄存器值的状态。
QModbusPdu.ReadInputRegisters
请求从一个设备获取一个或多个输入寄存器值的状态。
QModbusPdu.WriteSingleCoil
请求在设备上写入单个线圈。
QModbusPdu.WriteSingleRegister
请求在设备上写入单个保持寄存器。
QModbusPdu.ReadExceptionStatus
请求设备上八个异常状态输出的状态。
QModbusPdu.Diagnostics
用于提供一系列测试,以检查客户端服务器通信系统或检查内部
QModbusPdu.GetCommEventCounter
从设备的通信事件计数器请求状态字和事件计数。
QModbusPdu.GetCommEventLog
从设备请求状态字、事件计数、消息计数和事件字节字段。
QModbusPdu.WriteMultipleCoils
请求在设备上写入一个或多个线圈。
QModbusPdu.WriteMultipleRegisters
请求在设备上写入一个或多个保持寄存器。
QModbusPdu.ReportServerId
请求设备类型、当前状态和其他特定信息的描述。
QModbusPdu.ReadFileRecord
请求读取文件记录。
QModbusPdu.WriteFileRecord
请求写入文件记录。
QModbusPdu.MaskWriteRegister
请求使用AND或OR掩码组合以及寄存器的当前内容来修改指定保持寄存器的内容。
QModbusPdu.ReadWriteMultipleRegisters
请求一个或多个保持寄存器的状态,并同时向设备写入一个或多个保持寄存器。
QModbusPdu.ReadFifoQueue
请求读取远程设备中寄存器先进先出(FIFO)队列的内容。
QModbusPdu.EncapsulatedInterfaceTransport
请参考Modbus规范的附录A。
QModbusPdu.UndefinedFunctionCode
请勿使用。
- __init__()¶
构造一个无效的
QModbusPdu。- __init__(other)
- Parameters:
其他 –
QModbusPdu
构造一个
QModbusPdu,它是other的副本。- __init__(code, newData)
- Parameters:
代码 –
FunctionCodenewData –
QByteArray
构造一个
QModbusPdu,函数代码设置为code,有效载荷设置为data。数据预期已经以大端字节序存储。- data()¶
- Return type:
返回PDU的有效载荷,不包括功能代码。有效载荷以大端字节序存储。
另请参阅
- dataSize()¶
- Return type:
整数
返回PDU的数据大小,不包括功能代码。
- exceptionCode()¶
- Return type:
返回响应的异常代码。
- functionCode()¶
- Return type:
返回PDU的功能代码。
另请参阅
- isException()¶
- Return type:
布尔
如果PDU包含异常代码,则返回true;否则返回false。
- isValid()¶
- Return type:
布尔
如果PDU有效,则返回true;否则返回false。
如果消息代码在1到255的十进制范围内,并且PDU的复合大小(功能代码+数据)不超过253字节,则认为PDU是有效的。默认构造的PDU是无效的。
- setData(newData)¶
- Parameters:
newData –
QByteArray
将PDU的功能负载设置为
data。数据预期已经以大端字节序存储。另请参阅
- setFunctionCode(code)¶
- Parameters:
代码 –
FunctionCode
将PDU的功能代码设置为
code。另请参阅
- size()¶
- Return type:
整数
返回PDU的完整大小,包括功能代码和数据大小。