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

注意事項
-
コマンドのデータ単位:
-
関節角度の単位は度(°)です。
-
ロボットのフランジ位置姿勢またはロボットのツール位置姿勢は位置と姿勢で構成されています。位置(XYZ座標値)の単位はミリメートル(mm)で、姿勢はオイラー角で表され、単位は度(°)です。
-
-
ビジョンポイントまたは経路点:
-
ビジョンポイント:Mech-Visionが認識した対象物で、1つのビジョンポイントには対象物の位置姿勢、ラベル、速度、対象物の寸法、カスタマイズされたデータなどが含まれます。
-
経路点:ロボットが計画された経路に沿って1つずつ到達する必要のあるポイントで、経路点にはロボットの位置姿勢、ラベル、移動方式、速度などが含まれます。経路点は次の2つの種類に分けられます。
-
「ビジョン処理による移動」の経路点:「ビジョン処理による移動」ステップに対応する経路点。
-
「ビジョン処理による移動」の以外の経路点:「ビジョン処理による移動」ステップ以外の移動ステップに対応する経路点。
-
-
Mech-Visionプロジェクトを実行
機能
このコマンドは、Mech-Visionプロジェクトを実行するために使用されます。Mech-Visionプロジェクトの実行中、ビジョンシステムはカメラ撮影を行い、一連のビジョンアルゴリズムで画像データを処理し、一連のビジョンポイントまたは経路点を生成します。
|
呼び出し順序
-
プロジェクトのステップパラメータは、Mech-Visionプロジェクトを実行する前に設定する必要があります。したがって、Mech-Visionのパラメータレシピを切り替る または Mech-Visionプロジェクトに対象物の寸法を送信 コマンドは Mech-Visionプロジェクトを実行 コマンドの前に呼び出す必要があります。
-
Mech-Visionプロジェクトが実行された後、ビジョンシステムはビジョンポイントまたは経路点を取得できます。したがって、Mech-Visionプロジェクトを実行 コマンドは ビジョン結果を取得または Mech-Visionの計画経路を取得 の前に呼び出す必要があります。
機能ブロック

入力パラメータ
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 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
ビジョン結果を取得
機能
このコマンドは、Mech-Visionによって出力されたビジョン結果(一連のビジョンポイント)を取得するために使用されます。ビジョンポイントの対象物の位置姿勢(つまり「出力」ステップの「poses」ポートのデータ)は、ビジョンシステムによって自動的に対応するロボットのツール位置姿勢に変換されます。変換流れは以下の通りです。
「出力」ステップの最初の入力ポートが 対象物の中心点 である場合、「出力」ステップは 対象物の中心点 を対応する 把持点 に変換します。そのため、このコマンドを通じて取得される位置姿勢は、実際には把持点の位置姿勢であり、対象物中心点の位置姿勢ではありません。 |

-
対象物の位置姿勢を四元数からオイラー角の形式に変換します。
-
対象物の位置姿勢をX軸を中心に180°回転させ、Z軸が下を向くようにします。
呼び出し順序
このコマンドは Mech-Visionプロジェクトを実行 の後に呼び出す必要があります。
機能ブロック

入力パラメータ
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では、ツールバーから をクリックし、実際の状況に応じてタイムアウトを変更することができます。![]() |
FromCamera.SEND_POSE_TYPE
このパラメータが2の場合、Mech-Visionから返された位置姿勢のタイプはツール位置姿勢であることを示します。データ型はUINTです。
Mech-Visionのパラメータレシピを切り替る
機能
このコマンドは、Mech-Visionプロジェクトに使用するパラメータレシピを切り替えるために使用されます。下図は、Mech-VisionプロジェクトのレシピAまたはレシピBの手動切り替えを示しています。パラメータレシピの詳細については、パラメータレシピ をご参照ください。

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

入力パラメータ
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 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
Mech-Visionの計画経路を取得
機能
このコマンドは、Mech-Visionによって計画された経路(一連の経路点)を取得するために使用されます。ここでの経路は、経路計画設定ツールによって計画されます。下図に示すように、設定ツール をクリックして経路計画設定ツールを開くことができます。「経路計画」ステップの詳細については、経路計画 をご参照ください。
Mech-Visionの「出力」ステップの ポートタイプ パラメータを「事前定義済み(ロボット経路)」に設定する必要があります。 |

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

入力パラメータ
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では、ツールバーから をクリックし、実際の状況に応じてタイムアウトを変更することができます。![]() |
FromCamera.SEND_POSE_TYPE
このパラメータは、経路点の位置姿勢タイプを表します。値はRequest_Pose_Typeの入力パラメータと一致します。データ型はUINTです。1は関節角度、2はツール位置姿勢を意味します。
FromCamera.VISUAL_POINT_INDEX
このパラメータは、経路計画設定ツールでの「ビジョン処理による移動」ステップの経路点が経路全体における位置番号を表します。データ型はUINTです。経路中に「ビジョン処理による移動」ステップの経路点がない場合、このパラメータの値は0になります。
例えば、計画された経路が「移動_1」、「移動_2」、「ビジョン処理による移動」、「移動_3」で構成されている場合、「ビジョン処理による移動」の位置番号は3になります。
Mech-Vizプロジェクトを実行
機能
このコマンドは、Mech-Vizプロジェクトを実行するために使用されます。Mech-Vizは、Mech-Visionの出力されたビジョン結果に基づいてロボットの動作経路を計画します。
Mech-Vizのリソースパネルでプロジェクトを右クリックし、自動的に読み込む にチェックを入れます。 |
機能ブロック

入力パラメータ
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_Type を 1 に設定すると、ロボットの現在の位置姿勢がMech-Vizに送信され、ロボット実機は最初の経路点に移動する前に他の位置に移動する可能性があります。仮想ロボットは現在の位置からMech-Vizプロジェクトの最初の経路点に移動し、移動中に衝突が検出されたため警告が表示される可能性があります。
この場合、Robot_Pose_Type を 2 に設定すると、ロボット側で設定されたティーチポイントがMech-Vizに送信されます。これにより、ロボット実機は配置領域でMech-Vizをトリガーして次回の経路を事前に計画し、サイクル時間を短縮することができます。
これが、カメラがEye to Hand方式で取り付けられている場合、Robot_Pose_Type の設定に2を推奨する理由です。

Start_Viz
このパラメータは、Mech-Vizプロジェクトの実行をトリガーするために使用されます。立ち上がりエッジで有効になります。データ型はBOOLです。
変数「FromCamera」から返されたデータ
FromCamera.STATUS_CODE
このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はDINTです。コマンドが正常に実行された場合、ステータスコードは 2103 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
Mech-Vizプロジェクトを停止
呼び出し順序
このコマンドは Mech-Vizプロジェクトを実行 の後に呼び出す必要があります。
機能ブロック

変数「FromCamera」から返されたデータ
FromCamera.STATUS_CODE
このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はDINTです。コマンドが正常に実行された場合、ステータスコードは 2104 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
Mech-Vizの分岐ステップの出口を設定
機能
このコマンドは、「メッセージによって異なる分岐を実行」ステップの出口を設定するために使用されます。Mech-Vizプロジェクトが「メッセージによって異なる分岐を実行」ステップまで実行すると、このコマンドによって出口を指定するのを待ちます。

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

入力パラメータ
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 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
Mech-Vizの現在のインデックスを設定
機能
このコマンドは、インデックス付きのステップの現在のインデックス値を設定するために使用されます。インデックス付きのステップとは、「グリッドによる移動」「リストによる移動」「事前計画パレットパターン」「カスタマイズのパレットパターン」などの「インデックス」パラメータを含むステップのことです。

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

入力パラメータ
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 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
Mech-Vizの計画経路を取得
機能
このコマンドは、Mech-Vizプロジェクトによって計画された動作経路(一連の経路点)を取得するために使用されます。
経路点:ロボットが計画された経路に沿って1つずつ到達する必要のあるポイントで、経路点にはロボットの位置姿勢、ラベル、移動方式、速度などが含まれます。経路点は次の2つに分けられます。
|
呼び出し順序
このコマンドは、Mech-Vizプロジェクトを実行 コマンドの後に呼び出す必要があります。
機能ブロック

入力パラメータ
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では、ツールバーから をクリックし、実際の状況に応じてタイムアウトを変更することができます。![]() |
FromCamera.SEND_POSE_TYPE
このパラメータは、経路点の位置姿勢タイプを表します。値はRequest_Pose_Typeの入力パラメータと一致します。データ型はUINTです。1は関節角度、2はツール位置姿勢を意味します。
FromCamera.VISUAL_POINT_INDEX
このパラメータは、Mech-Vizプロジェクトでの「ビジョン処理による移動」ステップの経路点が経路全体における位置番号を表します。データ型はUINTです。経路中に「ビジョン処理による移動」ステップの経路点がない場合、このパラメータの値は0になります。
例えば、計画された経路が「移動_1」、「移動_2」、「ビジョン処理による移動」、「移動_3」で構成されている場合、「ビジョン処理による移動」の位置番号は3になります。
吸盤のDO信号を取得
機能
このコマンドは、Mech-Vizプロジェクトによって計画された複数パーティション吸盤の制御信号を取得するために使用されます。このコマンドを使用する前に、Mech-Vizソフトウェアで以下の設定を行う必要があります。
-
Mech-Vizソフトウェアで、「ビジョン処理による移動」ステップの 把持方法 を 箱のデパレタイジング に設定します。
-
Mech-Vizでは、ロボットハンド名をダブルクリックし、ロボットハンドの種類 を デパレタイズ用吸盤 に選択します。デパレタイズ用吸盤設定 をクリックし、実際の状況に応じてDO信号を設定します。
呼び出し順序
Mech-Vizの計画経路を取得 コマンドの後にこのコマンドを呼び出す必要があります。すなわち、PLCはまず計画された経路を取得し、その後に「ビジョン処理による移動」の経路点に対応する吸盤DO信号を取得する必要があります。
機能ブロック

変数「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信号が無効であることを意味します。
Mech-Visionプロジェクトに対象物の寸法を送信
機能
このコマンドは、対象物の寸法をMech-Visionプロジェクトに送信するために使用されます。下図に示すように、送信される対象物の寸法は、「対象物の寸法を読み込む」ステップの 箱の寸法設定 パラメータ値となります。
このコマンドを使用する場合、Mech-Visionプロジェクト内には「対象物の寸法を読み込む」ステップを 1つだけ 含める必要があります。複数存在すると、ビジョンシステムがエラーを返します。 |

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

入力パラメータ
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 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
「通知」ステップのメッセージを取得
機能
Mech-VisionプロジェクトまたはMech-Vizプロジェクトが「通知」ステップまで実行すると、ビジョンシステムは「通知」ステップで事前設定されたメッセージを返します。
Mech-VisionまたはMech-Vizプロジェクトが「通知」ステップまで実行すると、設定されたメッセージはビジョンシステムに3秒間しかキャッシュされないため、このコマンドを使用する場合、メッセージの内容を取得するために呼び出し時間を適切に設定する必要があります。また、PLCはこのメッセージを使用した後、変数ToCamera_CLEAR.NOTIFYをトリガーする必要があります。これにより、そのレジスタのデータをクリアするために、信号相互作用サイクルのパルスが生成されます。 |
このコマンドを使用する前に、「通知」ステップで以下の設定を行う必要があります。
-
Mech-Visionプロジェクト内の「通知」ステップ
-
「通知」ステップを他のステップの右側につなぎます(ここでは、「出力」ステップを例とします)。
-
「出力」ステップのパラメータで 出力がある場合に制御フローをトリガー にチェックを入れます。
-
「通知」ステップのパラメータで、サービス名に Standard Interface Notify(変更不可) を入力し、メッセージに 1001 (実際の状況に応じて変更可能で、正の整数の入力が必要)入力します。
-
-
Mech-Vizプロジェクト内の「通知」ステップ
-
「通知」ステップをワークフローの適切な場所に配置し、その他のステップをつなぎます。
-
「通知」ステップのパラメータで、「受信者」を 標準インターフェース に選択し、メッセージに 1000 (実際の状況に応じて変更可能で、正の整数の入力が必要)を入力します。
-
呼び出し順序
このコマンドはMech-Visionプロジェクトを実行 または Mech-Vizプロジェクトを実行 コマンドの後に 直ち に呼び出される必要があります。
例
「通知」ステップで設定したメッセージを777とすると、PLCが自動モードでメッセージを取得するサンプルは以下のようになります。

このサンプルでは、自動モードで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秒後に対応する警告メッセージを表示します。
プロジェクトのステータスを取得
機能ブロック

入力パラメータ
Get_Status
このパラメータは、Mech-Visionプロジェクトが準備完了しているかどうかをチェックするために使用されます。立ち上がりエッジで有効になります。データ型はBOOLです。
変数「FromCamera」から返されたデータ
FromCamera.STATUS_CODE
このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はDINTです。コマンドが正常に実行された場合、ステータスコードは 1101 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。