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 にワークを入力 |
|
||
ロボットを指定位置へ移動させ、特徴測定を行う |
|
||
測定終了 |
|
||
履歴データ照会 |
|