KUKA在线测量样例程序
程序简介
功能说明 |
用户从机器人侧触发Mech-Metrics使用Mech-MSR进行测量,并向Mech-Metrics返回测量结果。 |
文件路径 |
Mech-MSR和Mech-Metrics软件安装目录下 |
所需资源 |
Mech-MSR方案和Mech-Metrics工程 |
使用前提 |
|
| 此样例程序仅是示例程序。用户需根据实际情况在此基础上进行修改,请勿直接使用该程序。 |
程序解读
以下为MSR_METRICS_SAMPLE样例程序的代码及相关解释说明。
&ACCESS RVP
&PARAM EDITMASK = *
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
DEF MSR_METRICS_SAMPLE( )
;FUNCTION: Test Metrics
INT MSR_Continuous_Mode,Measure_Result,MSR_Status
MSR_Continuous_Mode = 0
Measure_Result = 0
Failed_Count[1] = 0
Failed_Count[2] = 0
Failed_Count[3] = 0
MSR_Init_Socket("XML_Kuka_MSR",20,30,60)
MSR_Start_Measure(1,"Piece01","ABC",2,10,20,30,40,50,60,70,80,MSR_Continuous_Mode,MSR_Status)
IF MSR_Status <> 8100 THEN
MSR_LOG("Run failed!")
HALT;
ENDIF
MSR_Set_Piece_Info(1,"Piece01",MSR_Status)
IF MSR_Status <> 8103 THEN
MSR_LOG("Run failed!")
HALT;
ENDIF
;FOLD PTP P3 CONT Vel=100 % PDAT3 Tool[1] Base[0];%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.old; Kuka.IsGlobalPoint=False; Kuka.PointName=P3; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT3; Kuka.VelocityPtp=100; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=PTP
;ENDFOLD
$BWDSTART = FALSE
PDAT_ACT = PPDAT3
FDAT_ACT = FP3
BAS(#PTP_PARAMS, 100.0)
;SET_CD_PARAMS (0)
PTP XP3 C_Dis
;ENDFOLD
MSR_Measure_Feature(1,1,MSR_Status)
IF MSR_Status <> 8101 THEN
MSR_LOG("Run failed!")
HALT;
ENDIF
;FOLD PTP P2 CONT Vel=100 % PDAT2 Tool[1] Base[0];%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.old; Kuka.IsGlobalPoint=False; Kuka.PointName=P2; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT2; Kuka.VelocityPtp=100; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=PTP
;ENDFOLD
$BWDSTART = FALSE
PDAT_ACT = PPDAT2
FDAT_ACT = FP2
BAS(#PTP_PARAMS, 100.0)
;SET_CD_PARAMS (0)
PTP XP2 C_Dis
;ENDFOLD
MSR_Measure_Feature(1,1,MSR_Status)
IF MSR_Status <> 8101 THEN
MSR_LOG("Run failed!")
HALT;
ENDIF
;FOLD PTP P4 CONT Vel=100 % PDAT4 Tool[1] Base[0];%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.old; Kuka.IsGlobalPoint=False; Kuka.PointName=P4; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT4; Kuka.VelocityPtp=100; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=PTP
;ENDFOLD
$BWDSTART = FALSE
PDAT_ACT = PPDAT4
FDAT_ACT = FP4
BAS(#PTP_PARAMS, 100.0)
;SET_CD_PARAMS (0)
PTP XP4 C_Dis
;ENDFOLD
MSR_Measure_Feature(1,1,MSR_Status)
IF MSR_Status <> 8101 THEN
MSR_LOG("Run failed!")
HALT;
ENDIF
MSR_End_Measure(1,Measure_Result,Failed_Count[],MSR_Status)
IF MSR_Status <> 8102 THEN
MSR_LOG("Run failed!")
HALT;
ENDIF
MSR_View_Piece_Data(1,"Piece01",MSR_Status)
IF MSR_Status <> 8104 THEN
MSR_LOG("Run failed!")
HALT;
ENDIF
WAIT SEC 1
END
下表为上述程序的逻辑解读。在上述代码中,被注释掉的行以;开头,下表不解释被注释掉的内容。
| 流程 | 代码及说明 | ||
|---|---|---|---|
初始化通信 |
|
||
开始测量 |
|
||
为Mech-Metrics传入工件 |
|
||
移动机器人到指定位置并进行特征测量 |
|
||
结束测量 |
|
||
查询历史数据 |
|