Profinet コマンド

コマンド101—— Mech-Visionプロジェクトを起動

機能紹介

このコマンドは、Mech-Visionのプロジェクトを起動し、カメラの撮影および視覚認識を行う場合に使われます。

プロジェクトはEye In Handモードである場合、このコマンドを用いて、ロボット撮影の位置姿勢をプロジェクトへ送信します。

このコマンドは、Mech-Visionのみ使用し、Mech-Vizを使用しない場合に使われます。

送信コマンド

パラメータ

ディスクリプション

Vision_Proj_Num

Mech-Vision プロジェクト番号

Req_Pose_Num

視覚位置姿勢の期待数

Robot_Pose_Type

ロボット位置姿勢のタイプ

Robot_Pose_JPS / Robot_Pose_TCP *

ロボット位置姿勢

* Robot_Pose_TCPはRobot_Pose_Flangeに名前が変更されます。これは、撮影時のロボットの位置姿勢がTCP形式で表示できないためです。

Mech-Vision プロジェクト番号

Mech-Centerに登録されているMech-Visionプロジェクトの番号です。Mech-Centerで 設定 ‣ Mech-Vision をクリックしてプロジェクトパスの左側に表示される数字で、それをドラッグして順序を変更することができます。

../../../../../_images/project_path.png

視覚位置姿勢の期待数

Mech-Visionから取得したい視覚位置姿勢の数です。視覚位置姿勢情報に、視覚位置姿勢及びそれに対応する点群、ラベル、スケーリングの情報が含まれています。

  • 0:Mech-Visionプロジェクトで認識できたすべての視覚結果を取得します。

  • 0より大きな整数:Mech-Visionプロジェクトで認識できた指定数の視覚結果を取得します。

    • このパラメータの値がMech-Visionで認識された視覚位置姿勢の合計数より大きい場合、認識結果にあるすべての視覚位置姿勢を取得します。

    • このパラメータの値がMech-Visionで認識された視覚位置姿勢の合計数より小さい場合、このパラメータで指定された数の視覚位置姿勢を取得します。

ヒント

視覚位置姿勢を取得するコマンドは102コマンドです。

ロボット位置姿勢のタイプ

ロボット実機の位置姿勢をMech-Visionに送信するタイプを設定します。 パラメータ範囲は0~2です。

  • 0:ロボットの位置姿勢をビジョンシステムに送信する必要はありません。プロジェクトがEye To Handモードである場合、画像撮影はロボットの位置姿勢とは関係なく、Mech-Visionはロボットの位置姿勢を必要としません。

  • 1:ロボット位置姿勢はJPsの関節角度で送信されます。

  • 2:ロボット位置姿勢はフランジ位置姿勢で送信されます。

ロボット位置姿勢

このパラメータはEye In Handモードで、必要なロボット位置姿勢であり、 ロボット位置姿勢のタイプ と一致しています。ロボット位置姿勢のタイプは関節角度またはフランジ位置姿勢です。

注意

関節角度とフランジ位置姿勢の浮動小数点数のデータを10000倍して、Robot_Pose_JPSまたはRobot_Pose_TCP(Robot_Pose_Flangeに名前変更予定)モジュールに設定する必要があります。

返されたデータ

101, ステータスコード

ステータスコード

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

コマンド102——Mech-Visionの視覚目標点を取得

コマンド101—— Mech-Visionプロジェクトを起動 の後に使用します。このコマンドを使用してMech-Visionの認識結果 (視覚位置姿勢) に対応するロボットの位置姿勢とラベルを取得します。ロボットの位置姿勢はツール位置姿勢(TCP)の形式です。

Mech-Centerは、視覚位置姿勢を対応するロボットTCP二自動的に変換します。変換過程は次の通りです。

  • 視覚位置姿勢に含まれる位置姿勢をY軸を中心に 180° 回転させます。

  • 対応するロボット型番の基準座標系定義にロボットベースの高さが含まれているかどうかを認識し、それに応じて垂直方向のオフセットを増やします。

ヒント

Profinetでは、102コマンドで一度に受信できるTCPの最大数はデフォルトで20です。20個以上のTCPが必要な場合は、このコマンドを繰り返し実行する必要があります。

送信コマンド

パラメータ

ディスクリプション

Command

102

Vision_Proj_Num

Mech-Vision プロジェクト番号

Mech-Vision プロジェクト番号

Mech-Centerに登録されているMech-Visionプロジェクトの番号です。Mech-Centerで 設定 ‣ Mech-Vision をクリックしてプロジェクトパスの左側に表示される数字で、それをドラッグして順序を変更することができます。

../../../../../_images/project_path.png

返されたデータ

パラメータ

ディスクリプション

ステータスコード

ステータスコード

Send_Pose_Num

TCP数

Send_Pose_Type

位置姿勢のタイプ

Target_Pose

今回取得したすべてのTCP

Target_Label

今回取得したすべてのラベル

ステータスコード

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

このコマンドを呼び出す時、Mech-Visionの結果が返されていない場合に、Mech-CenterはMech-Visionから結果を返すまで待機して、受信した結果をロボットへ送信します。デフォルト待ち時間は10sと設定され、タイムアウトになった場合、タイムアウトエラーを表すステータスコードが返されます。

TCP数

このコマンドを実行して、取得したTCPの数です。

位置姿勢のタイプ

Mech-Centerは、Mech-Visionから返された視覚位置姿勢内の対象物の位置姿勢を、対応するTCPに自動的に変換します。

このパラメータの初期値は2であり、位置姿勢のタイプがTCPであることを表します。

今回取得したすべてのTCP

1つのTCPには、姿勢座標 (XYZ) と方向オイラー角 (ABC) の情報が含まれます。

今回取得したすべてのラベル

位置姿勢に対応する整数のラベルです。Mech-Visionプロジェクトでラベルは文字列タイプであり、出力する前に ラベルマッピング ステップを使用してラベルを整数にマッピングする必要があります。Mech-Visionのプロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。

注意

位置姿勢の送受信について、 通信制御プロセス をご参照ください。 Data_ready、Data_Acknowledge、Command_Complete信号を用いて、プロセスのコントロールを行います。

コマンド103—— Mech-Visionのパラメータレシピを切り替える

Mech-Visionプロジェクトのパラメータレシピを切り替えます。

パラメータレシピを切り替えることで、Mech-Visionプロジェクトの各ステップのパラメータを変更することができます。

パラメータレシピには画像マッチングテンプレート、ROI、信頼度のしきい値などのパラメータの設定が含まれています。

注意

コマンド101—— Mech-Visionプロジェクトを起動 を実行する前に、このコマンドを使用する必要があります。

送信コマンド

パラメータ

ディスクリプション

Command

103

Vision_Proj_Num

Mech-Vision プロジェクト番号

Vision_Recipe_Num

Mech-Visionレシピ番号

Mech-Vision プロジェクト番号

Mech-Centerに登録されているMech-Visionプロジェクトの番号です。Mech-Centerで 設定 ‣ Mech-Vision をクリックしてプロジェクトパスの左側に表示される数字で、それをドラッグして順序を変更することができます。

../../../../../_images/project_path.png

Mech-Visionレシピ番号

Mech-Visionプロジェクトのレシピテンプレートの番号(正の整数)です。 プロジェクトアシスタント ‣ パラメータレシピ をクリックして、パラメータレシピエディタに入ります。番号の有効範囲は1~99です。

../../../../../_images/parameters_recipes.png

返されたデータ

ステータスコード

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

コマンド201——Mech-Vizプロジェクトを起動

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

Mech-Vizでは、 自動的に読み込む にチェックを入れる必要があります。

../../../../../_images/automatic_loading.png

Mech-Centerのインストールディレクトリ(tool¥viz_project)フォルダには、サンプルプロジェクトがあり、それら基づいて修正することが可能です。

標準インターフェイスに使用されるMech-Vizサンプルプロジェクトの詳細な説明については、 標準インターフェイスに使用されるMech-Vizサンプルプロジェクト をご参照ください。

送信コマンド

パラメータ

ディスクリプション

Command

201

Robot_Pose_Type

位置姿勢のタイプ

Robot_Pose_JPS

ロボット関節角度

位置姿勢のタイプ

ロボットの位置姿勢タイプで、パラメータ範囲は0~1です。

0

  • Mech-Vizはロボット実機の位置姿勢を読み取る必要がないため、このコマンドで位置姿勢の情報が送られません。いわゆる、プロジェクトはEye To Handモードの場合、撮影はロボットの位置姿勢と関係がなく、プロジェクトで実機ロボットの位置姿勢を読み取る必要がないということです。

  • 位置姿勢のタイプを0に設定すると、Mech-Vizの仮想ロボットは初期位置姿勢JPS=[0,0,0,0,0,0]から一番目の目標点に移動します。

1

  • Mech-Vizへ送られたロボットの位置姿勢はJPsの関節角度の形式です。Mech-Vizで、仮想ロボットは初期位置姿勢(つまり、本コマンドによって送信された位置姿勢)から最初の目標点に移動します。現時点でTCP形式の位置姿勢はサポートしていません。

  • 位置姿勢のタイプを1に設定すると、Mech-Vizの仮想ロボットは初期位置姿勢JPs(入力したJPs)から最初の目標点に移動します。

ヒント

シーンに衝突モデルが存在し、ロボットが初期位置姿勢(JPS=[0,0,0,0,0,0] )から最初の移動ポイントまで移動することを障害になる場合、位置姿勢のタイプを1に設定しなければなりません。

ロボット関節角度

ロボットの現在のJPs関節角度(パラメータ「位置姿勢タイプ」が1に設定された場合)。

注意

実際のJPsデータを、10000倍して整数に変換し、Robot_Pose_JPSモジュールに送信されます。

返されたデータ

ステータスコード

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

コマンド202—— Mech-Vizプロジェクを停止

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

送信コマンド

パラメータ

ディスクリプション

Command

202

返されたデータ

ステータスコード

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

コマンド203——Mech-Vizブランチを選択

このコマンドは、Mech-Vizプロジェクトのブランチを指定する場合に使われます。ブランチメカニズムは 消息分支 タスクによって作成されたら、このコマンドがタスクの出口を指定することで実現します。

このコマンドを実行する前に、 コマンド201——Mech-Vizプロジェクトを起動 を実行してください。

Mech-Vizプロジェクトが 消息分支 タスクに実行すると、このコマンドによって出口を指定するのを待ちます。

送信コマンド

パラメータ

ディスクリプション

Command

203

Viz_Task_ID

ブランチタスクID

Viz_Task_Value

ブランチの出口番号

ブランチタスクID

このパラメータは、ブランチ選択が行われる 消息分支 タスクを指定するために使用されます。

このパラメータ、つまり、 消息分支 のタスクIDは正の整数である必要があります。タスクIDは、タスクパラメータで読み取りを行います。

出口番号

このパラメータは、プロジェクトが 消息分支 タスクに沿って実行される出口を指定します。Mech-Vizプロジェクトはこの出口に従って実行し続けます。パラメータの値は正の整数です。

ヒント

  • 出口番号は、 Mech-Vizで表示されるポート番号に1を加えたもので、ポート0が出口1です。

  • 出口番号は、1 から始まるポートのインデックス番号です。たとえば、指定された出口が左から右に2番目のポートである場合、番号は2です。

返されたデータ

ステータスコード

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

コマンド204——移動インデックスを設定

このコマンドはタスクのインデックスパラメータを設定する時に使われます。一般的には、連続な移動か指定された移動タスクやパレタイジングなどに使用されます。

インデックスパラメータが付いたタスクは「リストによる移動」、「グリッドによる移動」、「カスタマイズのパレットパターン」、「事前計画したパレットパターン」などです。

このコマンドを実行する前に、 コマンド201——Mech-Vizプロジェクトを起動 を実行してください。

../../../../../_images/set_index1.png

送信コマンド

パラメータ

ディスクリプション

Command

204

Viz_Task_ID

タスクID

Viz_Task_Value

インデックス值

タスクID

このパラメータはどのタスクがインデックスを設定する必要かを指定します。

このパラメータ、つまり、インデックス付きのタスクのタスクIDは正の整数である必要があります。タスクIDは、タスクパラメータで読み取りを行います。

インデックス值

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

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

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

返されたデータ

ステータスコード

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

コマンド205——Mech-Vizの計画経路を取得

このコマンドはMech-Vizから計画経路を取得する際に使われます。 コマンド201——Mech-Vizプロジェクトを起動 を実行してから、このコマンドを用いて計画経路を取得します。

注意

プロジェクト内の移動タスクの目標点をロボットに送信しない場合は、タスクパラメータで「移動目標点を送信」のチェックを外してください。

注意

デフォルトの設定環境において、このコマンドで一度に最大20個の経路点しか取得できないため、必要な経路点の数が20個より多い場合、このコマンド繰り返して実行する必要があります。

送信コマンド

パラメータ

ディスクリプション

Command

205

Req_Pose_Type

目標点タイプ

目標点タイプ

このパラメータはMech-Vizからどのような形式で目標点を返すかを指定します。

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

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

返されたデータ

パラメータ

ディスクリプション

ステータスコード

ステータスコード

Send_Pose_Num

目標点の数

Send_Pose_Type

位置姿勢のタイプ

Visual_Point_Index

タスク「視覚処理による移動」の位置

Target_Pose

今回送信したすべての目標点の位置姿勢

Target_Label

今回送信したすべての目標点のラベル

Target_Speed

今回送信したすべての目標点の速度

ステータスコード

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

ヒント

このコマンドを実行する時、Mech-Vizから結果が返されていない場合(まだ実行中)、Mech-CenterはMech-Viz からの結果を待って、それをロボットに送信します。デフォルトの場合、タイムアウト時間は10秒であり、待ち時間が超えるとタイムアウトエラーをロボットに返します。

目標点の数

このパラメータは今回このコマンドを実行して、返された経路にある目標点の数を表します([位置姿勢、ラベル、速度(%)])。

経路に20個以上の目標点がある場合、このコマンドを繰り返して実行してください。

デフォルトの範囲は0~20です。

位置姿勢のタイプ

このコマンドで送信される「Req_Pose_Type」と同じ値です。

  • 1: JPs

  • 2: TCP

タスク「視覚処理による移動」の位置

プロジェクトにおけるタスク「視覚処理による移動」の位置です。「視覚処理による移動」は、視覚位置姿勢へ移動する移動タスクです。

例えば、移動_1 -> 移動_2 -> 視覚処理による移動 -> 移動_3のロジックにおいて、タスク「視覚処理による移動」の位置は3です。

タスク「視覚処理による移動」がなければ、このパラメータは0です。

今回送信したすべての目標点の位置姿勢

フォーマットはコマンド205送信時のパラメータによって、三次元座標、XYZオイラー角、あるいは関節角度(JPs)で記述されます。

今回送信したすべての目標点のラベル

位置姿勢に対応するラベルです。ラベルの値は整数です。Mech-Visionプロジェクトでラベルは文字列タイプであり、出力する前に ラベルマッピング ステップを使用してラベルを整数にマッピングする必要があります。

Mech-Visionのプロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。

今回送信したすべての目標点の速度

移動タスクパラメータに設定されたゼロでないパーセンテージ値です。

注意

位置姿勢の送受信について、 通信制御プロセス をご参照ください。 Data_ready、Data_Acknowledge、Command_Complete信号を用いて、プロセスのコントロールを行います。

コマンド206——DOリストを取得

複数の治具または吸盤パーティションを制御する場合、このコマンドを用いてDOリストを取得します。

このコマンドを実行する前に、 コマンド205 を実行してMech-Vizの計画経路を取得する必要があります。

サンプルプロジェクトに基づいてMech-Vizプロジェクトを設定し、プロジェクトに対応する吸盤のコンフィグファイルを設定します。サンプルプロジェクトのパスはMech-Centerのインストールディレクトリ(tool¥viz_project) の suction_zone です。

プロジェクトの 设置多个 DO タスクのパラメータで以下の設定を行います。

  • 「受信者」を「標準インターフェイス」に設定します

  • 「視覚処理による移動からDOリストを取得」にチェックを入れます

  • パラメータバーの下部にあるエリアにDOリストが必要な「視覚処理による移動」タスクを選択します

../../../../../_images/set_do_list1.png

送信コマンド

パラメータ

ディスクリプション

Command

206

返されたデータ

パラメータ

ディスクリプション

Status Code

ステータスコード

DOリスト

DO信号リスト

ステータスコード

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

DO信号リスト

返されたデータの最後に64個のDO値が受信され、すべては整数です。

DO値の範囲は0~999です。

-1はプレースホルダーとなります。

コマンド501——Mech-Visionプロジェクトへ対象物の寸法を送信

このパラメータはMech-Visionプロジェクトに、対象物の寸法を動的に送信すること場合に使われます。Mech-Visionプロジェクトを実行する前に対象物の寸法を確認する必要があります。

Mech-Visionプロジェクトに、 対象物の寸法を読み込む ステップを入れておきます。このステップのパラメータ パラメータから対象物の寸法を読み取る にチェックを入れる必要があります。

../../../../../_images/read_size1.png

送信コマンド

パラメータ

ディスクリプション

Command

501

Vision_Proj_Num

Mech-Vision プロジェクト番号

Ext_Input_Data

対象物の寸法

Mech-Vision プロジェクト番号

Mech-Centerに登録されているMech-Visionプロジェクトの番号です。Mech-Centerで 設定 ‣ Mech-Vision をクリックしてプロジェクトパスの左側に表示される数字で、それをドラッグして順序を変更することができます。

../../../../../_images/project_no1.png

対象物の寸法

Mech-Visionプロジェクトに送信した対象物の寸法(長さ、幅、高さ)の値は、ステップ 対象物の寸法を読み込む によって読み取られます。

単位はミリメートル(mm)です。

返されたデータ

ステータスコード

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

コマンド502——Mech-VizへTCPを送信

このコマンドは、Mech-VizプロジェクトにロボットTCPを動的に送信するためによく使われます。ロボットTCPを読み取るためのタスクは 外部移动 です。

サンプルプロジェクトに基づいてMech-Vizプロジェクトを設定します。サンプルプロジェクトのパスはMech-Centerのインストールディレクトリ tool¥viz_project¥outer_move です。

外部移动 タスクをワークフローの適切な場所に配置します。

このコマンドは、 コマンド201——Mech-Vizプロジェクトを起動 を実行する前に実行してください。

送信コマンド

パラメータ

ディスクリプション

Command

502

Ext_Input_Data

ロボットTCP

ロボットTCP

外部移动 タスクの目標点のTCPデータを設定するために使用されます。

注意

ロボットのTCPデータ(メートル単位)を10000倍して、Ext_Input_Dataの値を設定する必要があります。

返されたデータ

ステータスコード

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

コマンド901——ソフトウェアの起動状態を取得

このコマンドは、Mech-Vision、Mech-Viz、Mech-Centerの起動状態を取得するために使用されます。

現在、このコマンドはMech-Visionのみ対応できます。

送信コマンド

パラメータ

ディスクリプション

Command

901

返されたデータ

ステータスコード

システムのセルフチェックステータスです。ステータスコードが 1101 になると「Mech-Visionが準備できました」です。他のステータスコードが出てきた場合「Mech-Visionプロジェクトがまだ準備できていません」ということです。現在、このコマンドはMech-Visionプロジェクトの準備ができているかどうかを確認するためにのみ使用できます。