2. 虚拟机器人系统备份与恢复调试

备份对象与恢复验证链路

ROBOGUIDE 虚拟控制器的备份不是简单复制一个文件夹,而是把控制器内部可恢复的配置集合导出为镜像文件。恢复时,控制器会先清空当前配置区,再按镜像内容重建。因此,备份前必须确认哪些内容属于“可恢复对象”,恢复后要逐项比对。

虚拟控制器 (VC) 机器人程序 (.TP) MAIN / 子程序 / 寄存器 I/O 配置 DI/DO / GI/GO / 映射 系统变量 $SCR_GRP / $MOTN_GRP 等 坐标系数据 工具 / 用户 / 关节 系统参数 运动 / 通信 / 显示 密码与权限 安装 / 用户等级 备份操作 1. 控制器 → 备份 → 全部 2. 选择存储路径 (U盘/本地) 3. 生成 .IMG 镜像文件 记录备份时间与版本号 恢复操作 1. 控制器 → 恢复 → 选择镜像 2. 确认覆盖当前配置 3. 等待重启完成 恢复后需冷启动生效 恢复后验证比对 程序列表与内容 比对程序名、行数、寄存器值 I/O 信号状态 比对 DI/DO 映射与当前值 系统变量值 比对关键 $ 变量数值 坐标系数据 比对工具/用户坐标系值 系统参数 比对运动/通信参数 导出 镜像文件 写回 恢复后读取比对 关键原则:备份前记录基准值 → 恢复后逐项比对 → 全部一致才判定恢复成功

备份前的基准记录

恢复验证的前提是备份前有一份可对照的基准数据。在 ROBOGUIDE 虚拟控制器中,建议在备份前记录以下内容:

  • 程序清单:所有 .TP 程序名、行数、当前执行的寄存器值(如 R[1]~R[10])。
  • I/O 映射表:DI/DO 编号与名称、机架/插槽/起始点、当前 ON/OFF 状态。
  • 系统变量快照:至少记录 $SCR_GRP[1].$MCH_POS 等运动相关变量,以及 $IO_AUTO_CFG 等 I/O 自动配置标志。
  • 坐标系数据:工具坐标系 TCP 值、用户坐标系原点与方向。

这些基准值可以手动抄录,也可以在虚拟控制器中通过“系统 → 变量”页面截图保存。恢复后逐项比对时,任何一项不一致都说明恢复不完整或镜像文件损坏。

修改系统参数并恢复

为了验证恢复功能,需要在备份后故意修改部分系统参数,再执行恢复。建议修改以下三类参数,因为它们容易观察且不影响虚拟控制器启动:

  1. 修改 I/O 映射:将某个 DO 的机架号从 0 改为 1,或改变起始点。恢复后该 DO 应回到备份前的映射。
  2. 修改系统变量:例如将 $SCR_GRP[1].$MCH_POS 的某个分量改掉,或修改 $MOTN_GRP 中的速度限制。恢复后应回到备份值。
  3. 删除或重命名程序:删除一个子程序,或修改 MAIN 中的一行指令。恢复后程序应完整还原。

修改完成后,执行恢复操作:控制器 → 恢复 → 选择之前生成的 .IMG 镜像 → 确认覆盖 → 等待重启。恢复完成后,虚拟控制器会自动冷启动,此时不要立即运行程序,先进入验证比对环节。

恢复后逐项验证

恢复后按以下顺序比对,每项都应与备份前基准一致:

验证项检查位置通过条件
程序列表程序 → 列表程序名、数量与备份前完全相同
程序内容打开 MAIN 与子程序行数、指令、寄存器引用一致
I/O 映射I/O → 数字 → 配置机架/插槽/起始点与备份前一致
I/O 当前值I/O → 数字 → 状态DI/DO 的 ON/OFF 状态与备份前一致
系统变量系统 → 变量关键 $ 变量数值与备份前一致
坐标系坐标系 → 工具/用户TCP 值与用户坐标系数据一致

如果所有项都一致,说明备份与恢复链路正常。如果某项不一致,优先检查镜像文件是否完整、恢复过程中是否断电或中断,以及该参数是否属于“不可备份”的运行时变量。

在 ROBOGUIDE 中,虚拟控制器的备份文件通常包含 .IMG 和 .CFG 两类文件。恢复时选择 .IMG 即可,.CFG 用于记录控制器硬件配置,一般不需要手动恢复。
恢复操作会覆盖当前虚拟控制器的全部配置。如果当前有未保存的程序修改,恢复后将永久丢失。执行恢复前务必确认已备份当前状态,或确认不需要保留当前修改。