利用PCSDK中的SetProgramPointer函数就可以快速的设置程序指针到任意例行程序中,如代码所示。
private void btnStartRapidProgram_Click (object sender, EventArgs e)
{
try
{
if (controller.OperatingMode == ControllerOperatingMode.Auto)
{
tasks = controller.Rapid.GetTasks ( );
using (Mastership m = Mastership.Request (controller.Rapid))
{
tasks[0].SetProgramPointer("MainMoudle", "main");
}
}
else
{
MessageBox.Show ("Automatic mode is required to start execution from a remote client.");
}
}
catch (System.InvalidOperationException ex)
{
MessageBox.Show ("Mastership is held by another client." + ex.Message);
}
catch (System.Exception ex)
{
MessageBox.Show ("Unexpected error occurred: " + ex.Message);
}
}
第7行代码:
获取机器人控制器中所有的任务。
第11行代码:
tasks[0]代表第1个任务,
SetProgramPointer中第1个参数为模块名称,第2个为例行程序名称,
即将程序指针设置在MainMoudle模块中的main程序的***句代码上。
运行上位机软件
连接上机器人控制器
触发该段代码所在的事件
Bingo:Rapid中的指针指向了main的第1句代码。