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

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

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

本文では、キーエンス PLCとMech-MindのビジョンシステムでEtherNet/IPプロトコルを用いて標準インターフェース通信を行うコマンドについて説明します。この通信では、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のプロジェクト番号を表します。データ型はUINTです。Mech-Visionプロジェクト番号は、Mech-Visionプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。

Req_Pose_Num

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

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

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

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

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

Robot_Pose_Type

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

Robot_Pose

このパラメータは、ロボットの位置姿勢を指定するために使用されます。データ型はARRAY[0..1,0..5] OF DINTです。このパラメータのデータ構造は二次元配列Arrayです。そのうち、Array[0]はロボットの関節角度で、Array[1]はロボットのフランジ位置姿勢です。

下表はRobot_Pose_TypeとRobot_Poseパラメータの関係とその説明を示しています。

Robot_Pose_Type Robot_Pose 説明 適用シーン

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

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

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

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

3

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

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

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

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

関節角度とフランジ位置姿勢を表す浮動小数点数はまず10000を掛け、32ビットの符号付き整数に変換してからRobot_Poseに設定する必要があります。

Start_Vision

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

変数「FromCamera」から返されたデータ

FromCamera.STATUS_CODE

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

start mech vision 2

上記の例は次のように動作します。Camera_User.Start_Visionの立ち上がりエッジが検出されると、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のプロジェクト番号を表します。データ型はUINTです。Mech-Visionプロジェクト番号は、Mech-Visionプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。

Get_VisData

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

Data_Ready

このパラメータは、取得されたビジョン結果が読み込み可能かどうかを表すために使用されます。複数のビジョンポイントを取得するための専用パラメータです。データ型はBOOLです。1は読み込み可能、0は読み込み不可を意味します。

Send_Pose_Num

このパラメータは、Mech-Visionから返されたビジョンポイントの数を示します。データ型はUINTです。その値は0または0より大きな整数です。

Start_Empty

このパラメータは、取得されたTarget_Pose、Target_Labelのデータをクリアするために使用されます。設定すると有効になります。データ型はBOOLです。

出力パラメータ

Target_Pose

このパラメータは、取得されたビジョン結果に含まれる各ビジョンポイントの位置姿勢を表します。位置姿勢のタイプはツール位置姿勢です。データ型はARRAY[0..19,0..5] OF DINTです。

Target_Pose配列の要素を10000で割った後の値は、ツール位置姿勢になります。

Target_Label

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

変数「FromCamera」から返されたデータ

FromCamera.STATUS_CODE

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

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

set vis time

FromCamera.SEND_POSE_TYPE

このパラメータが2の場合、Mech-Visionから返された位置姿勢のタイプはツール位置姿勢であることを示します。データ型はUINTです。

get mech vision data 2

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

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

機能

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

set recipe

呼び出し順序

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

機能ブロック

set formula 1

入力パラメータ

Vision_Proj_Num

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

Vision_Recipe_Num

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

Switch_Recipe

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

変数「FromCamera」から返されたデータ

FromCamera.STATUS_CODE

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はDINTです。コマンドが正常に実行された場合、ステータスコードは 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のプロジェクト番号を表します。データ型はUINTです。Mech-Visionプロジェクト番号は、Mech-Visionプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。

Request_Pose_Type

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

  • 1:関節角度。

  • 2:ツール位置姿勢。

Get_VisData

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

Data_Ready

このパラメータは、取得された計画経路が読み込み可能かどうかを表すために使用されます。複数の計画経路を取得するための専用パラメータです。データ型はBOOLです。1は読み込み可能、0は読み込み不可を意味します。

Send_Pose_Num

このパラメータは、Mech-Visionが返された経路点の数を示します。データ型はUINTです。その値は0または0より大きな整数です。

Start_Empty

このパラメータは、取得されたTarget_Pose、Target_LabelとTarget_Tool_IDのデータをクリアするために使用されます。設定すると有効になります。データ型はBOOLです。

出力パラメータ

Target_Pose

このパラメータは、取得された計画経路における各経路点の位置姿勢を表します。位置姿勢のタイプはツール位置姿勢や関節角度です。Request_Pose_Typeパラメータの値によって決定されます。データ型はARRAY[0..19,0..5] OF DINTです。

Target_Pose配列の要素を10000で割った後の値は、位置姿勢になります。

Target_Label

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

Target_Tool_ID

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

変数「FromCamera」から返されたデータ

FromCamera.STATUS_CODE

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

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

set vis time

FromCamera.SEND_POSE_TYPE

このパラメータは、経路点の位置姿勢タイプを表します。値はRequest_Pose_Typeの入力パラメータと一致します。データ型はUINTです。1は関節角度、2はツール位置姿勢を意味します。

FromCamera.VISUAL_POINT_INDEX

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

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

get planned visdate 2

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

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

機能

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

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

機能ブロック

start mech viz 1

入力パラメータ

Robot_Pose_Type

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

Robot_Pose

このパラメータは、ロボットの位置姿勢を指定するために使用されます。データ型はARRAY[0..1,0..5] OF DINTです。このパラメータのデータ構造は二次元配列Arrayです。そのうち、Array[0]はロボットの関節角度で、Array[1]はロボットのフランジ位置姿勢です。

下表はRobot_Pose_TypeとRobot_Poseパラメータの関係とその説明を示しています。

Robot_Pose_Type Robot_Pose 説明 適用シーン

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

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

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

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

関節角度とフランジ位置姿勢を表す浮動小数点数はまず10000を掛け、32ビットの符号付き整数に変換してからRobot_Poseに設定する必要があります。
カメラの取り付け方式が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プロジェクトの実行をトリガーするために使用されます。立ち上がりエッジで有効になります。データ型はBOOLです。

変数「FromCamera」から返されたデータ

FromCamera.STATUS_CODE

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はDINTです。コマンドが正常に実行された場合、ステータスコードは 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プロジェクトを停止するために使用されます。立ち上がりエッジで有効になります。データ型はBOOLです。

変数「FromCamera」から返されたデータ

FromCamera.STATUS_CODE

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

stop mech viz 2

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

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

機能

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

set branch

呼び出し順序

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

機能ブロック

set branch 2

入力パラメータ

Branch_Name

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

Branch_Exit_Port

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

Branch_Name、Branch_Exit_Portと機能関数 MM_Set_Index にあるIndex_NameとIndex_Counterは、それぞれ構造体のToCameraにあるVIZ_TASK_NAMEとVIZ_TASK_VALUEに対応します。そのため、Branch_NameとIndex_Nameの値が異なる場合、両者は同時に有効になることができません。同様に、Branch_Exit_PortとIndex_Counterの値が異なる場合、両者は同時に有効になることができません。

Set_Branch

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

変数「FromCamera」から返されたデータ

FromCamera.STATUS_CODE

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はDINTです。コマンドが正常に実行された場合、ステータスコードは 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

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

Index_Counter

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

Index_Name、Index_Counterと機能関数 MM_Set_Branch にあるBranch_NameとBranch_Exit_Portは、それぞれ構造体のToCameraにあるVIZ_TASK_NAMEとVIZ_TASK_VALUEに対応します。そのため、Index_NameとBranch_Nameの値が異なる場合、両者は同時に有効になることができません。同様に、Index_CounterとBranch_Exit_Portの値が異なる場合、両者は同時に有効になることができません。

Set_Index

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

変数「FromCamera」から返されたデータ

FromCamera.STATUS_CODE

このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はDINTです。コマンドが正常に実行された場合、ステータスコードは 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

入力パラメータ

Request_Pose_Type

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

  • 1:関節角度。

  • 2:ツール位置姿勢。

Get_VizData

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

Data_Ready

このパラメータは、取得された計画経路が読み込み可能かどうかを表すために使用されます。複数の計画経路を取得するための専用パラメータです。データ型はBOOLです。1は読み込み可能、0は読み込み不可を意味します。

Send_Pose_Num

このパラメータは、Mech-Vizが返された経路点の数を示します。データ型はUINTです。その値は0または0より大きな整数です。

Start_Empty

このパラメータは、取得されたTarget_Pose、Target_LabelとTarget_Tool_IDのデータをクリアするために使用されます。設定すると有効になります。データ型はBOOLです。

出力パラメータ

Target_Pose

このパラメータは、取得された計画経路における各経路点の位置姿勢を表します。位置姿勢のタイプはツール位置姿勢や関節角度です。Request_Pose_Typeパラメータの値によって決定されます。データ型はARRAY[0..19,0..5] OF DINTです。

Target_Pose配列の要素を10000で割った後の値は、位置姿勢になります。

Target_Label

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

Target_Tool_ID

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

変数「FromCamera」から返されたデータ

FromCamera.STATUS_CODE

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

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

set viz time

FromCamera.SEND_POSE_TYPE

このパラメータは、経路点の位置姿勢タイプを表します。値はRequest_Pose_Typeの入力パラメータと一致します。データ型はUINTです。1は関節角度、2はツール位置姿勢を意味します。

FromCamera.VISUAL_POINT_INDEX

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

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

get mech viz date 2

上記の例では、Camera_User.Get_VizDataの立ち上がりエッジが検出されると、Mech-Vizプロジェクトから計画経路を取得することを示しています。経路点の位置姿勢タイプは関節角度です。Camera_User.Start_Emptyが設定されると、取得されたCamera_User.Target_Pose、Camera_User.Target_LabelとCamera_User.Target_Tool_IDのデータをクリアします。

吸盤のDO信号を取得

機能

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

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

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

    sucker viz

呼び出し順序

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

機能ブロック

get do list 1

入力パラメータ

Get_DoList

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

変数「FromCamera」から返されたデータ

FromCamera.STATUS_CODE

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

FromCamera.DO_LIST

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

FromCamera.DO_LIST[0]~FromCamera.DO_LIST[63]はそれぞれDO 0~DO 63に対応します。FromCamera.DO_LIST[X]の値はTrueの場合、対応するDO X信号が有効であることを意味します。それ以外の場合、DO X信号が無効であることを意味します。

get do list 2

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

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

機能

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

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

呼び出し順序

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

機能ブロック

read object dimensions 2

入力パラメータ

Vision_Proj_Num

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

External_Input_Box_Dimension

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

対象物の寸法データは、まず10000を掛けて32ビットの符号付き整数に変換してから、External_Input_Box_Dimension[0-2]配列に格納する必要があります。

Set_Box_Dimension

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

変数「FromCamera」から返されたデータ

FromCamera.STATUS_CODE

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

read object dimensions 3

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

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

機能

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

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

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

  • 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

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

変数「FromCamera」から返されたデータ

Notify_MSG

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

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

get notify 2

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

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

機能

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

機能ブロック

get software state 1

入力パラメータ

Get_Status

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

変数「FromCamera」から返されたデータ

FromCamera.STATUS_CODE

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

get software state 2

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

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

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

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

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