IDE 外壳
主窗口
打开 IDE 后,界面分为以下几个区域:
| 区域 | 位置 | 作用 |
|---|---|---|
| Ribbon 工具栏 | 顶部 | 所有常用操作按钮 |
| 项目浏览器 | 左侧 | 树形结构,显示项目所有内容 |
| 编辑器 | 中央 | 写代码、画梯形图、设计 HMI 的地方 |
| 工具箱 / 属性 | 右侧 | 可拖动的控件库、属性编辑 |
| 输出 / 日志 | 底部 | 编译信息、报警、在线监控 |
| 状态栏 | 最底部 | 连接状态、扫描周期、当前项目 |

Ribbon 页签
| 页签 | 什么时候用 |
|---|---|
| 开始 | 新建/打开/保存项目、撤销重做 |
| 视图 | 切换面板显隐、保存布局、换主题 |
| PLC | 编译、下载、启动/停止 Runtime、在线监控 |
| 运动 | 机器人相关:示教、点动、运动模式 |
| HMI | HMI 页面编辑、控件库、发布 |
| 设置 | AI 配置、授权、系统偏好 |
Ribbon 会根据当前编辑器自动切换上下文页签。例如:打开梯形图时,会出现「梯形图工具」页签;打开 HMI 页面时,会出现「HMI 工具」页签。

面板停靠
所有侧边 / 底部面板都可以:
- 拖动标题栏:移到别的位置
- 右键 → 隐藏:暂时关掉
- 视图页签 → 显示:重新打开
布局会自动保存,下次启动还原。
重置布局:视图页签 → 重置默认布局。
区域详解
Ribbon 工具栏
Ribbon 是 IDE 的顶级入口, 按任务类型分组。所有按钮都是静态声明, 没有"根据状态消失"的动态行为, 方便记忆肌肉操作。每个按钮悬浮会显示完整 Tooltip, 包含功能描述和默认快捷键。
| 页签 | 主要分组 | 典型按钮 |
|---|---|---|
| 开始 | 文件 / 剪贴板 / 视图 / 窗口 | 新建、打开、保存、剪切复制粘贴、查找替换 |
| PLC | 项目 / 编译 / 在线 / 监控 | 编译、下载、启动、停止、在线模式、变量监视 |
| 运动 | 机器人 / 示教 / 仿真 / 工艺 | 添加机器人、示教盒、点动、仿真运行 |
| HMI | 页面 / 控件 / 绑定 / 发布 | 新建页面、工具箱、变量绑定、发布资源包 |
| 视图 | 面板 / 布局 / 主题 | 显隐面板、保存布局、切换主题 |
| 设置 | 授权 / 偏好 / 快捷键 / 语言 | 许可证、设置对话框、快捷键编辑器 |
上下文页签会在打开特定编辑器时自动出现:
- 打开 LAD 时: 出现 梯形图工具 (元件库/插入/对齐)
- 打开 HMI 页面时: 出现 HMI 工具 (对齐/分布/Z序)
- 打开 CFC 时: 出现 CFC 工具 (功能块/针脚/连线)
项目资源管理器 (左侧)
项目树是工程的导航器, 所有增删改都从这里开始。详见 项目浏览器。支持的交互:
- 拖拽节点排序 / 移动到其他文件夹
- 多选 (Ctrl/Shift) 批量操作
- 右键菜单按节点类型动态变化
- 搜索框按名称/注释过滤 (支持正则)
- 节点图标指示状态 (新增/已改/锁定/错误)
代码编辑区 (中央)
支持多标签页和分屏。每个标签是一个独立的编辑器实例, 根据节点类型选择:
| 节点类型 | 编辑器 |
|---|---|
| SCL 程序 | 结构化控制语言 (语法高亮、补全、折叠) |
| LAD 程序 | 梯形图拖拽 |
| CFC 程序 | 连续功能图 (框/针脚/数据流拖拽) |
| 变量表 | 表格 (排序/过滤/批量编辑) |
| HMI 页面 | 画布拖拽控件 |
| 机器人程序 | RAPID-like 脚本 |
分屏: 按住标签头往左/右/上/下拖到编辑区边缘, 出现停靠提示后松开。分屏后两个编辑器独立滚动、独立保存。
输出窗 (底部)
输出窗分多个子标签:
| 标签 | 内容 |
|---|---|
| 编译 | 编译过程信息、错误、警告 |
| 运行日志 | Service / Runtime 推送的实时日志 |
| 报警 | 当前激活报警 + 历史记录 |
| 查找结果 | 全局搜索 (Ctrl+Shift+F) 输出 |
| IO 诊断 | 总线扫描/从站故障输出 |
双击编译错误能直接跳到源代码对应行。日志和报警都支持按级别过滤、按时间范围过滤、按模块过滤。

监视窗 (底部, 可切分)
在线模式下显示实时变量值。支持多个监视表, 每个表独立刷新:
| 列 | 说明 |
|---|---|
| 变量名 | 支持搜索 / 拖拽添加 |
| 地址 | %M/%I/%Q 地址 |
| 数据类型 | BOOL / INT / REAL / DT ... |
| 当前值 | 实时刷新, 修改后变色 |
| 新值 | 双击输入, 按 Enter 下发 |
| 强制 | 勾选锁定值, 程序写入无效 |
| 注释 | 项目变量表里的注释 |
工具箱 (右侧)
工具箱根据当前编辑器类型动态切换内容:
- 打开 LAD → 梯形图元件 (触点/线圈/定时器/计数器/功能块)
- 打开 CFC → 功能块库 (逻辑/算数/运动/通讯)
- 打开 HMI → HMI 控件 (按钮/指示灯/曲线/表格/3D 视图)
每类工具箱又按功能区分组, 右上角有搜索框。支持自定义收藏夹, 把常用元件固定到顶部。
导航器 (右侧, 可折叠)
导航器是"代码地图", 显示当前编辑器的结构。对于 SCL 文件显示变量/函数/注释大纲, 对于 LAD 显示网络列表, 对于 HMI 页面显示控件树。点击导航器条目跳转到对应位置。
状态栏 (最底部)
从左到右:
| 区域 | 显示内容 |
|---|---|
| 当前项目 | 激活项目名 (双击定位) |
| 连接状态 | Service / Runtime 连接图标 |
| 周期时间 | 实时扫描周期 (当前 / 最大 / 抖动) |
| 编译状态 | 最近一次编译结果 (成功/失败/变更) |
| 编码器位置 | 光标所在行/列/字符位置 |
| 缩放 | 编辑器当前缩放比例 |
| 语言 | 当前界面语言 (简中/繁中/英/日/韩/德/俄/法) |

DockManager 持久化布局
IDE 使用 DevExpress DockManager 做停靠管理, 布局信息保存在:
%AppData%\DarraPLC\_last_layout.xml
每次正常退出时自动保存, 下次启动时自动加载。关键行为:
- 拖出主窗口: 任意面板标题栏可以拖到桌面, 成为独立浮动窗口 (适合多屏办公)
- 收缩为侧边栏: 点击面板顶部的图钉按钮, 面板收起为屏幕边缘的一条按钮, 鼠标悬浮时展开
- 保存为预设: 视图 → 保存布局为..., 给当前布局起一个名字, 之后可以一键切换
- 多屏适配: 拖到第二屏后, 下次启动会记住每个面板在哪个屏
- 重置默认: 布局混乱时, 视图 → 重置默认布局 可恢复出厂状态
建议为不同工作场景保存多套布局:
- 编程布局: 项目树 + 代码编辑器 + 输出
- 调试布局: 代码编辑器 + 监视窗 + 趋势 + 报警
- HMI 布局: 画面编辑器 + 控件库 + 属性 + 绑定
面板完整清单
| 面板名 | 位置 | 默认状态 | 作用 |
|---|---|---|---|
| 项目浏览器 | 左侧 | 显示 | 工程树 |
| 工具箱 | 右侧 | 显示 | 元件/控件库 |
| 属性 | 右侧 | 显示 | 当前选中对象属性 |
| 导航器 | 右侧 | 隐藏 | 代码/页面结构 |
| 输出 | 底部 | 显示 | 编译/日志/查找 |
| 监视 | 底部 | 隐藏 | 在线变量监视 |
| 报警 | 底部 | 隐藏 | 当前激活报警 |
| 趋势 | 底部 | 隐藏 | 模拟量曲线 |
| 交叉引用 | 底部 | 隐藏 | 变量的引用点列表 |
| 书签 | 底部 | 隐藏 | 代码书签 |
| 任务 | 底部 | 隐藏 | TODO/FIXME 聚合 |
| IO 强制值 | 底部 | 隐藏 | 强制值清单 |
| Git 变更 | 底部 | 隐藏 | 工程 Git 改动列表 |
显示/隐藏任意面板: 视图页签 → 面板分组 → 点对应按钮。
排错
| 症状 | 处理 |
|---|---|
| 启动后布局完全错乱 | 视图 → 重置默认布局 |
| 某个面板拖出去后找不回来 | 视图 → 面板分组 → 点对应按钮 |
| 多屏下副屏断开后面板消失 | 重置布局或手工把 _last_layout.xml 删除 |
| 面板拖拽时整个 IDE 卡顿 | 关闭在线模式再拖, 避免实时刷新干扰 |
| 切换主题后配色没变 | 重启 IDE; 极少数自绘控件需要重启才重绘 |