TCP/IP コマンド¶
TCP/IPプロトコルに基づいた標準インターフェイスを介して、Mech-Mindソフトウェアシステムは ABB、FANUC、Kawasaki、KUKA、YASKAWAロボットと通信することができます。
以下のTCP/IPコマンドが利用可能です。
コマンド101——Mech-Visionプロジェクトを起動¶
このコマンドは、Mech-Visionのプロジェクトを起動し、カメラの撮影および視覚認識を行う場合に使われます。
プロジェクトはEye In Handモードである場合、このコマンドを用いて、ロボット撮影の位置姿勢をプロジェクトへ送信します。
このコマンドは、Mech-Visionのみ使用し、Mech-Vizを使用しない場合に使われます。
送信コマンド¶
101, プロジェクト番号, 視覚位置姿勢の期待数, ロボット位置姿勢のタイプ, ロボット位置姿勢
Mech-Vision プロジェクト番号
Mech-Centerに登録されているMech-Visionプロジェクトの番号です。Mech-Centerで
をクリックしてプロジェクトパスの左側に表示される数字で、それをドラッグして順序を変更することができます。
視覚位置姿勢の期待数
Mech-Visionから取得したい視覚位置姿勢の数です。視覚位置姿勢情報に、視覚位置姿勢及びそれに対応する点群、ラベル、スケーリングの情報が含まれています。
0
:Mech-Visionプロジェクトで認識できたすべての視覚結果を取得します。
0より大きな整数
:Mech-Visionプロジェクトで認識できた指定数の視覚結果を取得します。
このパラメータの値がMech-Visionで認識された視覚位置姿勢の合計数より大きい場合、認識結果にあるすべての視覚位置姿勢を取得します。
このパラメータの値がMech-Visionで認識された視覚位置姿勢の合計数より小さい場合、このパラメータで指定された数の視覚位置姿勢を取得します。
ヒント
視覚位置姿勢を取得するコマンドは102コマンドです。 TCP/IPでは、102コマンドを一度実行して最大20個の視覚位置姿勢を取得できます。102コマンドを一回実行した後、返された1つのパラメータに、リクエストされたすべての視覚位置姿勢が返されたかどうかが反映されます。そうでなければ、102コマンドを繰り返し実行してください。
ロボット位置姿勢のタイプ
ロボット実機の位置姿勢をMech-Visionに送信するタイプを設定します。 パラメータ範囲は0~2です。
0
:ロボットの位置姿勢をビジョンシステムに送信する必要はありません。プロジェクトがEye To Handモードである場合、画像撮影はロボットの位置姿勢とは関係なく、Mech-Visionはロボットの位置姿勢を必要としません。
1
:ロボット位置姿勢はJPsの関節角度で送信されます。
2
:ロボット位置姿勢はフランジ位置姿勢で送信されます。
ロボット位置姿勢
このパラメータはEye In Handモードで、必要なロボット位置姿勢であり、 ロボット位置姿勢のタイプ と一致しています。ロボット位置姿勢のタイプは関節角度またはフランジ位置姿勢です。
返されたデータ¶
101, ステータスコード
ステータスコード
コマンドが正常に実行された場合、 1102 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
実行例¶
コマンドが正常に実行された場合
TCP send string = 101, 1, 10, 1, 0, -20.63239, -107.81205, 0, -92.81818, 0.00307
TCP received string = 101, 1102
エラーが発生した場合
TCP send string = 101, 2, 10, 1, 0, -20.63239, -107.81205, 0, -92.81818, 0.00307
TCP received string = 101, 1011, 1
コマンド102——Mech-Visionの視覚目標点を取得¶
コマンド101——Mech-Visionプロジェクトを起動 の後に使用します。このコマンドを使用してMech-Visionの認識結果 (視覚位置姿勢) に対応するロボットの位置姿勢とラベルを取得します。ロボットの位置姿勢はツール位置姿勢(TCP)の形式です。
Mech-Centerは、視覚位置姿勢を対応するロボットTCP二自動的に変換します。変換過程は次の通りです。
視覚位置姿勢に含まれる位置姿勢をY軸を中心に 180° 回転させます。
対応するロボット型番の基準座標系定義にロボットベースの高さが含まれているかどうかを認識し、それに応じて垂直方向のオフセットを増やします。
ヒント
102コマンドは毎回最大20個までの認識結果を取得することができます。20個以上の視覚位置姿勢を取得したい場合、すべての視覚位置姿勢を得るまで、102 コマンドを繰り返し実行してください。
送信コマンド¶
102, Mech-Visionプロジェクト番号
Mech-Vision プロジェクト番号
Mech-Centerに登録されているMech-Visionプロジェクトの番号です。Mech-Centerで
をクリックしてプロジェクトパスの左側に表示される数字で、それをドラッグして順序を変更することができます。
返されたデータ¶
102, ステータスコード, 送信が完了しているかどうか, TCP数, 予約語, 視覚位置姿勢, 視覚位置姿勢, ......, 視覚位置姿勢
注釈
受信メッセージの最後に目標点のデータが返されます(毎回20個まで返されます)。目標点には、TCP、ラベルおよび速度(速度値はゼロ)が含まれます。
ステータスコード
コマンドが正常に実行された場合、 1100 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
このコマンドを呼び出す時、Mech-Visionの結果が返されていない場合に、Mech-CenterはMech-Visionから結果を返すまで待機して、受信した結果をロボットへ送信します。デフォルト待ち時間は10sと設定され、タイムアウトになった場合、タイムアウトエラーを表すステータスコードが返されます。
送信が完了しているかどうか
このパラメータは、取得したいすべてのTCPが得られたかどうかを表します。値は0か1となります。
0
:取得したいすべてのTCPが得られていない場合、このパラメータの値が1になるまで102 コマンドを繰り返し実行してください。
1
:取得したいすべてのTCPが得られました。101コマンド で、指定したTCPの期待数が20個以上ある場合、このパラメータの戻り値によって、送信されなかったTCPがあるかどうかを確認することができます。送信されなかったTCPがある場合、102コマンドを繰り返し実行して、受信を継続することができます。
ヒント
すべてのTCPを取得していなくて、101コマンドを再実行すると、取得しなかったTCPのデータがなくなります。
TCP数
このコマンドを実行して、取得したTCPの数です。
リクエストしたTCP数はMech-Visionによって認識された視覚位置姿勢の数よりも多い場合、Mech-Visionによって認識された視覚位置姿勢の数に従って送信されます。
リクエストしたTCP数はMech-Visionによって認識された視覚位置姿勢の数よりも少ない場合、リクエストした数に従って送信されます。
デフォルトの範囲は0~20です。
予約語
この予約語が使われていないため、初期値は0です。
目標点
物体位姿对应的 TCP, 标签, 速度
対象物の位置姿勢に対応するTCP:TCPには、三次元座標(XYZ)およびオイラー角(ABC)が含まれます。
ラベル:位置姿勢に対応する整数のラベルです。Mech-Visionプロジェクトでラベルは文字列タイプであり、出力する前に ラベルマッピング ステップを使用してラベルを整数にマッピングする必要があります。Mech-Visionのプロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。
速度:このパラメータの初期値はゼロです。通常、Mech-Visionによって出力される視覚結果には、ロボットの目標点の速度情報は含まれていません。
実行例¶
コマンドが正常に実行された場合
TCP send string = 102, 1
TCP received string = 102, 1100, 1, 1, 0, 95.7806085592122, 644.5677779910724, 401.1013614123109, 91.12068316085427, -171.13014981284968, 180.0, 0, 0
コマンドの実行でエラーが発生したため、視覚結果が出てきませんでした。
TCP send string = 102, 1
TCP received string = 102, 1002, 1
視覚位置姿勢をリクエストする実行例
次の実行例に従って、コマンド101、102、102の順でコマンドを実行し、22個のTCPを取得します。
TCP/IPはコマンド101を送信します。コンテンツは
101, 1, 0, 1, …
で、すべてのTCPの取得をリクエストします。TCP/IPはコマンド102を送信します。視覚目標点にある一部のTCPを取得します。
TCP/IPはコマンド102を受信します。コンテンツは
102, 1100, 0, 20, …
で、すべてのTCPが取得していません。20個のTCPを含んだデータが返されます。TCP/IPはコマンド102を再送信します。残ったTCPを取得します。
TCP/IPはコマンド102を受信します。コンテンツは
102, 1100, 1, 2, …
で、2個のTCPを含んだデータが返され、すべての必要なTCPが送信されたと表します。
コマンド101を送信します。
TCP send string = 101, 1, 0, 1, -0, -20.63239, -107.81205, -0, -92.81818, 0.0016
TCP received strins = 101, 1102
コマンド102を送信し、20個のTCPを取得します。
TCP send string = 102, 1
TCP received string = 102, 1100, 0, 20, 0, 95.7806085592122, 644.5677779910724, 401.1013614123108, 31.12068316085427, ...
TCP received string = 78549940546, -179.99999999999991.0.0, 329.228345202334.712.7061697180302.400.9702665047771, ...
TCP received string =39546, -83.62567351596952, -170.87955974536686, -179.99999999999937, 0, 0, 223.37118373658322, ...
TCP received string = 005627, 710.1004355953408, 400.82227273918835, -43.89328326393665, -171.30845207792612, ...
TCP received string = 20.86318821742358, 838.7634193547805, 400.79807564314797, -102.03947940869523, -171.149261231 ...
TCP received string = 390299920645, -179.99999999999994, 0, 0, 303.0722145720921, 785.3254917220695, 400.75827437080, ...
TCP received string = 99668287.77.78291612041707, -171.53941633937786, 179.99999999899997, 0.0, 171.47819668864432, ...
TCP received string = 332193785, 400.6472716208158, -94.3418019038759, -171.10001228964776, -179.39999999999994, ...
TCP received string = 92388542936, 807.5641001485708, 400.6021999602664, - 167.9834797197932.-171.39671274951826, ...
TCP received string = 278.3198007132188, 780.5325992145735, 400.4924381003066, -174.72728396633053, -171.422604771 ...
TCP received string = 3.99999999999994, 0, 0, 183.82195326381233, 862.5171519967056.400.422966515846.-154. 17801945 ...
TCP received string = 173.34301974982765, -180.0, 0, 0
もう一度コマンド102を送信し、残りの2つのTCPを取得します。
TCP send string = 102, 1
TCP received string = 102, 1100, 1, 2, 0, 315.2017788478321, 592.1261793743445, 399.60526335590957, 126.19602189220371, ...
TCP received string = 686127, -171.44430002882129, -1.3381805753922965e-15, 0, 0
コマンド103——Mech-Visionのパラメータレシピを切り替える¶
Mech-Visionプロジェクト内に使われるパラメータレシピを切り替える際にこのコマンドを実行してください。
パラメータレシピを切り替えることで、Mech-Visionプロジェクトの各ステップのパラメータを変更することができます。
パラメータレシピには画像マッチングテンプレート、ROI、信頼度のしきい値などのパラメータの設定が含まれています。
注意
コマンド101——Mech-Visionプロジェクトを起動 を実行する前に、このコマンドを使用する必要があります。
送信コマンド¶
103, Mech-Visionプロジェクト番号, レシピ番号
Mech-Vision プロジェクト番号
Mech-Centerに登録されているMech-Visionプロジェクトの番号です。Mech-Centerで
をクリックしてプロジェクトパスの左側に表示される数字で、それをドラッグして順序を変更することができます。
レシピ番号
返されたデータ¶
1103, ステータスコード
ステータスコード
コマンドが正常に実行された場合、 1107 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
実行例¶
コマンドが正常に実行された場合
TCP send string = 103, 1, 2
TCP received string = 103, 1107
エラーが発生した場合
TCP send string = 103, 1, 2
TCP received string = 103, 1102
コマンド110 —— Mech-Visionからカスタマイズされた出力データを取得¶
このコマンドは、Mech-Visionの 出力 ステップからカスタマイズされたタイプのデータを受け取るために使用されます。つまり、位置姿勢とラベル以外のデータを受け取ります(ステップパラメータ「ポートタイプ」を「動的」に設定する場合)。
このコマンドが実行されるたびに、1つの位置姿勢とそれに対応するラベル、スコアなど (存在する場合) のみが視覚結果から取得されます。複数の位置姿勢を受け取る必要がある場合は、このコマンドを繰り返し実行してください。
送信コマンド¶
110, Mech-Visionプロジェクト番号
Mech-Vision プロジェクト番号
Mech-Centerに登録されているMech-Visionプロジェクトの番号です。Mech-Centerで
をクリックしてプロジェクトパスの左側に表示される数字で、それをドラッグして順序を変更することができます。
返されたデータ¶
110, ステータスコード, 位置姿勢の送信が完了するかどうか, カスタマイズされたデータ項目数, 対象物の位置姿勢が対応するロボットツール位置姿勢(TCP), ラベル, カスタマイズされたデータ項目, ..., カスタマイズされたデータ項目
ステータスコード
コマンドが正常に実行された場合、ステータスコード1100が返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
このコマンドを呼び出す時、Mech-Visionの結果が返されていない場合に、Mech-CenterはMech-Visionから結果を返すまで待機して、受信した結果をロボットへ送信します。デフォルト待ち時間は10sと設定され、タイムアウトになった場合、タイムアウトエラーを表すステータスコードが返されます。
位置姿勢の送信が完了するかどうか
0
:視覚結果にまだ送信されていない位置姿勢があります。
1
:視覚結果のすべての位置姿勢が送信されました。
カスタマイズされたデータ項目の数
位置姿勢とラベル以外のデータ型のカスタマイズされたデータ項目に合計数です。
例えば、aaaが3つの項目のリストで、bbbが3つの項目のリストである場合、各リストから項目を取得するためにコマンドが実行されると、パラメータ値は 1+1=2 になります。aaaとbbbの両方が単一データ項目を持つ場合は、パラメータ値はまだ1+1=2です。
対象物の位置姿勢が対応するロボットツール位置姿勢(TCP)
ロボット座標系でのツール位置姿勢 (TCP)です。Mech-Visionは対象物の位置姿勢を出力し、Mech-Centerはその位置姿勢をロボットツール位置姿勢に変換します。したがって、ステップ 出力 には1つの位置姿勢ポートが必要です。
通常、対象物の位置姿勢に対応するツール位置姿勢は、対象物の位置姿勢のZ 軸を反転させることによって生成されます。
ラベル
カスタマイズされたデータ項目
ステップ 出力 でカスタマイズされたデータタイプが対応するポートのカスタマイズされたデータです。
カスタマイズされたデータパラメータは、ポート名のA–Zの順に並べられています。
コマンド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サンプルプロジェクト をご参照ください。
送信コマンド¶
201, 位置姿勢タイプ, ロボット位置姿勢
位置姿勢タイプ
ロボットの位置姿勢タイプで、パラメータ範囲は0~1です。
0
:
Mech-Vizはロボット実機の位置姿勢を読み取る必要がないため、このコマンドで位置姿勢の情報が送られません。いわゆる、プロジェクトはEye To Handモードの場合、撮影はロボットの位置姿勢と関係がなく、プロジェクトで実機ロボットの位置姿勢を読み取る必要がないということです。
位置姿勢のタイプを0に設定すると、Mech-Vizの仮想ロボットは初期位置姿勢JPS=[0,0,0,0,0,0]から一番目の目標点に移動します。
1
:
Mech-Vizへ送られたロボットの位置姿勢はJPsおよびフランジ位置姿勢の形式です。Mech-Vizで、仮想ロボットは初期位置姿勢(つまり、本コマンドによって送信された位置姿勢)から最初の目標点に移動します。
位置姿勢のタイプを1に設定すると、Mech-Vizの仮想ロボットは初期位置姿勢JPs(入力したJPs)から一番目の目標点に移動します。
ヒント
衝突モデルがあり、ロボットは初期位置姿勢JPs=[0,0,0,0,0,0]から一番目の目標点に移動する場合、位置姿勢タイプは1に設定する必要があります。
ロボット位置姿勢
ロボットの現在のJPsおよびフランジ位置姿勢(パラメータ「位置姿勢タイプ」が1に設定された場合)。
返されたデータ¶
201, ステータスコード
ステータスコード
コマンドが正常に実行された場合、 2103 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
実行例¶
コマンドが正常に実行された場合
TCP send string = 201, 1, 0, -20.63239, -107.81205, 0, -92.81818, 0.00307
TCP received string = 201, 2103
エラーが発生した(Mech-VizはTCPタイプをサポートしていません)
TCP send string = 201, 2, -0, 682.70355, 665.22266, 90, 179.99785, -89.99693
TCP received string = 201, 2015, 1
コマンド202——Mech-Vizプロジェクトを停止¶
Mech-Vizプロジェクトの実行を停止します。Mech-Vizプロジェクトは無限ループになっていない場合や、正常に停止できる場合は、このコマンドを使用する必要がありません。
送信コマンド¶
202
返されたデータ¶
202, ステータスコード
ステータスコード
コマンドが正常に実行された場合、 2104 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
コマンド203——Mech-Vizブランチを選択¶
このコマンドは、Mech-Vizプロジェクトのブランチを指定する場合に使われます。ブランチメカニズムは 消息分支 タスクによって作成されたら、このコマンドがタスクの出力ポートを指定することで実現します。
このコマンドを実行する前に、 コマンド201——Mech-Vizプロジェクトを起動 を実行してください。
Mech-Vizプロジェクトが 消息分支 タスクに実行すると、このコマンドによって出力ポートを指定するのを待ちます。
送信コマンド¶
203, ブランチタスクID, ブランチの出力ポート番号
ブランチタスクID
ブランチの出力ポート番号
このパラメータは、プロジェクトが 消息分支 タスクに沿って実行される出力ポートを指定します。Mech-Vizプロジェクトはこの出力ポートに従って実行し続けます。パラメータの値は正の整数です。
ヒント
ブランチの出力ポート番号はMech-Vizで表されるポート番号 + 1になります。例えば、ポート番号が0の場合、出力ポート番号は1です。
出口番号は、1 から始まるポートのインデックス番号です。たとえば、指定された出口が左から右に2番目のポートである場合、番号は2です。
実行例¶
コマンドが正常に実行された場合
TOP send string = 203, 1, 1
TCP received string = 203, 2105
エラーが発生した場合
TCP send string = 203, 1, 3
TCP received string = 203, 2018, 1
コマンド204——移動インデックスを設定¶
このコマンドはタスクのインデックスパラメータを設定する時に使われます。一般的には、連続な移動か指定された移動タスクやパレタイジングなどに使用されます。
インデックスパラメータが付いたタスクは「リストによる移動」、「グリッドによる移動」、「カスタマイズのパレットパターン」、「事前計画したパレットパターン」などです。
このコマンドを実行する前に、 コマンド201——Mech-Vizプロジェクトを起動 を実行してください。
送信コマンド¶
204, タスクID,インデックス値
タスクID
このパラメータはどのタスクがインデックスを設定する必要かを指定します。
このパラメータ、つまり、インデックス付きのタスクのタスクIDは正の整数である必要があります。タスクIDは、タスクパラメータで読み取りを行います。
インデックス値
次にこのタスクが実行されたときに設定されるべきインデックス値です。
このコマンドを送信すると、Mech-Vizの現在のインデックス値がこのパラメータの値から1を引いた値に変更されます。
このコマンドで指定したタスクにMech-Vizプロジェクトが実行されると、Mech-Vizの現在のインデックス値が、このパラメータの値まで1つずつ増加します。
返されたデータ¶
204, ステータスコード
ステータスコード
コマンドが正常に実行された場合、 2106 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
実行例¶
コマンドが正常に実行された場合
TCP send string = 204, 2, 6
TCP received string = 204, 2106
エラーが発生した場合
TCP send string = 204, 3, 6
TCP received string = 204, 2028, 1
コマンド205——Mech-Vizの計画経路を取得¶
このコマンドはMech-Vizから計画経路を取得する際に使われます。 コマンド201——Mech-Vizプロジェクトを起動 を実行してから、このコマンドを用いて計画経路を取得します。
TCP/IPでは、このコマンドは毎回最大20個まで計画経路にある目標点を取得することができます。そのため、このコマンドを繰り返して実行する場合があります。
注釈
プロジェクト内の移動タスクの目標点をロボットに送信しない場合は、タスクパラメータで「移動目標点を送信」のチェックを外してください。
送信コマンド¶
205,目標点タイプ
目標点タイプ
このパラメータはMech-Vizからどのような形式で目標点を返すかを指定します。
1
:目標点は、ロボットの関節角度(JPs)の形式で返されます。
2
:目標点は、ロボットのツール位置姿勢(TCP)の形式で返されます。
返されたデータ¶
205,ステータスコード,位置姿勢の送信が完了したかどうか,目標点の数,タスク「視覚処理による移動」タスクの位置,目標点,目標点,...,目標点
ステータスコード
コマンドが正常に実行された場合、 2100 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
ヒント
このコマンドを実行する時、Mech-Vizから結果が返されていない場合(まだ実行中)、Mech-CenterはMech-Viz からの結果を待って、それをロボットに送信します。デフォルトの場合、タイムアウト時間は10秒であり、待ち時間が超えるとタイムアウトエラーをロボットに返します。
送信が完了しているかどうか
0
:経路にあるすべての目標点が送信されいないため、このパラメータの値が1になるまでに、このコマンドを繰り返して実行してください。
1
:経路にあるすべての目標点が送信されました。
目標点の数
このパラメータは今回このコマンドを実行して、返された経路にある目標点の数を表します([位置姿勢、ラベル、速度(%)])。
経路に20個以上の目標点がある場合、このコマンドを繰り返して実行してください。
デフォルトの範囲は0~20です。
タスク「視覚処理による移動」の位置
プロジェクトにおけるタスク「視覚処理による移動」の位置です。「視覚処理による移動」は、視覚位置姿勢へ移動する移動タスクです。
例えば、移動_1 -> 移動_2 -> 視覚処理による移動 -> 移動_3のロジックにおいて、タスク「視覚処理による移動」の位置は3です。
タスク「視覚処理による移動」がなければ、このパラメータは0です。
目標点
[位置姿勢, ラベル, 速度]
位置姿勢:フォーマットはコマンド205送信時のパラメータによって、三次元座標、XYZオイラー角、あるいは関節角度(JPs)で記述されます。
ラベル:位置姿勢に対応する整数のラベルです。Mech-Visionプロジェクトでラベルは文字列タイプであり、出力する前に ラベルマッピング ステップを使用してラベルを整数にマッピングする必要があります。Mech-Visionのプロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。
移動タスクパラメータに設定されたゼロでないパーセンテージ値です。
実行例¶
コマンドが正常に実行された場合
TCP send string = 205, 1
TCP received string =205, 2100, 1, 2, 2, 8.307755332057372, 15.163476541700463, -142.1778810972881, -2.7756047848536745, -31.44046012182799, -96.94907235126934, 0, 64, 8.2 42574265592342, 12.130080796661591, -141.75872288706663-2.513533225987894, -34.8905853 039525, -97.19108378871277, 0, 32
エラーが発生した場合
TCP send string = 205, 1
TCP received strins = 205, 2008, 1
コマンド206——DOリストを取得¶
複数の治具または吸盤パーティションを制御する場合、このコマンドを用いてDOリストを取得します。
このコマンドを実行する前に、 コマンド205 を実行してMech-Vizの計画経路を取得する必要があります。
サンプルプロジェクトに基づいてMech-Vizプロジェクトを設定し、プロジェクトに対応する吸盤のコンフィグファイルを設定します。サンプルプロジェクトのパスはMech-Centerのインストールディレクトリ(tool¥viz_project) の suction_zone です。
プロジェクトの 设置多个 DO タスクのパラメータで以下の設定を行います。
送信コマンド¶
206
返されたデータ¶
206, ステータスコード, DO信号値, DO信号値, ..., DO信号値
ステータスコード
コマンドが正常に実行された場合、 2102 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
DO値
返されたデータの最後に64個のDO値が受信され、すべては整数です。
DO値の範囲は0~999です。
-1はプレースホルダーとなります。
実行例¶
コマンドが正常に実行されると、11と12のDO信号値が得られます。
TCP send string: 206
TCP receive string: 206, 2102, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
コマンドの実行中にエラーが発生した場合、DO信号が得られませんでした。
TCP send string: 206
TCP receive string: 206, 2011, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
コマンド207——Mech-Vizタスクパラメータを読み取る¶
このコマンドは、指定されたタスクの指定されたパラメータの値を読み取るために使用されます。
Mech-Centerで
をクリックして、どのタスクのどのパラメータを読み取るかを指定します。送信コマンド¶
207, 構成ID(config ID)
構成ファイルのコンテンツ¶
read, config ID, タスクID, パラメータのキーの名前
構成ファイルの「#」で始まる内容はコメント行であり、このコマンドを実行しても影響はありません。
read
文字列「read」は、コマンドがパラメータ値を読み取るために使用されることを示します。
config ID
読み取り操作IDを指定する正の整数です。1つの構成IDを使用して、複数のパラメータを設定できます。複数のパラメータを読み取るには、異なる構成IDを使用する必要があります。
タスクID
読み取るパラメータのタスクが属するタスクのタスクIDです。
タスクパラメータでタスクIDを検索および設定できます。
パラメータのキーの名前
構成ファイルのコンテンツの例¶
read, 1, 10, digitalOutValue
read, 2, 2, xCount
read, 3, 2, yCount
read, 4, 5, allowVisionResultUnused
write, 1, 3, xOffset, 0.000000
write, 1, 3, yOffset, 0.000000
write, 1, 3, zOffset, 0.000030
write, 2, 7, delayTime, 0.1
返されたデータ¶
207, ステータスコード, タスクパラメータ値
ステータスコード
コマンドが正常に実行された場合、ステータスコード2109が返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
タスクパラメータ値
Mech-Vizプロジェクトに指定されたタスクの指定されたパラメータの値です。
INT、FLOAT、STRINGのデータ型に対応します。
コマンド208 ——Mech-Vizのタスクパラメータを設定¶
このコマンドは、指定されたタスクの指定されたパラメータの値を設定するために使用されます。
Mech-Centerで
をクリックして、どのタスクのどのパラメータをどの値に設定するかを指定します。送信コマンド¶
208, 構成ID(config ID)
構成ファイルのコンテンツ¶
write, config ID, タスクID, パラメータのキーの名前, 値
write
文字列「write」は、コマンドがパラメータ値を設定するために使用されることを示します。
config ID
設定操作IDを指定する正の整数です。1つの構成IDを使用して、複数のパラメータを設定できます。
タスクID
設定するパラメータのタスクが属するタスクIDです。
タスクパラメータでタスクIDを検索および設定できます。
パラメータのキーの名前
値
パラメータに設定する値を指定します。
数値に加えて、文字列値もサポートされています。
構成ファイルのコンテンツの例¶
read, 1, 10, digitalOutValue
read, 2, 2, xCount
read, 3, 2, yCount
read, 4, 5, allowVisionResultUnused
write, 1, 3, xOffset, 0.000000
write, 1, 3, yOffset, 0.000000
write, 1, 3, zOffset, 0.000030
write, 2, 7, delayTime, 0.1
コマンド210——移動目標点と視覚計画結果を取得¶
このコマンドは、Mech-Vizによって計画された単一の目標点を取得するために使用されます。目標点は、移動目標点または視覚目標点にすることができます。目標点には、位置姿勢、速度、ツール情報、ワーク情報などを含めることができます。
このコマンドを実行して得られる目標点は、次の3つのいずれかになります。
注意
通常、このコマンドは段ボール箱をワークとしたプロジェクトに使用されます。
注意
このコマンドを実行して一度に取得できる目標点は1つだけです。複数の目標点を取得したい場合は、このコマンドを繰り返し実行する必要があります。
送信コマンド¶
210, 返されたデータの予期形式
返されたデータの予期形式
以下は、移動目標点と視覚計画結果の4つの返されたデータの予期形式です。
JPs,運動タイプ, ツールID, 速度,カスタマイズされた視覚出力 1, ..., カスタマイズされた視覚出力 N
TCP,運動タイプ, ツールID, 速度,カスタマイズされた視覚出力 1, ..., カスタマイズされた視覚出力 N
JPs, 運動タイプ, ツールID, 速度, 視覚計画結果, カスタマイズされた視覚出力 1, ..., カスタマイズされた視覚出力 N
TCP, 運動タイプ, ツールID, 速度, 視覚計画結果, カスタマイズされた視覚出力 1, ..., カスタマイズされた視覚出力 N
カスタマイズされた視覚出力
これは、Mech-Visionプロジェクトの 出力 ステップで指定された位置姿勢とラベル以外のデータです。
視覚計画結果
返されたデータ¶
210, ステータスコード, 目標点の送信が完了しているかどうか, 目標点のタイプ, 位置姿勢, 運動タイプ, ツールID, 速度, 視覚計画結果 *, カスタマイズされた視覚出力 *
* 視覚計画結果またはカスタマイズされた視覚出力は、コマンドの実行時に送信される予期されるデータ形式によって異なります。
ステータスコード
コマンドが正常に実行された場合、ステータスコード2100が返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
目標点の送信が完了しているかどうか
0
:まだ送信されていない目標点があります。
1
:すべての目標点が送信されました。
目標点タイプ
位置姿勢
フォーマットはコマンド発送時のパラメータによって、ロボット関節角度(JPs)またはツール位置姿勢(TCP)形式で記述される目標点の位置姿勢です。
運動タイプ
1
:関節運動(MOVEJ)
2
:直線運動(MOVEL)
ツールID
目標点で使用するツール番号です。 -1は、ツールが使用されていないことを意味します。
速度
目標点での速度のパーセンテージ値、つまり、Mech-Vizプロジェクトの目標点に対応する移動タスクのパラメータに設定された速度です。
視覚計画結果
目標点の計画結果情報です (目標点が移動タスク 視覚処理による移動 に対応する場合)。通常、段ボール箱の複数把持とデパレタイジングなどのシーンに使用されます。情報は次のとおりです。
ラベル(最大1 個の正の整数ラベルがサポートされて、初期値は0です)。
把持されたワークの合計数。
今回複数把持されたワークの数。
エッジコーナー番号(ワークのどのコーナーが吸盤に近いかを指定するために使用され、吸盤のエッジコーナー番号は 視覚処理による移動 タスクの 吸盤コンフィグレータ で確認できます)。
ツール位置姿勢(TCP)のオフセット(ワークの中心に対応するTCPから実際のTCPまでのオフセットです)。
ワークの向き(TCPのX軸に対するワーク座標系のX軸の方向です)。
ワークグループのサイズ。
カスタマイズされた視覚出力
ステップ 出力 でカスタマイズされたデータタイプが対応するポートのカスタマイズされたデータです。
各カスタマイズされた視覚出力パラメータは、ポー名のA—Zの順に並べられています。
位置姿勢とラベルを除き、他のすべてのポートデータはカスタマイズされたデータと見なされます。
コマンド501——Mech-Visionプロジェクトへ対象物の寸法を送信¶
このパラメータはMech-Visionプロジェクトに、対象物の寸法を動的に送信すること場合に使われます。Mech-Visionプロジェクトを実行する前に対象物の寸法を確認する必要があります。
Mech-Visionプロジェクトに、 対象物の寸法を読み込む ステップを入れておきます。このステップのパラメータ パラメータから対象物の寸法を読み取る にチェックを入れる必要があります。
送信コマンド¶
501, Mech-Visionプロジェクト番号,長さ,幅,高さ
Mech-Vision プロジェクト番号
長さ,幅,高さ
Mech-Visionプロジェクトへ送信する対象物の寸法です。寸法の値は、 対象物の寸法を読み込む ステップによって読み取られます。
単位はミリメートル(mm)です。
返されたデータ¶
501, ステータスコード
ステータスコード
コマンドが正常に実行された場合、 1108 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
実行例¶
コマンドが正常に実行された場合
TCP send string: 501, 1, 100, 200, 300
TCP receive string: 501, 1108
コマンド実行時にエラーが発生する場合、3002のエラーコードが表示されます。これは「高さ」情報が欠落していることを意味します。
TCP send string: 501, 1, 100, 200
TCP receive string: 501, 3002
コマンド502——Mech-VizへTCPを送信¶
このコマンドは、Mech-VizプロジェクトにロボットTCPを動的に送信するためによく使われます。ロボットTCPを読み取るためのタスクは 外部移动 です。
サンプルプロジェクトに基づいてMech-Vizプロジェクトを設定します。サンプルプロジェクトのパスはMech-Centerのインストールディレクトリ tool¥viz_project¥outer_move
です。
外部移动 タスクをワークフローの適切な場所に配置します。
このコマンドは、 コマンド201——Mech-Vizプロジェクトを起動 を実行する前に実行してください。
コマンド601——通知メッセージ¶
ユーザーはこのコマンドを実行する必要がありません。
Mech-Viz/Mech-Visionのプロジェクトは 通知 タスクまたは 通知 ステップまで実行する場合、Mech-Centerは「通知」にカスタマイズされたメッセージをクライアントに送信します。
Mech-Visionで 通知 ステップの名前を「Standard Interface Notify」に変更します。
Mech-Vizで 通知 タスクのパラメータ「受信者」を「標準インターフェイス」に設定します。
送信コマンド¶
なし。
コマンド701——自動キャリブレーション¶
このコマンドは、ハンド・アイ・キャリブレーションを行う場合に使われます(カメラ外部パラメータのキャリブレーション)。
このコマンドの実行で、Mech-Visionとキャリブレーションの状態を同期し、 Mech-Visionからキャリブレーションポイントを取得します。
キャリブレーションを完成するために、このコマンドを繰り返して実行する必要があります。
送信コマンド¶
701,キャリブレーション状態,フランジ位置姿勢,関節角度(JPs)
キャリブレーション状態
パラメータ範囲は0~2です。
0
:Mech-Visionと繋がり、キャリブレーションプロセスを開始します。
1
:前回のキャリブレーションポイントが受信され、ロボットへ送信します。
2
:前回のキャリブレーションポイントの受信が失敗しました。
フランジ姿勢
ロボットの現在のフランジ位置姿勢です。
関節角度(JPs)
ロボットの現在の関節角度(JPS)です。
ヒント
関節角度(JPs)とフランジ位置姿勢のどちらが選べばよいです。
返されたデータ¶
701,ステータスコード,キャリブレーション状態,次回キャリブレーションポイントのフランジ位置姿勢,次回キャリブレーションポイントの関節角度(JPs)
ステータスコード
コマンドが正常に実行された場合、 7101 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
キャリブレーション状態
0
:キャリブレーション進行中。
1
:キャリブレーション終了。
次回キャリブレーションポイントのフランジ位置姿勢
移動先の目標点位置姿勢データです。ロボットのプログラムから、フランジ位置姿勢やJPs位置姿勢は選択可能です。
次回キャリブレーションポイントの関節角度
移動先のロボットのJPsデータです。
ヒント
関節角度(JPs)とフランジ位置姿勢のどちらが選べばよいです。
実行例¶
キャリブレーションプロセスを開始
TCP send string = 701, 0, 1371.62147, 25.6, 1334.3529, 148.58471, -179.24347, 88.75702, 88.86102, -7.11107, -28.82309, -0.44014, -67.6509, 31.4764
TCP received string = 701, 7101, 0, 1271.6969, -743374, 1334.34094, -3128422, 1792412, -91.11236, 93.28109, -12.0273, -32.8811, -0.37183, -68.41364, 27.02411
Mech-Visionからキャリブレーションポイントを取得(すべてのキャリブレーションポイントを取得するには、このプロセスを数回繰り返す必要があります)
TCP send string = 701, 1, 1271.6969, -74.3374, 1334.34094, -3128422, 1792412, -91.11236, 93.28109, -12.0273, -32.8811, -0.37183, -68.41364, 27.02411
TCP received string = 701, 7101, 0, 1471.62226, -74.40452, 1334.34235, 148.56924, -179.24432, 88.74148, 92.8367, -2.14999, -24.25433, -0.39222, -67.23261, 27.485225
ヒント
このプロセスを繰り返して複数のキャリブレーションポイントを取得する必要があります。
キャリブレーションを終了
TCP send string = 701, 1, 1371.60876, 25.53615, 1384.45532, -20.82704, 179.22026, -72.77879, 88.88467, -7.42242, -26.68142, -0.2991, -69.95593, 39.26262
TCP received string = 701, 7101, 1, 1371.62147, 25.6, 1334.3529, 148.58471, -179 24347, 88.75702, 88.86102, -7.11107, -28.82309, -0.44014, -67.6509, 31.4764
コマンド901——ソフトウェアの起動状態を取得¶
このコマンドは、Mech-Vision、Mech-Viz、Mech-Centerの起動状態を取得するために使用されます。
現在、このコマンドはMech-Visionのみ対応できます。
送信コマンド¶
901
返されたデータ¶
901, ステータスコード
ステータスコード
システムのセルフチェックステータスです。ステータスコードが 1101 になると「Mech-Visionが準備できました」です。他のステータスコードが出てきた場合「Mech-Visionプロジェクトがまだ準備できていません」ということです。現在、このコマンドはMech-Visionプロジェクトの準備ができているかどうかを確認するためにのみ使用できます。
実行例¶
Mech-Visionプロジェクトが準備できました
TCP send string = 901
TCP received string = 901, 1101
Mech-Visionプロジェクトがまだ準備できていません
TCP send string = 901
TCP received string = 901, 1001, 1
ヒント
Mech-Visionを起動して、プロジェクトを実行し、プロジェクトリストのプロジェクトを右クリックして 現在のプロジェクトを自動的に読み込む にチェックを入れてください。