样例程序4:MMS4VISUser
程序解读
以下为MMS4VISUser样例程序的代码及相关解释说明。
#Include "MMMODULE"
MM_DROP_COM()
Mcomnum = 7
MM_INIT_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(10, 8)
Dim MM_CustInfo(10,15)
MM_GET_CUST (1,MM_Status,MM_VisionPt_Num,MM_CustInfo_Num,MM_Result,MM_CustInfo)
If MM_Status <> 1100 Then
Hlt
EndIf
Dim MM_CustData(10, 15)
MM_GET_CUSTP(MM_Result,MM_CustInfo_Num,MM_CustInfo,1,PPick_pre, MM_Label1,MM_CustData)
MM_GET_CUSTP(MM_Result,MM_CustInfo_Num,MM_CustInfo,2,PPick,MM_Label2,MM_CustData)
MM_GET_CUSTP(MM_Result,MM_CustInfo_Num,MM_CustInfo,3,PPick_after,MM_Label3,MM_CustData)
MM_DROP_COM()
Mov PPick_pre
Fine 0,P
Mvs PPick
Hlt
Mvs PPick_after
上述样例程序代码对应的流程如下图所示。
下表为上述程序的逻辑解读。用户单击指令名称的超链接便可查看该指令的详细说明。
| 流程 | 代码及说明 | ||
|---|---|---|---|
导入MM_Module头文件 |
|
||
初始化和建立通信 |
先关闭通信再重新连接确保没有连接中的工程。 |
||
将控制点返回初始值并声明工具变量 |
|
||
切换Mech-Vision参数配方并验证状态码 |
|
||
触发运行Mech-Vision工程并验证状态码 |
整条指令表示机器人触发视觉系统运行编号为1的Mech-Vision工程,且期望Mech-Vision工程返回5视觉点。
|
||
定义&声明存储容器 |
|
||
获取视觉结果(包含自定义数据) |
整条指令表示机器人获取Mech-Vision工程1返回的视觉结果(其中包含自定义数据)。
|
||
定义&声明存储容器 |
|
||
转存视觉结果(包含自定义数据) |
整条指令表示将第一个视觉点的工具位姿、标签和末端工具编号分别转存至指定变量。 |
||
断开通信 |
|
||
移动到抓取接近点 |
移动到抓取接近点,并设置绝对位置到达。 |
||
移动到抓取点 |
机器人以直线移动方式从抓取接近点移动到抓取点。
|
||
移动到抓取离开点 |
机器人移动到抓取点上方的某处,即到达抓取离开点。
|