样例程序1:MMS1VisBasic
程序解读
以下为MMS1VisBasic样例程序的代码及相关解释说明。
#Include "MMMODULE"
MM_DROP_COM()
Mcomnum = 7
MM_INT_COM(Mcomnum)
Tool P_NTool
PMTool=(+0.00,+0.00,+0.00,+0.00,+0.00,+0.00)
Tool PMTool
MM_SET_MOD(1,1,MM_Status)
If MM_Status <> 1107 Then
Hlt
EndIf
MM_START_VIS(1,0,1,JntSend,MM_Status)
If MM_Status <> 1102 Then
Hlt
EndIf
Dim MM_Result(20,8)
MM_GET_VIS(1,5,MM_VisionPt_Num,MM_Status,MM_Result)
If MM_Status <> 1100 Then
Hlt
EndIf
MM_GET_POS(MM_Result,1,PPick,MM_Label1,MM_ToolID1)
MM_DROP_COM()
PPick_pre=PPick
PPick_pre.Z=PPick.Z+200
Mov PPick_pre
Fine 0,P
Mvs PPick
Hlt
Mvs PPick_pre
上述样例程序代码对应的流程如下图所示。
下表为上述程序的逻辑解读。用户单击指令名称的超链接便可查看该指令的详细说明。
| 流程 | 代码及说明 | ||
|---|---|---|---|
导入MM_Module头文件 |
|
||
初始化和建立通信 |
先关闭通信再重新连接确保没有连接中的工程。 |
||
将控制点返回初始值并声明工具变量 |
|
||
切换Mech-Vision参数配方并验证状态码 |
|
||
触发运行Mech-Vision工程并验证状态码 |
整条指令表示机器人触发视觉系统运行编号为1的Mech-Vision工程,且期望Mech-Vision工程返回所有视觉点。
|
||
定义二元数组 |
用于存储点位、标注、工具数据。 |
||
获取视觉结果并验证状态码 |
|
||
转存视觉结果 |
第1个视觉点或路径点的工具位姿将保存至位置变量PPick,标签将保存至数值变量MM_Label1,工具 ID 将保存至数值变量MM_ToolID1。 |
||
断开通信 |
|
||
设置抓取接近点和离开点 |
将PPick的值赋予PPick_pre,增加PPick_pre的Z轴高度200,作为抓取接近点和离开点。 |
||
移动到抓取接近点 |
移动到抓取接近点,并设置绝对位置到达。 |
||
移动到抓取点 |
机器人以直线移动方式从抓取接近点移动到抓取点。
|
||
移动到抓取离开点 |
机器人移动到抓取点上方的某处,即到达抓取离开点。
|