PF_Purge / PF_Purge関数
パージ (フィーダー上のパーツを排出する)動作を実行します。
パージ動作が実行されると、成功/失敗に関わらず、パーツIDで指定されたパーツの座標キューはクリアされます。
書式
PF_Purge パーツID, 動作タイプ[, 振動時間[, 残数閾値[, リトライ回数]]]
PF_Purge(パーツID, 動作タイプ[, 振動時間[, 残数閾値[, リトライ回数]]])
パラメーター
- パーツID
パーツID (整数値1~32)を指定します。 - 動作タイプ
動作の種類を指定します。
値(PartFeeding.incで定義) | 内容 |
---|---|
PF_PURGETYPE_NOVISION | ビジョンによるフィードバックをしません。 パーツの残数をカウントしません。 |
PF_PURGETYPE_VISION | ビジョンによりフィードバックします。 ビジョンを使用し、パーツの残数をカウントします。 |
- 振動時間
パージ動作時間を指定します。(ミリ秒単位)
省略可能です。
省略された場合は、以下で設定した値が使用されます。
パージ - テストと調整
-1を指定した場合は、省略時と同じ動作が行われます。 - 残数閾値
パージ動作をリトライするパーツ残数 (この数以上ならリトライ)を指定します。
省略可能です。
動作タイプがPF_PURGETYPE_NOVISIONの場合、設定しても動作は変化しません。
動作タイプがPF_PURGETYPE_VISIONの場合、残数閾値が省略されていると、残数が0になるまでリトライが行われます。 - リトライ回数
パージ動作をリトライする回数の上限値を指定します。(初回パージ動作も回数に含みます。)
省略可能です。
動作タイプがPF_PURGETYPE_NOVISIONの場合、設定しても動作は変化しません。
動作タイプがPF_PURGETYPE_VISIONの場合、リトライ回数が省略されていると、「残数閾値」のパーツがプラットフォーム上に残っているか、全てのパーツがプラットフォーム上から取り除かれるまで (「残数閾値」と「リトライ」が省略されている場合)パージが行われます。
戻り値
関数として使用する場合、パーツが正常に排出されたとき、および動作タイプでPF_PURGETYPE_NOVISION (パーツ残数カウントなし)を指定したときはTrueを返します。動作タイプでPF_PURGETYPE_VISION (パーツ残数カウントあり)を指定した場合で、リトライ回数に達してもパーツ残数が閾値を下回らない場合はFalseを返します。
解説
IF-80は、パージ対応プラットフォームおよびパージ容器が選択できます (オプション品)。
IF-240, IF-380, およびIF-530は、パージゲートを選択できます(オプション品)。パージゲートの有無は、[セットアップ] - [システム設定] - [コントローラー] - [パーツフィーダー] - [フィーダー]で設定します。パージゲートの使用/不使用は、パーツ毎に設定することができます。パージゲートを使用する場合、パージゲートの開閉動作、および開閉センサーによる判断はPF_Purgeステートメントによって自動的に処理されます。
お客様が自作したパージゲートを使用する場合、PF_Purgeステートメントは単にパーツをプラットフォームでシフト(移動)します。
動作タイプがPF_PURGETYPE_VISIONの場合、パーツブローブビジョンシーケンスを使用して、プラットフォーム上のおよそのパーツ数を検出します。
パージの有効/無効およびパーツをどの方向にパージするかは、以下を参照してください。
ハンドの干渉防止
IF-80はパージのキャリブレーションを実施する必要があります。
以下を参照してください。
パージ - 自動キャリブレーション(IF-80のみ)
パージが無効のとき本関数を実行するとエラーとなり、PF_Startusコールバック関数がPF_STATUS_PURGENOTENABLEDで呼び出されます。
仮想コントローラーおよびコマンドウィンドウからは実行できません。
EPSON RC+ 7.5.0では、動作タイプ= 1の場合でも、残数閾値およびリトライは省略できませんでした。この場合は、残数閾値およびリトライに値「0」を指定します。
使用例
例 1:
ビジョンフィードバックを使用したパージの例です。各パージの振動時間は1500ミリ秒です。 パーツが3つ以下になるまで試行されます。5回のリトライが試みられます。
Boolean purgeStatus
purgeStatus = PF_Purge(1, PF_PURGETYPE_VISION, 1500, 3, 5)
Print purgeStatus
例 2:
ビジョンフィードバックなしのパージの例です。 2000 msec の間パージします。
PF_Purge 1, PF_PURGETYPE_NOVISION, 2000