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

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

入力パラメータ
Vision_Proj_Num
このパラメータはMech-Visionのプロジェクト番号を表します。データ型はWord[Signed]です。Mech-Visionプロジェクト番号は、Mech-Visionプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
Get_VisData
このパラメータは、ビジョン結果を取得するために使用されます。立ち上がりエッジで有効になります。データ型はBitです。
グローバルラベル「MM_Camera」から返されたデータ
Status_Code
このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 1100 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
このコマンドを呼び出した後、ビジョンシステムは10秒以内に処理結果を返さない場合、タイムアウトのエラーコードが返されます。Mech-Visionでは、ツールバーから をクリックし、実際の状況に応じてタイムアウトを変更することができます。![]() |
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)です。
Mech-Visionのパラメータレシピを切り替る
機能
このコマンドは、Mech-Visionプロジェクトに使用するパラメータレシピを切り替えるために使用されます。下図は、Mech-VisionプロジェクトのレシピAまたはレシピBの手動切り替えを示しています。パラメータレシピの詳細については、パラメータレシピ をご参照ください。

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

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

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

入力パラメータ
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では、ツールバーから をクリックし、実際の状況に応じてタイムアウトを変更することができます。![]() |
Status_of_Pose_Sent
このパラメータは、すべての経路点が取得済みかどうかを示します。データ型はWord[Signed]です。値は0または1です。
-
0:すべての経路点を取得していません。
-
1:すべての経路点を取得済みです。
Number_of_Pose_Sent
このコマンドは、ビジョンシステムが返す経路点の数を保存するために使用されます。データ型はWord[Signed]です。デフォルトでは、一度にビジョンシステムによって送信される経路点の最大数は20個であるため、このパラメータの最大初期値は20となります。 Mech-Visionでは、ツールバーから
をクリックします。実際の状況に応じて最大数の初期値を変更することができますが、最大数の上限は30です。
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)です。
吸盤のDO信号を取得
機能
このコマンドは、Mech-VisionまたはMech-Vizプロジェクトによって計画された複数パーティション吸盤の制御信号を取得するために使用されます。このコマンドを使用する前に、Mech-VisionまたはMech-Vizソフトウェアで以下の設定を行う必要があります。
-
Mech-Visionプロジェクトの設定
-
「経路計画」ステップのパラメータで、設定ツールを開く をクリックします。全体的設定 で 箱のデパレタイジング をオンにします。
-
「経路計画」ステップのパラメータから 設定ツールを開く をクリックします。表示される画面でロボットハンド名をダブルクリックし、ロボットハンドの種類 を デパレタイズ用吸盤 に選択します。デパレタイズ用吸盤設定 をクリックし、実際の状況に応じてDO信号を設定します。
-
-
Mech-Vizプロジェクトの設定
-
Mech-Vizソフトウェアで、「ビジョン処理による移動」ステップの 把持方法 を 箱のデパレタイジング に設定します。
-
Mech-Vizでは、ロボットハンド名をダブルクリックし、 ロボットハンドの種類 を デパレタイズ用吸盤 に選択します。 デパレタイズ用吸盤設定 をクリックし、実際の状況に応じてDO信号を設定します。
-
呼び出し順序
Mech-Visionの計画経路を取得 または Mech-Vizの計画経路を取得 コマンドの後にこのコマンドを呼び出す必要があります。すなわち、PLCはまず計画された経路を取得し、その後に「ビジョン処理による移動」の経路点に対応する吸盤DO信号を取得する必要があります。
機能ブロック

入力パラメータ
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(プレースホルダーとして使用)です。
例えば下表の場合、返された有効な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信号を区別できます。
例えば、吸盤パーティションの数が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(プレースホルダーとして使用)です。
例えば下表の場合、返された有効な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信号を区別できます。
例えば、吸盤パーティションの数が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プロジェクトを実行
機能
このコマンドは、Mech-Vizプロジェクトを実行するために使用されます。Mech-Vizは、Mech-Visionの出力されたビジョン結果に基づいてロボットの動作経路を計画します。
Mech-Vizのリソースパネルでプロジェクトを右クリックし、自動的に読み込む にチェックを入れます。 |
機能ブロック

入力パラメータ
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_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プロジェクトの実行をトリガーするために使用されます。立ち上がりエッジで有効になります。データ型はBitです。
グローバルラベル「MM_Camera」から返されたデータ
Status_Code
このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 2103 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
Mech-Vizプロジェクトを停止
呼び出し順序
このコマンドは Mech-Vizプロジェクトを実行 の後に呼び出す必要があります。
機能ブロック

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

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

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

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

入力パラメータ
Index_Name
このパラメータは、インデックス付きのステップのステップ番号を指定するために使用されます。データ型はWord[Signed]です。その値は正の整数です。ステップ番号はステップパラメータで確認できます。例えば、上図のステップ番号は3です。
Index_Counter
このパラメータは、インデックス付きのステップの現在のインデックス値を指定するために使用されます。データ型はWord[Signed]です。その値は正の整数です。このパラメータ値がNに設定されている場合、対応するステップの現在のインデックス値はN-1となります。
Set_Index
このパラメータは、Mech-Vizの現在のインデックスを設定するために使用されます。立ち上がりエッジで有効になります。データ型はBitです。
グローバルラベル「MM_Camera」から返されたデータ
Status_Code
このパラメータは、コマンドの実行ステータスコードを保存するために使用されます。データ型はWord[Signed]です。コマンドが正常に実行された場合、ステータスコードは 2106 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
Mech-Vizの計画経路を取得
機能
このコマンドは、Mech-Vizプロジェクトによって計画された動作経路(一連の経路点)を取得するために使用されます。
経路点:ロボットが計画された経路に沿って1つずつ到達する必要のあるポイントで、経路点にはロボットの位置姿勢、ラベル、移動方式、速度などが含まれます。経路点は次の2つの種類に分けられます。
|
呼び出し順序
このコマンドは、Mech-Vizプロジェクトを実行 コマンドの後に呼び出す必要があります。
機能ブロック

入力パラメータ
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では、ツールバーから をクリックし、実際の状況に応じてタイムアウトを変更することができます。![]() |
Status_of_Pose_Sent
このパラメータは、すべての経路点が取得済みかどうかを示します。データ型はWord[Signed]です。値は0または1です。
-
0:すべての経路点を取得していません。
-
1:すべての経路点を取得済みです。
Number_of_Pose_Sent
このコマンドは、ビジョンシステムが返す経路点の数を保存するために使用されます。デフォルトでは、一度にビジョンシステムによって送信される経路点の最大数は20個であるため、このパラメータの最大初期値は20となります。 Mech-Visionでは、ツールバーから
をクリックします。実際の状況に応じて最大数の初期値を変更することができますが、最大数の上限は30です。
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)です。
Mech-Visionプロジェクトに対象物の寸法を送信
機能
このコマンドは、対象物の寸法をMech-Visionプロジェクトに送信するために使用されます。下図に示すように、送信される対象物の寸法は、「対象物の寸法を読み込む」ステップの 箱の寸法設定 パラメータ値となります。
このコマンドを使用する場合、Mech-Visionプロジェクト内には「対象物の寸法を読み込む」ステップを 1つだけ 含める必要があります。複数存在すると、ビジョンシステムがエラーを返します。 |

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

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

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

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

入力パラメータ
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)です。