コマンド説明

本節では、オムロンPLCとMech-Mindソフトウェアシステム間のEtherNet/IP通信に使用するコマンドについて説明します。

コマンド説明

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

このコマンドは、Mech-Vizを使用せずMech-Visionを使用する場合に使用します。 このコマンドを実行すると、Mech-Visionプロジェクトが起動され、カメラ撮影とビジョン処理による認識が行われます。

../../../../_images/start_mech_vision_11.png

パラメータ説明

入力:

  • Vision_Proj_Num:Mech-Visionプロジェクト番号で、Mech-Visionプロジェクトリストで確認できます。プロジェクト前の数字はプロジェクト番号を表します。

  • Req_Pose_Num: Mech-Visionから返されるビジョン結果の数を設定します。 設定範囲は[1-20]であり、値を0に設定するとすべての結果が返されます。

  • Robot_Pose_Type:ロボットの位置姿勢形式で、ロボット実機の位置姿勢をMech-Visionに送信する形式を指定します。範囲は0~3です。

  • Camera_User.Robot_Pose_JPS:ロボットの現在の関節角度です。データ型は1次元の配列Array[0..5] of DIntとなります。

  • Camera_User.Robot_Pose_Flange:ロボットの現在のフランジ位置姿勢です。データ型は1次元の配列Array[0..5] of DIntとなります。

    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にロボットの位置姿勢を送信する必要がありません。

    プロジェクトは、Eye To Handモードです。Mech-Visionプロジェクトで「経路計画」ステップを使用する場合、経路計画の開始位置は、経路計画設定ツールで設定した原点です。

    1

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

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

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

    プロジェクトは、Eye In Handモードです。この設定は、直行ロボット以外のほとんどのロボットで利用可能です。

    2

    0, 0, 0, 0, 0, 0

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

    Mech-Visionにロボットの現在のフランジ位置姿勢を送信する必要があります。

    プロジェクトは、Eye In Handモードです。ロボットは関節角度のデータを持たず、フランジ位置姿勢データのみを持ちます(直行ロボットの場合など)。

    3

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

    0, 0, 0, 0, 0, 0

    Mech-Visionにロボット経路計画の開始位置の関節角度を送信する必要があります。

    プロジェクトは、Eye To Handモードです。また、Mech-Visionプロジェクトに「経路計画」ステップがあり、ロボット側から「経路計画」ステップの開始位置を設定する必要があります。

    注意

    関節角度とフランジ位置姿勢の浮動小数点数型データを、10000倍して32ビットの符号付整数に変換し、Camera_User.Robot_Pose_JPSまたはCamera_User.Robot_Pose_Flange配列に設定する必要があります。

  • Start_Vision:Mech-Visionプロジェクトを実行し、立ち上がりエッジが持つと有効になります。

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

  • FromCamera.STATUS_CODE:エラーがなければ、1102(実行成功)のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。

サンプルプログラム

../../../../_images/start_mech_vision_21.png

サンプルプログラムの説明

このサンプルプログラムで、変数 Camera_User.Start_Vision が立ち上がりエッジを持つと、Mech-Visionプロジェクト1が実行され、 Mech-Visionプロジェクト1からビジョン結果が返されることを望んでしています。PLCはMech-Visionプロジェクトの実行によるJPS データをMech- Centerに送ります。

ビジョン目標点を取得

このコマンドは、Mech-Vizを使用せずMech-Visionを使用する場合に使用します。Mech-Visionプロジェクト起動後、ビジョン認識結果を取得するために、このコマンドが使われています。

../../../../_images/get_mech_vision_data_11.png

パラメータ説明

入力:

  • Vision_Proj_Num:Mech-Visionプロジェクト番号で、Mech-Visionプロジェクトリストで確認できます。プロジェクト前の数字はプロジェクト番号を表します。

  • Get_VisData:Mech-Visionプロジェクトのビジョン認識結果を取得します。立ち上がりエッジが有効です。

  • Data_Ready: 複数グループのロボット位置姿勢の受信専用で、位置姿勢データが読み取れることを表している信号です。

  • Send_Pose_Num:送信された位置姿勢の数であり、すなわちビジョンから返された認識結果の数で、範囲は [0,20] です。

  • Start_Empty: 取得した全てのCamera_User.Target_Pose、Camera_User.Target_Labelデータが削除され、有効に設定します。

出力:

  • Camera_User.Target_Pose:目標把持位置姿勢のTCPであり、データ型は32ビットの符号付整数配列[0..19, 0..5]です。この配列データを10000で割って使用する必要があります。

  • Camera_User.Target_Label:Mech-Visionで認識される対象物のラベル情報であり、データ型は32ビットの符号付整数の配列[0..19]です。返されるラベルの値は整数です。

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

  • FromCamera.STATUS_CODE:エラーがなければ、1100のステータスコード(ビジョンポイントの取得に成功)が返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。

  • FromCamera.SEND_POSE_TYPE:Mech-Visionが102コマンドで返される位置姿勢のタイプを2(TCP タイプ)に固定します。

サンプルプログラム

../../../../_images/get_mech_vision_data_21.png

サンプルプログラムの説明

このサンプルプログラムでは、変数 Camera_User.Get_VisData が立ち上がりエッジになったら、Mech-Visionプロジェクト1のビジョン結果を取得するために使用されます。変数 Camera_User.Start_Empty が設定されている場合、取得したCamera_User.Target_PoseとCamera_User.Target_Labelのデータは削除されます。

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

Mech-Visionのレシピ機能は、異なるワークを認識する場合に使用されます。画像マッチングテンプレート、ROI、信頼度のしきい値など、Mech-Visionプロジェクトの各モジュールのパラメータを変更することができます。このコマンドは、MM_Start_Visの前に使用する必要があります。

../../../../_images/set_formula_11.png

パラメータ説明

入力:

  • Vision_Proj_Num:Mech-Visionプロジェクト番号で、Mech-Visionプロジェクトリストで確認できます。プロジェクト前の数字はプロジェクト番号を表します。

  • Vision_Recipe_Num:Mech-Visionプロジェクト内のレシピの番号です。番号範囲は[1-99]です。

  • Switch_Recipe:Mech-Visionのパラメータレシピの切り替えを行います。立ち上がりエッジが有効です。

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

  • FromCamera.STATUS_CODE:エラーがなければ、1107のステータスコード(レシピ切り替え成功)が返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。

サンプルプログラム

../../../../_images/set_formula_21.png

サンプルプログラムの説明

このサンプルプログラムで、変数 Camera_User.Switch_Recipe が立ち上がりエッジ状態になったら、Mech-Visionプロジェック1のレシピがレシピ 2 に切り替えられます。

Mech-Visionの「経路計画」ステップの結果を取得

MM_Start_Visを呼び出した後、このコマンドを使用して、Mech-Visionの「経路計画」ステップから出力される衝突のない把持経路を取得します。

このコマンドを使用する時、Mech-Visionの「出力」ステップの ポートタイプ を「事前定義済み(ロボット経路)」に設定する必要があります。

ヒント

MM_Start_Visの Req_Pose_Num を必ず0に設定してからこのコマンドを呼び出すと、コマンドの呼び出し回数が減ります。MM_Start_Visの Req_Pose_Num を1に設定すると、このコマンドの呼び出しごとに1つの経路点のみが返され、このコマンドを複数回呼び出した場合にのみすべての経路点が返されます。

../../../../_images/get_planned_visdate_12.png

パラメータ説明

入力:

  • Vision_Proj_Num:Mech-Visionプロジェクト番号で、Mech-Visionプロジェクトリストで確認できます。プロジェクト前の数字はプロジェクト番号を表します。

  • Request_Pose_Type:「経路計画」ステップから返された経路点のタイプを指定するために使用されます。

    • 1:経路点は、ロボットの関節角度(JPs)の形式で返されます。

    • 2:経路点は、ロボットのツール位置姿勢(TCP)の形式で返されます。

  • Get_VisData:Mech-Visionの「経路計画」ステップの結果を取得します。

  • Data_Ready:複数グループのロボット位置姿勢の受信専用で、位置姿勢が読み取れることを示す信号です。

  • Send_Pose_Num:送信された位置姿勢の数であり、すなわちビジョンから返された認識結果の数で、範囲は [0,20] です。

  • Start_Empty: 取得した全てのCamera_User.Target_Pose、Camera_User.Target_Labelと Camera_User.Speed_Percentageデータが削除され、有効に設定します。

出力:

  • Camera_User.Target_Pose:経路点のTCPであり、データ型はArray[0..19, 0..5] of DIntです。この配列データを10000で割って使用する必要があります。

  • Camera_User.Target_Label:Mech-Visionで認識される対象物のラベル情報であり、データ型はArray[0..19] of UDIntとなります。返されるラベルの値は整数です。

  • Camera_User.Target_Speed:経路計画設定ツールでこの移動ステップが設定されている速度パラメータです。範囲は[1-100]です。

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

  • FromCamera.STATUS_CODE:コマンドが正常に実行された場合、 1103 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。

  • FromCamera.SEND_POSE_TYPE:経路点の位置姿勢のタイプです。INPUTにRequest_Pose_Typeがリクエストしている位置姿勢のタイプと一致しています。1はJPSを表し、2はTCPを表しています。

  • FromCamera.VISUAL_POINT_INDEX:ビジョン処理による移動の経路点が経路全体における位置を表します。

サンプルプログラム

../../../../_images/get_planned_visdate_22.png

サンプルプログラムの説明

このサンプルでは、Camera_User.Get_VisData が立ち上がりエッジを持つと、Mech-Visionプロジェクト1によって計画されたロボット動作経路が取得されます。経路点のデータ型がJPsです。Camera_User.Start_Emptyが設定されている場合、出力されたCamera_User.Target_Pose、Camera_User.Target_LabelおよびCamera_User.Target_Speedデータは削除されます。

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

このコマンドは、Mech-VisionとMech-Vizの両方を使用する場合に使われます。Mech-Vizプロジェクトを実行し、対応するMech-Visionプロジェクトを呼び出し、Mech-VizがMech-Visionのビジョン結果に基づいて経路を計画する時に使用されます。

../../../../_images/start_mech_viz_11.png

パラメータ説明

入力:

  • Robot_Pose_Type:ロボットの位置姿勢形式で、ロボット実機の位置姿勢をMech-Vizに送信する形式を指定します。範囲は0~2です。

  • Camera_User.Robot_Pose_JPS:ロボットの現在の関節角度です。データ型は1次元の配列Array[0..5] of DIntとなります。

  • Camera_User.Robot_Pose_Flange:ロボットの現在のフランジ位置姿勢です。データ型は1次元の配列Array[0..5] of DIntとなります。

    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での仮想ロボットは初期位置姿勢(JPs = [0, 0, 0, 0, 0, 0] )から最初の経路点に移動します。

    プロジェクトは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に設定する理由は以下の通りです。

    Eye To Handモードでは、カメラはロボットが画像撮影領域と把持領域に戻る前に撮影し、次回の把持経路を計画することができます。これにより、タクトタイムの向上が可能です。

    この場合、 Robot_Pose_Type を1に設定すると、ロボットの現在の位置姿勢がMech-Vizの仮想ロボットに送信され、シミュレーションと実際のロボットの経路が予測不可能な衝突を起こす可能性があります。

    仮想ロボットは現在の位置姿勢からMech-Vizでの最初の移動ステップで設定された位置姿勢に移動しますが、ロボット実機は上記の位置姿勢に移動する前に別の位置姿勢に移動する可能性があるということです。

    したがって、 Robot_Pose_Type パラメータを2に設定する必要があります。

    ../../../../_images/robot_example7.png

    注意

    JPSとフランジ位置姿勢の浮動小数点数型データを、10000倍して32ビットの符号付整数に変換し、Robot_Pose配列に設定します。

  • Start_Viz:Mech-Vizプロジェクトを実行し、立ち上がりエッジが有効です。

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

  • FromCamera.STATUS_CODE:エラーがなければ、2103のステータスコードが返されます(Mech-Viz起動できた)。エラーが発生した場合、エラーを表すエラーコードが返されます。

サンプルプログラム

../../../../_images/start_mech_viz_21.png

サンプルプログラムの説明

このサンプルプログラムで、変数 Camera_User.Start_Viz が立ち上がりエッジになったら、Mech-Vizプロジェクトを実行し、ロボットの現在JPSがMech-Centerに送信されます。

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

Mech-Vizプロジェクトの実行を停止します。Mech-Vizプロジェクトがデッドループになっていない場合や、正常に停止できる場合は、このコマンドを使用する必要はありません。

../../../../_images/stop_mech_viz_11.png

パラメータ説明

入力:

  • Stop_Viz:実行しているMech-Vizを停止します。立ち上がりエッジが有効です。

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

  • FromCamera.STATUS_CODE:エラーがなければ、2104のステータスコードが返されます(Mech-Viz停止できた)。エラーが発生した場合、エラーを表すエラーコードが返されます。

サンプルプログラム

../../../../_images/stop_mech_viz_21.png

サンプルプログラムの説明

このサンプルプログラムで、変数 Camera_User.Stop_Viz が立ち上がりになったら、Mech-Vizプロジェクトを停止します。

Mech-Viz分岐を選択

Mech-Vizプロジェクトに「メッセージによって異なる分岐を実行」のステップがある場合、このコマンドはMech-Vizにある「メッセージによって異なる分岐を実行」ステップを指定された出口に沿って実行し続けることを制御します。このコマンドを呼び出す前に、 MM_Start_Vizを呼び出す必要があります。Mech-Vizが「メッセージによって異なる分岐を実行」ステップまで実行されていく時、203コマンドからその分岐の出口が送信されることを待ちます。

../../../../_images/set_branch_11.png
../../../../_images/set_branch_21.png

パラメータ説明

入力:

  • Branch_Name:分岐ステップの番号( メッセージによって異なる分岐を実行 のステップID)で、正の整数である必要があります。

  • Branch_Exit_Port:Mech-Vizプログラムは設定された分岐の出口に沿って実行し続けます。パラメータ範囲は[1-99]です。

    注意

    • 分岐の出口番号はMech-Vizで表されるポート番号 + 1になります。例えば、ポート番号が0の場合、出口番号は1です。

    • Branch_Name、Branch_Exit_PortとMM_Set_Index関数にあるIndex_Name、Index_Counterは、それぞれ構造体変数ToCameraにある同じなVIZ_TASK_NAME、VIZ_TASK_VALUE変数に対応しています。設定値が違うと、同時に有効になりません。

  • Set_Branch:メッセージが実行する分岐を設定します。

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

  • FromCamera.STATUS_CODE:エラーがなければ、2105のステータスコードが返されます(分岐の設定ができた)。エラーが発生した場合、エラーを表すエラーコードが返されます。

サンプルプログラム

../../../../_images/set_branch_31.png

サンプルプログラムの説明

このサンプルプログラムで、変数 Camera_User.Set_Branch が立ち上がりエッジを持つと、Mech-Vizプロジェクトが分岐1まで実行される際に、出口番号1に沿って実行し続けることを指定しています。

移動インデックスを設定

リストによる移動、グリッドによる移動、事前計画パレットパターン、カスタマイズのパレットパターンなど、インデック機能を持つ移動ステップは、このコマンドを実行することでインデックス値を設定することができます。このコマンドを呼び出す前に、MM_Start_Vizを実行する必要があります。

../../../../_images/set_index_11.png
../../../../_images/set_index_21.png

パラメータ説明

入力:

  • Index_Name:インデックス付きの移動ステップのステップIDで、正の整数である必要があります。

  • Index_Counter:

    次にこのステップが実行されたときに設定されるべきインデックス値です。

    このコマンドを送信すると、Mech-Vizの現在のインデックス値がこのパラメータの値から1を引いた値に変更されます。

    このコマンドで指定したステップにMech-Vizプロジェクトが実行されると、Mech-Vizの現在のインデックス値が、このパラメータの値まで1つずつ増加します。

    注意

    Index_Name、Index_Counter と MM_Set_Branch関数にあるBranch_Name、Branch_Exit_Portは、構造体変数ToCameraにある同じなVIZ_TASK_NAME、VIZ_TASK_VALUE変数に対応しています。設定値が違うと、同時に有効になりません。

  • Set_Index:信号をトリガーしてインデックスの番号を設定します。

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

  • FromCamera.STATUS_CODE:エラーがなければ、2106のステータスコードが返されます(インデックス設置成功)。エラーが発生した場合、エラーを表すエラーコードが返されます。

サンプルプログラム

../../../../_images/set_index_31.png

サンプルプログラムの説明

このサンプルプログラムで、変数 Camera_User.Set_Index が立ち上がりエッジになったら、Mech-Vizプロジェクト内のステップ名が5のステップの現在インデックス値を4に設定されます。

計画経路を取得

このコマンドは、Mech-Vizプロジェクトに計画した把持経路を取得するために使用されます。

../../../../_images/get_mech_viz_date_11.png

パラメータ説明

入力:

  • Request_Pose_Type: 取得する経路上の点の位置姿勢の種類を指定します。

    • 1 :Mech-VizからロボットのJPS (関節角度)が返されます。

    • 2 :Mech-VizからロボットのTCPが返されます。

  • Get_VizData:Mech-Vizプロジェクトで計画した把持経路を取得します。立ち上がりエッジが有効です。

  • Data_Ready: 複数グループのロボット位置姿勢の受信専用で、位置姿勢データが読み取れることを表している信号です。

  • Send_Pose_Num:Mech-Vizが計画した経路にある目標ポイントの数であり、範囲は[0,20]です。

  • Start_Empty: 取得した全てのCamera_User.Target_Pose、Camera_User.Target_Labelと Camera_User.Speed_Percentageデータが削除され、有効に設定します。

出力:

  • Camera_User.Target_Pose:目標把持位置姿勢のTCPであり、データ型は32ビットの符号付整数配列[0..19, 0..5]です。この配列データを10000で割って使用する必要があります。

  • Camera_User.Target_Label:Mech-Visionで認識される対象物のラベル情報であり、データ型は32ビットの符号付整数の配列[0..19] です。返されるラベルの値は整数です。

  • Camera_User.Target_Speed:Mech-Vizでこの移動ステップが設定されている速度パラメータです。範囲は[1-100]です。

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

  • FromCamera.STATUS_CODE:エラーがなければ、2100のステータスコードが返されます(取得できた)。エラーが発生した場合、エラーを表すエラーコードが返されます。

  • FromCamera.SEND_POSE_TYPE:目標把持位置姿勢の位置姿勢のタイプです。INPUTにRequest_Pose_Typeが請求している位置姿勢のタイプと一致しています。1は JPS を表し、2はTCPを表しています。

  • FromCamera.VISUAL_POINT_INDEX:ビジョンポイント(プロジェクト内のビジョン処理による移動)が経路にある位置です。

サンプルプログラム

../../../../_images/get_mech_viz_date_21.png

サンプルプログラムの説明

このサンプルプログラムでは、変数 Camera_User.Get_VisData が立ち上がりエッジになったら、Mech-Vizから返されたロボットの移動経路受け取るために使用されます。移動ポイントのデータ型はTCPです。変数 Camera_User.Start_Empty が設定されている場合、取得した Camera_User.Target_PoseCamera_User.Target_LabelCamera_User.Speed_Percentage のデータは削除されます。

DO リストを取得

Mech-Viz にある吸盤パテーション/マルチグピッキングを使用する際に、このコマンドで計画したパテーションのDO信号リストを取得することができます。このコマンドを呼び出す前に、MM_Get_VizDataを実行する必要があります。

ヒント

XXXX/Mech-Center-xxx/tool/viz_project/suction_zone にある suction_zone.vizのサンプルプロジェクトをご参照ください。実行する前に、プロジェクトに対応する吸盤のコンフィグファイルを設定してください。

../../../../_images/get_do_list_11.png

パラメータ説明

入力:

  • Get_DoList:Mech-Vizプロジェクトで計画したパテーションのDO信号リストを取得することができます。立ち上がりエッジが有効です。

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

  • FromCamera.STATUS_CODE:エラーがなければ、2102のステータスコード(DO リストが取得できた)が返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。

  • FromCamera.DO_LIST:このコマンドで、64個のDOポートの値が返されます。

サンプルプログラム

../../../../_images/get_do_list_21.png

サンプルプログラムの説明

このサンプルプログラムで、変数 Camera_User.Get_DoList が立ち上がりエッジを持つと、Mech-Vizで計算されたDOリストがDO配列に保存されます。

外部からMech-Visionへ対象物の寸法を送信

このコマンドはMech-Visionプロジェクトへ物体の寸法を動的に入力する際に使われています。MM_Start_Visを実行する前に、呼び出す必要があります。

../../../../_images/read_object_dimensions_12.png
../../../../_images/read_object_dimensions_21.png

パラメータ説明

入力:

  • Vision_Proj_Num:Mech-Visionプロジェクト番号で、Mech-Visionプロジェクトリストで確認できます。プロジェクト前の数字はプロジェクト番号を表します。

  • Camera_User.External_Input_Box_Dimention:単位はミリメートルであり、例えば、箱の寸法の長さ、幅、高さを10000倍にしてから、External_Input_Box_Dimention[0-2] へ入力します。

    注意

    External_Input_Box_DimentionとMM_Set_Pose関数にあるExternal_Input_Poseは、構造体変数ToCameraにある同じなEXT_INPUT_DATA変数に対応しています。設定値が違うと、同時に有効になりません。

  • Set_Box_Dimention:Mech-Visionプロジェクトにある対象物の寸法を動的に入力して、立ち上がりエッジが有効です。

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

  • FromCamera.STATUS_CODE:エラーがなければ、1108のステータスコードが返されます(対象物の寸法を設定することができた)。エラーが発生した場合、エラーを表すエラーコードが返されます。

サンプルプログラム

../../../../_images/read_object_dimensions_31.png

サンプルプログラムの説明

このサンプルプログラムで、変数 Camera_User.Set_Box_Dimention が立ち上がりエッジになったら、 Mech-Vision プロジェクトにある対象物の寸法を読み込むステップの対象物の寸法を External_Input_Box_Dimention[0-2] 変数の値と 設定します。

Mech-VizへTCPを送信

このコマンドは位置姿勢のデータを動的に入力する際に使われています。Mech-Vizにある外部移動ステップと合わせて使用し、MM_Start_Vizを呼び出す前に実行する必要があります。

ヒント

XXXX/Mech-Center-xxx/tool/viz_project/outer_move にあるouter_move.vizプロジェクトを参照してください。実行する前に、その中にあるouter_moveを適切な場所に配置してください。

../../../../_images/set_pose_11.png

パラメータ説明

入力:

  • Camera_User.External_Input_Pose:ロボットのTCPデータ(単位mm)であり、ユーザーは位置姿勢のデータを10000倍してExt_Input_Data[0-5]に入力する必要があります。

    注意

    External_Input_PoseとMM_Set_Box_Dimention関数にあるExternal_Input_Box_Dimentionは、構造体変数ToCamera にある同じなEXT_INPUT_DATA変数に対応しています。設定値が違うと、同時に有効になりません。

  • Set_Input_Pose:位置姿勢を動的に入力にして、立ち上がりエッジが有効です。

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

  • FromCamera.STATUS_CODE:エラーがなければ、2107のステータスコードが返されます(外部から位置姿勢を入力することができた)。エラーが発生した場合、エラーを表すエラーコードが返されます。

サンプルプログラム

../../../../_images/set_pose_21.png

サンプルプログラムの説明

このサンプルプログラムで、変数 Camera_User.Set_Input_Pose が立ち上がりエッジになったら、位置姿勢変数Camera_User.External_Input_Pose[0-5]が表す位置姿勢データはMech-Vizの外部移動ステップに送信されます。

ソフトウェアのステータスを取得

このコマンドは、Mech-Vision、Mech-Viz、Mech-Centerの実行ステータスを取得します(現在、Mech-Visionのみが取得可能)。

../../../../_images/get_software_state_11.png

パラメータ説明

入力:

  • Get_Status:Mech-Visionは登録できたかどうかを確認します。立ち上がりエッジが有効です。

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

  • FromCamera.STATUS_CODE:システムのセルフチェックステータスです。

サンプルプログラム

../../../../_images/get_software_state_21.png

サンプルプログラムの説明

このサンプルプログラムで、変数 Camera_User.Get_Status が立ち上がりエッジ状態になったら、システムステータスを表しているステータスコードが確認され、変数FromCamera.STATUS_CODEに保存されます。