- class QModbusDevice#
QModbusDevice类是 Modbus 类的基础类,包括QModbusServer和QModbusClient. 更多信息...继承自:
QModbusServer,QModbusTcpServer,QModbusRtuSerialServer,QModbusClient,QModbusTcpClient,QModbusRtuSerialClient概要
方法
def
__init__()def
connectDevice()def
device()def
error()def
errorString()def
setError()def
setState()def
state()
虚方法
信号
def
errorOccurred()def
stateChanged()
注意
此文档可能包含从C++自动翻译到Python的片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单来告知我们。
详细描述#
- class Error#
枚举描述了所有可能的错误条件。
常量
描述
QModbusDevice.NoError
没有发生错误。
QModbusDevice.ReadError
读取操作过程中发生错误。
QModbusDevice.WriteError
写入操作过程中发生错误。
QModbusDevice.ConnectionError
尝试打开后端时发生错误。
QModbusDevice.ConfigurationError
尝试设置配置参数时发生错误。
QModbusDevice.TimeoutError
I/O操作期间出现超时。I/O操作未在给定的时间框架内完成。
QModbusDevice.ProtocolError
发生Modbus特定协议错误。
QModbusDevice.ReplyAbortedError
由于设备断开,回复被中止。
QModbusDevice.UnknownError
发生未知错误。
QModbusDevice.InvalidResponseError
解析响应时发生错误,或者当前实现不支持
FunctionCode。在后一种情况下,自定义Modbus客户端实现可以覆盖processResponse()和processPrivateResponse()方法以提供所需的功能。
- class State#
枚举描述了所有可能的设备状态。
常量
描述
QModbusDevice.UnconnectedState
设备未连接。
QModbusDevice.ConnectingState
设备正在连接。
QModbusDevice.ConnectedState
设备已连接到Modbus网络。
QModbusDevice.ClosingState
设备正在关闭。
- class ConnectionParameter#
枚举描述了可以设置Modbus设备连接的可能值。
通用值(及其相关类型)为
常量
描述
QModbusDevice.SerialPortNameParameter
此参数包含用于设备通信的串行端口,例如COM1。
QStringQModbusDevice.SerialParityParameter
此参数包含奇偶校验检查模式。
QSerialPort::ParityQModbusDevice.SerialBaudRateParameter
此参数包含通信的数据波特率。
QSerialPort::BaudRateQModbusDevice.SerialDataBitsParameter
此参数包含帧中的数据位。
QSerialPort::DataBitsQModbusDevice.SerialStopBitsParameter
此参数包含帧中的停止位数。
QSerialPort::StopBitsQModbusDevice.NetworkPortParameter
此参数包含网络端口。
intQModbusDevice.NetworkAddressParameter
该参数保存网络通信的主机地址。
QString
- class IntermediateError#
枚举描述了在Modbus回复的完整发送和接收周期中可能发生的错误。
常量
描述
QModbusDevice.ResponseCrcError
接收到的Modbus响应CRC错误。
QModbusDevice.ResponseRequestMismatch
接收到的Modbus响应与打开请求不匹配,可能是由于PDU的功能代码不匹配。
如果发生上述任何中间错误,帧很可能会重发,直到达到最大重试次数。
可以从不间断的错误函数中检查中间错误列表。
使用指定的
parent构造Modbus设备。- abstract close()#
此函数负责关闭Modbus连接。实现必须确保实例的
state()被设置为UnconnectedState。另请参阅
- connectDevice()#
- 返回类型:
布尔值
将设备连接到Modbus网络。如果连接过程成功启动,则返回
true;否则返回false。最终连接成功确认要求将state()更改为ConnectedState。此函数在其实现部分调用
open()。另请参阅
- connectionParameter(parameter)#
- 参数:
parameter –
ConnectionParameter- 返回类型:
对象
返回给定连接
parameter相关联的值。返回的值可以为空。默认情况下,
QModbusDevice以某些共同值初始化。串行端口的设置是偶校验,每秒19200位波特率,8个数据位和1个停止位。对于主机地址的网络设置,设置为本地主机和端口号502。注意
为了使串行连接成功,必须将
SerialPortNameParameter设置为有效的通信端口。可从 QSerialPortInfo 获取有效串行端口的信息。返回用于 ModBus 通信的底层 QIODevice 或者在设备尚未完全初始化的情况下返回
nullptr。注意
请不要存储底层设备的指针,因为它可能在任何时间点失效。
- disconnectDevice()#
断开设备连接。
这个函数在其实现中调用
close()。返回设备错误状态。
另请参阅
当发生类型为
error的错误时,将发出此信号。- errorString()#
- 返回类型:
字符串
返回设备错误的描述性文本。
另请参阅
- 摘要 open()#
- 返回类型:
布尔值
此函数由
connectDevice()调用。子类必须提供一个新的实现来返回true表示成功建立或初始化 Modbus 连接;否则返回false。实现必须确保实例的
state()在成功时设置为ConnectingState或ConnectedState;否则设置为UnconnectedState。通常,当连接过程异步报告时使用ConnectingState,而同步连接行为则使用ConnectedState。另请参阅
- setConnectionParameter(parameter, value)#
- 参数:
parameter –
ConnectionParametervalue – 对象
将
parameter的值设置为value。如果parameter已经存在,则覆盖其之前的值。激活或正在运行中的连接不会受到此类参数变更的影响。设置设备的错误状态。ModBus 设备实现必须在使用此函数以设置错误类型和描述性
errorText的异常情况下使用此功能。设置设备的状态为
newState。Modbus 设备实现必须使用此函数来更新设备状态。另请参阅
返回设备的当前状态。
另请参阅
每当设备的状态改变时,就会发出这个信号。新状态由
state表示。另请参阅