qeframework架构

架构文档 (qeframework_arch.md)

1. 工程概述

本项目是基于Qt框架开发的EPICS QT Framework,旨在为EPICS(实验物理和工业控制系统)提供一套丰富的Qt控件和工具。主要功能包括:

  • 提供与EPICS CA(Channel Access)和PVA(PV Access)的集成支持。
  • 支持多种Qt版本(Qt 4、Qt 5、Qt 6)。
  • 提供丰富的UI控件,如数据可视化、图表、表单等。

2. 模块划分

2.1 QEFramework

  • 路径: qeframeworkSup/project
  • 功能: 核心框架库,提供基础控件和EPICS集成功能。
  • 关键模块:
    • adaptation_parameters: 适配参数管理。
    • common: 公共工具和基础类。
    • protocol: 协议支持模块。
    • widgets: 各类UI控件(如QEWidget、QEPlot等)。
    • archive: 归档系统支持模块。
    • data: 数据处理和管理模块。
    • threads: 线程管理模块

2.2 QEPlugin

  • 路径: qepluginApp/project
  • 功能: Qt Designer插件,用于在Qt Designer中集成QEFramework控件。
  • 关键模块:
    • QEComment: 注释控件插件。
    • QEMenuButton: 菜单按钮控件插件。
    • QEPeriodic: 周期性任务控件插件。

archapplDataSup

  • 路径: archapplDataSup
  • 功能: 提供对Archiver Appliance的支持,处理Google Protocol Buffers数据。

3 核心架构设计

3.1 数据层

EPICS QT Framework通过QCaObject类与EPICS系统进行通信。该类封装了Channel Access和PV Access协议,提供了统一的接口来处理EPICS变量的读写操作。

3.2 协议层

框架支持多种协议:

  • Channel Access (CA): 传统的EPICS通信协议
  • PV Access (PVA): 新一代EPICS通信协议

协议层通过QEBaseClient抽象类提供统一接口,具体实现包括QECaClientQEPvaClient

3.3 控件层

控件层基于Qt Widget构建,所有控件都继承自QEWidgetQEAbstractWidget。这些控件通过数据层与EPICS变量进行绑定,实现数据的自动更新和显示。

3.4 归档层

框架提供了对归档系统的支持,包括传统的Channel Archiver和新的Archiver Appliance。通过QEArchiveInterface抽象类提供统一接口,具体实现包括QEChannelArchiveInterfaceQEArchapplInterface

4. 依赖关系

4.1 外部依赖

  • Qt: 核心UI框架(支持Qt 4/5/6)。
  • EPICS: 提供CA和PVA支持。
  • QWT: 用于数据可视化(如绘图控件)。
  • FFmpeg: 可选支持,用于MPEG流媒体播放。
  • Protocol Buffers: 用于Archiver Appliance数据处理。

4.2 环境变量

  • EPICS_BASE: EPICS基础路径。
  • EPICS_HOST_ARCH: 目标架构(如win32-x86-mingw)。
  • QE_TARGET_DIR: 安装目标路径。
  • QWT_ROOT: QWT库路径。
  • ACAI: ACAI库路径。

5. 构建配置

5.1 关键配置

  • Qt版本: 通过QT_MAJOR_VERSION指定(4/5/6)。
  • PV Access支持: 通过QE_PVACCESS_SUPPORT启用。
  • MPEG支持: 通过QE_FFMPEG启用。
  • Archiver Appliance支持: 通过QE_ARCHAPPL_SUPPORT启用。

5.2 构建步骤

  1. 确保所有依赖环境变量已设置。
  2. 运行qmake生成Makefile。
  3. 执行make构建项目。
  4. 运行make install安装库和头文件。

6. UML架构图

归档支持
数据流向
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值