可変速コンベヤー対応モード 補正値と加速度、減速度制限値の設定
コンベヤーの速度変化に対するロボットの追従遅れは、コンベヤーの速度, コンベヤーの加減速度, 使用するロボット機種, Inertia設定, Weight設定などにより異なります。
そのため、使用環境に応じた補正値とコンベヤー追従後の加速度、減速度の制限値を設定する必要があります。また、ロボットの追従遅れを改善するためには、補正値を調整し、最適値を設定する必要があります。
ロボットの追従遅れ量は、Cnv_PosErr関数で取得し、補正値はCnv_PosErrOffset、コンベヤー追従後の加速度、減速度の制限値はCnv_AccelLimで設定します。
キーポイント
補正値を調整するときは、Cnv_Fineの設定値を、"0"にしてください。"0"以外の値の場合は、Cnv_PosErr関数で追従遅れ量を正しく取得できません。
個数優先モードと精度優先モードでは、補正値の取得と補正値の設定はできません。
補正値の取得は、「精度優先モード 追従遅れ取得」の設定を確認してください。動作させるプログラムは、後述のサンプルプログラムを使用してください。
制限値は、コンベヤーを停止や稼働させる場合のコンベヤー加速度, 減速度より大きい値に設定してください。設定値の目安は、コンベヤー加速度、減速度の2倍程度です。
制限値を上げ過ぎた場合、コンベヤーの速度ムラやノイズによってロボットの動作が振動的になります。また下げ過ぎた場合、コンベヤーを停止してもロボットは追従して停止せず、ロボットの動作エリア外まで動く可能性があります。その場合は追従中止線を設定するか、下流限でトラッキングを止めるようにプログラムしてください。
加速度、減速度の制限値を設定後、以下の手順で補正値を設定し、ロボットの追従遅れ量を取得します。
最適値な補正値を求めるために、補正値を変更して複数回実施します。
Integer fileNum ' ファイル番号宣言
Function Cnv_PosErr_measure
Motor On
Go P0 ' ロボット動作開始位置に移動
Power High
Speed 100
Accel 100, 100
Cnv_Accel 1, 2000
Cnv_Fine 1,0 ' Fine設定
Cnv_Mode 1,2 ' 可変速コンベヤー対応モード
Cnv_PosErrOffset 1,10 ' 補正値を設定
' コンベヤー稼働チェック
If Cnv_Speed(1) < 0.1 Then
Print "コンベヤーが稼働していません"
Exit Function
EndIf
' 仮想ワークをキューに登録する
Cnv_QueRemove 1, All ' キューのクリア
Cnv_Trigger (1) ' コンベヤーパルスをラッチ
Cnv_QueAdd 1, XY(0, CY(P1@Cnv(1)), CZ(P1@Cnv(1)), CU(P1@Cnv(1)), 0, 0) /CNV(1)
' P1を基に仮想ワークをキューに登録
Wait Cnv_QueLen(1, CNV_QUELEN_PICKUPAREA) > 0
' キューが追従開始領域内に入るまで待機
Xqt CnvPosErrTest ' 別タスクで補正値を取得開始
'動作実行
Go Cnv_QueGet(1,0) ' スカラロボットの場合
'Go Cnv_Queget(1,0):U(90):V(0):W(180) ' 6 軸ロボットの場合
Do
Wait 0.02
Loop Until (CX(RealPos@CNV(1)) >= Cnv_Downstream(1))
' 下流限に到達するまで待つ
Go here ' ロボット停止
Cnv_QueRemove 1, All ' キューの初期化
Wait 0.5
Quit CnvPosErrTest ' 補正値の取得終了
motor off
Fend
Function CnvPosErrTest
fileNum = FreeFile ' ファイル番号取得
WOpen "poserr.csv" As #fileNum ' csvファイル名
Print #fileNum, "Time[sec],Cnv_PosErr[mm],Cnv_Speed[mm/s]"
TmReset 0
Do
Print #fileNum, Tmr(0), ",", Cnv_PosErr(1), ",",
Cnv_Speed(1)
Wait 0.01
Loop
Fend
Epson RC+ 8.0のプロジェクトフォルダーに、 "poserr csv"が作成されます。表計算ソフトなどでファイルを開き、折れ線グラフ、または散布図を作成してください。
補正値を変えて複数回データを取得すると、次のようなグラフが作成できます。
コンベヤートラッキング動作後のCnv_PosErr関数の戻り値は、コンベヤートラッキング動作中に取得したCnv_PosErrピーク値になります。グラフを作成するときは、このピーク値を使うと便利です。
追従遅れがプラスの場合、ロボットがワークより下流に進み過ぎていることを意味します。
補正値に対して、ロボットの追従遅れをプロットすることで、最適な補正値を設定することができます。
上図の結果から、以下のような補正値の設定をコンベヤートラッキングのプログラムに追加してください。
Cnv_PosErrOffset 1, 22.7 ' 補正値
注意
- 本手順で説明する補正値は参考値です。設定した補正値や、動作環境によっては、作業が成功しない場合や、振動が発生する場合があります。
- ロボットが、設定とは違う動作を行った場合は、すぐに非常停止ボタンを押してください。