# LLRF-tools **Repository Path**: xcy63/llrf-tools ## Basic Information - **Project Name**: LLRF-tools - **Description**: 用于LLRF各类测试 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-21 - **Last Updated**: 2026-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LLRF Tools - 低电平射频系统工具集 **Author**: Chengye Xu 这是一个专为低电平射频(LLRF)系统设计的综合工具集,包含数据采集、处理、可视化、参数设置和系统快照管理等功能。 ## 项目概述 LLRF Tools 是一个模块化的工具集合,旨在为低电平射频系统的开发、测试和维护提供完整的解决方案。该工具集采用 Python 开发,使用 PyQt5 构建图形用户界面,支持多种数据格式和实时数据处理。 ## 项目结构 ``` llrf-tools/ ├── adc_calibration/ # ADC校准工具 │ ├── config.py # 配置文件 │ ├── data_collector.py # 数据采集器 │ ├── multi_channel_gui.py # 多通道GUI界面 │ └── n5171b_control.py # N5171B信号源控制 ├── DAQ/ # 数据采集模块 │ ├── DAQ_csv/ # CSV格式数据处理 │ └── DAQ_h5/ # HDF5格式数据处理 ├── parameter_setter/ # 参数设置工具 ├── Snapshot/ # 系统快照管理 └── README.md # 项目说明文档 ``` ## 功能模块 ### 1. ADC校准工具 (`adc_calibration/`) **功能描述**: 多通道ADC校准系统,支持自动幅值扫描和数据采集 **主要特性**: - 多通道并行数据采集 - 自动幅值扫描(支持自定义范围) - 实时数据监控和显示 - 支持N5171B信号源控制 - 线程安全的数据处理 **使用方法**: ```bash cd adc_calibration python multi_channel_gui.py ``` **配置说明**: - 在 `config.py` 中配置通道PV地址 - 支持自定义扫描参数和采集设置 ### 2. 数据采集模块 (`DAQ/`) #### 2.1 CSV数据处理 (`DAQ_csv/`) **功能描述**: 专门处理CSV格式的DAQ数据,提供强大的可视化和分析功能 **主要特性**: - 支持单个或多个CSV文件加载 - 16通道ADC数据支持 - A/P和I/Q两种绘图模式 - 时域波形和频域FFT分析 - 单图和多图显示模式 - 丰富的绘图参数调整选项 **使用方法**: ```bash cd DAQ/DAQ_csv pip install -r requirements.txt python main.py ``` #### 2.2 HDF5数据处理 (`DAQ_h5/`) **功能描述**: 专门处理HDF5格式的LLRF数据,支持复杂的数据结构分析 **主要特性**: - HDF5文件树状结构浏览 - 智能幅度-相位数据配对 - 灵活的数据排序功能 - 批量波形处理 - 多种绘图模式(A/P、I/Q) - 时域和频域分析 **使用方法**: ```bash cd DAQ/DAQ_h5 pip install -r requirements.txt python main.py ``` **工具脚本**: - `demo_sorting.py`: 排序逻辑演示 - `hdf5_quick_view.py`: 快速查看HDF5文件内容 - `read_hdf5_structure.py`: 详细显示文件结构 ### 3. 参数设置工具 (`parameter_setter/`) **功能描述**: 低电平测量通道衰减offset参数批量设置工具 **主要特性**: - 自动生成PV名称(基于模式匹配) - 支持按恒温器批量设置参数 - 动态配置管理 - 别名格式和PV格式自动转换 - 详细的错误处理和状态报告 **使用方法**: ```bash cd parameter_setter # 列出所有可用超导腔 python parameter_setter.py list # 设置单个超导腔参数 python parameter_setter.py set-cavity CM1-1 --params offset4=1.0 offset5=2.0 # 设置整个恒温器参数 python parameter_setter.py set-module 1 --params offset4=1.0 offset5=2.0 ``` **配置文件**: - `config.json`: PV模式配置 - `default_parameters.json`: 默认参数设置 ### 4. 系统快照管理 (`Snapshot/`) **功能描述**: EPICS系统状态快照保存和恢复工具 **主要特性**: - 系统状态快照保存 - 快照列表管理和浏览 - 支持按腔体筛选快照 - 快照恢复功能 - 时间戳和描述管理 **使用方法**: ```bash cd Snapshot python snapshot_gui.py ``` ## 系统要求 ### 基础环境 - Python 3.6+ - PyQt5 - EPICS Python包(用于参数设置工具) ### 依赖库 各模块的具体依赖请参考各自的 `requirements.txt` 文件: - **通用依赖**: PyQt5, numpy, matplotlib - **数据处理**: pandas, scipy, h5py - **EPICS集成**: epics-python - **网络通信**: pyvisa(用于仪器控制) ## 安装指南 ### 1. 克隆项目 ```bash git clone cd llrf-tools ``` ### 2. 创建虚拟环境(推荐) ```bash python -m venv llrf_env source llrf_env/bin/activate # Linux/Mac # 或 llrf_env\Scripts\activate # Windows ``` ### 3. 安装依赖 ```bash # 安装基础依赖 pip install PyQt5 numpy matplotlib pandas scipy # 安装EPICS支持(如需要) pip install epics-python # 安装仪器控制支持(如需要) pip install pyvisa ``` ## 使用示例 ### 数据采集和分析 1. 启动相应的DAQ工具(CSV或HDF5版本) 2. 加载数据文件 3. 配置绘图参数 4. 查看分析结果 ### 系统参数设置 1. 配置 `parameter_setter/config.json` 2. 运行参数设置工具 3. 使用命令行或API设置参数 ### ADC校准 1. 连接N5171B信号源 2. 启动多通道GUI 3. 配置扫描参数 4. 执行自动校准 ## 开发指南 ### 代码结构 - 采用模块化设计,各功能独立 - 使用MVC架构模式 - 统一的错误处理机制 - 配置驱动的设计 ### 扩展开发 - 新功能模块可独立开发 - 遵循现有的代码规范 - 提供完整的文档和测试 ## 故障排除 ### 常见问题 1. **EPICS连接失败**: 检查EPICS环境变量配置 2. **仪器连接问题**: 确认网络连接和IP地址设置 3. **数据文件格式错误**: 检查文件格式和路径 4. **GUI显示异常**: 确认PyQt5安装正确 ### 日志和调试 - 各模块提供详细的错误信息 - 支持调试模式运行 - 可查看控制台输出获取详细信息 ## 贡献指南 欢迎提交问题报告和功能请求。如需贡献代码: 1. Fork项目 2. 创建功能分支 3. 提交更改 4. 创建Pull Request ## 联系方式 如有问题或建议,请通过以下方式联系: - 提交GitLab Issue - 发送邮件至项目维护者:xuchengye@impcas.ac.cn --- **注意**: 使用本工具集前,请确保了解相关的安全操作规程,特别是在处理高功率射频系统时。