工作区与工程管理
本文档介绍 EmeyeStudio 的工作区与工程管理功能,包括创建、打开、保存和管理工作区与工程。
概述
EmeyeStudio 采用工作区-工程两级架构,借鉴 Visual Studio 的 .sln 与 .vcxproj 组织模式:
| 概念 | 说明 | 对应文件 |
|---|---|---|
| 工作区 | 顶层容器,管理多个工程的关联及全局配置 | .workspace |
| 工程 | 独立功能单元,维护自身文件与配置 | .project |
| 资源 | ELF文件、设备、硬件配置的管理容器 | 工作区子节点 |
层级结构
Workspace(工作区)
├── Resources(资源)/ ← 工作区级别共享资源
│ ├── Connections(连接设置)/ ← 连接配置
│ │ └── XCP Slave ← 已配置的连接
│ ├── Hardware Library(硬件配置库)/ ← 硬件配置模板
│ │ ├── 电机模板.hwcfg
│ │ └── 电机配置V1.hwcfg
│ └── ELF Resources(ELF资源)/ ← ELF文件管理
│ └── motor.elf
│ └── global variables ← 全局变量列表
│
├── Project1(工程1)/ ← 工程目录
│ ├── HardwareRef(硬件配置引用)/ ← 引用工作区硬件配置
│ ├── VariablesRef(变量引用)/ ← 按硬件配置分组的变量
│ ├── WatchConfig/ ← Watch场景配置
│ ├── ScopeConfig/ ← Scope场景配置
│ ├── RecorderConfig/ ← Recorder场景配置
│ ├── Triggers(触发器)/ ← 触发规则
│ └── Data(数据)/ ← 数据文件
│ └── {UUID}_电机启动.xcpdata
│
└── Project2(工程2)/
└── ...
工作区操作
新建工作区
- 选择「文件」→「新建工作区」
- 输入工作区名称和保存路径
- 系统创建
.workspace文件
约束:同一时间只能打开一个工作区
打开工作区
方式一:选择「文件」→「打开工作区」,选择 .workspace 文件
方式二:选择工作区根目录(系统自动识别配置文件)
切换规则:
- 如果当前工作区有未保存修改,会提示保存
- 切换前会关闭当前工作区
保存工作区
- 选择「文件」→「保存工作区」
- 程序关闭前自动保存
保存内容:
- 工程列表及路径
- ELF文件列表
- 设备列表
- 视图状态(展开/折叠)
工作区自动恢复
程序启动时自动加载上次打开的工作区及其状态。
工程操作
创建工程
- 选择「文件」→「创建工程」
- 输入工程名称(禁止中文、空格、特殊字符)
- 选择工程存储路径
- 系统创建工程目录和配置文件
工程目录结构:
工程目录/
├── {工程名}.project # 工程配置文件
└── Data/ # 数据目录
打开工程
- 选择「文件」→「打开工程」
- 选择
.project文件或工程目录 - 工程将添加到当前工作区
关闭工程
- 右键工程节点 →「删除工程」
- 仅从工作区视图移除,不删除物理文件
工程右键菜单
工程节点右键
├── 开始DAQ采集 # 启动该工程 DAQ
├── 停止DAQ采集 # 停止该工程 DAQ
├── 重启DAQ采集 # 重启该工程 DAQ
├── 重命名工程
├── 查看属性
├── 导出
│ ├── 导出工程配置
│ └── 导出变量列表
└── 删除工程 # 从工作区移除(不删除物理文件)
硬件配置管理
关联硬件配置
- 右键工程下的「硬件配置」节点
- 选择「关联硬件配置」
- 从工作区硬件配置库中选择配置
硬件配置节点右键菜单
未关联时:
└── 关联硬件配置 # 打开对话框选择硬件配置
已关联时:
├── 当前: 电机配置V1.hwcfg # 仅显示
├── 更换硬件配置 # 更换为其他配置
├── 取消关联 # 解除关联
└── 从硬件配置导入变量 # 导入动态参数作为工程变量
从硬件配置导入变量
将硬件配置中的动态参数导入为工程变量:
- 仅导入动态参数(已绑定ELF变量的参数)
- 变量放入以硬件配置名称命名的分组
- 显示格式:
物理定义名称 [ELF变量名]
变量管理
变量分组
变量按硬件配置分组显示:
VariablesRef(变量引用)
├── 电机配置V1/ ← 从"电机配置V1"导入的变量
│ ├── U相电流 [g_motorCurrent_U]
│ └── 转速 [g_motorSpeed]
├── 电机配置V2/ ← 从"电机配置V2"导入的变量
│ └── ...
└── 未分组/ ← 未关联硬件配置的变量
添加变量到工程
- 在ELF文件节点下找到目标变量
- 右键 →「添加到工程」
- 变量放入工程的「未分组」节点
删除变量分组
- 右键分组节点 →「删除分组」
- 该分组下所有变量移动到「未分组」
数据管理
数据目录
数据文件统一存放在工程目录的 Data/ 子目录下:
工程目录/
└── Data/
├── {UUID}_电机启动.xcpdata
└── {UUID}_转速阶跃响应.xcpdata
文件名格式:{UUID}_{数据名称}.xcpdata
数据节点操作
数据根节点:
└── 导入数据 # 导入外部数据文件
数据文件节点:
├── 加载 # 加载到Wave视图
├── 重命名
├── 导出
└── 删除
标注片段节点:
├── 加载片段 # 在Detail Wave显示
├── 重命名
└── 删除
重要概念
关于"当前工程"概念
- 工具栏工程选择下拉框仅用于DAQ控制
- 资源管理器中的操作基于操作对象工程
- 不维护全局的"当前工程"状态
工作状态是工作区级别
工作状态包括:
- 当前显示的数据文件
- 波形视图的显示范围
- 窗口布局和分割器状态
工作状态会自动保存,程序重启后恢复。
ELF是工作区共享资源
- 多个工程可以引用同一个ELF文件
- ELF文件加载是工作区级别功能
常见问题
Q: 工程名称有什么限制?
工程名称禁止中文、空格和特殊字符,建议使用英文和数字。
Q: 删除工程会删除物理文件吗?
不会。删除工程仅从工作区视图移除,物理文件保留在原位置。
Q: 如何切换工作区?
选择「文件」→「打开工作区」,系统会提示保存当前工作区后切换。
Q: 变量分组可以删除吗?
可以。删除分组后,分组内的变量会移动到「未分组」节点。
相关文档
本文档最后更新时间:2026-04-03