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

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

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

  • パラメータは入力パラメータと出力パラメータと定義します。この標準インターフェースはTCP/IPプロトコルを介して通信を行います。パラメータは文字列である必要があります。

注意

  • Mech-Center 1.6.1以前のバージョンでは、各インターフェースプログラムコマンドには、通信接続文と通信切断文が含まれています。

  • Mech-Centerバージョン1.6.1以降については、以下の更新があります。

    • 初期化通信コマンドのみ、テストを容易にするために通信接続と通信切断文を含めます。初期化通信コマンドは、ロボットが1回実行するだけで、設定したIPアドレスがグローバルに有効となります。

    • 通信接続文と通信切断文が別々のコマンド(TCP接続確立コマンドとTCP接続切断コマンド)になるため、ロボットとビジョンシステムの接続・切断を頻繁に行う必要がありません。

インターフェースコマンド一覧

通信の初期化

ホストIPアドレス、ポート番号、およびTCP/IPの待機時間を設定するためのコマンドです。

  • プログラム

MM_INIT_SOCKET("IP_Address;Server_Port;Time_Out")
  • パラメータの説明

    パラメータ

    説明

    入力パラメータ

    IP_Address

    IPCのIPアドレスです。

    Server_Port

    IPCのポート番号で、デフォルトのポート番号は50000です。

    Time_Out

    接続の試行を停止するまでの待機時間(分)です。

  • サンプル

CALL JOB:MM_INIT_SOCKET("192.168.1.1;50000;5")
  • 詳細な説明

    このサンプルを実行すると、IPCのIPアドレスは192.168.1.1、ポート番号は50000、待機時間は5分に設定されます。

TCP接続の構築

このコマンドは、TCP 接続を確立するために使用されます。このコマンドを実行する前に、初期化通信コマンドで、通信用のIPアドレスとポート番号を正しく設定してください。

  • プログラム

MM_OPEN_SOCKET
  • パラメータの説明

    パラメータはありません。

  • サンプル

CALL JOB:MM_OPEN_SOCKET

TCP接続の切断

このコマンドは、TCP 接続を切断するために使用します。ロボットがビジョンシステムとの通信を完了した後、ユーザーはこのコマンドを呼び出して通信接続を切断することができます。

  • プログラム

MM_CLOSE_SOCKET
  • パラメータの説明

    パラメータはありません。

  • サンプル

CALL JOB:MM_CLOSE_SOCKET

Mech-Visionをトリガー

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

  • プログラム

MM_START_VIS("job; pos_num_need; sendpos_type; prNum")
  • パラメータの説明

パラメータ

説明

入力パラメータ

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プロジェクトの「経路計画」ステップはロボットが送信する関節角度を初期位置姿勢として使用します。

prNum

P変数で、事前定義済みのロボット関節角度データを保存するために使用されます。この関節角度データは、sendpos_type=3の場合にのみ使用されます。P変数はパルス形式で選択する必要があります(最終的に関節角度形式のデータに変換され、バックエンド経由で送信されます。パルス形式が設定されていないP変数を選択すると、エラー 「MM:PVAR_SET_ERROR」が報告されます)。

  • サンプル

CALL JOB:MM_START_VIS("1;1;1")
  • 詳細な説明

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

Mech-Visionの結果取得

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

  • プログラム

MM_GET_VISDATA("Job;Last_Data;Pose_Num;MM_Status")
  • パラメータの説明

    パラメータ

    説明

    入力パラメータ

    Job

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

    出力パラメータ

    Last_Data

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

    Pose_Num

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

    MM_Status

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

  • サンプル

CALL JOB:MM_GET_VISDATA("1;50;51;52")
  • 詳細な説明

    このサンプルを実行すると、Mech-Visionプロジェクト1からビジョン結果を取得します。すべての結果が送信されたかどうかはI[50]に保存されます。受信した結果の数はI [51]に保存されます。ステータスコードはI[52]に保存されます。

Mech-Vizをトリガー

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

  • プログラム

MM_START_VIZ("sendpos_type; prNum")
  • パラメータの説明

パラメータ

説明

入力パラメータ

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の仮想ロボットは現在設定された関節角度から一番目の経路点に移動します。

prNum

P変数で、事前定義済みのロボット関節角度データを保存するために使用されます。この関節角度データは、SendPos_Type=2の場合にのみ使用されます。P変数はパルス形式で選択する必要があります(最終的に関節角度形式のデータに変換され、バックエンド経由で送信されます。パルス形式が設定されていないP変数を選択すると、エラー 「MM:PVAR_SET_ERROR」が報告されます)。

  • サンプル

CALL JOB:MM_START_VIZ("1")
  • 詳細な説明

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

移動計画を取得

このコマンドは、Mech-Vizプロジェクトに計画した把持経路を取得するために使用されます。

  • プログラム

MM_GET_VIZDATA("GetPos_Type;Last_Data;Pos_Num;VisPos_Num;MM_Status")
  • パラメータの説明

    パラメータ

    説明

    入力パラメータ

    GetPos_Type

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

    出力パラメータ

    Last_Data

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

    Pose_Num

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

    VisPos_Num

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

    MM_Status

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

    注釈

    • Mech-Vizから関節角度を送信します。

    • Mech-VizからTCP位置姿勢を送信します。

  • サンプル

CALL JOB:MM_GET_VIZDATA("2;50;51;52;53")
  • 詳細な説明

    このサンプルを実行するとMech-Vizから行動計画をTCP位置姿勢で取得します。すべての行動計画が送信されたかどうかをI[50]に保存されます。受信した移動位置の数はI [51]に保存されます。ビジョン移動の順番はI [52]に保存されます。ステータスコードはI[53]に保存されます。

位置姿勢を取得

Mech-VisionまたはMech-Vizによって送信されたTCP位置姿勢を指定した変数に保存します。

  • プログラム

MM_GET_POSE("Index;Robtarget;Label;Pose_Speed")
  • パラメータの説明

    パラメータ

    説明

    入力パラメータ

    Index

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

    出力パラメータ

    Robtarget

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

    Label

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

    Pose_Speed

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

  • サンプル

CALL JOB:MM_GET_POSE("1;60;61;62")
  • 詳細な説明

    このサンプルを実行すると、最初に受信した位置姿勢をP [60]に、対応するラベルをI [61]に、対応する移動速度をI[62]に保存します。

関節角度を取得

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

  • プログラム

MM_GET_JPS("Index;Jointtarget;Label;Pose_Speed")
  • パラメータの説明

    パラメータ

    説明

    入力パラメータ

    Index

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

    出力パラメータ

    Jointtarget

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

    Label

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

    Pose_Speed

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

  • サンプル

CALL JOB:MM_GET_JPS("1;60;61;62")
  • 詳細な説明

    このサンプルを実行すると、最初に受信した関節角度をP [60]に、対応するラベルをレジスタI [61]に、対応する移動速度をレジスタI[62]に保存します。

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

使用するMech-Visionプロジェクトの保存されたパラメータレシピを指定します。このコマンドは、MM_START_VISの前に呼び出す必要があります。

  • プログラム

MM_SET_MODEL("Job;Model_number")
  • パラメータの説明

    入力パラメータ:

    パラメータ

    説明

    入力パラメータ

    Job

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

    Model_number

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

    ../../../../_images/parameters_of_the_formula1.png
  • サンプル

CALL JOB:MM_SET_MODEL("1;1")
  • 詳細な説明

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

Mech-Vizの分岐を選択

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

../../../../_images/choose_branch1.png
  • プログラム

MM_SET_BRANCH("Branch_Num;Exit_Num")
  • パラメータの説明

    パラメータ

    説明

    入力パラメータ

    Branch_Num

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

    Exit_Num

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

  • サンプル

CALL JOB:MM_SET_BRANCH("1;3")
  • 詳細な説明

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

移動インデックスを設定

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

../../../../_images/set_index5.png
  • プログラム

MM_SET_INDEX("Skill_Num;Index_Num")
  • 入力パラメータ

    Skill_Num

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

    Index_Num

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

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

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

  • サンプル

CALL JOB:MM_SET_INDEX("2;10")
  • 詳細な説明

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

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

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

  • プログラム

MM_GET_STATUS("Status");
CALL JOB:MM_GET_STATUS("70")
  • 詳細な説明

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

Mech-Visionへ物体寸法を入力

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

../../../../_images/set_size_of_box1.png
  • プログラム

MM_SET_BOXSIZE("Job;Length;Width;Height")
  • パラメータの説明

    パラメータ

    説明

    入力パラメータ

    Job

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

    Length

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

    Width

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

    Height

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

  • サンプル

CALL JOB:MM_SET_BOXSIZE("1;500;300;200")
  • 詳細な説明

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

DO信号リストの取得

このコマンドで区分化された吸着ハンドを制御するためにDO信号のリストを取得します。このコマンドはMM_GET_VIZDATAの前に呼び出す必要があります。

ヒント

XXXX/Mech-Center-xxx/tool/viz_project/suction_zone のサンプルプロジェクトを参考にしてMech-Vizプロジェクトを作成し、Mech-Vizプロジェクトに吸盤のコンフィグファイルを設定する必要があります。また、Mech-Vizにある受信者の名前を現在のロボットモデルと設定する必要があります。

../../../../_images/get_do_lists.png
  • プログラム

MM_GET_DOLIST
  • サンプル

CALL JOB:MM_GET_DOLIST
  • 詳細な説明

    このサンプルを実行すると、Mech-Vizで設定されたDO信号のリストを取得し、setdo[]配列に保存します。配列の最初の要素はsetdo[0]で、最後の要素はsetdo[io_index-1]です。

DOを設定

Mech-Vizから送信されたDoリストをGo信号に設定します。最大4グループで、各グループは16bitのGo信号を格納します。複数のグループのGo信号を設定する場合は、このコマンドを何度も実行してください。このコマンドはMM_GET_DOLISTの後で実行する必要があります。

  • プログラム

MM_SET_DOLIST
  • サンプル

CALL JOB:MM_SET_DOLIST
  • 詳細な説明

    このサンプルを実行すると、Mech-Vizで計算されたDoListにある0-15の値が対応する0T1-OT16に設定されます。

Mech-VizにTCP座標を入力

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

  • プログラム

MM_SET_POSE("Pos")
  • パラメータの説明

    パラメータ

    説明

    入力パラメータ

    Pos

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

  • サンプル

CALL JOB:MM_SET_POSE("10")
  • 詳細な説明

    このサンプルを実行すると、P10に格納されている位置姿勢データがMech-Viz内のステップ「外部移動」に送信されます。

キャリブレーション

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

  • プログラム

MM_CALIB("Move_Type;Pos_Jps;Wait_Time;Rnum;Ext;Pos")
  • パラメータの説明

    パラメータ

    説明

    入力パラメータ

    Move_Type

    移動方式を設定します。

    Pos_Jps

    Mech-Visionから送信される位置姿勢のタイプを設定します。

    Wait_Time

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

    Rnum

    ロボットの軸の数です。

    Ext

    外部7軸目のデータ(mm)です。オプション機能で、外部軸がない場合は0を入力します。

    Pos

    キャリブレーションの開始点を格納するためのP変数で、デフォルトではP[99]です。

  • サンプル

CALL JOB:MM_CALIB("2;1;2;6;0;99")
  • 詳細な説明

    このサンプルを実行すると6軸ロボットを関節運動で動かし、TCP位置姿勢を受信し、2つの位置姿勢間の待機時間を2秒に設定します。また、ロボットには外部7軸を設定していません。P[99]には、キャリブレーション開始点の位置姿勢を保存します。

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

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

このコマンドは一度だけ呼ばれ、すべてのデータをロボットのメモリに取り込みます。

  • プログラム

MM_GET_DYDATA("job;regPosNum;regStatus")
  • パラメータの説明

    パラメータ

    説明

    入力パラメータ

    job

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

    出力パラメータ

    regPosNum

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

    regStatus

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

  • サンプル

CALL JOB:MM_GET_DYDATA("2;60;61")
  • 詳細な説明

    このサンプルを実行すると、Mech-Visionプロジェクト2が実行された後、すべての出力データがロボットのメモリに保存され、ビジョンポイントの数が変数I60に、ステータスコードが変数I61に保存されます。

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

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

  • プログラム

MM_GET_DYPOSE("serial;prNum;regLabel;rrNum")
  • パラメータの説明

    パラメータ

    説明

    入力パラメータ

    serial

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

    出力パラメータ

    prNum

    P変数で、指定したビジョンポイントの位置姿勢データを保存するために使用されます(使用前にP変数のタイプを「ロボット」に設定する必要があります)。

    regLabel

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

    rrNum

    R変数の開始番号で、指定したビジョンポイントのカスタマイズされたデータを保存するために使用されます。設定中にカスタマイズされたデータの数に注意し、R変数に十分なスペースを確保してください。

  • サンプル

CALL JOB:MM_GET_DYPOSE("2;60;60;60")
  • 詳細な説明

    このサンプルを実行すると、MM_GET_DYDATAが実行後、受信した2番目のビジョンポイントの位置姿勢データ(出力時に四元数がオイラー角に変換された)がP60変数に、ラベルデータがI60変数に、カスタマイズされたデータがR60-RNに保存されます。

Mech-Vizから経路点を取得

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

このコマンドは一度だけ呼ばれ、すべてのデータをロボットのメモリに取り込みます。

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

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

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

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

  • プログラム

MM_GET_PLANDATA("jpsPos;regPosNum;visPosNum;regStatus")
  • パラメータの説明

    パラメータ

    説明

    入力パラメータ

    jpsPos

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

    出力パラメータ

    regPosNum

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

    visPosNum

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

    regStatus

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

    以下は、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の順に並べられています。

  • サンプル

CALL JOB:MM_GET_PLANDATA("4;60;61;62")
  • 詳細な説明

    このサンプルを実行すると、Mech-Vizプロジェクトが実行後、すべての出力データがロボットメモリに保存され、経路点の数がI60変数に、ビジョン処理による移動の経路点が経路全体における位置番号がI61変数に、ステータスコードがI62変数に保存されます。

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

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

  • プログラム

MM_GET_PLANPOSE("serial;prNum;brNum;rrNum")
  • パラメータの説明

    パラメータ

    説明

    入力パラメータ

    serial

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

    出力パラメータ

    prNum

    P変数で、指定された位置姿勢を保存するために使用されます。

    • MM_GET_PLANDATAのjpsPosが1または3の場合、P変数の種類を「パルス」にしてから使用する必要があります(読み込みプログラムで関節角度をロボットパルスに変換しています)。

    • MM_GET_PLANDATAのjpsPosが2または4の場合、P変数の種類を「ロボット」にしてから使用する必要があります。

    brNum

    B変数の開始番号で、「運動タイプ」、「ツールID」、「速度」を保存するために使用されます。開始番号から始まる3つの連続した変数が他の要因の影響を受けないようにする必要があります。

    rrNum

    R変数の開始番号で、ビジョン計画結果、カスタマイズされたデータを保存するために使用されます。ビジョン処理による移動の経路点でない場合、設定する必要はありません。設定時に変数の合計数(ビジョン計画結果が20個の変数を使用し、カスタマイズされたデータが使用する変数が実際の状況によって異なります)に注意し、R変数に十分なスペースを確保するようにしてください。

  • サンプル

CALL JOB:MM_GET_PLANPOSE("2;60;60;60")
  • 詳細な説明

    このサンプルを実行すると、MM_GET_PLANDATA実行後、受信した2番目の経路点の位置姿勢データがP60変数に、「運動タイプ」、「ツールID」、「速度」がそれぞB60、B61、B62変数に保存されます。経路点がビジョン処理による移動の経路点でない場合、もっと情報はありません。ビジョン処理による移動の経路点である場合、MM_GET_PLANDATAで説明した受信データ形式に従い、R60-RNに残りのデータを順番に保存されます。

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

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

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

  • プログラム

MM_GET_VISPATH("job; GetPos_Type; Last_Data; Pos_Num; VisPos_Num; MM_Status")
  • パラメータの説明

    パラメータ

    説明

    入力パラメータ

    job

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

    GetPos_Type

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

    出力パラメータ

    Last_Data

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

    Pos_Num

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

    VisPos_Num

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

    MM_Status

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

  • サンプル

CALL JOB:MM_GET_VISPATH("1;2;50;51;52;53")
  • 詳細な説明

    このサンプルを実行するとMech-Visionプロジェクト1から計画したロボット経路が取得されます。経路点の位置姿勢形式がTCPです。すべての経路点が送信されたかどうかがI50変数に保存されます。経路点の数がI51変数に保存されます。ビジョン処理による移動の経路点が経路全体における位置番号がI52変数に保存されます。ステータスコードがI53変数に保存されます。