YASKAWAインライン測定サンプルプログラム

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

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

プログラム概要

機能

ユーザはロボット側からトリガーをかけて Mech-Metrics を起動し、Mech-MSR を使用して測定を行い、Mech-Metrics へ測定結果を返す

ファイルパス

Mech-MSR および Mech-Metrics ソフトウェアのインストールディレクトリMech-MSR/center/MSR_Interface/YASKAWA/MSR_Metrics_Sample1.JBI

必要なリソース

Mech-MSR ソリューションと Mech-Metrics プロジェクト

利用の前提条件

  • インライン測定定システム側の準備:

    • 現在のワークが Mech-Metrics で Mech-MSR ソリューションに関連付けられていること

    • 現在の特徴が Mech-Metrics で Mech-MSR プロジェクトにバインドされていること

    • Mech-MSR ソリューションとプロジェクトが Mech-MSR で開かれていること

  • ロボット側の準備:

    • YASKAWA標準インターフェース通信設定が完了していること

    • YASKAWA自動キャリブレーションが完了していること

    • 測定位置がティーチング済みであること

    • ロボット側でロボットを最初の測定予定位置に移動していること

    • 測定開始前にロボットとカメラを30分間予熱済みであること

    • 測定を開始する前に、外部の照明環境と温度が安定していること

本サンプルプログラムは、あくまで例示用のプログラムです。ユーザーは実際の状況に応じて変更する必要があり、プログラムを直接使用しないでください。

プログラム説明

以下は、MSR_Metrics_Sample1 サンプルプログラムのコードと関連する説明です。

/JOB
//NAME MSR_Metrics_Sample1
//POS
///NPOS 0,0,0,3,0,0
///TOOL 1
///POSTYPE ROBOT
///RECTAN
///RCONF 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
P00000=354.297,-0.839,29.373,179.7929,0.0507,-0.0083
P00001=354.297,-0.839,29.373,179.7929,0.0507,-0.0083
P00002=354.297,-0.839,29.373,179.7929,0.0507,-0.0083
//INST
///DATE 2024/05/29 14:15
///ATTR SC,RW
///GROUP1 RB1
NOP
CALL JOB:MSR_INIT_SOCKET ARGF"192.168.10.40;50000;5"
CALL JOB:MSR_OPEN_SOCKET
CALL JOB:MSR_START_MEASURE ARGF"1;2;2;3;1;1;1;1;1;1;10" ARGF"Piece01" ARGF"STRING;80"
CALL JOB:MSR_SET_PIECE_INFO ARGF"1;80" ARGF"STRINGU"
MOVJ P000 VJ=50.00
CALL JOB:MSR_MEASURE_FEASURE ARGF"1;2;80"
MOVJ P001 VJ=50.00
CALL JOB:MSR_MEASURE_FEASURE ARGF"1;2;80"
MOVJ P002 VJ=50.00
CALL JOB:MSR_MEASURE_FEASURE ARGF"1;2;80"
CALL JOB:MSR_END_MEASURE ARGF"1;11;31;32;33;80"
CALL JOB:MSR_VIEW_PIECE_DATA ARGF"1;80" ARGF"STRINGU"
CALL JOB:MSR_CLOSE_SOCKET
END

下表は上記プログラムのロジック解説です。

フロー コードと説明

位置情報の設定

///NPOS 0,0,0,3,0,0
///TOOL 1
///POSTYPE ROBOT
///RECTAN
///RCONF 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
P00000=354.297,-0.839,29.373,179.7929,0.0507,-0.0083
P00001=354.297,-0.839,29.373,179.7929,0.0507,-0.0083
P00002=354.297,-0.839,29.373,179.7929,0.0507,-0.0083
  • //POS:位置情報の設定を開始する

  • ///NPOS 0,0,0,3,0,0:3つの測定位置を指定する

  • ///TOOL 1:使用するツールの番号を指定する

  • ///POSTYPE ROBOT:ロボット座標系の使用を指定する

  • P00000=354.297,-0.839,29.373,179.7929,0.0507,-0.0083:1番目の測定位置の座標(X、Y、Z、Rx、Ry、Rzを含む)を定義する。単位:位置はミリメートル(mm)、姿勢は度(°)

  • P00001=354.297,-0.839,29.373,179.7929,0.0507,-0.0083:2番目の測定位置の座標(X、Y、Z、Rx、Ry、Rzを含む)を定義する。単位:位置はミリメートル(mm)、姿勢は度(°)

  • P00002=354.297,-0.839,29.373,179.7929,0.0507,-0.0083:2番目の測定位置の座標(X、Y、Z、Rx、Ry、Rzを含む)を定義する。単位:位置はミリメートル(mm)、姿勢は度(°)

プログラム属性の設定

///DATE 2024/05/29 14:15
///ATTR SC,RW
///GROUP1 RB1
NOP
  • //INST:プログラム情報の設定を開始する

  • ///DATE 2024/05/29 14:15:プログラム作成日時を設定する

  • ///ATTR SC,RW:プログラム属性を設定する。詳細は以下の通り:

    • SC:単一サイクル

    • RW:読み書き可能

  • ///GROUP1 RB1:ロボットグループ1(RB1)を指定する

  • NOP:処理なし。プレースホルダーやロジックの区切りに使用する

通信初期化

CALL JOB:MSR_INIT_SOCKET ARGF"192.168.10.40;50000;5"
  • CALL JOB:MSR_INIT_SOCKET ARGF"192.168.10.40;50000;5":ロボットと通信するIPCのIPアドレス、ポート番号、および通信タイムアウトの待ち時間を設定する

    • CALL:指定されたコマンド(またはプログラム)を呼び出す

    • JOB:呼び出すジョブ(またはプログラム)を指定する

    • ARGF"192.168.10.40;50000;5":IPCのIPアドレス、IPCのポート番号、接続タイムアウト時間を指定する。詳細は以下の通り:

      • 192.168.10.40:IPCのIPアドレス

      • 50000:IPCのポート番号

      • 5:接続タイムアウト時間、単位:分

        ユーザーは実際の状況に応じて、ここのIPCのIPアドレスおよびポート番号を修正し、Mech-MSR で設定したものと一致するようにする必要があります。

通信接続の確立

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

測定開始

CALL JOB:MSR_START_MEASURE ARGF"1;2;2;3;1;1;1;1;1;1;10" ARGF"Piece01" ARGF"STRING;80"
  • CALL JOB:MSR_START_MEASURE ARGF"1;2;2;3;1;1;1;1;1;1;10" ARGF"Piece01" ARGF"STRING;80":測定タスクを開始する

    • ARGF"1;2;2;3;1;1;1;1;1;1;10":測定タスクのパラメータを設定する詳細は以下の通り:

      • 1番目の「1」:ワーク番号

      • 1番目の「2」:品質検査モード 1 は全数検査、2 は抜取検査を表す

      • 2番目の「2」:連続運転モード(Continuous_Mode)

      • 3;1;1;1;1;1;1;10:カスタムパラメータ。ワーク情報をカスタマイズするために使用する。カスタムパラメータは、Mech-Metrics により多くのワーク情報を提供する必要がある場合にのみ使用される

      • ARGF"Piece01":ワーク名「Piece01」を指定するために使用する

      • ARGF"STRING;80":ワークSNおよびregStatusレジスタ番号を指定するために使用する。そのうち、「STRING」はワークのSNを表し、「80」はコマンドのステータスコードを保存するためのレジスタ番号を表す

ここのカスタムパラメータおよび検査モードは、Mech-Metrics で設定した内容と一致している必要があります。

Mech-Metrics にワークを入力

CALL JOB:MSR_SET_PIECE_INFO ARGF"1;80" ARGF"STRINGU"
  • CALL JOB:MSR_SET_PIECE_INFO ARGF"1;80" ARGF"STRINGU":ワークSNを入力し、コマンドのステータスコードを保存するためのレジスタ番号を指定する

    • ARGF"1;80":ワーク番号およびregStatusレジスタ番号を指定するために使用する。そのうち、「1」はワーク番号を表し、「80」はコマンドのステータスコードを保存するためのレジスタ番号を表す

    • ARGF"STRINGU":ワークSNを指定するために使用する

ロボットを指定位置へ移動させ、特徴測定を行う

MOVJ P000 VJ=50.00
CALL JOB:MSR_MEASURE_FEASURE ARGF"1;2;80"
MOVJ P001 VJ=50.00
CALL JOB:MSR_MEASURE_FEASURE ARGF"1;2;80"
MOVJ P002 VJ=50.00
CALL JOB:MSR_MEASURE_FEASURE ARGF"1;2;80"
  • MOVJ P000 VJ=50.00:ロボットを位置P000に移動、関節速度50.00

    • MOVJ:関節補間移動コマンド

    • P000:ロボットのティーチング位置番号

    • VJ=50.00:関節速度を指定する。関節速度は、最高速度に対する比率(%)で表される

  • CALL JOB:MSR_MEASURE_FEASURE ARGF"1;2;80":ロボット側から、ワーク番号1、測定対象の特徴の測定番号2となる Mech-MSR プロジェクトの実行をトリガーし、コマンドのステータスコードをレジスタ80に保存する

  • MOVJ P001 VJ=50.00:ロボットを位置P001に移動、関節速度50.00

  • MOVJ P002 VJ=50.00:ロボットを位置P002に移動、関節速度50.00

    ユーザーは事前に3つの測定位置P000、P001、P002をティーチングしておく必要があります。具体的なティーチング方法については、自動キャリブレーションにおけるYASKAWA自動キャリブレーション篇のキャリブレーションの初期位置を設定部分の操作をご参照ください。

測定終了

CALL JOB:MSR_END_MEASURE ARGF"1;11;31;32;33;80"
  • CALL JOB:MSR_END_MEASURE ARGF"1;11;31;32;33;80":測定タスクを終了し、測定結果を処理する

    • ARGF"1;11;31;32;33;80":ワーク番号および一部の測定パラメータを設定するために使用する。詳細は以下の通り:

      • 1:ワーク番号

      • 11:ワーク判定結果を保存するための数値レジスタ番号 1 はOK、0 はNGを表す

      • 31:ワークが公差1を超えた測定項目数を保存するためのレジスタ番号

      • 32:ワークが公差2を超えた測定項目数を保存するためのレジスタ番号

      • 33:ワークが公差3を超えた測定項目数を保存するためのレジスタ番号

      • 80:コマンドのステータスコード(regStatus)を保存するためのレジスタ番号

履歴データ照会

CALL JOB:MSR_VIEW_PIECE_DATA ARGF"1;80" ARGF"STRINGU"
  • CALL JOB:MSR_VIEW_PIECE_DATA ARGF"1;80" ARGF"STRINGU":外部からワークSNを入力することで、Mech-Metrics ソフトウェアのメイン画面を入力された番号のワークのデータビューに切り替え、コマンドのステータスコードを取得する

    • ARGF"1;80":ワーク番号(RobotID)およびregStatusレジスタ番号を指定するために使用するそのうち、「1」はワーク番号を表し、「80」はコマンドのステータスコードを保存するためのレジスタ番号を表す

    • ARGF"STRINGU":ワークSNを指定するために使用する

YASKAWA関連のコマンドにおいて、RobotIDはワーク番号を表し、regStatusはコマンドのステータスコードを表します。

通信接続の切断

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

  • END:プログラムを終了する

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

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

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

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