添加程序说明书
This commit is contained in:
parent
03b3d7b811
commit
a26e43eda8
29
README.md
29
README.md
@ -37,6 +37,10 @@ VoltageReaderApp 是一个基于 PyQt5 和 pyqtgraph 的电压监控应用程序
|
|||||||
pip install pyqt5 pyqtgraph pandas openpyxl pyserial
|
pip install pyqt5 pyqtgraph pandas openpyxl pyserial
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## 主界面
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## 使用
|
## 使用
|
||||||
|
|
||||||
1. 运行应用程序:
|
1. 运行应用程序:
|
||||||
@ -79,28 +83,3 @@ VoltageReaderApp
|
|||||||
├── save_data(self) # 保存数据到 Excel 文件
|
├── save_data(self) # 保存数据到 Excel 文件
|
||||||
└── load_data(self) # 从 Excel 文件加载数据
|
└── load_data(self) # 从 Excel 文件加载数据
|
||||||
```
|
```
|
||||||
|
|
||||||
## 代码说明
|
|
||||||
|
|
||||||
monitor.py
|
|
||||||
|
|
||||||
monitor.py 文件包含 VoltageReaderApp 类的实现。以下是主要方法的说明:
|
|
||||||
|
|
||||||
- init(self): 初始化应用程序,设置 UI 和变量。
|
|
||||||
- initUI(self): 初始化用户界面。
|
|
||||||
- setup_port_group(self, layout): 设置串口选择部分的 UI。
|
|
||||||
- setup_action_group(self, layout): 设置操作按钮部分的 UI。
|
|
||||||
- setup_channel_group(self, layout): 设置通道选择部分的 UI。
|
|
||||||
- setup_plot_widget(self, layout): 设置绘图部分的 UI。
|
|
||||||
- update_ports(self): 更新串口列表。
|
|
||||||
- connect_serial(self): 连接到选择的串口。
|
|
||||||
- start_reading(self): 开始读取数据。
|
|
||||||
- stop_reading(self): 停止读取数据。
|
|
||||||
- read_data(self): 从串口读取数据并处理。
|
|
||||||
- update_plot(self): 更新绘图。
|
|
||||||
- toggle_curve_visibility(self, state, index): 切换通道曲线的可见性。
|
|
||||||
- toggle_auto_follow(self): 切换自动跟随功能。
|
|
||||||
- toggle_show_raw(self): 切换显示原始值或计算值。
|
|
||||||
- save_data(self): 保存数据为 Excel 文件。
|
|
||||||
- load_data(self): 加载数据并显示。
|
|
||||||
|
|
||||||
|
BIN
doc/主界面.png
Normal file
BIN
doc/主界面.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 83 KiB |
89
doc/程序说明.doc
Normal file
89
doc/程序说明.doc
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
电压监测应用程序详细说明书
|
||||||
|
概述
|
||||||
|
本说明书详细介绍了一个基于 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 窗口,并启动应用程序。
|
||||||
|
|
||||||
|
结论
|
||||||
|
本电压监测应用程序通过串口读取电压数据,并实时显示在图表上。用户可以方便地选择串口和波特率,启动和停止数据读取,保存和加载数据,以及切换显示原始值和计算值。该应用程序具有良好的用户界面和数据处理能力,适用于各种电压监测场景。
|
Loading…
Reference in New Issue
Block a user