標準インターフェースコマンド¶
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です。 |
|
|
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です。 |
|
|
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")
パラメータの説明
サンプル
CALL JOB:MM_SET_MODEL("1;1")
詳細な説明
このサンプルを実行すると、Mech-VisionプロジェクトNo.1で使用されているパラメータをパラメータレシピNo.1に切り替えます。
Mech-Vizの分岐を選択¶
Mech-Vizプロジェクトをどの分岐に沿って実行するかを選択する場合に使用されます。このような分岐は、 「メッセージによって異なる分岐を実行」 ステップをプロジェクトに追加することで実現可能です。このコマンドの前にMM_START_VIZを呼び出す必要があります。Mech-Vizで「メッセージによって異なる分岐を実行」まで実行する場合、203コマンドが分岐出口を送信するのを待ちます。
プログラム
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を実行する必要があります。
プログラム
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");
パラメータの説明
パラメータ
説明
出力パラメータ
Status
Mech-Visionのステータスコードを記録するためのI変数です。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
サンプル
CALL JOB:MM_GET_STATUS("70")
詳細な説明
このサンプルを実行すると、ステータスコードを取得し、I[70]に格納します。
Mech-Visionへ物体寸法を入力¶
物体の寸法をMech-Visionに入力するコマンドです。このコマンドはMM_START_VISの前に呼び出す必要があります。
プログラム
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にある受信者の名前を現在のロボットモデルと設定する必要があります。
プログラム
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つのいずれかになります。
ビジョン処理による移動 以外の移動経路点に加えて、その情報には、運動タイプ(関節運動または直線運動)、ツールID、および速度が含まれます。
ビジョン処理による移動 の経路点です。その情報には、ラベル、把持されたワークの合計数、今回把持されたワークの数、吸盤のエッジコーナー番号、TCPオフセット、ワークの向き、およびワークグループのサイズが含まれます。
カスタマイズされたデータを含む、ビジョン処理による移動 の経路点です。この場合、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変数に保存されます。