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

現在ご覧いただいているのは最新版の内容です(V1.3.0)。異なるバージョンを参照する場合は、画面右上のボタンから切り替えが可能です。

■ ご利用中のバージョンが分からない場合や、サポートが必要な場合はお気軽にサポート窓口までご連絡ください。

本節では、YASKAWAロボットとMech-Mindインライン測定システム間でTCPプロトコル通信を行うための標準インターフェースコマンドについて説明します。そのうち、ロボット(クライアント側)はMech-Mindインライン測定システム(サーバー)にコマンドを送信し、Mech-Mindインライン測定システムは処理後のデータをロボットに返します。

コマンド一覧

コマンド 呼び出し必須か 説明

通信初期化

必須

ロボットと通信するIPCのIPアドレス、ポート番号、および通信タイムアウトの待ち時間を設定する

TCPプロトコル通信接続の確立

必須

ロボットとインライン測定システム間のTCPプロトコルによる通信接続を確立する

TCPプロトコル通信接続の切断

必須

ロボットとインライン測定システム間のTCPプロトコルによる通信接続を切断する

プロジェクトの切り替え

任意

ロボットがMech-Metricsにプロジェクトの切り替え開始を通知する

測定タスクの開始

必須

ロボットが Mech-Metrics に新しいワークの測定開始を通知し、ワーク名、ワークSN、およびその他のワーク情報を Mech-Metrics に送信する

特徴測定の実行

必須

対応する測定特徴の Mech-MSR プロジェクトの実行をトリガーする。複数回の測定を行う必要がある場合は、このコマンドを複数回呼び出す可能

測定タスクの終了

必須

ロボットが Mech-Metrics に測定終了を通知し、ワークの測定結果を問い合わせる

測定中のワークSN入力

任意

一部のユースケースでは、測定開始時にワークSNを取得できない。例えば、測定中にバーコードやQRコードをスキャンして取得しなければならない。このコマンドは、ワーク測定中にワークSNを入力するために使用する

ワーク履歴データの照会

任意

ワークSNを入力することで、Mech-Metrics ソフトウェアのメイン画面を対応するワークのデータビューに切り替える

キャリブレーション

必須(自動キャリブレーションプログラムの場合)

ロボットのハンドアイキャリブレーション(外部パラメータキャリブレーション)に使用する

注意事項

これらのコマンドを使用する前に、以下の事項に注意してください。

  • YASKAWAロボットコマンドの呼び出しに関する説明:

    • コマンドのパラメータリスト内の各パラメータは半角セミコロンで区切ります。

    • コマンド呼び出し時のパラメータ:入力パラメータはデフォルトで文字列定数です。出力パラメータはデフォルトで文字列定数であり、バックグラウンドプログラム内に対応するグローバル変数が存在します。

    • 通信接続と通信切断のステートメントは2つの独立したコマンド(TCPプロトコル通信接続の確立およびTCPプロトコル通信接続の切断)であり、これによりロボットとビジョンシステム間の頻繁な接続・切断を回避します。

  • コマンドのデータ単位:

    • 関節角度の単位は度(°)です。

    • ロボットのフランジ位置姿勢またはロボットのツール位置姿勢は位置と姿勢で構成されています。位置(XYZ座標値)の単位はミリメートル(mm)、姿勢はオイラー角で表され、単位は度(°)です。

通信初期化

このコマンドは、ロボットと通信するIPCのIPアドレス、ポート番号、および通信のタイムアウト待ち時間を設定するために使用されます。

呼び出しのタイミング

このコマンドを使用した後、ユーザーはロボットとインライン測定システム間のTCPプロトコル通信接続を確立するには、TCPプロトコル通信接続の確立を呼び出す必要があります。初期化は一度だけ実行すればよいです。

コマンド形式

MSR_INIT_SOCKET("IP_Address;Server_Port;Time_Out")

入力パラメータ

IP_Address

このパラメータはIPCのIPアドレスを示します。データ型はstringです。

Server_Port

このパラメータは、IPCがロボットと通信を確立するために使用するポート番号を示します。このパラメータ値は、Mech-MSR ソフトウェアのTCP・ASCII通信設定(標準通信方式)で設定されたホストポート番号と一致している必要があります。データ型はnumです。

Time_Out

このパラメータは通信タイムアウトの待ち時間を示し、単位は分です。

サンプル

CALL JOB:MSR_INIT_SOCKET("192.168.1.20;50000;5")

上記のサンプルは、ロボットが接続するIPCのIPアドレスが192.168.1.20、ポート番号が50000、タイムアウト待ち時間が5分であることを示しています。

TCPプロトコル通信接続の確立

このコマンドは、ロボットとオンライン測定システム間のTCPプロトコルによる通信接続を確立するために使用します。

呼び出しのタイミング

このコマンドは、通信初期化コマンドの直後に呼び出す必要があります。

コマンド形式

MSR_OPEN_SOCKET

サンプル

CALL JOB:MSR_OPEN_SOCKET

上記のサンプルは、ロボットとインライン測定システム間のTCPプロトコルによる通信接続を確立することを示しています。

TCPプロトコル通信接続の切断

このコマンドは、ロボットとオンライン測定システム間のTCPプロトコルによる通信接続を切断するために使用します。

呼び出し順序

Mech-MSR プロジェクトの結果を取得した後、ユーザーは直ちにこのコマンドを呼び出して通信接続を切断し、その後、取得した結果を指定の変数に保存することができます。通信接続が長時間切断されない場合、ロボットプログラムが異常切断エラーを引き起こす可能性があります。

コマンド形式

MSR_CLOSE_SOCKET

プロジェクトの切り替え

ロボットが Mech-Metrics にプロジェクト切り替えの開始を通知します。

呼び出しのタイミング

プロジェクト切り替えを開始する前。

コマンド形式

MSR_SWITCH_PROJECT ARGF"RobotID;Job; regStatus"

入力パラメータ

RobotID

このパラメータはワーク番号を示します。ワーク番号は1から99までの整数です。指定するワーク番号は、ワーク番号を設定画面で既に設定されている必要があります。データ型はnumです。

Job

このパラメータはプロジェクト番号を示します。指定するプロジェクト番号は、あらかじめプロジェクト切り替え管理で設定されている必要があります。データ型はnumです。

出力パラメータ

regStatus

このパラメータはI変数であり、コマンドから返されたステータスコードを受信します。

8105:コマンドの実行に成功しました。

-99:ロボット通信異常。

サンプル

CALL JOB:MSR_SWITCH_PROJECT ARGF"1;1;80"

上記のサンプルは、ワーク番号1、プロジェクト番号1のプロジェクトに切り替え、コマンドのステータスコードをI変数80に保存することを示しています。

測定タスクの開始

ロボットが Mech-Metrics に新しいワークの測定開始を通知し、ワーク名、ワークSN、およびその他のワーク情報を Mech-Metrics に送信します。

呼び出しのタイミング

新しいワークの測定を開始する時点。

コマンド形式

MSR_START_MEASURE("RobotID; Qc_Mode; CustomData[0]; CustomData[1]; CustomData[2]; CustomData[3]; CustomData[4]; CustomData[5]; CustomData[6]; CustomData[7]; Reg_Num", "Piece_Name", "Piece_SN;regStatus")

入力パラメータ

RobotID

このパラメータはワーク番号を示します。ワーク番号は1から99までの整数です。指定するワーク番号は、ワーク番号を設定画面で既に設定されている必要があります。データ型はnumです。

Piece_Name

このパラメータは測定するワークの名称を示します。ワーク名には英数字を含めることができ、長さは20文字以内です。データ型はstringです。

Piece_SN

このパラメータはワークSNを示します。ワークSNとは、ワークのシリアル番号のことであり、そのワークの一意の識別子(ID)です。ワークSNには英数字を含めることができ、長さは30文字以内です。データ型はstringです。

Qc_Mode

このパラメータはワークの品質検査モードを示します。データ型はnumです。各パラメータ値の意味は以下の通りです:

  • 1:全数検査

  • 2:抜取検査

  • その他:既存の設定を使用

CustomData[0]-CustomData[7]

このパラメータはオプションパラメータであり、ワークのカスタム情報を提供するために使用します。データ型はnumです。カスタムパラメータは、Mech-Metrics により多くのワーク情報を提供する必要がある場合にのみ使用されます。このコマンドでは、最大8つのカスタムパラメータを指定でき、各カスタムパラメータの値は1から8までの整数です。

カスタムパラメータを使用する場合:

  1. Mech-Metrics ソフトウェア設定画面の上部にある機能エリアで通信  通信コマンドを設定を選択し、指定のカスタムパラメータ(例:カスタムパラメータ1)に対してその数値(1〜8)の意味を設定します。

  2. このコマンドで指定のカスタムパラメータを設定します。

出力パラメータ

Reg_Num

このパラメータはIレジスタ番号を示し、そのレジスタはソフトウェアから返される今回の実行が連続実行か通常の実行かを保存するために使用します。

0:実行

1:連続実行

実行が指定された場合、ロボット側は以下のコマンドを1回実行します:測定タスクの開始特徴測定の実行測定タスクの終了。複数の特徴を測定する場合は、特徴測定の実行コマンドを複数回実行してください。例えば、ユーザーが2つの特徴を測定したい場合、1回の実行において、ロボット側で以下のようにコマンドを実行する必要があります:プログラム開始→測定タスクの開始特徴測定の実行特徴測定の実行測定タスクの終了→プログラム終了。

連続実行が指定された場合、ロボット側は1ラウンドのコマンドを実行した後、測定タスクの開始に戻って繰り返し実行します。あるラウンドにおいて測定タスクの開始が1回実行が返された場合、ロボットプログラムは現在のラウンドのコマンド実行完了後に停止します。

  • デフォルトでは、Mech-Metrics はロボットに0を返し、今回の実行が1回の実行であることをロボットに通知します。

  • 半動的繰り返し精度テストでは、Mech-Metrics はロボットに1を返し、今回の実行が連続運行であることをロボットに通知します。半動的繰り返し精度テストのプロセス中、ロボットを手動で移動させたり、ワークを手動でクランプしたりする必要がないため、ロボットは複数ラウンドのコマンドを連続実行できます。

regStatus

このパラメータはI変数であり、コマンドから返されたステータスコードを受信します。

8100:コマンドの実行に成功しました。

-99:ロボット通信異常。

サンプル

CALL JOB:MSR_START_MEASURE ARGF"1;2;3;1;1;1;1;1;1;10;80" ARGF"Piece01" ARGF"STRING"

上記のサンプルは、ロボットが Mech-Metrics に新しいワークの測定開始を通知し、ワーク番号1、抜取検査モード(2)、8桁のカスタムパラメータ(3;1;1;1;1;1;1;10)、ワーク名、およびワークSNをソフトウェアに送信することを示しています。

特徴測定の実行

対応する特徴測定の Mech-MSR プロジェクト実行をトリガーします。

呼び出しのタイミング

ロボットが測定対象特徴の撮影位置に到達した時点。

コマンド形式

MSR_MEASURE_FEASURE("RobotID; Measure_Index; regStatus")

入力パラメータ

RobotID

このパラメータはワーク番号を示します。ワーク番号は1から99までの整数です。指定するワーク番号は、ワーク番号を設定画面で既に設定されている必要があります。データ型はnumです。

Measure_Index

このパラメータは、測定対象となる特徴の測定番号を示します。データ型はnumです。測定番号はその特徴の一意の識別子(ID)です。測定特徴番号は1から999までの整数です。

出力パラメータ

regStatus

このパラメータはI変数であり、コマンドから返されたステータスコードを受信します。

8101:コマンドの実行に成功しました。

-99:ロボットの通信に異常が発生しました。

サンプル

CALL JOB:MSR_MEASURE_FEASURE ARGF"1;1;80"

上記のサンプルは、ロボット側からワーク番号1、測定対象特徴の測定番号1となる Mech-MSRジェクトの実行をトリガーし、ステータスコードをI変数80に保存することを示しています。

測定タスクの終了

ロボットが Mech-Metrics に測定終了を通知し、ワークの測定結果を問い合わせます。

呼び出しのタイミング

最後の測定対象特徴の撮影が完了し、ワークの測定が完了した時点。

コマンド形式

MSR_END_MEASURE("RobotID; Reg_Judge; Reg_Num1; Reg_Num2; Reg_Num3; regStatus")

入力パラメータ

RobotID

このパラメータはワーク番号を示します。ワーク番号は1から99までの整数です。指定するワーク番号は、ワーク番号を設定画面で既に設定されている必要があります。データ型はnumです。

出力パラメータ

Reg_Judge

このパラメータはIレジスタ番号を示し、そのレジスタはワークの判定結果を保存するために使用します。1はOK、0はNGを表します。

Reg_Num1, Reg_Num2, Reg_Num3

このパラメータは、ワークの測定項目数を保存するためのIレジスタ番号を示します。データ型はnumです。詳細は以下の通りです:

  • Reg_Num1ワークが公差1を超えた測定項目数を保存します。

  • Reg_Num2ワークが公差2を超えた測定項目数を保存します。

  • Reg_Num3ワークが公差3を超えた測定項目数を保存します。

regStatus

このパラメータはI変数であり、コマンドから返されたステータスコードを受信します。

8102:コマンドの実行に成功しました。

-99:ロボットの通信に異常が発生しました。

サンプル

CALL JOB:MSR_END_MEASURE ARGF"1;11;31;32;33;80"

上記のサンプルは、ロボットが Mech-Metrics に測定終了(ワーク番号1)を通知し、同時に Mech-Metrics 測定結果を返し、ワークの判定結果を番号11の数値レジスタに、ワークが公差1、公差2、公差3を超えた測定項目数をそれぞれ番号31、32、33の数値レジスタに保存し、コマンドのステータスコードを番号80の数値レジスタに保存することを示しています。

測定中のワークSN入力

一部のユースケースでは、測定開始時にワークSNを取得できない。例えば、測定中にバーコードやQRコードをスキャンして取得しなければなりません。このコマンドは、ワーク測定中にワークSNを入力するために使用する

呼び出しのタイミング

現在のワーク測定中の任意時点。

コマンド形式

MSR_SET_PIECE_INFO("RobotID;regStatus", "Piece_SN")

入力パラメータ

RobotID

このパラメータはワーク番号を示します。ワーク番号は1から99までの整数です。指定するワーク番号は、ワーク番号を設定画面で既に設定されている必要があります。データ型はnumです。

Piece_SN

このパラメータはワークSNを示します。ワークSNとは、ワークのシリアル番号のことであり、そのワークの一意の識別子(ID)です。ワークSNには英数字を含めることができ、長さは30文字以内です。データ型はstringです。

出力パラメータ

regStatus

このパラメータはI変数であり、コマンドから返されたステータスコードを受信します。

8103:コマンド実行成功。

-99:ロボット通信異常。

サンプル

CALL JOB:MSR_SET_PIECE_INFO ARGF"1;80" ARGF"STRING"

上記のサンプルは、ロボットが Mech-Metrics にワークSN(ワーク番号1)を入力することを示しています。

ワーク履歴データの照会

外部からワークSNを入力することにより、Mech-Metrics ソフトウェアのメイン画面を入力された番号のワークに切り替えます。

呼び出しのタイミング

非測定中の任意時点。

コマンド形式

MSR_VIEW_PIECE_DATA("RobotID;regStatus", "Piece_SN")

入力パラメータ

RobotID

このパラメータはワーク番号を示します。ワーク番号は1から99までの整数です。データ型はnumです。

Piece_SN

このパラメータはワークSNを示します。ワークSNとは、ワークのシリアル番号のことであり、そのワークの一意の識別子(ID)です。ワークSNには英数字を含めることができ、長さは30文字以内です。データ型はstringです。

出力パラメータ

regStatus

このパラメータはI変数であり、コマンドから返されたステータスコードを受信します。

8104:コマンドの実行に成功しました。

-99:ロボット通信異常。

サンプル

CALL JOB:MSR_VIEW_PIECE_DATA ARGF"1;80" ARGF"STRING"

上記のサンプルは、ロボットがワークSNを Mech-Metrics に入力し(ワーク番号は1)、Mech-Metrics ソフトウェアのメイン画面を該当ワークのデータビューに切り替え、コマンドのステータスコードを番号80の数値レジスタに保存することを示しています。

キャリブレーション

このコマンドは、ロボットのハンドアイキャリブレーション(外部パラメータのキャリブレーション)に使用します。このコマンドは、Mech-MSRカメラメニューの3Dカメラキャリブレーションツールと組み合わせて使用する必要があります。

呼び出し順序

正式な測定を開始する前に、このコマンドを呼び出してロボットのハンドアイキャリブレーションを行う必要があります。

コマンド形式

MSR_CALIB("Move_Type;Pos_Jps;Wait_Time;Rnum;Ext;Pos")

入力パラメータ

{Move_Type}

このパラメータはロボットの移動タイプを示し、値の範囲が1または2です。

  • 1:直線運動

  • 2:関節運動

{Pos_Jps}

このパラメータは、キャリブレーションポイントの位置姿勢形式を指定するために使用し、値は1または2です。

  • 1:ツール位置姿勢

  • 2:関節角度

{Wait_time}

このパラメータは、ロボットがキャリブレーションポイントに移動した後の待ち時間(ロボットの振動・ブレを防止するため)を示します。単位は秒で、デフォルトは2秒です。データ型はnumです。

{Ext}

このパラメータは外部軸のデータを示し、単位はミリメートル(mm)です。現場に第7軸のレールがあり、ロボットがそのレールの動きを制御する場合は、このパラメータを具体的な外部軸データ値に設定する必要があります。そうでない場合、このパラメータは0に設定してください。

出力パラメータ

TOP_Status

コマンドのステータスコードを保存するために使用します。

サンプル

CALL JOB:MSR_CALIB("2;1;2;6;0;99")

上記のサンプルは、キャリブレーションポイントの位置姿勢形式がツール位置姿勢であり、ロボットが関節角度形式でキャリブレーションポイントに移動した後の待ち時間が2秒、かつ外部軸がなく、P99を使用してキャリブレーションポイントの位置データを保存することを示しています。

この情報は役に立ちましたか?

ご意見・ご要望がございましたら、以下よりお寄せください:

Mech-Mindは、お客様のプライバシーを重視しています

このサイトでは最高の体験を提供するために Cookie を使用しています。サイトの閲覧を続ける場合、Cookie の使用に同意したことになります。「拒否する」を選択すると、このサイトを訪れた際に追跡や記憶が行われないように単独の Cookie が使用されます。