2. 虚拟机器人系统备份与恢复调试
备份对象与恢复验证链路
ROBOGUIDE 虚拟控制器的备份不是简单复制一个文件夹,而是把控制器内部可恢复的配置集合导出为镜像文件。恢复时,控制器会先清空当前配置区,再按镜像内容重建。因此,备份前必须确认哪些内容属于“可恢复对象”,恢复后要逐项比对。
备份前的基准记录
恢复验证的前提是备份前有一份可对照的基准数据。在 ROBOGUIDE 虚拟控制器中,建议在备份前记录以下内容:
- 程序清单:所有 .TP 程序名、行数、当前执行的寄存器值(如 R[1]~R[10])。
- I/O 映射表:DI/DO 编号与名称、机架/插槽/起始点、当前 ON/OFF 状态。
- 系统变量快照:至少记录 $SCR_GRP[1].$MCH_POS 等运动相关变量,以及 $IO_AUTO_CFG 等 I/O 自动配置标志。
- 坐标系数据:工具坐标系 TCP 值、用户坐标系原点与方向。
这些基准值可以手动抄录,也可以在虚拟控制器中通过“系统 → 变量”页面截图保存。恢复后逐项比对时,任何一项不一致都说明恢复不完整或镜像文件损坏。
修改系统参数并恢复
为了验证恢复功能,需要在备份后故意修改部分系统参数,再执行恢复。建议修改以下三类参数,因为它们容易观察且不影响虚拟控制器启动:
- 修改 I/O 映射:将某个 DO 的机架号从 0 改为 1,或改变起始点。恢复后该 DO 应回到备份前的映射。
- 修改系统变量:例如将 $SCR_GRP[1].$MCH_POS 的某个分量改掉,或修改 $MOTN_GRP 中的速度限制。恢复后应回到备份值。
- 删除或重命名程序:删除一个子程序,或修改 MAIN 中的一行指令。恢复后程序应完整还原。
修改完成后,执行恢复操作:控制器 → 恢复 → 选择之前生成的 .IMG 镜像 → 确认覆盖 → 等待重启。恢复完成后,虚拟控制器会自动冷启动,此时不要立即运行程序,先进入验证比对环节。
恢复后逐项验证
恢复后按以下顺序比对,每项都应与备份前基准一致:
| 验证项 | 检查位置 | 通过条件 |
|---|---|---|
| 程序列表 | 程序 → 列表 | 程序名、数量与备份前完全相同 |
| 程序内容 | 打开 MAIN 与子程序 | 行数、指令、寄存器引用一致 |
| I/O 映射 | I/O → 数字 → 配置 | 机架/插槽/起始点与备份前一致 |
| I/O 当前值 | I/O → 数字 → 状态 | DI/DO 的 ON/OFF 状态与备份前一致 |
| 系统变量 | 系统 → 变量 | 关键 $ 变量数值与备份前一致 |
| 坐标系 | 坐标系 → 工具/用户 | TCP 值与用户坐标系数据一致 |
如果所有项都一致,说明备份与恢复链路正常。如果某项不一致,优先检查镜像文件是否完整、恢复过程中是否断电或中断,以及该参数是否属于“不可备份”的运行时变量。
在 ROBOGUIDE 中,虚拟控制器的备份文件通常包含 .IMG 和 .CFG 两类文件。恢复时选择 .IMG 即可,.CFG 用于记录控制器硬件配置,一般不需要手动恢复。
恢复操作会覆盖当前虚拟控制器的全部配置。如果当前有未保存的程序修改,恢复后将永久丢失。执行恢复前务必确认已备份当前状态,或确认不需要保留当前修改。