PF_Control

PF_Controlコールバック関数は、システムがホッパー動作または照明操作を必要とする場合に呼び出されます。このコールバック関数には、お客様の装置に搭載された、以下の機器の操作を記述します。

  • ホッパー
  • カスタム照明

カスタム照明を使用する場合、Epson RC+ 8.0メニュー - [ツール] - [パーツフィーディング] - [照明]で、[カスタムフロントライト]を選択してください。

書式
Function PF_Control(パーツID As Integer, Control As Integer) As Integer
' (ホッパー操作)
' (外部照明操作)
Fend

パラメーター

  • パーツID
    パーツID (整数値1~32)が入ります。
    マルチパーツ動作時は、アクティブパーツが入ります。
  • Control
    操作の種類 (整数値)が入ります。
操作 値 (PartFeeding.incで定義)

ホッパー操作

(フィーダー上にパーツが、ないとき)

PF_CONTROL_SUPPLY_FIRST

ホッパー操作

(フィーダー上にパーツがあり、追加できるとき)

PF_CONTROL_SUPPLY
カスタム照明On PF_CONTROL_LIGHT_ON
カスタム照明Off PF_CONTROL_LIGHT_OFF

戻り値
正常のときは、定数PF_CALLBACK_SUCCESS (PartFeeding.incで定義)を設定してください。
エラーのときは、ユーザー定義エラー番号(8000 - 8999)を設定してください。この値は、PF_Statusコールバック関数の引数として渡されます。

解説
Select...Send文を使用して、機器ごとの処理を記述します。

  • ホッパー操作 (フィーダー上にパーツがないとき)
    フィーダー上にパーツが1つもない状態です。ホッパーを動作させて、フィーダーにパーツを供給します。
    このとき供給するパーツの数は、最適投入パーツ数キャリブレーションで得られた値(PF_Infoコマンドで取得)とすると、ロボットの動作効率が最も向上します。

  • ホッパー操作 (フィーダー上にパーツがあり、追加できるとき)
    フィーダー上にパーツが存在しますが、追加が可能な状態です。このタイミングでパーツを追加することで、ビジョンで検出可能なパーツが増え、ロボットの動作効率が向上します。
    このとき供給するパーツ数は、例えばロボットが取り去ったパーツ数とします。

  • カスタム照明On
    ビジョン撮像のため、カスタム照明を点灯させるタイミングです。カスタム照明を操作して、点灯させます。

  • カスタム照明Off
    ビジョン撮像が終了したため、カスタム照明を消灯させるタイミングです。カスタム照明を操作して消灯させます。
    次の処理は、お客様のコードに記述してください。PF_Startの実行前に行われるようにしてください。
    -ホッパーとの通信開始、設定調整など
    -外部照明との通信開始、設定調整(輝度)など

プログラム例
次のプログラムは、ホッパーと外部照明を制御します。
ホッパー (Gen.2)1台をIF-240に接続し、PF_Hopperコマンドで制御します。 この例では、最適なパーツ数は60です。 ホッパーは、動作3秒あたりパーツ60個が供給されるようにホッパーキャリブレーション画面で調整されています。
外部照明は、標準IOに接続されているものとします。

' ** IO Label (Output) **
' O_FrontLight 外部照明

Function PF_Control(partID As Integer, Control As Integer) As Integer
    Integer hopperOnTime

    Select Control

        ' ホッパー動作 フィーダー上にパーツがないとき
        Case PF_CONTROL_SUPPLY_FIRST
            PF_Hopper 1,partID, 3000
            Wait 3

        ' ホッパー動作 フィーダー上にパーツ追加するとき
        Case PF_CONTROL_SUPPLY
            hopperOnTime = PF_QtyAdjHopperTime(partID, 60, 3000)
            PF_Hopper 1, partID, hopperOnTime
            Wait hopperOnTime / 1000

        ' カスタム照明ON
        Case PF_CONTROL_LIGHT_ON
            On O_FrontLight

        ' カスタム照明OFF
        Case PF_CONTROL_LIGHT_OFF
            Off O_FrontLight

    Send

    PF_Control = PF_CALLBACK_SUCCESS
Fend