Skip to content

SetRestorePC 预设恢复运行行号

该指令用于预设程序在恢复运行(Restore)时的起始行号。当程序因为暂停、停止或异常中断后重新启动时,系统通常默认从中断处继续。执行此指令后,你可以强制程序在"由停转启"的瞬间,将程序指针(PC)跳转到指定的行号。

注意: 该指令仅在 run 程序(即自动运行模式下的主程序或子程序)中使用有效。

指令格式

SetRestorePC(index) SetRestorePC(目标行号)


参数详细说明

参数类型说明默认值/备注
index:程序指针(PC index)int(整型)程序重新开始运行时的行号(从 1 开始计数)。

工作原理

SetRestorePC 本质上是在系统中注册了一个"断点恢复地址"。它不会立即跳转,而是在下一次程序从"停止/暂停"状态切换到"运行"状态时生效。


示例:异常恢复逻辑

estun
// 假设第 1-5 行为初始化逻辑
// 第 10 行为主作业逻辑开始处

SetRestorePC(1) 
// 设置:无论程序在哪里停止,只要重新启动,就必须从第 1 行初始化开始运行

MovL(P1, 1000, 0, 1)
DO1 = ON
// ... 更多代码

应用场景

  • 安全复位:在复杂的工艺逻辑中,如果程序中途停止,直接从原地继续运动可能会导致撞机或逻辑错误。通过 SetRestorePC 指向程序的"初始化"或"安全回零"部分,确保每次启动都是受控的。
  • 流程重置:对于码垛或装配任务,如果人为干预停止了程序,重新启动时可能需要从第一步重新检查物料状态,此时可将其指向检查逻辑所在的行。
  • 分段运行保护:在调试阶段,可以动态设置恢复点,确保在按下启动键后,程序能跳过已验证的代码块,直接从特定行开始测试。

⚠️ 重要提示

  1. 静态设置:行号通常是固定的。如果程序代码发生了增删,原本指向的行号含义可能会发生偏移,维护时需注意同步修改。
  2. 谨慎使用:强制改变 PC 指针可能会导致程序跳过关键的 IO 信号复位或逻辑闭环,建议在跳转目标行编写完善的初始化检查逻辑。

ESTUN Robotics — ER 系列机器人编程语言指令参考