オムロンCJシリーズにおける「10msタイマ」命令とは、タイマと呼ばれるデバイスを用いて10ms(0.01秒)単位の指定した時間、タイマの入力条件がONし続けるとタイムアップフラグがONするラダープログラム命令です。
この命令を用いたタイマは、入力条件がONすると10ms(0.01秒)毎にタイマ現在値が減算され、タイマ現在値が”0”になるとタイムアップフラグがONします。
10msタイマ命令は別名「高速タイマ」とも呼ばれ、主に100msタイマ命令では処理が遅い・粗い場合に使用されます。
この記事では、オムロンCJシリーズにおける10msタイマ命令の指令方法とラダープログラム例について解説します。
オムロンCJシリーズにおける100msタイマ命令については以下のページで解説しております。
【オムロンCJ】100msタイマ(TIM・TIMX)命令の指令方法とラダープログラム例目次
1. 10msタイマ命令の指令方法
10msタイマ命令には、2種類の指令方法があります。
命令文 | 内容 |
---|---|
TIMH | BCDの10msタイマ命令 |
TIMHX | BINの10msタイマ命令 |
TIMH(BCD)命令の場合、設定値に#0000~9999を指定することができます。(0~99.99秒)
TIMHX(BIN)命令の場合、設定値に10進&0~65535、または16進#0000~FFFFを指定することができます。(0~655.35秒)
TIMH:BCDの10msタイマ命令
BCDの10msタイマ命令は”TIMH”と指令します。
こちらがTIMH命令を使用したラダープログラム例です。
このラダープログラムは、0.00がONするとタイマT0が10ms(0.01秒)毎に現在値が減算され、T0の現在値が”0”になるとタイムアップフラグがONします。
TIMH命令内で設定値は#50と指定されているため、0.00が0.5秒間(0.01秒×50)ONし続けると現在値が”0”になります。
現在値が”0”、つまりT0のタイムアップフラグがONするとT0のa接点がONします。
↓がTIMH命令で設定値を#50にしたラダープログラム動作です。
先ほどのラダープログラムはCX-Programmerの回路上で TIMH 0 #50 と入力してEnterキーを押すと命令が挿入されます。 ※スマートインプットモードの場合
TIMHX:BINの10msタイマ命令
BINの10msタイマ命令は”TIMHX”と指令します。
こちらがTIMHX命令を使用したラダープログラム例です。
このラダープログラムは、0.00がONするとタイマT0が10ms(0.01秒)毎に現在値が減算され、0.5秒後にT0のタイムアップフラグがONします。先ほどのTIMH命令で解説したラダープログラムと同じ動作です。
TIMHX命令の設定値で、頭文字に「&」を付けると10進数の0~65535を指定することができます。
このラダープログラムは、0.00がONするとタイマT0が10ms(0.01秒)毎に現在値が減算され、「0.8秒後」にT0のタイムアップフラグがONします。
TIMHX命令の設定値で、頭文字に「#」を付けると設定値は16進数となり、今回の設定値である#50(16進数)は10進数に変換すると80になります。
TIMHX命令の設定値で、頭文字に「#」を付けると16進数の0000~FFFFを指定することができます。
2.【例題①】10msタイマ命令(0.9秒固定)
下記仕様のラダープログラムを10msタイマ命令を用いて解説します。
0.9秒間をカウントするため、10msタイマ命令の設定値を”90”にして使用します。
タイムチャート
タイムチャートは以下のようになります。
入力0.00が0.9秒間ONし続けると出力1.00がONして、入力0.00がOFFすると出力1.00も即座にOFFします。
入力0.00がONしている時間が0.9秒未満だと、出力1.00はONしません。
タッチパネルの動作イメージ
タッチパネルの動作イメージは以下のようになります。
スイッチ(0.00)を0.9秒間押し続けると、ランプ(1.00)が点灯します。
ラダープログラム
ラダープログラムは以下のようになります。
0.00を入力条件とするTIMHX命令を用いて、タイマT0を使用します。TIMHX命令の設定値を&90にすることで、0.00が0.9秒間ONし続けるとT0がONします。
T0のa接点を1.00の入力条件とすることで、T0と同時に1.00がONします。
3.【例題②】10msタイマ命令(タッチパネル可変)
下記仕様のラダープログラムを10msタイマ命令を用いて解説します。
設定時間は10ms単位でタッチパネル上のデータメモリ(D0)から変更可能とする。
【例題①】では、タイマの設定値に「&90」を指定しましたが、今回はタッチパネル上から可変できるようにタイマの設定値に「データメモリD0」を割り当てます。
タッチパネルの動作イメージ
タッチパネルの動作イメージは以下のようになります。
スイッチ(0.00)をデータメモリ(D0)に「設定した時間」押し続けると、ランプ(1.00)が点灯します。
データメモリ(D0)の数値 × 10ms(0.01秒) の値が「設定した時間」となります。
ラダープログラム
ラダープログラムは以下のようになります。
TIMHX命令の設定値にデータメモリ(D0)を指定することにより、0.00が「D0の値×10ms」ONし続けるとT0がONします。
4. おわりに
オムロンCJシリーズにおける10msタイマ命令について解説しました。
私の場合、「センサのチャタリング防止」や「速い速度を検知するセンサ検知」といった用途で、100msタイマでは処理が遅い・追いつかない場合に10msタイマ命令を使用します。(基本は100msタイマを使用します。)
以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。
ただし、ラダープログラムやPLCといった電気・制御設計は参考書やWebサイトのみでの学習には必ずどこかで限界が来ます。
各メーカが販売しているPLCやプログラム作成のアプリケーションを揃えるには安くても十万円以上の大きな費用が掛かり、独学は現実的ではありません。
ラダープログラムの一番現実的な学習方法は「実務で経験を積む」ことです。電気・制御設計者はこれから更に必要な人材になり続けますので、思い切って転職する選択肢もあります。
『doda』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。
「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。