複数パーツ & 複数ロボットの仕様と要件

  • ロボットコントローラー1台で、パーツフィーダーを4台まで使用できます。

  • パーツフィーダーは、ロボットコントローラー間で共有できません。
    例えば、2台のT/VTシリーズロボットで同一のフィーダーを共有することはできません。複数のロボットで1台のフィーダーを制御したい場合は、1台で複数のロボットをサポートするロボットコントローラーを使用する必要があります。

  • 1つのシステムで、フィーダーのモデルを任意に組み合わせることができます。
    例えば、IF-80, IF-240, IF-380, IF-530を1台ずつなど、さまざまな組み合わせが可能です。

  • 同一のフィーダー上には最大4種類のパーツを同時に流すことができます。
    同一のフィーダーで複数のパーツを同時に流す場合、パーツは物理的に似た特徴を持っている必要があります。つまり、重さが同じで、サイズや材質が類似しており、面積がほぼ同じでなければなりません。各パーツは固有の振動パラメーターを使用します。そのため、パーツの振動パラメーターにより他のパーツがフィーダーから飛び出さないようにする必要があります。

  • 最大2台のロボットで、同一のフィーダーを同時に使用できます。
    パーツのグループにPF_Startを実行し (PF_Start 1, 2, 5)、パーツを2台以上のロボットに割りあてると、エラーが発生します。

  • PF_Startを実行すると、単一のパーツ、またはパーツのグループがフィーダー上に流れます。
    同じフィーダー番号に割りあてたパーツに対してPF_Startを複数回実行すると、 “フィーダーは、すでに使用されています”というメッセージが表示され(PF_Statusコールバックから発行)、2回目のPF_Startは実行されません。

  • パーツのグループにPF_Startを実行する場合 (PF_Start 1, 2, 5)、すべてのパーツが同じフィーダー番号に割りあてられている必要があります。

  • PF_Startは、フィーダー上に単一のパーツ、またはパーツのグループを流します。
    動作している各フィーダーには固有のコントローラータスク番号が割りあてられます。(下表参照)
    ユーザーのアプリケーションコードでは、フィーダー用に確保されているタスクを使用しないでください。フィーダー番号が使われていない場合は、そのタスクをユーザーのコードに使用できます。PF_InitLogステートメントを使用してPart Feedingのデータのログを取る場合、特定のタイマー番号がシステム用に確保されるため、ユーザーのコードには使用できません。フィーダー制御コマンド(PF_Center, PF_ConterByShift, PF_Flip, PF_Shift)を使用する場合、特定のSyncLock番号がシステム用に確保されるため、ユーザーのコードには使用できません。タスク番号, タイマー番号, SyncLock番号は、フィーダー番号固有です。(下表参照)

    フィーダー番号 タスク タイマー SyncLock
    1 32 63 63
    2 31 62 62
    3 30 61 61
    4 29 60 60
  • PF_Startステートメントに記載されている1つ目のパーツが、最初の“アクティブパーツ” (最初に要求するパーツ)です。次に要求するパーツは、PF_ActivePartステートメントを使用して選択します。PF_ActivePartについては、本章で、詳しく説明します。

  • フィード動作 (振動, ピック領域, 供給方式)は、現在のアクティブパーツに対して実行されます。PF_Startステートメントに記載されているすべてのパーツは、アクティブパーツとして選択された場合、各自の設定を使用します。例えば、アプリケーションで必要とされた場合、PF_Startグループの各パーツは、異なるピック領域を持つ可能性があります。

  • 各コールバック関数に渡されるパーツID (PartID)は、現在のアクティブパーツ (現在要求するパーツ)のパーツ番号になります。

  • PF_Startステートメントに記載されている各パーツに対して画像を取得し、各パーツのキューをビジョンの結果とともに読み込みます。各パーツは、それぞれのビジョン設定および照明設定を使用します。例えば、PF_Startリストのあるパーツは“system processes vision”を使用し、別のパーツは“user processes vision”を使用するなど、すべてのパーツがそれぞれの設定を使用します。同様に、各パーツは、フロントライト, バックライトなし, 異なる輝度など、独自の照明条件を使用できます。

  • Part Feedingログファイル (PF_InitLogステートメントにより開始)には、1台のフィーダー上のすべてのパーツのデータが含まれます。

  • 複数のロボットで同一のフィーダーにアクセスする場合、ユーザーのアプリケーションコードでPF_AccessFeeder、およびPF_ReleaseFeederステートメントを使用して、ロボットが衝突しないようにする必要があります。これについては、本章で、詳しく説明します。

  • すべてのパーツは、個別にキャリブレーションする必要があります。1台のフィーダー上を同時に流れるパーツは、似た特徴 (サイズ, 重さ, 材質など)を持つことを想定しています。