<< 前へ        次へ >>

ID : 3414

デュアルアーム制御機能を使用する場合のプログラミング

ここでは、プログラミングの内容について、下記項目に分けて説明しています。

センサトラッキングのプログラミング例

下図のようなシステムのプログラミングを考えます。ワークの大きさは、トラッキング範囲内におさまる大きさとします。

全体構成としては、下図のような構成が考えられます。

(下図に記載されているファイル名は一例です。お客様で任意の名前を付けられます。)

各プログラムファイルの具体例 (サンプルプログラム) と内容の解説を下表に示します。

なお、前提条件として、下記のものがあります。

  • コンベアのコンベア番号は1とする。
  • センサからのトリガ信号はI/Oポート番号の48に接続されているものとし、立ち上がりで検出する。

プログラム名

(サンプルプログラム)

解説

SensorTracking.pcs (PCS:323B)

コンベアトラッキングシステムを初期化し、他の3つのプログラム を起動するプログラムです。

初期化は、Robot0とRobot1の両方に対して実施します。

コマンドに対する、ロボット名 (Robot0 / Robot1)の指定方法は2種類あります。サンプルプログラムでは、初期化コマンドの"TrackInitialize"の先頭に"Robot0."および、"Robot1."を付けています。

Sensor.pcs (PCS:2KB)

ワーク位置を検出し、トラッキングバッファへの登録を行うプログラムです。

トラッキングバッファへの登録はマスタの役割です。この例の場合、Robot0がマスタなので、Robot0のプログラムとして記述します。

サンプルプログラムでは、下記の1行をプログラムの先頭に記述することによって、Robot0のプログラムとしています。

  #Pragma Optimize ("DefaultRobot", 0)

TrackingRob0.pcs (PCS:2KB)

トラッキングバッファからワークの位置を読み出し、Robot0にトラッキングとピックアップ動作を行わせるプログラムです。

サンプルプログラムでは、下記の1行をプログラムの先頭に記述することによって、Robot0のプログラムとしています。

  #Pragma Optimize ("DefaultRobot", 0)

TrackingRob1.pcs (PCS:2KB)

トラッキングバッファからワークの位置を読み出し、Robot1にトラッキングとピックアップ動作を行わせるプログラムです。

サンプルプログラムでは、下記の1行をプログラムの先頭に記述することによって、Robot1のプログラムとしています。

  #Pragma Optimize ("DefaultRobot", 1)

ロボット名 (Robot0 / Robot1)の指定方法の詳細については、 "予備知識 (マスタとスレーブの概念)" の "トラッキングバッファへのデータ登録" を参照してください。

ビジョントラッキングのプログラミング例

下図のようなシステムのプログラミングを考えます。ワークの大きさは、トラッキング範囲内におさまる大きさとします。

全体構成としては、下図のような構成が考えられます。

(下図に記載されているファイル名は一例です。お客様で任意の名前を付けられます。)

各プログラムファイルの具体例 (サンプルプログラム) と内容の解説を下表に示します。

なお、前提条件として、下記のものがあります。

  • コンベアのコンベア番号は1とする。

プログラム名

(サンプルプログラム)

解説

VisionTracking.pcs (PCS:336B)

コンベアトラッキングシステムを初期化し、他の3つのプログラム を起動するプログラムです。

初期化は、Robot0とRobot1の両方に対して実施します。

コマンドに対する、ロボット名 (Robot0 / Robot1)の指定方法は2種類あります。サンプルプログラムでは、初期化コマンドの"TrackInitialize"の先頭に"Robot0."および、"Robot1."を付けています。

Vision.pcs (PCS:4KB)

ワーク位置を検出し、トラッキングバッファへの登録を行うプログラムです。

トラッキングバッファへの登録はマスタの役割です。この例の場合、Robot0がマスタなので、Robot0のプログラムとして記述します。

サンプルプログラムでは、下記の1行をプログラムの先頭に記述することによって、Robot0のプログラムとしています。

  #Pragma Optimize ("DefaultRobot", 0)

TrackingRob0.pcs (PCS:2KB)

トラッキングバッファからワークの位置を読み出し、Robot0にトラッキングとピックアップ動作を行わせるプログラムです。

サンプルプログラムでは、下記の1行をプログラムの先頭に記述することによって、Robot0のプログラムとしています。

  #Pragma Optimize ("DefaultRobot", 0)

TrackingRob1.pcs (PCS:2KB)

トラッキングバッファからワークの位置を読み出し、Robot1にトラッキングとピックアップ動作を行わせるプログラムです。

サンプルプログラムでは、下記の1行をプログラムの先頭に記述することによって、Robot1のプログラムとしています。

  #Pragma Optimize ("DefaultRobot", 1)

ロボット名 (Robot0 / Robot1)の指定方法の詳細については、 "予備知識 (マスタとスレーブの概念)" の "トラッキングバッファへのデータ登録" を参照してください。

その他のプログラミング例

コンベアトラッキングのプログラミング例として、 "長尺ワークに対するプログラムミング例" や、 "トラッキングでの自由曲線補間のプログラム例" などがあります。これらはロボット1台を使用したときの例ですが、Robot0やRobot1の指定を行えば、部分的に流用することができます。"プログラミング" の下の階層にあるコンテンツ(上記コンテンツなど)も参考にしてください。

ID : 3414

<< 前へ        次へ >>