1. 机器人运行时,上位机如何获取当前机器人程序指针所在的模块(module)和例行程序名称(routine)?如上图,当前示教器指针位置在模块Module1中的例行程序Main,C#端界面也能同时显示当前指针在Module1中main
2. 可以使用task1[0].ProgramPointer.Module来获取任务1中的程序指针所处模块,
使用task1[0].ProgramPointer.Routine获取程序指针所在的routine
3. 为了实时获取程序指针信息,使用事件触发机制(行号发生变化触发相应事件)
4.插入如下代码。运行后,示教器端的行号就可以在c#端实时显示。
void subscribe()
{
tasks = controller.Rapid.GetTasks();
tasks[0].ProgramPointerChanged+= new EventHandler<ProgramPositionEventArgs>(task_PPChanged);
}
void task_PPChanged(object sender, ProgramPositionEventArgs e)
{
textBox1.Text = "程序指针在模块:" + e.Position.Module.ToString()+"\r\n";
textBox1.Text = textBox1.Text + " 在例行程序:" + e.Position.Routine.ToString();
}