今回はFANUC RoboGuideのTimer機能について説明します。ロボットの時間待機はもちろん上位システムからのIO待ちもありますが、TIMER命令を使用することによって同じく時間待機などの制御を実装できます。
さ、始めよう!
TIMER START
まずプログラム内にTimerコマンドを追加し、Startします。
Miscellaneousをクリックします。
Time[]を選びます。
次はこのようにTIMER[..]=…にようなコマンドが出てきます。
何番めのTimerとどんなコマンドをするかを設定するんです。
では1を入れて、Timer1を使用します。
次はCHOICEはSTART/STOP/RESETを選択できます。
ここでSTARTを選びます。
TIMER STOP
次はプログラムの一番下にもう一度TIMERのコマンドを追加します。
今回はSTOPを選びます。
これでOKです。
Tranfser the TIMER Value
TIMERはSTOPになりました。次はその積算してたTIMER値をRegisterに転送します。
TYPE>Registersします。
…=..を選びます。
それらの意味はまた別の記事で書きます。
ここでとりあえず与えるという意味だと思ってください。
次はR[]を選びます。
ここでR[1]に割り付けましょう。
そしてR[1]はTIMER値を与えるように設定します。
Next Page>Timer。
次はTimer番号を入れればOKです。
TIMER RESET
最後はTIMER使用したあとのリセットです。
これでLINE20を実行すると、Timer[1]がリセットされます。
Test1
プログラムを実行します、R[1]は12.16が入っています。つまりプログラムがOVERRIDE=30%のとき、Line5から最後まで、12.16秒かかったことを表現しています。
Test2
次はOverrideを100%にし、もう一回プログラムを実行します。
今回は4.872秒になります。
Test3
最後は少しプログラム改造し、3回分のプログラム実行時間を記録できるようにします。
使うのはFOR-LOOPです。
TimerがStartする前にFORを入れます。
赤線のところは3回Loopingするコマンドですね。
次はTimer Stopのあとに、R[現在のIndex]をTIMER値に渡します。
つまり、一回目ならR[1]、二回目ならR[2]のような。
R[]を選択し、R[1]のICounterを設定します。
R[9]は1回目=データをR[1]に、2回目=データをR[2]に、3目=データをR[3]に、格納するようになります。
最後はENDFOR文を入力し、FOR-LOOPを終わらせます。
これでOKです。Line8はTimerをスタートし、Line19はTimerをストップします。
そしてTIMERの積算値をR[R[9]]に格納します。
USE PROFIE
RoboGuideのProfiles機能は実際PC上で実行されたプログラムのサイクルタイムが記録されます。
Task>Profilerを開きましょう。
このように各命令の実行時間を確認できます。