共聚焦软件采集部分架构导图
来源:共聚焦软件采集部分架构导图.xmind,XMind 格式,共 80 个节点。
这是项目早期的软件架构梳理文档,用于清点采集部分涉及的所有自定义库和外部依赖库。
一、整体结构
导图分为 5 个一级分支:
- 自定义库 — 项目自研的动态链接库/DLL(60+ 个,最核心)
- 外部库 — 第三方依赖库(9 个)
- 自定义库与外部库 — 对比/分类维度(待展开)
- 调用层级关系 — 架构调用层次(待展开)
- 理清楚都有什么库 — 待办/备注
说明:后三个分支在导图中只有标题,没有展开子节点,属于待补充的工作项。
二、自定义库(60+ 个)
按功能模块归类如下:
2.1 硬件驱动与设备控制
| 库名 | 说明 |
|---|
ADLinkDAQ9814 | 采集卡库(ADLINK PCIe-9814) |
LSCMDevDriver | LSCM 设备驱动核心 |
D2ControllerInterface | D2 控制器接口 |
CoboltSkyra | Cobolt Skyra 激光器驱动(标注”?“,待确认) |
MadCityLabsNanoDrive | Mad City Labs 纳米位移台驱动 |
szleadtechSMC104A | 雷赛 SMC104A 运动控制卡 |
PriorSlideLoader | Prior 载玻片加载器 |
TUCAM | Tucam 相机 SDK 封装 |
Nexcope | Nexcope(宁波舜宇)相关设备封装 |
Camera | 相机类抽象 |
2.2 通信协议
| 库名 | 说明 |
|---|
CANFDServicePrivider | CAN FD 通信服务(CAN 通信类之一) |
ZlgCANFDServicePrivider | 周立功 CAN FD 服务提供方 |
libmodbus | Modbus 协议库 |
SerialCom | 串口通信基础库 |
SerialMsger | 串口消息封装 |
ProtocolSerialDev | 协议串口设备(出现两次,可能为重名或不同版本) |
ScanCtrlCenterModbus | 扫描控制中心 Modbus 协议 |
JoystickInterface | 摇杆/手柄接口 |
JCMultiAxis | 多轴控制接口 |
2.3 数据采集与管理
| 库名 | 说明 |
|---|
DAQManager | 数据采集管理器 |
LSCMImageAcquisition | LSCM 图像采集模块(出现两次) |
LSCMEmulator | LSCM 仿真器 |
MemDB | 内存数据库 |
SettingDB | 设置数据库 |
FCSDB | FCS(荧光相关光谱)数据库 |
FCSGate | FCS 门控 |
QtKeyValueReader | Qt 键值读取器 |
QtFileSaver | Qt 文件保存模块 |
2.4 图像处理
| 库名 | 说明 |
|---|
ImageProcessor | 图像处理器 |
SignalFilter | 信号滤波 |
Interpolation1D | 一维插值 |
CudaDataMultiChannelOversample | CUDA 多通道过采样(外部库类别中也出现) |
OpenCVDemo | OpenCV 演示/封装 |
2.5 图像显示与 UI
| 库名 | 说明 |
|---|
ImageViewer | 图像查看器核心 |
ImageViewerExtend | 图像查看器扩展 |
QtImageScrolledViewer | Qt 滚动图像查看器 |
LSCMUI | LSCM 主 UI |
LSCMUIInterface | LSCM UI 接口 |
LSCMView | LSCM 视图 |
LCSMDocks | LSCM 停靠窗口 |
CoboltSkyraUI | Cobolt Skyra 激光器 UI 动态链接库 |
ScannerControlUI | 扫描器控制 UI |
MultiAxisUIWidget | 多轴 UI 控件 |
GeneralDeviceUI | 通用设备 UI |
UILibExtend | UI 库扩展(出现两次) |
WidgetExtend | 控件扩展(出现三次) |
LoggerView | 日志视图 |
UsrDefineLog | 用户自定义日志 |
2.6 基础框架与扩展
| 库名 | 说明 |
|---|
GeneralDevice | 通用设备基类 |
GeneralExtend | 通用扩展 |
DeviceExtend | 设备扩展 |
DevSetting | 设备设置 |
StdExtendLib | 标准扩展库 |
spoiler | (名称不明,待确认) |
三、外部库(9 个)
| 库名 | 类型 | 来源/路径 | 用途 |
|---|
WD-Dask64 | 采集卡驱动库 | ADLINK\WD-DASK\lib | ADLINK PCIe-9814 采集卡驱动 |
opencv_world401 | 计算机视觉库 | Qt 类(备注有误,应为 OpenCV 4.0.1) | 图像处理 |
CudaDataMultiChannelOversample | CUDA 加速库 | — | GPU 多通道数据过采样 |
gsl | 数学库 | — | GNU Scientific Library,科学计算 |
gslcblas | BLAS 库 | — | GSL 的 BLAS 接口 |
Winmm | Windows 多媒体 API | — | Windows 系统库,多媒体定时等 |
Ws2_32 | Windows Socket | — | Windows 网络通信 |
pthreadVC2 | 线程库 | — | POSIX Threads Win32 版 |
zlgcan | CAN 卡驱动库 | — | 周立功 CAN 卡驱动 |
四、架构分析
4.1 技术栈判断
- GUI 框架:Qt(从大量 QtXxx 命名推断)
- 编程语言:C++(从命名风格和 Qt 绑定推断)
- 平台:Windows(Winmm、Ws2_32、pthreadVC2 均为 Windows 平台库)
- 硬件接口:PCIe 采集卡(ADLINK)、CAN FD(周立功)、串口、Modbus、USB 相机
- 并行计算:CUDA(GPU 加速图像处理)
4.2 模块分层(推测)
┌─────────────────────────────────────────────────┐
│ UI 层 │
│ LSCMUI / ImageViewer / ScannerControlUI 等 │
├─────────────────────────────────────────────────┤
│ 业务逻辑层 │
│ DAQManager / ImageProcessor / FCSGate 等 │
├─────────────────────────────────────────────────┤
│ 设备抽象层 │
│ GeneralDevice / LSCMDevDriver / Camera 等 │
├─────────────────────────────────────────────────┤
│ 硬件驱动/协议层 │
│ ADLinkDAQ9814 / zlgcan / libmodbus 等 │
├─────────────────────────────────────────────────┤
│ 第三方基础库 │
│ Qt / OpenCV / CUDA / GSL 等 │
└─────────────────────────────────────────────────┘
4.3 问题与待确认项
CoboltSkyra 库标注”?“——功能待确认
ProtocolSerialDev 出现两次——是否为重名或不同版本?
WidgetExtend 出现三次、UILibExtend 出现两次、LSCMImageAcquisition 出现两次——可能是导图中的重复节点或不同实现
spoiler 库名称不明,功能待确认
Nexcope 库具体封装的设备待确认
- 导图中”调用层级关系”和”自定义库与外部库”分支未展开——架构梳理未完成
五、与其他文档的关联
六、价值评估
- 价值等级:中等
- 知识密度:低(主要是库名清单,缺少调用关系和详细设计)
- 历史意义:高——这是项目早期架构梳理的产物,能反映出系统设计的初始思路和模块划分方式
- 适用场景:作为项目历史参考,与其他架构文档(Visio 流程图、需求文档)对照阅读