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

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

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

本文では、三菱Qシリーズ PLCとMech-MindのビジョンシステムでModbus TCPプロトコルを用いて標準インターフェース通信を行うコマンドについて説明します。この通信では、PLC(クライアント)はコマンドをMech-Mindビジョンシステム(サーバー)に送信し、Mech-Mindビジョンシステムは処理されたデータをPLCに返します。

send receive

注意事項

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

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

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

  • ビジョンポイントまたは経路点:

    • ビジョンポイント:Mech-Visionが認識した対象物で、1つのビジョンポイントには対象物の位置姿勢、ラベル、速度、対象物の寸法、カスタマイズされたデータなどが含まれます。

    • 経路点:ロボットが計画された経路に沿って1つずつ到達する必要のあるポイントで、経路点にはロボットの位置姿勢、ラベル、移動方式、速度などが含まれます。経路点は次の2つの種類に分けられます。

      • 「ビジョン処理による移動」の経路点:「ビジョン処理による移動」ステップに対応する経路点。

      • 「ビジョン処理による移動」の以外の経路点:「ビジョン処理による移動」ステップ以外の移動ステップに対応する経路点。

Mech-Visionプロジェクトを実行

機能

このコマンドは、Mech-Visionプロジェクトを実行するために使用されます。Mech-Visionプロジェクトの実行中、ビジョンシステムはカメラ撮影を行い、一連のビジョンアルゴリズムで画像データを処理し、一連のビジョンポイントまたは経路点を生成します。

  • ビジョンポイント:Mech-Visionが認識した対象物で、1つのビジョンポイントには対象物の位置姿勢、ラベル、速度、対象物の寸法、カスタマイズされたデータなどが含まれます。

  • 経路点:ロボットが計画された経路に沿って1つずつ到達する必要のあるポイントで、経路点にはロボットの位置姿勢、ラベル、移動方式、速度などが含まれます。

呼び出し順序

機能ブロック

start mech vision 1

入力パラメータ

Vision_Proj_Num

このパラメータはMech-Visionのプロジェクト番号を表します。データ型はWord[Signed]です。Mech-Visionプロジェクト番号は、Mech-Visionプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。

Req_Pose_Num

このパラメータは、Mech-Visionプロジェクトから取得されたビジョンポイントまたは経路点の期待数を示します。データ型はWord[Signed]です。その値は0または0より大きい整数です。詳細な説明は以下の通りです。

Mech-Visionプロジェクトに「経路計画」ステップを使用する場合、このパラメータは経路点の期待数を表します。それ以外の場合はビジョンポイントの期待数を表します。
  • 0:Mech-Visionプロジェクトからすべてのビジョンポイントまたは経路点を取得します。

  • 0より大きい整数:Mech-Visionプロジェクトから指定数のビジョンポイントまたは経路点を取得します。

    • Mech-Visionプロジェクトから出力されたビジョンポイントまたは経路点の合計数が、指定されたパラメータ値より小さい場合、出力されたすべてのビジョンポイントまたは経路点を取得します。

    • Mech-Visionプロジェクトから出力されたビジョンポイントまたは経路点の合計数が、指定されたパラメータ値より大きい場合、指定された数のビジョンポイントまたは経路点を取得します。

Robot_Pose_Type

このパラメータは、ロボット実機の位置姿勢をMech-Visionプロジェクトに送信する形式を指定するために使用されます。データ型はWord[Signed]です。その値は0、1、2または3です。詳細は下表の通りです。

Camera_User.Robot_Pose_JPS

このパラメータは、ロボットの関節角度を指定するために使用されます。データ型はFLOAT (Single Precision)(0..5)です。

Camera_User.Robot_Pose_Flange

このパラメータは、ロボットのフランジ位置姿勢を指定するために使用されます。データ型はFLOAT (Single Precision)(0..5)です。

下表は、Robot_Pose_TypeとCamera_User.Robot_Pose_JPSおよびCamera_User.Robot_Pose_Flangeのパラメータ値の関係とその説明です。

Robot_Pose_Type Camera_User.Robot_Pose_JPS Camera_User.Robot_Pose_Flange 詳細 適用シーン

0

0,0,0,0,0,0

0,0,0,0,0,0

このコマンドは、ロボットの位置姿勢をMech-Visionプロジェクトに送信する必要はありません。

Mech-Visionプロジェクトに「経路計画」ステップがある場合、経路計画の開始位置は経路計画設定ツールで設定された初期位置となります。

カメラの取り付け方式がEye to Handであり、かつプロジェクトで事前の撮影が不要な場合は、この設定を使用します。

1

ロボットの現在の関節角度

ロボットの現在のフランジ位置姿勢

このコマンドは、ロボットの現在の関節角度とフランジ位置姿勢をMech-Visionプロジェクトに送信する必要があります。

カメラの取り付け方式がEye in Handである場合、必ずこの設定を使用する必要があります。

直行ロボットを使用するシーンを除き、ほとんどのシーンではこの設定の使用を推奨します。

2

0,0,0,0,0,0

ロボットの現在のフランジ位置姿勢

このコマンドは、ロボットの現在のフランジ位置姿勢をMech-Visionプロジェクトに送信する必要があります。

直行ロボットを使用する場合、この設定を推奨します。

3

ユーザーによりカスタマイズされた関節角度

0,0,0,0,0,0

このコマンドは、カスタマイズされた関節角度をMech-Visionプロジェクトに送信する必要があります。

この関節角度データは、Mech-Visionプロジェクトの「経路計画」ステップに開始点として送信されます。つまり、ロボットはこの開始点から経路計画の最初の経路点に向かって移動します。

カメラの取り付け方式がEye to Handで、かつプロジェクトで事前撮影が必要な場合は、この設定を使用します。

Start_Vision

このパラメータは、Mech-Visionプロジェクトの実行をトリガーするために使用されます。立ち上がりエッジで有効になります。データ型はBitです。

グローバルラベル「MM_Camera」から返されたデータ

Status_Code

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 1102 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

start mech vision 2

上記の例は次のように動作します。Camera_User.Start_Visの立ち上がりエッジが検出されると、PLCはMech-Visionのプロジェクト1を実行し、Mech-Visionのプロジェクト1から1個のビジョンポイントまたは経路点が返されることを期待します。同時に、ロボットの現在の関節角度とフランジ位置姿勢をMech-Visionに送信します。

ビジョン結果を取得

機能

このコマンドは、Mech-Visionによって出力されたビジョン結果(一連のビジョンポイント)を取得するために使用されます。ビジョンポイントの対象物の位置姿勢(つまり「出力」ステップの「poses」ポートのデータ)は、ビジョンシステムによって自動的に対応するロボットのツール位置姿勢に変換されます。変換流れは以下の通りです。

「出力」ステップの最初の入力ポートが 対象物の中心点 である場合、「出力」ステップは 対象物の中心点 を対応する 把持点 に変換します。そのため、このコマンドを通じて取得される位置姿勢は、実際には把持点の位置姿勢であり、対象物中心点の位置姿勢ではありません。
get tcp
  1. 対象物の位置姿勢を四元数からオイラー角の形式に変換します。

  2. 対象物の位置姿勢をX軸を中心に180°回転させ、Z軸が下を向くようにします。

    convert tcp

呼び出し順序

このコマンドは Mech-Visionプロジェクトを実行 の後に呼び出す必要があります。

機能ブロック

get mech vision data 1

入力パラメータ

Vision_Proj_Num

このパラメータはMech-Visionのプロジェクト番号を表します。データ型はWord[Signed]です。Mech-Visionプロジェクト番号は、Mech-Visionプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。

Get_VisData

このパラメータは、ビジョン結果を取得するために使用されます。立ち上がりエッジで有効になります。データ型はBitです。

グローバルラベル「MM_Camera」から返されたデータ

Status_Code

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 1100 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

このコマンドを呼び出した後、ビジョンシステムは10秒以内に処理結果を返さない場合、タイムアウトのエラーコードが返されます。Mech-Visionでは、ツールバーから ロボット通信設定  次へ  詳細設定 をクリックし、実際の状況に応じてタイムアウトを変更することができます。

set vis time

Status_of_Pose_Sent

このパラメータは、すべてのビジョンポイントまたは経路点を取得済みかどうかを示します。データ型はWord[Signed]です。値は0または1です。

  • 0:すべてのビジョンポイントを取得していません。

  • 1:すべてのビジョンポイントを取得済みです。

Number_of_Pose_Sent

このコマンドは、Mech-Visionが返されたビジョンポイントの数を保存するために使用されます。データ型はWord[Signed]です。

Target_Pose

このパラメータは、取得されたビジョン結果に含まれる各ビジョンポイントの位置姿勢を表します。位置姿勢のタイプはツール位置姿勢です。データ型はFLOAT (Single Precision)(0..239)です。

Target_Label

このパラメータは、取得されたビジョン結果に含まれる各ビジョンポイントのラベルを表します。ラベルは位置姿勢と一対一で対応しています。データ型はWord[Signed](0..39)です。

get mech vision data 2

上記の例では、Camera_User.Get_VisDataの立ち上がりエッジが検出されると、Mech-Visionのプロジェクト1のビジョン結果を取得することを示しています。

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

機能

このコマンドは、Mech-Visionプロジェクトに使用するパラメータレシピを切り替えるために使用されます。下図は、Mech-VisionプロジェクトのレシピAまたはレシピBの手動切り替えを示しています。パラメータレシピの詳細については、パラメータレシピ をご参照ください。

set recipe

呼び出し順序

このコマンドは、Mech-Visionプロジェクトを実行 コマンドの前に呼び出す必要があります。

機能ブロック

set formula 1

入力パラメータ

Vision_Proj_Num

このパラメータはMech-Visionのプロジェクト番号を表します。データ型はWord[Signed]です。Mech-Visionプロジェクト番号は、Mech-Visionプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。

Vision_Recipe_Num

このパラメータは、Mech-Visionプロジェクトで設定されたパラメータレシピの番号を表します。データ型はWord[Signed]です。パラメータレシピ番号を確認するには、 パラメータレシピの番号を確認 をご参照ください。

Switch_Recipe

このパラメータは、Mech-Visionパラメータレシピの切り替えをトリガーするために使用されます。立ち上がりエッジで有効になります。データ型はBitです。

グローバルラベル「MM_Camera」から返されたデータ

Status_Code

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 1107 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

set formula 2

上記の例では、Camera_User.Switch_Recipeの立ち上がりエッジが検出されると、Mech-Visionプロジェクト1のパラメータレシピを番号2のパラメータレシピに切り替えることを示しています。

Mech-Visionの計画経路を取得

機能

このコマンドは、Mech-Visionによって計画された経路(一連の経路点)を取得するために使用されます。ここでの経路は、経路計画設定ツールによって計画されます。下図に示すように、設定ツール をクリックして経路計画設定ツールを開くことができます。「経路計画」ステップの詳細については、経路計画 をご参照ください。

Mech-Visionの「出力」ステップの ポートタイプ パラメータを「事前定義済み(ロボット経路)」に設定する必要があります。
get plan path step

呼び出し順序

このコマンドは Mech-Visionプロジェクトを実行 の後に呼び出す必要があります。

機能ブロック

get planned visdate 1

入力パラメータ

Vision_Proj_Num

このパラメータはMech-Visionのプロジェクト番号を表します。データ型はWord[Signed]です。Mech-Visionプロジェクト番号は、Mech-Visionプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。

Req_Pose_Type

このパラメータは、経路点の位置姿勢形式を指定するために使用されます。データ型はWord[Signed]です。その値は1または2です。

  • 1:関節角度。

  • 2:ツール位置姿勢。

ここでは、Req_Pose_Typeと機能ブロックMM_Start_VisおよびMM_Start_Vizの中のRobot_Pose_Typeは、対応するデータブロック(MM Modbus TCP Interface)内の同じ変数(Pose Type)に対応しています。そのため、Req_Pose_TypeとRobot_Pose_Typeの設定値が異なる場合、両方を同時に有効にすることはできません。

Get_VisData

このパラメータは、Mech-Visionから計画経路を取得するために使用されます。立ち上がりエッジで有効になります。データ型はBitです。

グローバルラベル「MM_Camera」から返されたデータ

Status_Code

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 1103 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

このコマンドを呼び出した後、ビジョンシステムは10秒以内に処理結果を返さない場合、タイムアウトのエラーコードが返されます。Mech-Visionでは、ツールバーから ロボット通信設定  次へ  詳細設定 をクリックし、実際の状況に応じてタイムアウトを変更することができます。

set vis time

Status_of_Pose_Sent

このパラメータは、すべての経路点が取得済みかどうかを示します。データ型はWord[Signed]です。値は0または1です。

  • 0:すべての経路点を取得していません。

  • 1:すべての経路点を取得済みです。

Number_of_Pose_Sent

このコマンドは、ビジョンシステムが返す経路点の数を保存するために使用されます。データ型はWord[Signed]です。デフォルトでは、一度にビジョンシステムによって送信される経路点の最大数は20個であるため、このパラメータの最大初期値は20となります。 Mech-Visionでは、ツールバーから ロボット通信設定  次へ  詳細設定 をクリックします。実際の状況に応じて最大数の初期値を変更することができますが、最大数の上限は30です。

set number
Mech-Visionの計画経路を取得 コマンドを呼び出す前に、必ず Mech-Visionプロジェクトを実行 コマンドのReq_Pose_Numを0に設定してください。これにより、Mech-Visionの計画経路を取得 コマンドの呼び出し回数をを減らすことができます。Mech-Visionプロジェクトを実行 コマンドのReq_Pose_Numが1に設定されている場合、Mech-Visionの計画経路を取得 コマンドを一回呼び出すと1つの経路点のみが取得され、すべての経路点を取得するには複数回の呼び出しが必要です。

Index_of_Vision_Picking_Point

このパラメータは、経路計画設定ツールでの「ビジョン処理による移動」ステップの経路点が経路全体における位置番号を表します。データ型はWord[Signed]です。経路中に「ビジョン処理による移動」ステップの経路点がない場合、このパラメータの値は0になります。

例えば、計画された経路が「移動_1」、「移動_2」、「ビジョン処理による移動」、「移動_3」で構成されている場合、「ビジョン処理による移動」の位置番号は3になります。

Target_Pose

このパラメータは、取得された計画経路における各経路点の位置姿勢を表します。位置姿勢のタイプはツール位置姿勢や関節角度です。Req_Pose_Typeパラメータの値によって決定されます。データ型はFLOAT (Single Precision)(0..239)です。

Target_Label

このパラメータは、取得された計画経路における各経路点のラベルを表します。ラベルは位置姿勢と一対一で対応しています。データ型はWord[Signed](0..39)です。

Target_Tool_ID

このパラメータは、取得された計画経路における各経路点のロボットハンド番号を表します。ロボットハンド番号は位置姿勢と一対一で対応しています。データ型はWord[Signed](0..39)です。

get planned visdate 2

上記の例では、Camera_User.Get_VisDataの立ち上がりエッジが検出されると、Mech-Visionのプロジェクト1から返された計画経路を取得することを示しています。経路点の位置姿勢タイプは関節角度です。

吸盤のDO信号を取得

機能

このコマンドは、Mech-VisionまたはMech-Vizプロジェクトによって計画された複数パーティション吸盤の制御信号を取得するために使用されます。このコマンドを使用する前に、Mech-VisionまたはMech-Vizソフトウェアで以下の設定を行う必要があります。

  • Mech-Visionプロジェクトの設定

    • 「経路計画」ステップのパラメータで、設定ツールを開く をクリックします。全体的設定箱のデパレタイジング をオンにします。

      vision move vis
    • 「経路計画」ステップのパラメータから 設定ツールを開く をクリックします。表示される画面でロボットハンド名をダブルクリックし、ロボットハンドの種類デパレタイズ用吸盤 に選択します。デパレタイズ用吸盤設定 をクリックし、実際の状況に応じてDO信号を設定します。

      sucker vis
  • Mech-Vizプロジェクトの設定

    • Mech-Vizソフトウェアで、「ビジョン処理による移動」ステップの 把持方法箱のデパレタイジング に設定します。

      vision move viz
    • Mech-Vizでは、ロボットハンド名をダブルクリックし、 ロボットハンドの種類デパレタイズ用吸盤 に選択します。 デパレタイズ用吸盤設定 をクリックし、実際の状況に応じてDO信号を設定します。

      sucker viz

呼び出し順序

Mech-Visionの計画経路を取得 または Mech-Vizの計画経路を取得 コマンドの後にこのコマンドを呼び出す必要があります。すなわち、PLCはまず計画された経路を取得し、その後に「ビジョン処理による移動」の経路点に対応する吸盤DO信号を取得する必要があります。

機能ブロック

get do list 1

入力パラメータ

Vision_Proj_Num

DO信号リストのソースを指定します。データ型はWord[Signed]です。その値は0または正の整数です。詳細な説明は以下の通りです。

  • 0:Mech-VizからDO信号リストを取得します。

  • 正整数:Mech-VisionからDO信号リストを取得します。ここで設定された正整数はMech-Visionプロジェクト番号となります。

Tool_Section_Num

このパラメータは、吸盤のパーティション数を表します。データ型はWord[Signed]です。

Get_DoList

このパラメータは、吸盤のDO信号を取得するために使用されます。立ち上がりエッジで有効になります。データ型はBitです。

グローバルラベル「MM_Camera」から返されたデータ

Status_Code

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドはMech-VizからDO信号リストを取得できた場合、ステータスコードは 2102 になります。コマンドがMech-VisionからDO信号リストを正常に取得した場合、ステータスコードは 1106 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

DO_LIST

このパラメータは、コマンドが返した64のDO信号を表します。データ型はWord[Signed](0..63)です。

作成されるプロジェクトによって、このコマンドによって返されるDO信号は以下のように異なります。

  • Mech-Visionプロジェクトによって計画された吸盤のDO信号

    • 経路計画の 全体的設定 では、全部のビジョン処理の結果を計画有効になっていない 場合、このコマンドは64個の信号を返し、それは今回計画の吸盤DO信号を示します。有効なDO信号は0〜999の非負整数であり、無効なDO信号は-1(プレースホルダーとして使用)です。

      plan all vis off

      例えば下表の場合、返された有効なDO信号は1、3、5、6で、これは上記のDO信号に対応する値がONに設定されていることを示します。

      1番目

      2番目

      3番目

      4番目

      5番目

      6番目

      7番目

      8番目

      63番目

      64番目

      1

      3

      5

      6

      -1

      -1

      -1

      -1

      -1

      -1

    • 経路計画の 全体的設定 では、全部のビジョン処理の結果を計画有効 になっている場合、Mech-Visionが同じビジョン結果に基づいて複数回の計画を行うことができます。このコマンドによって返される64個のDO信号は、すべての計画における吸盤のDO信号です。この時、吸盤パーティションの数を使用して、それぞれの計画の吸盤DO信号を区別できます。

      plan all vis on

      例えば、吸盤パーティションの数が4の場合、このコマンドは64個のDO信号を返します。そのうち、4個のDO信号ごとに一回計画の複数パーティション吸盤の制御信号が含まれます。

      1回目計画

      2回目計画

      16回目計画

      1番目

      2番目

      3番目

      4番目

      5番目

      6番目

      7番目

      8番目

      61番目

      62番目

      63番目

      64番目

      1

      3

      4

      -1

      1

      4

      -1

      -1

      -1

      -1

      -1

      -1

  • Mech-Vizプロジェクトによって計画された吸盤のDO信号

    • 「ビジョン処理による移動」ステップで「ビジョン処理の結果を再使用」に チェックを入れていない 場合、このコマンドは64個の信号を返し、それは今回計画の吸盤DO信号を示します。有効なDO信号は0〜999の非負整数であり、無効なDO信号は-1(プレースホルダーとして使用)です。

      vision move off

      例えば下表の場合、返された有効なDO信号は1、3、5、6で、これは上記のDO信号に対応する値がONに設定されていることを示します。

      1番目

      2番目

      3番目

      4番目

      5番目

      6番目

      7番目

      8番目

      63番目

      64番目

      1

      3

      5

      6

      -1

      -1

      -1

      -1

      -1

      -1

    • 「ビジョン処理による移動」ステップでビジョン処理の結果を再使用」に チェックが入っていて、このステップががループフロー内にある場合、Mech-Vizは同じビジョン結果に基づいて複数回の計画を行うことができます。このコマンドによって返される64個のDO信号は、すべての計画における吸盤のDO信号です。この時、吸盤パーティションの数を使用して、それぞれの計画の吸盤DO信号を区別できます。

      vision move on

      例えば、吸盤パーティションの数が4の場合、このコマンドは64個のDO信号を返します。そのうち、4個のDO信号ごとに一回計画の複数パーティション吸盤の制御信号が含まれます。

      1回目計画

      2回目計画

      16回目計画

      1番目

      2番目

      3番目

      4番目

      5番目

      6番目

      7番目

      8番目

      61番目

      62番目

      63番目

      64番目

      1

      3

      4

      -1

      1

      4

      -1

      -1

      -1

      -1

      -1

      -1

get do list 2

上記の例では、Camera_User.Get_DoListの立ち上がりエッジが検出されると、Mech-Vizから返されたDO信号リストをDO_LISTに保存することを示しています。

Mech-Vizプロジェクトを実行

機能

このコマンドは、Mech-Vizプロジェクトを実行するために使用されます。Mech-Vizは、Mech-Visionの出力されたビジョン結果に基づいてロボットの動作経路を計画します。

Mech-Vizのリソースパネルでプロジェクトを右クリックし、自動的に読み込む にチェックを入れます。

機能ブロック

start mech viz 1

入力パラメータ

Robot_Pose_Type

このパラメータは、ロボット実機の位置姿勢がMech-Vizプロジェクトにどのような形式で送信されるかを指定します。値が0、1または2です。データ型はWord[Signed]です。

Camera_User.Robot_Pose_JPS

このパラメータは、ロボットの関節角度を指定するために使用されます。データ型はFLOAT (Single Precision)(0..5)です。

Camera_User.Robot_Pose_Flange

このパラメータは、ロボットのフランジ位置姿勢を指定するために使用されます。データ型はFLOAT (Single Precision)(0..5)です。

下表は、Robot_Pose_TypeとCamera_User.Robot_Pose_JPSおよびCamera_User.Robot_Pose_Flangeのパラメータ値の関係とその説明です。

Robot_Pose_Type Camera_User.Robot_Pose_JPS Camera_User.Robot_Pose_Flange 詳細 適用シーン

0

0,0,0,0,0,0

0,0,0,0,0,0

Mech-Vizプロジェクトにロボットの位置姿勢を送信する必要がありません。Mech-Vizプロジェクトでは、仮想ロボットが設定された初期位置から最初の経路点に移動します。

カメラがEye to Hand方式で取り付けられている場合。

1

ロボットの現在の関節角度

ロボットの現在のフランジ位置姿勢

このコマンドはロボットの現在の関節角度とフランジ位置姿勢をMech-Vizプロジェクトに送信する必要があります。Mech-Vizプロジェクトでの仮想ロボットは受信された関節角度から最初の経路点に移動します。

カメラの取り付け方式がEye in Handである場合は推奨します。

2

経路計画の開始位置におけるロボットの関節角度

0,0,0,0,0,0

このコマンドはロボットのティーチポイント(現在の関節角度ではなく、カスタマイズされた関節角度)をMech-Vizプロジェクトに送信する必要があります。これは、ロボットが画像撮影領域の外にいる場合に(下図に示す)、Mech-Vizプロジェクトが次回の経路を事前に計画することをトリガーするために使用されます。Mech-Vizプロジェクトでの仮想ロボットは受信された最初のティーチポイントから最初の経路点に移動します。

カメラの取り付け方式がEye to Handである場合は推奨します。

カメラの取り付け方式がEye to Handの場合、Robot_Pose_Typeの設定に2を推奨する理由は何ですか?

下図に示すように、ロボットは配置領域で動作しています。

この場合、Robot_Pose_Type1 に設定すると、ロボットの現在の位置姿勢がMech-Vizに送信され、ロボット実機は最初の経路点に移動する前に他の位置に移動する可能性があります。仮想ロボットは現在の位置からMech-Vizプロジェクトの最初の経路点に移動し、移動中に衝突が検出されたため警告が表示される可能性があります。

この場合、Robot_Pose_Type2 に設定すると、ロボット側で設定されたティーチポイントがMech-Vizに送信されます。これにより、ロボット実機は配置領域でMech-Vizをトリガーして次回の経路を事前に計画し、サイクル時間を短縮することができます。

これが、カメラがEye to Hand方式で取り付けられている場合、Robot_Pose_Type の設定に2を推奨する理由です。

robot example

Start_Viz

このパラメータは、Mech-Vizプロジェクトの実行をトリガーするために使用されます。立ち上がりエッジで有効になります。データ型はBitです。

グローバルラベル「MM_Camera」から返されたデータ

Status_Code

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 2103 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

start mech viz 2

上記の例では、Camera_User.Start_Vizの立ち上がりエッジが検出されると、Mech-Vizプロジェクトを実行し、現在のロボットの関節角度とフランジ位置姿勢がMech-Vizに送信することを示しています。

Mech-Vizプロジェクトを停止

機能

このコマンドは、実行中のMech-Vizプロジェクトを停止するために使用されます。

呼び出し順序

このコマンドは Mech-Vizプロジェクトを実行 の後に呼び出す必要があります。

機能ブロック

stop mech viz 1

入力パラメータ

Stop_Viz

このパラメータは、実行中のMech-Vizプロジェクトを停止するために使用されます。立ち上がりエッジで有効になります。データ型はBitです。

グローバルラベル「MM_Camera」から返されたデータ

Status_Code

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 2104 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

stop mech viz 2

上記の例では、Camera_User.Stop_Vizの立ち上がりエッジが検出されると、Mech-Vizプロジェクトの実行を停止することを示しています。

Mech-Vizの分岐ステップの出口を設定

機能

このコマンドは、「メッセージによって異なる分岐を実行」ステップの出口を設定するために使用されます。Mech-Vizプロジェクトが「メッセージによって異なる分岐を実行」ステップまで実行すると、このコマンドによって出口を指定するのを待ちます。

set branch

呼び出し順序

このコマンドは Mech-Vizプロジェクトを実行 の後に呼び出す必要があります。

機能ブロック

set branch 2

入力パラメータ

Branch_Name

このパラメータは、分岐ステップの番号を指定するために使用されます。データ型はWord[Signed]です。その値は正の整数です。ステップIDはステップパラメータで確認できます。例えば、上図のステップIDは1です。

Branch_Exit_Port

このパラメータは、「メッセージによって異なる分岐を実行」ステップの出口番号を指定するために使用されます。データ型はWord[Signed]です。その値は正の整数です。このパラメータをNに設定すると、Mech-Vizプロジェクトは「メッセージによって異なる分岐を実行」ステップのN-1番号に沿って実行を継続します。

Set_Branch

このパラメータは、Mech-Viz「メッセージによって異なる分岐を実行」を設定するために使用されます。立ち上がりエッジで有効になります。データ型はBitです。

グローバルラベル「MM_Camera」から返されたデータ

Status_Code

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 2105 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

set branch 3

上記の例では、Camera_User.Set_Branchの立ち上がりエッジが検出されると、Mech-Vizプロジェクトはステップ番号が1の「メッセージによって異なる分岐を実行」ステップで出口0に沿って実行を継続することを示しています。

Mech-Vizの現在のインデックスを設定

機能

このコマンドは、インデックス付きのステップの現在のインデックス値を設定するために使用されます。インデックス付きのステップとは、「グリッドによる移動」「リストによる移動」「事前計画パレットパターン」「カスタマイズのパレットパターン」などの「インデックス」パラメータを含むステップのことです。

set index

呼び出し順序

通常、インデックス付きのステップの前には「メッセージによって異なる分岐を実行」ステップがあり、PLCはまず Mech-Vizプロジェクトを実行 コマンドを呼び出し、次に Mech-Vizの現在のインデックスを設定 コマンドを呼び出し、最後に Mech-Vizの分岐ステップの出口を設定 コマンドを呼び出します。これにより、Mech-Vizは現在のインデックス値を設定するための十分な時間が確保されます。

機能ブロック

set index 2

入力パラメータ

Index_Name

このパラメータは、インデックス付きのステップのステップ番号を指定するために使用されます。データ型はWord[Signed]です。その値は正の整数です。ステップ番号はステップパラメータで確認できます。例えば、上図のステップ番号は3です。

Index_Counter

このパラメータは、インデックス付きのステップの現在のインデックス値を指定するために使用されます。データ型はWord[Signed]です。その値は正の整数です。このパラメータ値がNに設定されている場合、対応するステップの現在のインデックス値はN-1となります。

Set_Index

このパラメータは、Mech-Vizの現在のインデックスを設定するために使用されます。立ち上がりエッジで有効になります。データ型はBitです。

グローバルラベル「MM_Camera」から返されたデータ

Status_Code

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 2106 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

set index 3

上記の例では、Camera_User.Set_Indexの立ち上がりエッジが検出されると、Mech-Vizプロジェクト内のステップ番号が5のステップの現在のインデックス値を3に設定することを示しています。

Mech-Vizの計画経路を取得

機能

このコマンドは、Mech-Vizプロジェクトによって計画された動作経路(一連の経路点)を取得するために使用されます。

経路点:ロボットが計画された経路に沿って1つずつ到達する必要のあるポイントで、経路点にはロボットの位置姿勢、ラベル、移動方式、速度などが含まれます。経路点は次の2つの種類に分けられます。

  • 「ビジョン処理による移動」の経路点:「ビジョン処理による移動」ステップに対応する経路点。

  • 「ビジョン処理による移動」の以外の経路点:「ビジョン処理による移動」ステップ以外の移動ステップに対応する経路点。

呼び出し順序

このコマンドは、Mech-Vizプロジェクトを実行 コマンドの後に呼び出す必要があります。

機能ブロック

get mech viz date 1

入力パラメータ

Req_Pose_Type

このパラメータは、経路点の位置姿勢形式を指定するために使用されます。データ型はWord[Signed]です。その値は1または2です。

  • 1:関節角度。

  • 2:ツール位置姿勢。

ここでは、Req_Pose_Typeと機能ブロックMM_Start_VisおよびMM_Start_Vizの中のRobot_Pose_Typeは、対応するデータブロック(MM Modbus TCP Interface)内の同じ変数(Pose Type)に対応しています。そのため、Req_Pose_TypeとRobot_Pose_Typeの設定値が異なる場合、両方を同時に有効にすることはできません。

Get_VizData

このパラメータは、Mech-Vizから計画経路を取得するために使用されます。立ち上がりエッジで有効になります。データ型はBitです。

グローバルラベル「MM_Camera」から返されたデータ

Status_Code

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 2100 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

このコマンドを呼び出した後、ビジョンシステムは10秒以内に処理結果を返さない場合、タイムアウトのエラーコードが返されます。Mech-Visionでは、ツールバーから ロボット通信設定  次へ  詳細設定 をクリックし、実際の状況に応じてタイムアウトを変更することができます。

set viz time

Status_of_Pose_Sent

このパラメータは、すべての経路点が取得済みかどうかを示します。データ型はWord[Signed]です。値は0または1です。

  • 0:すべての経路点を取得していません。

  • 1:すべての経路点を取得済みです。

Number_of_Pose_Sent

このコマンドは、ビジョンシステムが返す経路点の数を保存するために使用されます。デフォルトでは、一度にビジョンシステムによって送信される経路点の最大数は20個であるため、このパラメータの最大初期値は20となります。 Mech-Visionでは、ツールバーから ロボット通信設定  次へ  詳細設定 をクリックします。実際の状況に応じて最大数の初期値を変更することができますが、最大数の上限は30です。

set number

Index_of_Vision_Picking_Point

このパラメータは、Mech-Vizプロジェクトでの「ビジョン処理による移動」ステップの経路点が経路全体における位置番号を表します。データ型はWord[Signed]です。経路中に「ビジョン処理による移動」ステップの経路点がない場合、このパラメータの値は0になります。

例えば、計画された経路が「移動_1」、「移動_2」、「ビジョン処理による移動」、「移動_3」で構成されている場合、「ビジョン処理による移動」の位置番号は3になります。

Target_Pose

このパラメータは、取得された計画経路における各経路点の位置姿勢を表します。位置姿勢のタイプはツール位置姿勢や関節角度です。Req_Pose_Typeパラメータの値によって決定されます。データ型はFLOAT (Single Precision)(0..239)です。

Target_Label

このパラメータは、取得された計画経路における各経路点のラベルを表します。ラベルは位置姿勢と一対一で対応しています。データ型はWord[Signed](0..39)です。

Target_Tool_ID

このパラメータは、取得された計画経路における各経路点のロボットハンド番号を表します。ロボットハンド番号は位置姿勢と一対一で対応しています。データ型はWord[Signed](0..39)です。

get mech viz date 2

上記の例では、Camera_User.Get_VizDataの立ち上がりエッジが検出されると、Mech-Vizプロジェクトから計画経路を取得することを示しています。経路点の位置姿勢タイプはツール位置姿勢です。

Mech-Visionプロジェクトに対象物の寸法を送信

機能

このコマンドは、対象物の寸法をMech-Visionプロジェクトに送信するために使用されます。下図に示すように、送信される対象物の寸法は、「対象物の寸法を読み込む」ステップの 箱の寸法設定 パラメータ値となります。

このコマンドを使用する場合、Mech-Visionプロジェクト内には「対象物の寸法を読み込む」ステップを 1つだけ 含める必要があります。複数存在すると、ビジョンシステムがエラーを返します。
read object dimensions

呼び出し順序

このコマンドは、Mech-Visionプロジェクトを実行 コマンドの前に呼び出す必要があります。

機能ブロック

read object dimensions 2

入力パラメータ

Vision_Proj_Num

このパラメータはMech-Visionのプロジェクト番号を表します。データ型はWord[Signed]です。Mech-Visionプロジェクト番号は、Mech-Visionプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。

Camera_User.External_Input_Box_Dimension

このパラメータは、Mech-Visionプロジェクトに送信される対象物の寸法(ミリメートル単位で長さ、幅、高さの順)を表します。寸法値は、「対象物の寸法を読み込む」ステップで読み込まれ、X軸における長さY軸にける長さZ軸における長さ に記入されます。データ型はFLOAT (Single Precision)(0..2)です。

Set_Box_Dimension

このパラメータは、Mech-Visionプロジェクトに対象物の寸法を送信するために使用されます。立ち上がりエッジで有効になります。データ型はBitです。

グローバルラベル「MM_Camera」から返されたデータ

Status_Code

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 1108 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

read object dimensions 3

上記の例は次のように動作します。Camera_User.Set_Box_Dimensionの立ち上がりエッジが検出されると、Mech-Visionプロジェクトの「対象物の寸法を読み込む」ステップで対象物の寸法をCamera_User.External_Input_Box_Dimension[0-2]パラメータの値に設定します。

「通知」ステップのメッセージを取得

機能

Mech-VisionプロジェクトまたはMech-Vizプロジェクトが「通知」ステップまで実行すると、ビジョンシステムは「通知」ステップで事前設定されたメッセージを返します。

Mech-VisionまたはMech-Vizプロジェクトが「通知」ステップまで実行すると、設定されたメッセージはビジョンシステムに3秒間しかキャッシュされないため、このコマンドを使用する場合、メッセージの内容を取得するために呼び出し時間を適切に設定する必要があります。また、このメッセージを使用した後はPLCでこのレジスタデータをクリアする必要があります。

このコマンドを使用する前に、「通知」ステップで以下の設定を行う必要があります。

  • Mech-Visionプロジェクト内の「通知」ステップ

    1. 「通知」ステップを他のステップの右側につなぎます(ここでは、「出力」ステップを例とします)。

      notify 1
    2. 「出力」ステップのパラメータで 出力がある場合に制御フローをトリガー にチェックを入れます。

      notify 5
    3. 「通知」ステップのパラメータで、サービス名に Standard Interface Notify(変更不可) を入力し、メッセージに 1001 (実際の状況に応じて変更可能で、正の整数の入力が必要)入力します。

      notify 2
  • Mech-Vizプロジェクト内の「通知」ステップ

    1. 「通知」ステップをワークフローの適切な場所に配置し、その他のステップをつなぎます。

      notify 3
    2. 「通知」ステップのパラメータで、「受信者」を 標準インターフェース に選択し、メッセージに 1000 (実際の状況に応じて変更可能で、正の整数の入力が必要)を入力します。

      notify 4

呼び出し順序

このコマンドは Mech-Visionプロジェクトを実行 または Mech-Vizプロジェクトを実行 コマンドの後に 直ち に呼び出される必要があります。

機能ブロック

get notify 1

入力パラメータ

Get_Notify

このパラメータは、「通知」ステップのメッセージを取得するために使用されます。立ち上がりエッジで有効になります。データ型はBitです。

グローバルラベル「MM_Camera」から返されたデータ

Notify

このパラメータは、「通知」ステップのメッセージを保存するために使用されます(現在は正整数のみに対応)。データ型はWord[Signed]です。

例えば、「通知」ステップで設定したメッセージを777とすると、PLCが自動モードでメッセージを取得するサンプルは以下のようになります。

get notify 2

このサンプルでは、自動モードでD12809が3に設定されると(すなわち、Camera_User.Step_Numが3に設定される)、MM_Camera.Notifyが777に等しくなく、MM_Get_Notify機能が有効になります。変数Camera_User.Get_Notifyが立ち上がりエッジを持つと、「通知」ステップで事前に設定されたメッセージが取得されます。 メッセージを正常に取得した場合、MM_Camera.Notifyは777となります。それ以外の場合、MM_Camera.Notifyは777に等しくないため、PLCは3秒後に対応する警告メッセージを表示します。

プロジェクトのステータスを取得

機能

このコマンドは、Mech-Visionプロジェクトが準備完了しているかどうかをチェックするために使用されます。

機能ブロック

get software state 1

入力パラメータ

Get_Status

このパラメータは、Mech-Visionプロジェクトが準備完了しているかどうかをチェックするために使用されます。立ち上がりエッジで有効になります。データ型はBitです。

グローバルラベル「MM_Camera」から返されたデータ

Status_Code

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 1101 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

get software state 2

上記の例では、Camera_User.Get_Statusの立ち上がりエッジが検出されると、Mech-Visionプロジェクトが準備完了しているかどうかをチェックすることを示しています。

目標データをクリア

機能

このコマンドは、すでに取得した位置姿勢、ラベル、およびロボットハンド番号をクリアするために使用されます。

機能ブロック

clear target data 1

入力パラメータ

Start_Empty

このパラメータは、すでに取得した位置姿勢、ラベル、およびロボットハンド番号をクリアするためにトリガーされます。設定すると、有効になります。データ型はBitです。

グローバルラベル「MM_Camera」から返されたデータ

Status_Code

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 3103 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。

Target_Pose

このパラメータは、取得したビジョンポイントまたは経路点の位置姿勢を表します。データ型はFLOAT (Single Precision)(0..239)です。

Target_Label

このパラメータは、取得したビジョンポイントまたは経路点のラベルを表します。データ型はWord[Signed](0..39)です。

Target_Tool_ID

このパラメータは、取得したビジョンポイントまたは経路点のロボットハンド番号を表します。データ型はWord[Signed](0..39)です。

clear target data 2

上記の例は、Camera_User.Start_Emptyが設定されると、Target_Pose、Target_LabelおよびTarget_Tool_IDがクリアされることを示しています。

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

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

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

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