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から取得したい視覚位置姿勢の数です。視覚位置姿勢情報に、視覚位置姿勢及びそれに対応する点群、ラベル、スケーリングの情報が含まれています。
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で
をクリックしてプロジェクトパスの左側に表示される数字で、それをドラッグして順序を変更することができます。
返されたデータ¶
パラメータ |
ディスクリプション |
ステータスコード |
ステータスコード |
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レシピ番号
Mech-Visionプロジェクトのレシピテンプレートの番号(正の整数)です。
をクリックして、パラメータレシピエディタに入ります。番号の有効範囲は1~99です。
コマンド201——Mech-Vizプロジェクトを起動¶
このコマンドは、Mech-VisionとMech-Vizの両方を使用する場合に使われます。Mech-Vizプロジェクトを開始し、対応するMech-Visionプロジェクトを呼び出し、Mech-VizがMech-Visionの視覚結果に基づいて経路を計画する時に使用されます。
Mech-Vizでは、 自動的に読み込む にチェックを入れる必要があります。
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モジュールに送信されます。
コマンド202—— Mech-Vizプロジェクを停止¶
Mech-Vizの実行を停止させます。 Mech-Vizプロジェクトがデッドループでない場合、または正常に停止できる場合は、このコマンドを使う必要がありません。
送信コマンド¶
パラメータ |
ディスクリプション |
Command |
202 |
コマンド203——Mech-Vizブランチを選択¶
このコマンドは、Mech-Vizプロジェクトのブランチを指定する場合に使われます。ブランチメカニズムは 消息分支 タスクによって作成されたら、このコマンドがタスクの出口を指定することで実現します。
このコマンドを実行する前に、 コマンド201——Mech-Vizプロジェクトを起動 を実行してください。
Mech-Vizプロジェクトが 消息分支 タスクに実行すると、このコマンドによって出口を指定するのを待ちます。
送信コマンド¶
パラメータ |
ディスクリプション |
Command |
203 |
Viz_Task_ID |
ブランチタスクID |
Viz_Task_Value |
ブランチの出口番号 |
ブランチタスクID
出口番号
このパラメータは、プロジェクトが 消息分支 タスクに沿って実行される出口を指定します。Mech-Vizプロジェクトはこの出口に従って実行し続けます。パラメータの値は正の整数です。
ヒント
出口番号は、 Mech-Vizで表示されるポート番号に1を加えたもので、ポート0が出口1です。
出口番号は、1 から始まるポートのインデックス番号です。たとえば、指定された出口が左から右に2番目のポートである場合、番号は2です。
コマンド204——移動インデックスを設定¶
このコマンドはタスクのインデックスパラメータを設定する時に使われます。一般的には、連続な移動か指定された移動タスクやパレタイジングなどに使用されます。
インデックスパラメータが付いたタスクは「リストによる移動」、「グリッドによる移動」、「カスタマイズのパレットパターン」、「事前計画したパレットパターン」などです。
このコマンドを実行する前に、 コマンド201——Mech-Vizプロジェクトを起動 を実行してください。
送信コマンド¶
パラメータ |
ディスクリプション |
Command |
204 |
Viz_Task_ID |
タスクID |
Viz_Task_Value |
インデックス值 |
タスクID
このパラメータはどのタスクがインデックスを設定する必要かを指定します。
このパラメータ、つまり、インデックス付きのタスクのタスクIDは正の整数である必要があります。タスクIDは、タスクパラメータで読み取りを行います。
インデックス值
次にこのタスクが実行されたときに設定されるべきインデックス値です。
このコマンドを送信すると、Mech-Vizの現在のインデックス値がこのパラメータの値から1を引いた値に変更されます。
このコマンドで指定したタスクにMech-Vizプロジェクトが実行されると、Mech-Vizの現在のインデックス値が、このパラメータの値まで1つずつ増加します。
コマンド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 タスクのパラメータで以下の設定を行います。
送信コマンド¶
パラメータ |
ディスクリプション |
Command |
206 |
返されたデータ¶
パラメータ |
ディスクリプション |
Status Code |
ステータスコード |
DOリスト |
DO信号リスト |
ステータスコード
コマンドが正常に実行された場合、 2102 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
DO信号リスト
返されたデータの最後に64個のDO値が受信され、すべては整数です。
DO値の範囲は0~999です。
-1はプレースホルダーとなります。
コマンド501——Mech-Visionプロジェクトへ対象物の寸法を送信¶
このパラメータはMech-Visionプロジェクトに、対象物の寸法を動的に送信すること場合に使われます。Mech-Visionプロジェクトを実行する前に対象物の寸法を確認する必要があります。
Mech-Visionプロジェクトに、 対象物の寸法を読み込む ステップを入れておきます。このステップのパラメータ パラメータから対象物の寸法を読み取る にチェックを入れる必要があります。
送信コマンド¶
パラメータ |
ディスクリプション |
Command |
501 |
Vision_Proj_Num |
Mech-Vision プロジェクト番号 |
Ext_Input_Data |
対象物の寸法 |
Mech-Vision プロジェクト番号
対象物の寸法
Mech-Visionプロジェクトに送信した対象物の寸法(長さ、幅、高さ)の値は、ステップ 対象物の寸法を読み込む によって読み取られます。
単位はミリメートル(mm)です。
コマンド502——Mech-VizへTCPを送信¶
このコマンドは、Mech-VizプロジェクトにロボットTCPを動的に送信するためによく使われます。ロボットTCPを読み取るためのタスクは 外部移动 です。
サンプルプロジェクトに基づいてMech-Vizプロジェクトを設定します。サンプルプロジェクトのパスはMech-Centerのインストールディレクトリ tool¥viz_project¥outer_move
です。
外部移动 タスクをワークフローの適切な場所に配置します。
このコマンドは、 コマンド201——Mech-Vizプロジェクトを起動 を実行する前に実行してください。
コマンド901——ソフトウェアの起動状態を取得¶
このコマンドは、Mech-Vision、Mech-Viz、Mech-Centerの起動状態を取得するために使用されます。
現在、このコマンドはMech-Visionのみ対応できます。
送信コマンド¶
パラメータ |
ディスクリプション |
Command |
901 |
返されたデータ¶
ステータスコード
システムのセルフチェックステータスです。ステータスコードが 1101 になると「Mech-Visionが準備できました」です。他のステータスコードが出てきた場合「Mech-Visionプロジェクトがまだ準備できていません」ということです。現在、このコマンドはMech-Visionプロジェクトの準備ができているかどうかを確認するためにのみ使用できます。