標準インターフェースコマンド

KUKAで標準インターフェースを用いてロボットプログラミングを行う際は、以下の点にご注意ください。

  1. 複数の パラメータ はコロンで区切る必要があります。

  2. 全てのパラメータは ローカル変数 と定義します。

  3. パラメータは 入力パラメータ あるいは 出力パラメータ と定義することが可能です。

KUKA標準インターフェースは、以下の機能を提供しています。

通信の初期化(MM_Init_Socket)

本サブプログラムによって、TCP/IP通信の設定、通信成功フラグ、データ受信成功フラグ、接続タイムアウト時間の設定に使われるXMLというファイルが作成されます。

  • サブプログラム:

    MM_Init_Socket(XML_Name[]:IN,Alive_Flag:IN,Recv_Flag:IN,Time_Out:IN)

  • パラメータの説明:

    パラメータ

    説明

    入力パラメータ

    XML_Name[]

    XMLファイル名(大文字と小文字を区別する)です。

    Alive_Flag

    XMLファイルに記録された通信成功フラグの番号です。フラグがONと設定された場合、通信が正常に確立できます。

    Recv_Flag

    XMLファイルに記録されたデータ受信成功フラグの番号です。フラグがONと設定された場合、ロボットが正常にデータを受信することができます。

    Time_Out

    接続タイムアウト時間(秒単位)です。

  • サンプル:

    MM_Init_Socket("XML_Kuka_MMIND",873,871,60)

  • 詳細な説明:

    このサンプルを実行した場合、“XML_Kuka_MMMIND”という通信設定用 XMLファイルで、通信成功フラグを873、データ受信成功フラグを871、接続タイムアウト時間を60 秒に設定しています。

Mech-Visionをトリガー(MM_Start_Vis)

Mech-Visionを使用し、Mech-Vizを使用しないで実行する場合に使用します。対応するMech-Visionプロジェクトを実行して、データの取得および処理を行います。

  • サブプログラム:

    MM_Start_Vis(Job:IN,Pos_Num_Need:IN,SendPos_Type:IN,MM_J:IN)

  • パラメータの説明:

パラメータ

説明

入力パラメータ

Job

Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。

Pos_Num_Need

ビジョンポイントの予期数、つまりMech-Visionから受信したいビジョンポイントの数です。設定可能な範囲は0~20で、0に設定するとすべてのビジョンポイントが取得されます。

SendPos_Type

ロボット位置姿勢のタイプです。このパラメータはロボット実機の位置姿勢がMech-Visionに送信される形式を指定します。パラメータ範囲は0~3です。

  • 0:ロボットの位置姿勢をビジョンシステムに送信する必要はありません。プロジェクトがEye To Handモードである場合、画像撮影はロボットの位置姿勢とは関係なく、Mech-Visionはロボットの位置姿勢を必要としません。

  • 1:ロボットの位置姿勢を「ロボットの現在の関節角度+フランジ位置姿勢」の形式でビジョンシステムに送信します。Eye In Handのプロジェクトでは、このパラメータを推奨します。Mech-Visionプロジェクトの「経路計画」ステップはロボットを使用して関節角度を送信します。フランジ位置姿勢がすべてゼロの場合、フランジデータは無視されます。

  • 2:ロボットの位置姿勢を現在のフランジ位置姿勢の形式でビジョンシステムに送信します。Eye In Handのプロジェクトで、ロボットが関節角度データがなく、フランジ位置姿勢のみがある場合(直行ロボットなど)に適しています。

  • 3:ロボットの位置姿勢をカスタマイズされた関節角度の形式(ユーザーにより設定された関節角度の変数を読み込む)でビジョンシステムに送信します。Eye To Handプロジェクトでは、このパラメータを推奨します。Mech-Visionプロジェクトの「経路計画」ステップはロボットが送信する関節角度を初期位置姿勢として使用します。

MM_J

E6AXIS型の変数で、事前定義済みのロボットの関節角度を保存するために使用されます。この関節角度は、SendPos_Type=3の場合のみ使用されます。

  • サンプル:

    MM_Start_Vis (1,1,1,MM_J)

  • 詳細な説明:

    このサンプルを実行するとMech-Visionプロジェクト1が実行されます。結果としてMech-Visionプロジェクト1から1つのビジョン結果を返します。ロボットが現在の関節角度とフランジ位置姿勢をMech-Visionに送信します。

Mech-Visionの結果取得(MM_Get_VisData)

Mech-Vizを使用せずMech-Visionを使用する場合に使用します。対応するMech-Visionプロジェクトから画像処理結果を取得します。

  • サブプログラム:

    MM_Get_VisData(Job:IN,Last_Data:OUT,Pos_Num:OUT,MM_Status:OUT)

  • パラメータの説明:

    パラメータ

    説明

    入力パラメータ

    Job

    Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。

    出力パラメータ

    Last_Data

    すべての結果が送信されたかどうかを記録するための変数です。返された値は0である場合、結果をすべて送信し終わっていないことを意味します。返された値は1である場合、すべての結果を送信されたことを意味します。

    Pos_Num

    取得した出力結果の数を記録するための変数です。

    MM_Status

    Mech-Visionのステータスコードを記録するための変数です。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

  • サンプル:

    MM_Get_VisData(1,Last,Pose_Num,Status)

  • 詳細な説明:

    このサンプルを実行するとMech-VisionのNo.1プロジェクトから視覚結果を取得します。すべての結果が送信されたかどうかはLastに保存されます。受信した視覚結果の数はPose_Numに保存されます。ステータスコードはStatusに保存されます。

Mech-Vizをトリガー(MM_Start_Viz)

Mech-VisionとMech-Vizの両方を使用する場合に使用します。Mech-Vizプロジェクトを実行し、それに対応するMech-Visionプロジェクトも実行されます。この時Mech-Vizのシミュレーション上でロボットの初期関節位置が設定されます。

  • サブプログラム:

    MM_Start_Viz(SendPos_Type:IN,MM_J:IN)

  • パラメータの説明:

パラメータ

説明

入力パラメータ

SendPos_Type

ロボットの位置姿勢タイプで、範囲は0~2です。

  • 0:Mech-Vizにロボットの位置姿勢を送信する必要はありません。Mech-Vizの仮想ロボットは関節角度[0,0,0,0,0,0]から一番目の経路点に移動します。

  • 1:Mech-Vizにロボットの現在の関節角度とフランジ位置姿勢を送信します。Mech-Vizの仮想ロボットは現在の関節角度から一番目の経路点に移動します。

  • 2:Mech-Vizに事前定義された関節角度を送信します。Mech-Vizの仮想ロボットは現在設定された関節角度から一番目の経路点に移動します。

MM_J

E6AXIS型の変数で、事前定義済みのロボットの関節角度を保存するために使用されます。この関節角度は、SendPos_Type=2の場合のみ使用されます。

  • サンプル:

    MM_Start_Viz (1,MM_J)

  • 詳細な説明:

    対応するMech-Vizプロジェクトを実行し、現在のロボットの関節角度とフランジ位置姿勢をMech-Vizに送信します。

移動計画を取得(MM_Get_VizData)

Mech-Vizから移動計画を取得するために使用されます。

  • サブプログラム:

    MM_Get_VizData(Jps_Pos:IN,Last_Data:OUT,Pos_Num:OUT,VisPos_Num:OUT,MM_Status:OUT)

  • パラメータの説明:

    パラメータ

    説明

    入力パラメータ

    Jps_Pos

    Mech-Vizから送信される移動位置の方式を設定します。

    1:関節角度を送信します。

    2:TCP位置姿勢を送信します。

    出力パラメータ:

    Last_Data

    すべての移動位置が送信されたかどうかを記録するための変数です。返された値は0である場合、結果をすべて送信し終わっていないことを意味します。返された値は1である場合、すべての結果を送信されたことを意味します。

    Pos_Num

    取得した位置姿勢の数を記録するための変数です。

    VisPos_Num

    最初の視覚移動の順番を記録するための変数です。例えば、move-1、move-2、visual_move-3、move-3、visual_move-2の場合、最初の視覚移動の順番は3です。行動計画に視覚移動が含まれていない場合、0に設定します。

    MM_Status

    Mech-Visionのステータスコードを記録するための変数です。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

  • サンプル:

    MM_Get_VizData(2,Last,Pose_Num,VisPos_Num,Status)

  • 詳細な説明:

    このサンプルを実行するとMech-Vizから行動計画をTCP位置姿勢で取得します。すべての行動計画が送信されたかどうかをLastに保存されます。受信した移動位置の数はPose_Numに保存されます。視覚移動の順番はVisPose_Numに保存されます。ステータスコードはStatusに保存されます。

位置姿勢を取得(MM_Get_Pose)

Mech-Visionから送信された視覚結果またはMech-Vizから送信されたTCP位置姿勢データを指定した位置姿勢変数に保存します。

  • サブプログラム:

    MM_Get_Pose(Serial:IN,MM_P:OUT,MM_Label:OUT,MM_Speed:OUT)

  • パラメータの説明:

    パラメータ

    説明

    入力パラメータ

    Serial

    保存する位置姿勢のインデックスを指定します。

    出力パラメータ:

    MM_P

    指定された位置姿勢を記録するための変数です。

    MM_Label

    指定された位置姿勢に対応するラベルを記録するための変数です。

    MM_Speed

    指定された位置姿勢に移動する速度を記録するための変数です。

  • サンプル:

    MM_Get_Pose(1,XP1,Label,Pose_Speed)

  • 詳細な説明:

    このサンプルを実行すると、最初に受信した位置姿勢をXP1に、対応するラベルをLabelに、対応する移動速度をPose_Speedに保存します。

関節角度を取得(MM_Get_Jps)

Mech-Vizによって送信された関節角度を指定した変数に保存します。

  • サブプログラム:

    MM_Get_Jps(Serial:IN, MM_J:OUT, MM_Label:OUT, MM_Speed:OUT)

  • パラメータの説明:

    パラメータ

    説明

    入力パラメータ

    Serial

    保存する位置姿勢のインデックスを指定します。

    出力パラメータ:

    MM_J

    指定された関節角度を記録するための変数です。

    MM_Label

    指定された位置姿勢に対応するラベルを記録するための変数です。

    MM_Speed

    指定された位置姿勢に移動する速度を記録するための変数です。

  • サンプル:

    MM_Get_Jps(1,JP1,Label,Pose_Speed)

  • 詳細な説明:

    このサンプルを実行すると、最初に受信した関節角度をJP1に、対応するラベルをLabelに、対応する移動速度をPose_Speedに保存します。

Mech-Visionパラメータレシピの切り替え(MM_Switch_Model)

使用するMech-Visionプロジェクトの保存されたパラメータレシピを指定します。パラメータレシピの詳細については、パラメータレシピの設定をご参照ください。このコマンドは、MM_Start_Visの前に呼び出す必要があります。

  • サブプログラム:

    MM_Switch_Model(Job:IN,Model_Number:IN)

  • パラメータ説明:

    パラメータ

    説明

    入力パラメータ

    Job

    Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。

    Model_Number

    Mech-Visionプロジェクトのパラメータレシピ番号(1~99)です。

  • サンプル:

    MM_Switch_Model (2,2)

  • 詳細な説明:

    このサンプルを実行すると、Mech-VisionプロジェクトNo.2で使用されているパラメータをパラメータレシピNo.2に切り替えます。

Mech-Vizの分岐を選択(MM_Set_Branch)

Mech-Vizプロジェクトをどの分岐に沿って実行するかを選択する場合に使用されます。このような分岐は、 「メッセージによって異なる分岐を実行」 ステップをプロジェクトに追加することで実現可能です。このコマンドの前にMM_Start_Vizを呼び出す必要があります。Mech-Vizで「メッセージによって異なる分岐を実行」まで実行する場合、203コマンドが分岐出口を送信するのを待ちます。

  • サブプログラム:

    MM_Set_Branch(Branch_Num:IN,Export_Num:IN)

  • パラメータの説明:

    パラメータ

    説明

    入力パラメータ

    Branch_Num

    このパラメータ、つまり、 メッセージによって異なる分岐を実行 のステップIDは正の整数である必要があります。ステップIDは、ステップパラメータで読み取りを行います。

    Export_Num

    分岐の出口、Mech-Vizプログラムは設定された分岐の出口に沿って実行し続けます。パラメータ範囲は[1-99]です。

  • サンプル:

    MM_Set_Branch(1,3)

  • 詳細な説明:

    このサンプルを実行すると、Mech-Viz内の1という名前の「メッセージによって異なる分岐を実行」の出口3を通過するようになります。

移動インデックスを設定(MM_Set_Index)

「リストによる移動」、「グリッドによる移動」、「カスタムパレットパターン」、「スマートパレットパターン」など、インデックス付きの移動ステップに対して、このコマンドを呼び出してインデックスを設定することができます。このコマンドを呼び出す前にMM_Start_Vizを実行する必要があります。

  • サブプログラム:

    MM_Set_Index(Skill_Num:IN,Index_Num:IN)

  • 入力パラメータの説明:

    Skill_Num

    インデックス付きの移動ステップのステップIDで、正の整数である必要があります。ステップIDは、ステップパラメータで読み取りを行います。

    Index_Num

    次にこのステップが実行されたときに設定されるべきインデックス値です。

    このコマンドを送信すると、Mech-Vizの現在のインデックス値がこのパラメータの値から1を引いた値に変更されます。

    このコマンドで指定したステップにMech-Vizプロジェクトが実行されると、Mech-Vizの現在のインデックス値が、このパラメータの値まで1つずつ増加します。

  • サンプル:

    MM_Set_Index (2,10)

  • 詳細な説明:

    このサンプルを実行すると、2という名前のステップのインデックス値を9に設定します。

ソフトウェアのステータスを取得(MM_Get_Status)

現在、Mech-Visionのプロジェクトステータスを確認できます。将来的には、このコマンドを使用して、Mech-Vision、Mech-Viz、およびMech-Centerの実行ステータスを取得できるようになります。

  • サブプログラム:

    MM_Get_Status(MM_Status:OUT)

  • パラメータの説明:

    パラメータ

    説明

    出力パラメータ

    MM_Status

    Mech-Visionのステータスコードを記録するための変数です。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

  • サンプル:

    MM_Get_Status(Status)

  • 詳細な説明:

    このサンプルを実行すると、ステータスコードを取得し、StatusCodeに格納します。

Mech-Visionへ物体寸法を入力(MM_Set_BoxSize)

物体の寸法をMech-Visionに入力するコマンドです。このコマンドはMM_Start_Visの前に呼び出す必要があります。

  • サブプログラム:

    MM_Set_BoxSize(Job:IN, Lenght:IN, Width:IN, Height:IN)

  • パラメータ説明:

    パラメータ

    説明

    入力パラメータ

    Job

    Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。

    Lenght

    物体の長さ(メートル単位)です。

    Width

    物体の幅(メートル単位)です。

    Height

    物体の高さ(メートル単位)です。

  • サンプル:

    MM_Set_BoxSize(1,500,300,200)

  • 詳細な説明:

    このサンプルを実行すると、Mech-VisionプロジェクトNo.1のステップ「対象物の寸法を読み取る」の物体寸法を500×300×200mmに設定されます。

DO信号リストの取得(MM_Get_DoList, MM_Set_Dolist)

このコマンドで区分化された吸着ハンドを制御するためにDO信号のリストを取得します。このコマンドはMM_Get_VizDataの前に呼び出す必要があります。 XXXX/Mech-Center-xxx/tool/viz_project/suction_zone のサンプルプロジェクトを参考にしてMech-Vizプロジェクトを作成し、Mech-Vizプロジェクトに吸盤のコンフィグファイルを設定する必要があります。また、Mech-Vizにある受信者の名前を現在のロボットモデルと設定する必要があります。

  • サブプログラム:

    MM_Get_DoList() DO信号を取得します。

    MM_Set_DoList() DO信号を設定します。

  • サンプル:

    MM_Set_DoList()

    MM_Set_DoList()

  • 詳細な説明:

    このサンプルを実行すると、Mech-Vizで計算されたDOリストをDo_Port[I]に保存され、値が対応するDO信号に入力されます。

Mech-VizにTCP座標を入力(MM_Set_Pos)

TCPの位置姿勢データをMech-Viz内のステップ 外部移動 に送信することができます。このコマンドはMM_Start_Vizの前に呼び出す必要があります。 XXXX/Mech-Center-xxx/tool/viz_project/outer_move のサンプルプロジェクトを参考にしてMech-Vizプロジェクトを作成し、Mech-Viz内のステップ 外部移動 をワークフロー内の適切な位置に配置してください。

  • サブプログラム:

    MM_Set_Pos(Out_Pos:IN)

  • パラメータの説明:

    パラメータ

    説明

    入力パラメータ

    Out_Pos

    Mech-Vizに送信するTCPデータを格納してある変数です。

  • サンプル:

    MM_Set_Pos(XP50)

  • 詳細な説明:

    このサンプルを実行すると、位置姿勢変数XP50が表す位置姿勢データがMech-Vizの外部移動ステップに送信されます。

キャリブレーション

カメラの外部パラメータをキャリブレーションするときに使用します。Mech-Visionのカメラキャリブレーション機能と連動してキャリブレーションを自動的に行います。

  • サブプログラム:

    MM_CALIB(Move_Type:IN,PosJps:IN,WaitTime:IN,E1:IN)

  • パラメータの説明:

    パラメータ

    説明

    入力パラメータ

    Move_Type

    モーションタイプです。1はMoveLであり、2はMoveJです。

    PosJps

    座標位置または関節角度を設定します。1は座標位置であり、2は関節角度です。

    WaitTime

    ロボットがキャリブレーションポイントに到達した後の待機時間(秒)で、デフォルトでは2秒です。

    E1

    外部軸のデータ(必要な場合)です。

  • サンプル:

    MM_Calib(2,2,2,0)

  • 詳細な説明:

    このサンプルを実行すると、ロボットは関節角度を利用して移動します。2秒以内次の位置へ到達しないと、停止します。また、ロボットには外部7軸を設定していません。

Mech-Visionのカスタマイズされたデータを取得

このコマンドは、Mech-Visionの 出力 ステップからカスタマイズされたデータを受け取るために使用されます。つまり、posesとlabels以外のポートデータを受け取ります(ステップパラメータ「ポートタイプ」を「カスタム」に設定する場合)。

  • サブプログラム:

    MM_GET_DY_DATA( Job:IN,Pos_Num:OUT,MM_Status:OUT)

  • パラメータの説明:

    パラメータ

    説明

    入力パラメータ

    Job

    Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。

    出力パラメータ

    Pos_Num

    INT型の変数で、返されたビジョンポイントの数を保存するために使用されます。

    MM_Status

    INT型の変数で、このコマンドが実行した後に返されたステータスコードを保存するために使用されます。

  • サンプル:

    MM_GET_DY_DATA (1,Pose_Num,Status)

  • 詳細な説明:

    このサンプルを実行すると、Mech-Visionのプロジェクト1らカスタマイズされたデータが取得されます。ビジョンポイントの数がPose_Numに、ステータスコードがStatusに保存されます。

Mech-Visionから取得したカスタマイズされたデータを変数に保存

このコマンドは、Mech-Visionからのカスタマイズされたデータを指定したロボット変数に保存するために使用されます。Mech-Visionのカスタマイズされたデータを取得 を実行した後に使用します。

  • サブプログラム:

    MM_GET_DYPOSE (Serial:IN, MM_P:OUT, MM_Label:OUT)

  • パラメータの説明:

    パラメータ

    説明

    入力パラメータ

    Serial

    取得するビジョンポイントのカスタマイズされたデータをを指定します。

    出力パラメータ

    MM_P

    位置姿勢の変数で、指定したビジョンポイントの位置姿勢を保存するために使用されます。

    MM_Label

    INT型の変数で、指定したビジョンポイントのラベルを保存するために使用されます。

    MM_UserData

    定義されたグローバル配列変数で、指定したビジョンポイントが対応するカスタマイズされたデータを保存するために使用されます。配列の長さは50す。

  • サンプル:

    MM_GET_DYPOSE (1,XP1,Label)

  • 詳細な説明:

    このサンプルを実行すると、最初に受信したビジョンポイントの位置姿勢がXP1に、対応するラベルがLabelに、対応するカスタマイズされたデータがMM_UserDataに保存されます。

Mech-Vizから経路点を取得

このコマンドは、Mech-Vizから計画した経路を取得するために使用されます。経路点は、一般的な移動経路点またはビジョン移動経路点であることができます。経路点には、位置姿勢、速度、ツール情報、ワーク情報などが含まれる場合があります。

このコマンドを実行して得られる経路点は、次の3つのいずれかになります。

  1. ビジョン処理による移動 以外の移動経路点に加えて、その情報には、運動タイプ(関節運動または直線運動)、ツールID、および速度が含まれます。

  2. ビジョン処理による移動 の経路点です。その情報には、ラベル、把持されたワークの合計数、今回把持されたワークの数、吸盤のエッジコーナー番号、TCPオフセット、ワークの向き、およびワークグループのサイズが含まれます。

  3. カスタマイズされたデータを含む、ビジョン処理による移動 の経路点です。この場合、Mech-Visionプロジェクトのステップ 出力 のポートタイプを「カスタム」に設定する必要があります。

  • サブプログラム:

    MM_GET_PLANDATA (Jps_Pos:IN,Pos_Num:OUT,VisPos_Num:out,MM_Status:OUT)

  • パラメータの説明:

    パラメータ

    説明

    入力パラメータ

    Jps_Pos

    返されたデータの予期形式で、範囲は1~4です。

    出力パラメータ

    Pos_Num

    変数で、受信した経路点の数を保存するために使用されます。

    VisPos_Num

    変数で、最初のビジョン処理による移動が計画した経路における位置番号を保存するために使用されます。

    MM_Status

    変数で、このコマンドが実行した後に返されたステータスコードを保存するために使用されます。

    以下は、4つの返されたデータの予期形式についての説明です。

    返されたデータの予期形式 パラメータ

    返されたデータの予期形式 説明

    1

    位置姿勢(JPs形式),運動タイプ, ツールID, 速度,カスタマイズされたデータの数, カスタマイズされたデータ1, ..., カスタマイズされたデータN

    2

    位置姿勢(TCP形式),運動タイプ, ツールID, 速度,カスタマイズされたデータの数, カスタマイズされたデータ1, ..., カスタマイズされたデータN

    3

    位置姿勢(JPs形式), 運動タイプ, ツールID, 速度, ビジョン計画結果, カスタマイズされたデータの数, カスタマイズされたデータ1, ..., カスタマイズされたデータN

    4

    位置姿勢(TCP形式), 運動タイプ, ツールID, 速度, ビジョン計画結果, カスタマイズされたデータの数, カスタマイズされたデータ1, ..., カスタマイズされたデータN

    位置姿勢

    経路点の位置姿勢は、ロボット関節角度(JPs、単位は度)、ツール位置姿勢(TCP、3次元座標はミリメートル、オイラー角は度)のいずれかであり、その形式は送信するコマンドパラメータに依存します。

    運動タイプ

    • 1:関節運動(MOVEJ)

    • 2:直線運動(MOVEL)

    ツールID

    経路点で使用するツール番号です。 -1は、ツールが使用されていないことを意味します。

    速度

    経路点での速度のパーセンテージ値(単位は%)、つまり、Mech-Vizプロジェクトでこの経路点に対応する移動ステップのパラメータに設定した速度に、Mech-Vizで設定したグローバル速度を掛けたものです。

    視覚計画結果

    経路内の計画結果の情報です(経路点が移動ステップ ビジョン処理による移動 に対応する場合)。通常、段ボール箱の複数把持とデパレタイジングなどのシーンに使用されます。情報は次のとおりです。

    • ラベル:10個の正の整数で構成され、デフォルトは10個の0です。

    • 把持されたワークの合計数。

    • 今回把持されたワークの数。

    • 吸盤エッジコーナー番号:ワークが吸盤のどのエッジに近いかを指定するために使用されます。吸盤のエッジコーナー番号は、Mech-Vizのプロジェクトリソースで対応するエンドツール名をダブルクリックし、 制御ロジック設定 をクリックすると表示されるようになります。

    • ツール位置姿勢(TCP)のオフセット(ワークの中心に対応するTCPから実際のTCPまでのオフセットです)。

    • ワークの向き(TCPのX軸に対するワーク座標系のX軸の方向です)。

    • ワークグループのサイズ。

    カスタマイズされたデータ項目の数

    これは、Mech-Visionプロジェクトの 出力 ステップでポートタイプが「カスタム」に設定された場合に出力された位置姿勢とラベル以外のデータです。

    カスタマイズされたデータ項目

    これは、Mech-Visionプロジェクトの 出力 ステップでポートタイプが「カスタム」に設定された場合に出力された位置姿勢とラベル以外のデータです。

    カスタマイズされたデータは、ポート名のA–Zの順に並べられています。

  • サンプル:

    MM_GET_PLANDATA (2,Pose_Num,VisPos_Num,Status)

  • 詳細な説明:

    このサンプルを実行すると、Mech-Vizが計画した経路が取得されます。返されたデータの予期形式は2です。経路点の数がPos_Numに、ビジョン処理による移動の経路点が経路全体における位置番号がVisPos_Numに、ステータスコードがStatusに保存されます。

Mech-Vizから取得した経路点を変数に保存

Mech-Vizから経路点を取得 の後に使用します。このコマンドは、Mech-Vizから取得して経路点のデータを指定した変数に保存するために使用されます。

  • サブプログラム:

    1. MM_Get_PlanPose(Serial:IN, Jps_Pos:IN, MM_P:OUT, MM_MoveType:OUT, MM_ToolNum:OUT, MM_Speed:OUT)(Jps_Pos=2または4の場合)

    2. MM_Get_PlanJps(Serial:IN, Jps_Pos:IN, MM_J:OUT, MM_MoveType:OUT, MM_ToolNum:OUT, MM_Speed:OUT)(Jps_Pos=1または3 の場合)

  • パラメータの説明:

    パラメータ

    説明

    入力パラメータ

    Serial

    保存する経路点を指定します。

    Jps_Pos

    Mech-Vizから経路点を取得 のJps_Posの値と同じです。

    出力パラメータ

    MM_P

    位置姿勢の変数で、指定した経路点が対応するTCPデータを保存するために使用されます。

    MM_J

    関節角度の変数で、指定した経路点が対応する関節角度データを保存するために使用されます。

    MM_MoveType

    num型の変数で、指定した経路点が対応する運動タイプを保存するために使用されます。1はMOVEJ、2はMOVELを表します。

    MM_ToolNum

    変数で、指定した経路点が対応するツールIDを保存するために使用されます。-1はツールを使用しないことを表します。

    MM_Speed

    変数で、指定した経路点が対応する速度を保存するために使用されます。

    MM_UserData

    定義されたグローバル配列変数で、指定した経路点が対応するカスタマイズされたデータを保存するために使用されます。配列の長さは50です。

    MM_Plan_Results

    定義されたグローバル配列変数で、指定した経路点が対応する視覚計画結果を保存するために使用されます。配列の長さは20です。

  • サンプル1:

    MM_Get_PlanPose (1,4,XP1,MoveType, ToolNum, Pose_Speed)

  • サンプル1の詳細な説明:

    このサンプルを実行すると、受信した最初の経路点のTCPデータが位置変数XP1に、運動タイプがMoveTypeに、ツールIDがToolNumに、移動速度がPose_Speedに、カスタマイズされたデータがMM_UserDataに、視覚計画結果がMM_Plan_Resultsに保存されます。

  • サンプル2:

    MM_Get_PlanJps (1,3,JP1,MoveType, ToolNum, Pose_Speed)

  • サンプル2の詳細な説明:

    このサンプルを実行すると、受信した最初の経路点の関節角度データが位置変数P1に、運動タイプがMoveTypeに、ツールIDがToolNumに、移動速度がPose_Speedに、カスタマイズされたデータがMM_UserDataに、視覚計画結果がMM_Plan_Resultsに保存されます。

Mech-Visionの「経路計画」ステップの結果を取得

Mech-Visionプロジェクトを実行した後、このコマンドはMech-Visionプロジェクトの「経路計画」ステップから出力された衝突のない把持経路を取得するために使用されます。

このコマンドを使用する時、Mech-Visionの「出力」ステップの ポートタイプ を「事前定義済み(ロボット経路)」に設定する必要があります。

  • サブプログラム:

    MM_GET_VISPATH(Job:IN,Jps_Pos:IN,Last_Data:OUT,Pos_Num:OUT,VisPos_Num:OUT,MM_Status:OUT)

  • パラメータの説明:

    パラメータ

    説明

    入力パラメータ

    Job

    Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。

    Jps_Pos

    「経路計画」ステップから返された経路点の位置姿勢タイプを指定します。 1:経路点の位置姿勢は関節角度(JPs)の形式で返されます。 2:経路点の位置姿勢はロボットのツール(TCP)位置姿勢の形式で返されます。

    出力パラメータ

    Last_Data

    変数で、経路点の送信が完了しているかどうかを表示するために使用されます。 0:送信されなかった経路点があります。 1:すべての経路点が送信されました。

    Pos_Num

    変数で、このコマンドを実行した後に返された経路点の数を保存するために使用されます。

    VisPos_Num

    変数で、経路計画設定ツールで設定された「ビジョン処理による移動」が経路全体における位置を保存するために使用されます。例えば、定点移動_1 -> 定点移動_2 -> ビジョン処理による移動 -> 定点移動_3の経路において、「ビジョン処理による移動」の位置は3です。「ビジョン処理による移動」がない場合、このパラメータ値は0になります。

    MM_Status

    変数で、このコマンドが実行した後に返されたステータスコードを保存するために使用されます。

  • サンプル:

    MM_GET_VISPATH (1,1,Last,Pose_Num,VisPos_Num,Status)

  • 詳細な説明:

    このサンプルを実行すると、Mech-Visionのプロジェクト1から返されたロボット動作経路が取得されます。経路点の位置姿勢形式が関節角度です。すべての経路点が送信されたかどうかがLast_Dataに保存されます。経路点の数がPos_Numに保存されます。ビジョン処理による移動の経路点が経路全体における位置番号がVisPos_Numに保存されます。ステータスコードはStatusに保存されます。