- class QModbusPdu#
- QModbusPdu是一个抽象容器类,包含存储在 Modbus ADU 中的功能码和有效负载。详情...- 继承: - QModbusRequest- 概要#- 方法#- def - __init__()
- def - data()
- def - dataSize()
- 定义 - isValid()
- 定义 - setData()
- 定义 - size()
 - 虚函数#- 注意 - 这份文档可能包含自动从C++转换为Python的代码片段。我们欢迎对片段翻译的贡献。如果您发现翻译问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。 - 详细描述#- 该类提供了访问由Modbus应用程序协议规范1.1b定义的原始Modbus协议数据包的功能。 - 类 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__(code, newData)
- 参数:
- code – - FunctionCode
- newData – - QByteArray
 
 
 - 构建一个带有函数码设置为 - code和有效载荷设置为- data的- QModbusPdu。数据已期望存储为大端字节顺序。- __init__(arg__1)
- 参数:
- arg__1 – - QModbusPdu
 
 - 构建一个 - QModbusPdu,它是- other的副本。- data()#
- 返回类型:
 
 - 返回 PDU 的有效负载,不包括功能码。有效负载以大端字节顺序存储。 - 参见 - dataSize()#
- 返回类型:
- int 
 
 - 返回 PDU 的数据大小,不包括功能码。 - exceptionCode()#
- 返回类型:
 
 - 返回响应的异常码。 - functionCode()#
- 返回类型:
 
 - 返回 PDU 的功能码。 - isException()#
- 返回类型:
- bool 
 
 - 如果 PDU 包含异常码,则返回 true;否则返回 false。 - isValid()#
- 返回类型:
- bool 
 
 - 如果 PDU 有效,则返回 true;否则返回 false。 - 一个 PDU 被认为是有效的,如果消息代码在 1 到 255 的十进制范围内,并且 PDU 的复合大小(功能码 + 数据)不超过 253 字节。默认构建的 PDU 无效。 - setData(newData)#
- 参数:
- newData – - QByteArray
 
 - 将 PDU 的功能有效负载设置为 - data。期望数据已在大端字节序中存储。- 参见 - setFunctionCode(code)#
- 参数:
- code – - FunctionCode
 
 - 将 PDU 的功能码设置为 - code。- size()#
- 返回类型:
- int 
 
 - 返回 PDU 的完整大小,包括功能码和数据大小。