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