pyqt_monitor/doc/程序说明.doc
2024-11-03 13:25:14 +08:00

89 lines
5.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

电压监测应用程序详细说明书
概述
本说明书详细介绍了一个基于 PyQt5 和 pyqtgraph 的电压监测应用程序。该应用程序通过串口读取电压数据,并实时显示在图表上。用户可以选择不同的串口和波特率,启动和停止数据读取,保存和加载数据,以及切换显示原始值和计算值。
系统架构
主要模块
界面模块:使用 PyQt5 创建用户界面,包括串口设置、操作按钮、通道选择和数据图表。
串口通讯模块:使用 pyserial 库进行串口通讯,读取电压数据包。
数据处理模块:处理读取的数据包,将原始值转换为电压值,并存储在队列中。
数据展示模块:使用 pyqtgraph 库实时绘制电压数据图表。
类和方法
VoltageReaderApp主窗口类继承自 QMainWindow包含所有界面元素和功能逻辑。
__init__初始化界面和变量。
initUI设置用户界面。
setup_port_group设置串口配置组。
setup_action_group设置操作按钮组。
setup_channel_group设置通道选择组。
setup_plot_widget设置数据图表。
update_ports更新串口列表。
connect_serial连接到选定的串口。
start_reading开始读取数据。
stop_reading停止读取数据。
read_data从串口读取数据包并处理。
update_plot更新数据图表。
toggle_curve_visibility切换通道曲线的可见性。
toggle_auto_follow切换自动跟随模式。
toggle_show_raw切换显示原始值和计算值。
save_data保存数据到 Excel 文件。
load_data从 Excel 文件加载数据。
界面设计
串口设置
选择串口:下拉列表,显示可用的串口。
刷新串口:按钮,刷新串口列表。
选择波特率:下拉列表,选择波特率。
连接:按钮,连接到选定的串口。
操作按钮
开始读取:按钮,开始读取数据。
停止读取:按钮,停止读取数据。
自动跟随:按钮,切换自动跟随模式。
显示原始值:按钮,切换显示原始值和计算值。
保存数据:按钮,保存数据到 Excel 文件。
加载数据:按钮,从 Excel 文件加载数据。
通道选择
通道复选框:复选框,选择要显示的通道。
数据图表
数据图表:使用 pyqtgraph 库绘制的实时数据图表。
详细实现
初始化和界面设置
在 VoltageReaderApp 类的 __init__ 方法中,初始化界面和变量。调用 initUI 方法设置用户界面,包括窗口标题、大小和布局。
界面初始化
在 initUI 方法中,设置主窗口的标题和大小,创建中央小部件和主布局。然后调用 setup_port_group、setup_action_group、setup_channel_group 和 setup_plot_widget 方法分别设置串口配置组、操作按钮组、通道选择组和数据图表。
串口设置组
在 setup_port_group 方法中,创建串口设置组,包括选择串口、刷新串口、选择波特率和连接按钮。每个控件都添加到布局中,并设置相应的事件处理函数。
操作按钮组
在 setup_action_group 方法中,创建操作按钮组,包括开始读取、停止读取、自动跟随、显示原始值、保存数据和加载数据按钮。每个按钮都添加到布局中,并设置相应的事件处理函数。
通道选择组
在 setup_channel_group 方法中,创建通道选择组,包括多个通道复选框。每个复选框都添加到布局中,并设置相应的事件处理函数。
数据图表
在 setup_plot_widget 方法中,创建数据图表,使用 pyqtgraph 库绘制实时数据图表。将图表添加到布局中,并初始化每个通道的数据曲线。
串口更新和连接
在 update_ports 方法中,更新串口列表,获取当前可用的串口并添加到下拉列表中。在 connect_serial 方法中,连接到选定的串口,并设置相应的波特率。
数据读取和处理
在 start_reading 方法中,启动数据读取,创建一个线程从串口读取数据包。在 read_data 方法中,处理读取的数据包,将原始值转换为电压值,并存储在队列中。
数据图表更新
在 update_plot 方法中,更新数据图表,根据用户选择显示原始值或计算值,并实时绘制数据曲线。
通道曲线可见性切换
在 toggle_curve_visibility 方法中,切换通道曲线的可见性,根据用户选择显示或隐藏相应的通道数据。
自动跟随和显示原始值切换
在 toggle_auto_follow 方法中,切换自动跟随模式。在 toggle_show_raw 方法中,切换显示原始值和计算值,并更新数据图表。
数据保存和加载
在 save_data 方法中,保存数据到 Excel 文件,并导出数据图表。在 load_data 方法中,从 Excel 文件加载数据,并更新数据图表。
主程序入口
在主程序入口中,创建 QApplication 实例,创建 VoltageReaderApp 窗口,并启动应用程序。
结论
本电压监测应用程序通过串口读取电压数据,并实时显示在图表上。用户可以方便地选择串口和波特率,启动和停止数据读取,保存和加载数据,以及切换显示原始值和计算值。该应用程序具有良好的用户界面和数据处理能力,适用于各种电压监测场景。