Siemens PLC コマンド
本節では、Siemens PLC Snap 7通信プロトコルに基づいた標準インターフェースのコマンドについて説明します。
コマンド101——Mech-Visionプロジェクトを起動
このコマンドを実行すると、Mech-Visionプロジェクトが実行され、カメラ撮影とビジョン処理による認識が行われます。Mech-Vizを使用せずMech-Visionを使用する場合に使用します。
送信コマンド
パラメータ | DBオフセット |
---|---|
コマンド101 |
2.0 |
Mech-Visionプロジェクト番号 |
8.0 |
ビジョンポイントの期待数 |
6.0 |
ロボット位置姿勢のタイプ |
4.0 |
ロボット位置姿勢 |
12.0(JPs)または 36.0(フランジ位置姿勢) |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
ビジョンポイントの期待数
Mech-Visionから取得したいビジョンポイントの数です。ビジョンポイントの情報に、ビジョン位置姿勢およびそれに対応する点群、ラベル、スケーリングの情報が含まれています。
-
0
:Mech-Visionプロジェクトで認識できたすべてのビジョンポイントを取得します。 -
0より大きな整数
:Mech-Visionプロジェクトで認識できた指定数のビジョンポイントを取得します。-
このパラメータの値がビジョンポイントの合計数より大きい場合、認識結果にあるすべてのビジョンポイントを取得します。
-
このパラメータの値がビジョンポイントの合計数より小さい場合、このパラメータで指定された数のビジョンポイントを取得します。
-
ビジョンポイントを取得するコマンドは102コマンドです。デフォルトでは、102コマンドの1回実行で最大20のビジョンポイントを取得することができます。最初の実行後、返されるパラメータの1つは、リクエストされたすべてのビジョンポイントが返されたかどうかを示します。そうでない場合は、102コマンドを繰り返してください。 |
ロボット位置姿勢のタイプ 、 ロボット位置姿勢
-
ロボット位置姿勢のタイプ パラメータは、ロボット実機の位置姿勢をMech-Visionに送信するタイプを設定します。パラメータ範囲は0~3です。
-
ロボット位置姿勢 のパラメータ値は、 ロボット位置姿勢のタイプ のパラメータ値によって異なります。
2つのパラメータの値と関係と説明は以下の通りです。
ロボット位置姿勢のタイプ | ロボット位置姿勢 | 説明 | 適用シーン |
---|---|---|---|
0 |
0, 0, 0, 0, 0, 0 |
Mech-Visionにロボットの位置姿勢を送信する必要がありません |
プロジェクトは、Eye To Handモードです。Mech-Visionプロジェクトで「経路計画」ステップを使用する場合、経路計画の開始位置は、経路計画ツールで設定した原点です。 |
1 |
ロボットの現在の関節角度とフランジ位置姿勢 |
Mech-Visionにロボットの現在の関節角度とフランジ位置姿勢を送信する必要があります |
プロジェクトは、Eye In Handモードです。この設定は、直行ロボット以外のほとんどのロボットで利用可能です。 |
2 |
ロボットの現在のフランジ位置姿勢 |
Mech-Visionにロボットの現在のフランジ位置姿勢を送信する必要があります |
プロジェクトは、Eye In Handモードです。ロボットは関節角度のデータを持たず、フランジ位置姿勢データのみを持ちます(直行ロボットの場合など)。 |
3 |
ロボット経路計画の開始位置の関節角度 |
Mech-Visionにロボット経路計画の開始位置の関節角度を送信する必要があります |
プロジェクトは、Eye To Handモードです。Mech-Visionプロジェクトで「経路計画」ステップを使用する場合、経路計画の開始位置は、経路計画ツールで設定した初期位置です。 |
ロボットの位置姿勢はRealタイプの数字です。
コマンド102——ビジョン目標点を取得
コマンド101——Mech-Visionプロジェクトを起動 の後に使用します。このコマンドは、Mech-Visionから取得したビジョンポイントを自動的にビジョン目標点に変換するために使用されます。
以下に、ビジョンポイントに含まれる位置姿勢をロボットTCPに変換する処理を示します。
-
ビジョンポイントに含まれる位置姿勢をX軸を中心に180°回転させます。
-
対応するロボット型番の基準座標系定義にロボットベースの高さが含まれているかどうかを認識し、それに応じて垂直方向のオフセットを増やします。
デフォルトでは、102コマンドは毎回最大20個までのビジョン目標点を取得することができます。20個以上のビジョン目標点を取得するには、すべてのビジョン目標点を得るまで、102コマンドを繰り返し実行してください。 |
送信コマンド
パラメータ | DBオフセット |
---|---|
コマンド102 |
2.0 |
Mech-Visionプロジェクト番号 |
8.0 |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
返されたデータ
パラメータ | DBオフセット |
---|---|
ステータスコード |
200.0 |
データ転送状態 |
202.0 |
ビジョン目標点の数 |
204.0 |
予約語 |
/ |
今回取得したすべてのTCP |
208.0 |
今回取得したすべてのラベル |
1168.0 |
ステータスコード
コマンドが正常に実行された場合、 1100 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
このコマンドを呼び出した後、10秒以内にMech-Visionからのビジョン結果を受信しない場合、タイムアウトを表すエラーコードが返されます。
データ転送状態
このパラメータは、返されたデータは新しいビジョン目標点であるかどうかを表示するために使用されます。
1
:返されたデータが新しいビジョン目標点であることを示し、それを読み取ります。
新しく返されたデータを読み取った後、このパラメータを0にリセットします。 |
ビジョン目標点の数
このコマンドを実行して、取得したビジョン目標点の数です。
-
リクエストしたビジョン目標点の数はMech-Visionによって認識されたビジョン位置姿勢の数よりも多い場合、Mech-Visionによって認識されたビジョン位置姿勢の数に従って送信されます。
-
リクエストしたビジョン目標点の数はMech-Visionによって認識されたビジョンポイントの数よりも少ない場合、リクエストした数に従って送信されます。
予約語
この予約語が使われていないため、初期値は0です。
今回取得したすべてのTCP
1つのTCPには、空間座標 (XYZ) とオイラー角 (ABC) の情報が含まれます。
今回取得したすべてのラベル
位置姿勢に対応する整数のラベルです。Mech-Visionプロジェクトでラベルは文字列タイプであり、出力する前に「ラベルマッピング」ステップを使用してラベルを整数にマッピングする必要があります。プロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。
コマンド103——Mech-Visionのパラメータレシピの切り替え
Mech-Visionプロジェクトにパラメータレシピを切り替えます。
パラメータレシピを切り替えることで、Mech-Visionプロジェクトの各ステップのパラメータを変更することができます。
パラメータレシピには点群マッチングモデル、画像マッチングテンプレート、ROI、信頼度のしきい値などのパラメータの設定が含まれています。
コマンド101——Mech-Visionプロジェクトを起動 を実行する前に、このコマンドを使用する必要があります。 |
コマンド105——Mech-Visionの「経路計画」ステップの結果を取得
101コマンドを呼び出した後、このコマンドを使用してMech-Visionの「経路計画」ステップから出力された衝突ないの把持経路を取得します。
このコマンドを使用する時、Mech-Visionの「出力」ステップの ポートタイプ を「事前定義済み(ロボット経路)」に設定する必要があります。
105コマンドを呼び出す前に、105コマンドの呼び出し回数を減らすように101コマンドの ビジョン目標点の期待数 を0に設定する必要があります。101コマンドの ビジョン目標点の期待数 を1に設定すると、105コマンドの呼び出しごとに1つの経路点のみが返され、105コマンドを複数回呼び出した場合にのみすべての経路点が返されます。 |
送信コマンド
パラメータ | DBオフセット |
---|---|
コマンド105 |
2.0 |
Mech-Visionプロジェクト番号 |
8.0 |
経路点の位置姿勢タイプ |
4.0 |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
経路点の位置姿勢タイプ
このパラメータは、「経路計画」ステップから返された経路点の位置姿勢タイプを指定するために使用されます。
-
1
:経路点の位置姿勢は、ロボットの関節角度(JPs)の形式で返されます。 -
2
:経路点の位置姿勢は、ロボットのツール位置姿勢(TCP)の形式で返されます。
返されたデータ
パラメータ | DBオフセット |
---|---|
ステータスコード |
200.0 |
データ転送状態 |
202.0 |
経路点の数 |
204.0 |
「ビジョン処理による移動」の位置 |
206.0 |
今回送信したすべての経路点の位置姿勢 |
208.0 |
今回送信したすべての経路点のラベル |
1168.0 |
今回送信したすべての経路点の速度 |
1248.0 |
ステータスコード
コマンドが正常に実行された場合、 1103 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
データ転送状態
このパラメータは、返されたデータは新しい経路点であるかどうかを表示するために使用されます。
1
:返されたデータが新しい経路点であることを示し、それを読み取ります。
新しく返されたデータを読み取った後、このパラメータを0にリセットします。 |
経路点の数
このパラメータは、このコマンドを実行した後に返された経路点の数を表します。範囲は0~20です。20以上の経路点を取得するには、このコマンドを繰り返してください。
「ビジョン処理による移動」の位置
経路計画ツールで設定された「ビジョン処理による移動」の経路点が経路全体における位置です。
例えば、経路計画は「移動_1 -> 移動_2 -> ビジョン処理による移動 -> 移動_3」のステップで構成されている場合、「ビジョン処理による移動」の位置は3です。
「ビジョン処理による移動」がなければ、このパラメータは0です。
今回送信したすべての経路点の位置姿勢
三次元座標とオイラー角、またはJPs関節角度です。位置姿勢の形式は、105コマンドの「経路点の位置姿勢タイプ」で決定されます。
今回送信したすべての経路点のラベル
位置姿勢に対応する整数のラベルです。Mech-Visionプロジェクトでラベルは文字列タイプであり、出力する前に「ラベルマッピング」ステップを使用してラベルを整数にマッピングする必要があります。プロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。
今回送信したすべての経路点の速度
経路計画設定ツールで設定された速度値です。
コマンド110 —— Mech-Visionからカスタマイズされたデータを取得
このコマンドは、Mech-Visionの「出力」ステップからカスタマイズされたデータを受け取るために使用されます。つまり、posesとlabels以外のポートのデータを受け取ります(ステップパラメータ「ポートタイプ」を「カスタム」に設定する場合)。
送信コマンド
パラメータ | DBオフセット |
---|---|
コマンド110 |
2.0 |
Mech-Visionプロジェクト番号 |
8.0 |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
返されたデータ
パラメータ | DBオフセット |
---|---|
ステータスコード |
200.0 |
データ転送状態 |
202.0 |
今回取得したすべてのTCP |
208.0 |
今回取得したすべてのラベル |
1168.0 |
カスタマイズされたポートデータ |
1456.0 |
ステータスコード
コマンドが正常に実行された場合、ステータスコード1100が返されます。 エラーが発生した場合、エラーを表すエラーコードが返されます。
このコマンドを呼び出した後、10秒以内にMech-Visionからのビジョン結果を受信しない場合、タイムアウトを表すエラーコードが返されます。
データ転送状態
このパラメータは、返されたデータは新しいTCPであるかどうかを表示するために使用されます。
1
:返されたデータが新しいTCPであることを示し、それを読み取ります。
今回取得したすべてのTCP
1つのTCPには、空間座標 (XYZ) とオイラー角 (ABC) の情報が含まれます。
今回取得したすべてのラベル
位置姿勢に対応する対象物情報ラベルです。ラベルは正の整数である必要があります。それ以外の場合は、Mech-Visionプロジェクトの「出力」ステップを使用して正の整数にマッピングする必要があります。「出力」ステップにラベルポートがない場合、このフィールドは0で埋められます。
カスタマイズされたデータ項目
ステップ「出力」でカスタマイズされたデータタイプが対応するポートのカスタマイズされたデータです。
カスタマイズされたデータパラメータは、ポート名のA–Zの順に並べられています。
コマンド201——Mech-Vizプロジェクトを起動
このコマンドは、Mech-VisionとMech-Vizの両方を使用する場合に使われます。Mech-Vizプロジェクトを開始し、対応するMech-Visionプロジェクトを呼び出し、Mech-VizがMech-Visionのビジョン結果に基づいてロボットの動作経路を計画する時に使用されます。
Mech-Vizのリソースパネルでプロジェクトを右クリックし、 自動的に読み込む にチェックを入れます。 |
送信コマンド
パラメータ | DBオフセット |
---|---|
コマンド201 |
2.0 |
ロボット位置姿勢のタイプ |
4.0 |
ロボット位置姿勢 |
12.0(JPs)または 36.0(フランジ位置姿勢) |
ロボット位置姿勢のタイプ 、 ロボット位置姿勢
-
ロボット位置姿勢のタイプ パラメータは、ロボット実機の位置姿勢をMech-Vizに送信するタイプを設定します。パラメータ範囲は0~2です。
-
ロボット位置姿勢 のパラメータ値は、 ロボット位置姿勢のタイプ のパラメータ値によって異なります。
2つのパラメータの値と関係と説明は以下の通りです。
ロボット位置姿勢のタイプ | ロボット位置姿勢 | 説明 | 適用シーン |
---|---|---|---|
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 |
ロボット側でカスタマイズされた関節角度 |
Mech-Vizにロボットのティーチポイント(現在の関節角度ではない)を送信する必要があります。これは、ロボットが画像撮影領域の外にいるとき(下図に示す)、Mech-Vizプロジェクトが次回の経路を事前に計画することをトリガーするために使用されます。Mech-Vizでの仮想ロボットは受信された最初のティーチポイントから最初の経路点に移動します。 |
プロジェクトはEye To Handモードである場合は、この設定は推奨します。 |
Eye To Handモードでは、 ロボット位置姿勢のタイプ が2に設定されている理由は以下の通りです。
Eye To Handモードでは、カメラはロボットが画像撮影領域と把持領域に戻る前に撮影し、次回の把持経路を計画することができます。これにより、タクトタイムの向上が可能です。
この時、 ロボット位置姿勢のタイプ が1に設定され、つまり現在の位置姿勢をMech-Vizに送信すれば、仮想ロボットがロボット実機の経路と一致しない可能性があります。また、未知の衝突が発生する可能性もあります。
仮想ロボットは現在の位置姿勢からMech-Vizでの最初の移動ステップで設定された位置姿勢に移動しますが、ロボット実機は上記の位置姿勢に移動する前に別の位置姿勢に移動する可能性があるということです。
したがって、 ロボット位置姿勢のタイプ パラメータを2に設定する必要があります。
コマンド203——Mech-Viz分岐を選択
Mech-Vizプロジェクトに「メッセージによって異なる分岐を実行」ステップがある場合、このコマンドはMech-Vizにある「メッセージによって異なる分岐を実行」ステップを指定された出口に沿って実行し続けることを制御します。
このコマンドを実行する前に、 コマンド201——Mech-Vizプロジェクトを起動 を実行してください。
Mech-Vizプロジェクトが「メッセージによって異なる分岐を実行」に実行すると、このコマンドによって出口を指定するのを待ちます。
コマンド204——移動インデックスを設定
このコマンドはMech-Vizステップの 現在のインデックス パラメータを設定する場合に使われます。このパラメータが設定可能なステップは「リストによる移動」、「グリッドによる移動」、「カスタマイズのパレットパターン」、「事前計画パレットパターン」などです。
このコマンドを実行する前に、 コマンド201——Mech-Vizプロジェクトを起動 を実行してください。
送信コマンド
パラメータ | DBオフセット |
---|---|
コマンド204 |
2.0 |
ステップID |
64.0 |
インデックス值 |
66.0 |
ステップID
このパラメータはどのステップがインデックスを設定する必要かを指定します。
このパラメータ、つまり、インデックス付きのステップのステップIDは正の整数である必要があります。ステップIDは、ステップパラメータで読み取りを行います。
インデックス值
次にこのステップが実行されたときに設定されるべき 現在のインデックス の値です。
このコマンドを送信すると、Mech-Vizの 現在のインデックス 値がこのパラメータの値から1を引いた値に変更されます。
このコマンドで指定したステップに Mech-Viz プロジェクトが実行されると、 Mech-Viz の 現在のインデックス の値が、このパラメータの値まで1つずつ増加します。
コマンド205——計画経路を取得
コマンド201——Mech-Vizプロジェクトを起動 を実行した後、このコマンドはMech-Vizが計画した経路を取得するために使用されます。
初期設定を使用する場合、このコマンドを一回実行すると最大20個の計画された経路点を取得できます。したがって、20以上の経路点を取得するには、このコマンドを繰り返してください。
プロジェクト内の移動ステップの経路点をロボットに送信しない場合は、ステップパラメータで「移動目標点を送信」のチェックを外してください。 |
送信コマンド
パラメータ | DBオフセット |
---|---|
コマンド205 |
2.0 |
経路点タイプ |
4.0 |
経路点タイプ
このパラメータはMech-Vizからどのような形式で目標点を返すかを指定します。
-
1
:経路点は、ロボットの関節角度(JPs)の形式で返されます。 -
2
:経路点は、ロボットのツール位置姿勢(TCP)の形式で返されます。
返されたデータ
パラメータ | DBオフセット |
---|---|
ステータスコード |
200.0 |
データ転送状態 |
202.0 |
経路点の数 |
204.0 |
「ビジョン処理による移動」の位置 |
206.0 |
今回送信したすべての経路点の位置姿勢 |
208.0 |
今回送信したすべての経路点のラベル |
1168.0 |
今回送信したすべての経路点の速度 |
1248.0 |
ステータスコード
コマンドが正常に実行された場合、 2100 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
このコマンドを呼び出した後、10秒以内にMech-Vizからのビジョン結果を受信しない場合、タイムアウトを表すエラーコードが返されます。 |
データ転送状態
このパラメータは、返されたデータは新しい経路点であるかどうかを表示するために使用されます。
1
:返されたデータが新しいビジョンポイントであることを示し、それを読み取ります。
新しく返されたデータを読み取った後、このパラメータを0にリセットします。 |
経路点の数
このパラメータは、返された経路点の数を表します。範囲は0~20です。 初期設定を使用する場合、このコマンドを一回実行すると最大20個の計画された経路点を取得できます。したがって、20以上の経路点を取得するには、このコマンドを繰り返してください。
「ビジョン処理による移動」の位置
「ビジョン処理による移動」の経路点が経路全体における位置です。
例えば、経路計画は「移動_1 -> 移動_2 -> ビジョン処理による移動 -> 移動_3」のステップで構成されている場合、「ビジョン処理による移動」の位置は3です。
「ビジョン処理による移動」がなければ、このパラメータは0です。
今回送信したすべての経路点の位置姿勢
三次元座標とオイラー角、またはJPs関節角度です。位置姿勢の形式は、205コマンドの「経路点の位置姿勢タイプ」で決定されます。
今回送信したすべての経路点のラベル
位置姿勢に対応する整数のラベルです。Mech-Visionプロジェクトでラベルは文字列タイプであり、出力する前に「ラベルマッピング」ステップを使用してラベルを整数にマッピングする必要があります。プロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。
今回送信したすべての経路点の速度
移動ステップパラメータに設定されたゼロでないパーセンテージ値です。
コマンド206——DOリストを取得
このコマンドは、計画されたDOリストを取得するために使用されます。DO信号は、複数のロボットハンドまたは吸盤のパーティションを制御するために使用されます。
このコマンドを実行する前に、 コマンド205 を実行してMech-Vizの計画経路を取得する必要があります。
サンプルプロジェクトに基づいてMech-Vizプロジェクトを設定し、プロジェクトに使用される吸盤設定ファイルを設定してください。サンプルプロジェクトは、Mech-Mindソフトウェアシステムのインストールディレクトリ Mech-Center\tool\viz_project\suction_zone
に格納されています。
Mech-Vizプロジェクトの「DOリストを設定」のステップパラメータで以下の設定を行います。
-
「受信者」を「標準インターフェース」に設定します。
-
「ビジョン処理による移動からDOリストを取得」にチェックを入れます。
-
DOリストが必要な「ビジョン処理による移動」ステップを選択します。
返されたデータ
パラメータ | DBオフセット |
---|---|
ステータスコード |
200.0 |
DO信号リスト |
1408.0 |
ステータスコード
コマンドが正常に実行された場合、 2102 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
DOポート値
64個のDO値が受信され、すべては整数です。
DO値の範囲は0~999です。
-1はプレースホルダーとなります。
例えば、DO信号値は1、3、5、6です。
1 | 3 | 5 | 6 | -1 | -1 | -1 | -1 | … | -1 | -1 |
---|---|---|---|---|---|---|---|---|---|---|
1番目の整数 |
2番目の整数 |
3番目の整数 |
4番目の整数 |
5番目の整数 |
6番目の整数 |
7番目の整数 |
8番目の整数 |
… |
63番目の整数 |
64番目の整数 |
コマンド501——対象物の寸法をMech-Visionに入力
このパラメータはMech-Visionプロジェクトに、対象物の寸法を動的に送信すること場合に使われます。Mech-Visionプロジェクトを実行する前に対象物の寸法を確認する必要があります。
Mech-Vision プロジェクトに「対象物の寸法を読み込む」ステップがあり、 パラメータから対象物の寸法を読み込む にチェックを入れる必要があります。
コマンド502——Mech-VizへTCPを送信
このコマンドは、Mech-Vizプロジェクトへ動的にTCPを送信する場合に使われます。ロボットのTCPを読み取るステップは「外部移動」です。
サンプルプロジェクトに基づいてMech-Vizプロジェクトを設定してください。サンプルプロジェクトは、Mech-Mindソフトウェアシステムのインストールディレクトリ Mech-Center\tool\viz_project\outer_move
フォルダに格納されています。
「外部移動」ステップをワークフローの適切な場所に配置します。
このコマンドは、 コマンド201——Mech-Vizプロジェクトを起動 を実行する前に実行してください。