线程评级:
在c# API中添加程序指令
# 1
我希望通过使用c# RoboDK API来修改RoboDK中现有的程序。我发现我可以通过InstructionList函数调用获得指令列表(尽管指令类型似乎与INS_TYPE_*定义不一致)。我想在程序的某些位置添加一个新的指令,而似乎有一个方法来设置一个运动指令,API似乎不完全添加其他类型的指令。我的第一个目标是添加一个设置速度命令来改变程序的速度,但这似乎是不可用的。setInstruction似乎只允许移动命令的参数。您能否提供关于如何通过API向现有程序插入其他命令的见解(例如,在程序中途更改速度)?


public void setInstruction(int ins_id,字符串名称,int instype, int movetype, bool isjointtarget, Mat target, double[]关节)

link._check_connection ();
link._send_Line(“Prog_SIns”);
link._send_Item(这个);
link._send_Int (ins_id);
link._send_Line(名称);
link._send_Int (instype);
if (instype == INS_TYPE_MOVE)

link._send_Int (movetype);
链接。_send_Int (isjointtarget ?1: 0);
link._send_Pose(目标);
link._send_Array(关节);

link._check_status ();
如果你只是需要改变速度,你可以使用setSpeed函数:
代码:
...
program.MoveJ(…)
...
program.setSpeed (new_speed)
...

你也可以使用setParam来获取或设置指令数据。此方法需要操作JSON字符串。这个例子展示了这个概念:
//www.x7093.com/doc/en/PythonAPI/exam...structions
如果你将指令id设置为-1,或者索引传递的最后一条指令,它会将该指令作为一条新指令添加(而不是修改现有指令)。如果需要,您还可以重新排序指令。这个例子展示了这个概念:
C: \ RoboDK \图书馆\宏\ Reorganise_Prog.py




浏览此线程的用户:
1客人(年代)