样例程序1:MM_S1_Vis_Basic
程序解读
以下为MM_S1_Vis_Basic样例程序的代码及相关解释说明。
1. MJOINT(POINTC(264.2282,-217.9533,359.1164,-83.989165,1.303953,176.0864,CFG1,0,0,1), v100perc, fine, tool0);
2. MM_Init_Socket(1);
3. CALL: MM_Open_Socket();
4. CALL: MM_Status := MM_Switch_Model(1, 1);
5. CALL: MM_Status := MM_Start_Vis(1, 0, 1, MM_J);
6. CALL: MM_Status, MM_LastData, MM_POS_NUM := MM_Get_VisData(1);
7. IF MM_Status <> 1100 THEN
8. STOPPROG;
9. END_IF;
10. CALL: MM_Pose[1], MM_Label[1], MM_Tool[1] := MM_Get_Pose(1);
11. MM_Pre := MM_Pose[1];
12. MM_Pre.z := MM_Pose[1].z+100;
13. MLIN(MM_Pre, v500, fine, tool0);
14. MLIN(MM_Pose[1], v500, fine, tool0);
15. MLIN(MM_Pre, v500, fine, tool0);
16. CALL: MM_Close_Socket();
下表为上述程序的逻辑解读。用户单击指令名称的超链接便可查看该指令的详细说明。
| 流程 | 代码及说明 | ||
|---|---|---|---|
移动到拍照点 |
因此,整条指令表示机器人以关节移动方式准确移动至拍照点。 |
||
初始化通信参数 |
|||
建立通信 |
机器人通过MM_Open_Socket指令与视觉系统之间建立TCP协议通信连接。 |
||
切换Mech-Vision参数配方 |
因此,整条指令表示将Mech-Vision工程1的参数配方切换成编号为1的参数配方。 |
||
触发运行Mech-Vision工程 |
因此,整条指令表示机器人触发视觉系统运行编号为1的Mech-Vision工程,且期望Mech-Vision工程返回所有视觉点。 |
||
获取视觉结果 |
因此,整条指令表示机器人获取Mech-Vision工程1返回的视觉结果。
当状态码MM_Status为1100时,则机器人成功获取到所有视觉结果;否则视觉系统发生异常。用户可根据具体异常状态码做相应的处理。 |
||
转存视觉结果 |
因此,整条指令表示将第一个视觉点的工具位姿、标签和末端工具编号分别转存至指定变量。 |
||
移动到抓取接近点 |
因此,上述代码表示机器人直线移动到抓取点上方100mm处。
|
||
移动到抓取点 |
机器人以直线移动方式从抓取接近点移动到抓取点。 |
||
移动到抓取离开点 |
机器人移动到抓取点上方的100mm处,即到达抓取离开点。
|
||
关闭通信 |
机器人通过MM_Close_Socket指令断开与视觉系统之间的TCP协议通信连接。 |