標準インターフェースコマンド
ロボットプログラミングを行う際は、以下の点にご注意ください。
-
複数のパラメータはカンマで区切る必要があります。
-
引数はすべて整数型(Integer)です。
-
すべてのパラメータはプログラムファイル内でローカル変数として定義する必要があります。
-
パラメータは入力パラメータと出力パラメータと定義します。
通信開始と終了
-
コマンド:Open_socket
-
コマンド:Close_socket
これらは、Denso のデータ通信関数Commを呼び出しています。通常、プログラムの始めに「Open_socket」を実行し、終わる際に「Close_socket」を呼び出します。
Mech-Vision をトリガー
-
目的:Mech-Viz を使用せず Mech-Vision を使用する場合に使用します。対応する Mech-Vision プロジェクトを実行して、データの取得および処理を行います。
入力パラメータ |
説明 |
Job |
Mech-Vision のプロジェクト番号 |
Pos_Num_Need |
結果の予期数(1~20 に設定可能) 0:すべての結果が取得されます。 |
SendPos_Type |
ロボット位置姿勢のタイプ 0:Eye To Hand(Mech-Vision はロボットの位置姿勢を必要としません) 1:Eye In Hand(ロボットの現在の関節角度+フランジ位置姿勢を送信) 2:Eye In Hand(現在のフランジ位置姿勢を送信、直行ロボットなどロボットが関節角度データがない際に使用) 3:Eye To Hand(カスタマイズされた関節角度を送信、 「経路計画」ステップはロボットが送信する関節角度を初期位置姿勢として使用する際に使用) |
Jr_Num |
SendPos_Type=3 の場合のみ使用 事前定義されたロボットの関節角度を保存するために使 用された P 型変数 |
-
コマンド:MM_Start_Vis Job,Pos_Num_Need,SendPos_Type,Jr_Num
-
サンプル
MM_Start_Vis 1,0,1,2
このサンプルを実行すると Mech-Vision プロジェクト 1 が実行されます。結果として Mech-Vision プロジェクト 1 からすべてのビジョン結果を返します。ロボットは現在の関節角度とフランジ位置姿勢を Mech-Vision に送信します。
Mech-Vision の結果取得
-
目的:Mech-Viz を使用せず Mech-Vision を使用する場合に使用します。対応するMech-Vision プロジェクトから画像処理結果を取得します。
-
コマンド:MM_Get_VisData Job,IrPosNum,IrStatus
入力パラメータ |
説明 |
IrPosNum |
取得した出力結果の数を格納する I 型変数 |
IrStatus |
Mech-Vision のステータスコードを格納する I 型変数 |
出力パラメータ |
説明 |
Job |
Mech-Vision のプロジェクト番号 |
-
サンプル
MM_Get_VisData 1,1,2
このサンプルを実行すると Mech-Vision のプロジェクト 1 から視覚結果を取得します。受信した結果の数は I[1]に保存されます。ステータスコードは I[2]に保存されます。
Mech-Viz をトリガー
-
目的:Mech-Vision と Mech-Viz の両方を使用する場合に使用します。対応する Mech-Viz プロジェクトを実行します。この時 Mech-Viz のシミュレーション上でロボットの初期関節位置が設定されます。
-
コマンド:MM_Start_Viz SendPos_Type,Jr_Num
入力パラメータ |
説明 |
SendPos_Type |
ロボットの位置姿勢タイプ 0:Mech-Viz にロボットの位置姿勢を送信しない Mech-Viz の仮想ロボットは関節角度[0,0,0,0,0,0]から一番目の経路点に移動します。 1:ロボットの現在の関節角度とフランジ位置姿勢を送信 Mech-Viz の仮想ロボットは現在の関節角度から一番目の経路点に移動します。 2:事前定義された関節角度を送信 Mech-Viz の仮想ロボットは設定された関節角度から一番目の経路点に移動します。 |
Jr_Num |
SendPos_Type=2 の場合のみ使用 |
-
サンプル
MM_Start_Viz 1,0
Mech-Viz プロジェクトを実行し、現在のロボットの関節角度とフランジ位置姿勢を Mech-Viz に送信します。
移動計画を取得
-
目的:Mech-Viz のプロジェクトの計画経路を取得するために使用されます。
-
コマンド:MM_Get_VizData Jps_Pos, IrPosNum, IrVisPos_Num, IrStatus
入力パラメータ |
説明 |
Jps_Pos |
Mech-Viz からどのような形式で経路点を返すかを指定します。 1:ロボットの関節角度(J)の形式 2:ロボットのツール位置姿勢(TCP) |
出力パラメータ |
説明 |
IrPosNum |
取得した出力結果の数を格納する I 型変数 |
IrVisPos_Num |
最初の視覚移動の順番を格納する I 型変数 例:移動_1、移動_2、ビジョン処理による移動_3、移動_3の場合、最初のビジョン処理による移動の位置は 3 です。 ビジョン処理による移動が含まれていない場合、0 を返します。 |
IrStatus |
Mech-Viz のステータスコードを格納する I 型変数 |
-
サンプル
MM_Get_VizData 2,1,2,3
Mech-Viz から行動計画を TCP 位置姿勢で取得します。受信した移動位置の数は I[1]に保存されます。視覚移動の順番は I[2]に保存されます。ステータスコードは I[3]に保存されます。
位置姿勢を取得
-
目的:Mech-Vision または Mech-Viz から送信された TCP 位置姿勢を指定した P 型変数に保存します。
-
コマンド:MM_Get_Pose Serial, Pr_Num, IrLabel, IrSpeed
入力パラメータ |
説明 |
Serial |
保存する位置姿勢のインデックス |
出力パラメータ |
説明 |
Pr_Num |
指定された位置姿勢を格納する P 型変数 |
IrLabel |
指定した位置姿勢に対応するラベルを格納する I 型変数 |
IrSpeed |
指定した位置姿勢に移動する速度を格納する I 型変数 |
-
サンプル
MM_Get_Pose 1,20,11,21
このサンプルを実行すると、受信した 1 番目の位置姿勢を P[20]に、対応するラベルをI[11]に、対応する運動速度 I[21]に保存します。
関節角度を取得
-
目的:Mech-Viz から送信された関節角度を指定した J 型変数に保存します。
-
コマンド:MM_Get_JPS Serial, Pr_Num, Reg_Label, Reg_Speed
入力パラメータ |
説明 |
Serial |
保存する関節角度のインデックス |
出力パラメータ |
説明 |
Pr_Num |
指定された関節角度を格納する J 型変数 |
Reg_Label |
指定した位置姿勢に対応するラベルを格納する I 型変数 |
Reg_Speed |
指定した位置姿勢に移動する速度を格納する I 型変数 |
-
サンプル
MM_Get_JPS 1,20,11,21
このサンプルを実行すると、受信した 1 番目の位置姿勢を J[20]に、対応するラベルをI[11]に、対応する運動速度 I[21]に保存します。
Mech-Vision パラメータレシピの切り替え
-
目的:使用する Mech-Vision プロジェクトのパラメータレシピを指定します。このコマンドは、MM_Start_Visの前に呼び出す 必要があります。
-
コマンド:MM_Set_Model Job, Model_Num
入力パラメータ |
説明 |
Job |
Mech-Vision のプロジェクト番号 |
Model_Num |
Mech-Vision プロジェクトのパラメータレシピ番号(1~99) |
-
サンプル
MM_Set_Model 1,2
このサンプルを実行すると、Mech-Vision プロジェクト 1 で使用されているパラメータレシピを 2 番に切り替えます。
Mech-Viz の分岐を選択
-
目的:Mech-Viz の 「メッセージによって異なる分岐を実行」 ステップを使用する際に必要となります。Mech-Viz で異なる分岐処理を作る際に分岐の指定を行います。このコマンドの前に MM_Start_Viz を呼び出す必要があります。
-
コマンド:MM_Set_Branch Branch_Num,Export_Num
入力パラメータ |
説明 |
Branch_Num |
「メッセージによって異なる分岐を実行」のステップ ID |
Export_Num |
Mech-Viz プロジェクトは設定された分岐の出口 ただし、ここの Export_Num 番号は Mech-Viz で表される番号の +1 になります。例えば、Mech-Viz 上で表示される 0 の出口は、Export_Num 1 に相当します。 |
-
サンプル
MM_Set_Branch 2, 1
このサンプルを実行すると、Mech-Viz はステップ ID が 2 の「メッセージによって異なる分岐を実行」の最初の出口を通過して実行継続します。
キャリブレーション
-
目的:ロボットとカメラの位置関係をキャリブレーションする際に使用します。
-
ロボットプログラム MM_Auto_Calib.pcs 以外で呼び出すことはないです。
-
コマンド:Calibration MoveType,PosJps,WaitTime,AxisNum,AxisVal,Pr_serial
パラメータ |
説明 |
MoveType |
キャリブレーション中の移動方式 1:直線、動作補間 L 2:関節、動作補間 P/PTP |
PosJps |
キャリブレーション途中点の形式 1:TCP、P 変数 2:関節角度、J 変数 |
WaitTime |
ロボットが目標点到着してから撮像までの待ち時間[s] ボードの揺れを防ぐためです。 |
AxisNum |
軸数。通常は 6 を入れます。 |
AxisVal |
外部軸の数値[mm] なしの場合は 0 を入れます。 |
Pr_serial |
キャリブレーション途中点を一時保存する P 型変数と J型変数の番号 P、J 両方に書き込みしますので他のプログラムと競合しないように注意してください。 |
-
サンプル
Calibration 2,2,2,6,0,98
このサンプルを実行すると:
-
ロボットが六軸で、外部軸無し条件下です。
-
キャリブレーションにおいて、ロボットは関節角度の途中点を受信しつつ、動作補間 P で各途中点に移動します。
-
各途中点は P[98]と J[98]に一時保存されます。