PLC タイマ設定値(K値)計算ツール|秒⇔K値を時限から換算・最大時間もわかる【三菱 iQ-R】
この計算ツールは「0回」利用されています。
このページは 三菱PLC(MELSEC iQ-R)のタイマの時間と設定値(K値)を、時限から相互に換算できる無料の計算ツール です。会員登録もログインも不要で、「何秒にしたいから K はいくつか」「この K は何秒か」 がすぐに出ます。低速タイマ・高速タイマ・積算タイマ・ロングタイマに対応し、時限を変えているプロジェクトでも、その時限を入れて計算できます。割り切れないときの切り上げ・切り捨て、その時限で計測できる最大の時間、ラダーの書き方の例もあわせて出すので、現場でスマホから確かめるときにも使えるよう作っています。
⏱️ タイマ設定値 計算ツール
※ この計算は、時限と設定値の掛け算・割り算だけです。実際にコイルがONしてから接点がONするまでの時間は、スキャンタイムの影響で前後します(下の「計測のタイミングと精度」)。このページの仕様は、三菱電機の「MELSEC iQ-R CPUユニット ユーザーズマニュアル」と「MELSEC iQ-R プログラミングマニュアル(命令/汎用FUN/汎用FB編)」に書かれている範囲だけで書いています。本文の「p.xx」は印刷ページです。対象は iQ-R の CPU ユニットで、他のシリーズや他社の PLC は扱いません。
このツールの使い方
- タイマの種類:低速タイマ(OUT T)・高速タイマ(OUTH T)・低速積算タイマ(OUT ST)・高速積算タイマ(OUTH ST)・ロングタイマ(OUT LT)から選びます。選ぶと時限がその種類のデフォルトに戻ります
- 時限:パラメータで時限を変えている場合は、その値に書き換えます。範囲や刻みから外れた値はエラーとして止めます
- 時間 → K:したい時間を秒か ms で入れると、K = 時間 ÷ 時限 を出します。割り切れないときは、切り捨てた K と切り上げた K の両方と、それぞれの実際の時間を並べます
- K → 時間:設定値 K を入れると、時間 = 時限 × K を出します。T・ST は 0〜32767、LT は 0〜4294967295 を超える K はエラーにします
- スキャンタイム(任意):入れると、低速タイマ・高速タイマで「設定値 < スキャンタイム+時限」(コイルと接点が同時にONすることがある条件)に当たるかを判定します
設定値と時限の関係:時間は「時限 × 設定値」で決まる
タイマの設定値(K値)は、時限(タイマ時限設定)を何回分数えるかを表します。取説には「時間=設定値×時限」という公式の形の一文はありませんが、次のような数値例で示されています。
- タイマ時限設定=10ms、T0 の設定値=8(10ms×8=80ms)(CPUユニット ユーザーズマニュアル p.419)
- 低速タイマの設定値(100ms×1=100ms)、高速タイマの設定値(10.00ms×10=100ms)(CPUユニット ユーザーズマニュアル p.422)
- タイマは 0〜(タイマ時限値×32767)の時間を計測できる(CPUユニット ユーザーズマニュアル p.418)
このツールも同じ考え方で、時間 ÷ 時限 で K を、時限 × K で時間を出しています。同じ K10 でも、時限がデフォルトのままなら種類ごとに時間がこれだけ違います。
| 種類 | 時限(デフォルト) | K10 の時間 |
|---|---|---|
| 低速タイマ(OUT T) | 100ms | 100ms×10=1000ms(1秒) |
| 高速タイマ(OUTH T) | 10.00ms | 10.00ms×10=100ms(0.1秒) |
| ロングタイマ(OUT LT) | 0.001ms | 0.001ms×10=0.01ms |
「K50=5秒」は、低速タイマの時限が 100ms のときの話です。時限を変えたプロジェクトでは、同じ K でも時間が変わります。
時限ごとの最大の時間
タイマ(T)・積算タイマ(ST)の現在値は 0〜32767 なので、計測できる時間は 0〜(時限×32767)です(CPUユニット ユーザーズマニュアル p.418)。ロングタイマは現在値が 0〜4294967295 で、計測範囲は「ロングタイマ時限値〜(タイマ時限値×4294967295)」です(CPUユニット ユーザーズマニュアル p.418)。時限の最小・デフォルト・最大で計算すると次のとおりです。
| 種類 | 時限 | 最大の時間 |
|---|---|---|
| 低速タイマ・低速積算タイマ | 1ms | 32.767秒 |
| 100ms(デフォルト) | 3276.7秒(54分36.7秒) | |
| 1000ms | 32767秒(9時間6分7秒) | |
| 高速タイマ・高速積算タイマ | 0.01ms | 0.32767秒 |
| 10.00ms(デフォルト) | 327.67秒(5分27.67秒) | |
| 100ms | 3276.7秒(54分36.7秒) | |
| ロングタイマ | 0.001ms(デフォルト) | 4294.967295秒(1時間11分34.967295秒) |
| 0.01ms | 42949.67295秒(約11.9時間) | |
| 1000ms | 4294967295秒(約1193046時間) |
ロングタイマの時限 0.01ms で約11.9時間まで計測できることは、取説にも書かれています(CPUユニット ユーザーズマニュアル p.416)。
タイマの種類:低速・高速・積算・ロング
iQ-R のタイマには、現在値が16ビットの タイマ(T) と、現在値が32ビットの ロングタイマ(LT) があります。T と LT は別のデバイスで、点数をそれぞれ設定できます。さらに、コイルがOFFしても現在値を保持する 積算タイマ(ST)・ロング積算タイマ(LST) もあります(CPUユニット ユーザーズマニュアル p.416)。
| 種類 | 命令 | 現在値 | コイルOFFのとき |
|---|---|---|---|
| 低速タイマ | OUT T | 16ビット | 現在値が0になる |
| 高速タイマ | OUTH T | 16ビット | 現在値が0になる |
| 低速積算タイマ | OUT ST | 16ビット | 現在値を保持する |
| 高速積算タイマ | OUTH ST | 16ビット | 現在値を保持する |
| ロングタイマ | OUT LT | 32ビット | 現在値が0になる |
| ロング積算タイマ | OUT LST | 32ビット | 現在値を保持する |
(CPUユニット ユーザーズマニュアル p.416・p.417/プログラミングマニュアル(命令/汎用FUN/汎用FB編)p.171・p.174)
- 低速と高速は同じデバイス:命令の書き方で決まります。同じ T0 でも
OUT T0なら低速、OUTH T0なら高速です。積算タイマも同じで、ロングタイマに低速/高速の区別はありません(CPUユニット ユーザーズマニュアル p.418) - タイマは加算式:タイムアップしたとき、現在値と設定値は同じ値になります(CPUユニット ユーザーズマニュアル p.416)
- 積算タイマのクリア:ST はコイルOFFでも現在値と接点のON/OFFを保持し、再びONすると続きから計測します。現在値のクリアと接点のOFFは RST ST命令で行います(CPUユニット ユーザーズマニュアル p.417/プログラミングマニュアル(命令/汎用FUN/汎用FB編)p.172)
- デフォルトの点数:T=1K点(R00/R01/R02 は 2K点)、ST=0点、LT=1K点(R00/R01/R02 は 0点)、LST=0点です(CPUユニット ユーザーズマニュアル p.408〜409)。デバイス設定の設定単位は、T・ST が 32点単位、LT・LST が 1点単位です(CPUユニット ユーザーズマニュアル p.410)
ラダーでの書き方は、低速なら OUT T0 K10、高速なら OUTH T0 K10 です。CPU ユニットのユーザーズマニュアルの図では、高速タイマは「H K10」のように設定値に H を付けて表記されています(CPUユニット ユーザーズマニュアル p.418・p.422)。命令の動きやサンプル回路は 【GX Works3】OUT T(タイマ)の使い方|積算タイマ・ロングタイマ・カウンタ併用まで総まとめ で解説しています。
時限の設定場所とデフォルト
時限は [CPUパラメータ]⇒[動作関連設定]⇒[タイマ時限設定] で設定します(CPUユニット ユーザーズマニュアル p.418)。設定できる範囲とデフォルトは次のとおりで、R00〜R120 で共通です(CPUユニット ユーザーズマニュアル p.64)。
| 種類 | 設定範囲 | 設定単位 | デフォルト |
|---|---|---|---|
| 低速タイマ・低速積算タイマ | 1〜1000ms | 1ms | 100ms |
| 高速タイマ・高速積算タイマ | 0.01〜100ms | 0.01ms | 10.00ms |
| ロングタイマ・ロング積算タイマ | 0.001〜1000ms | 0.001ms | 0.001ms |
(CPUユニット ユーザーズマニュアル p.418・p.64)
プログラミングマニュアル(命令/汎用FUN/汎用FB編)では、高速タイマの時限は「0.01〜100.0ms(デフォルト 10.0ms、設定単位 0.01ms)」と書かれています(プログラミングマニュアル(命令/汎用FUN/汎用FB編)p.173)。表記の桁が違うだけで、範囲とデフォルトは同じ値です。
他の人が作ったプログラムを引き継いだときは、K値だけを見ず、このパラメータで時限が変えられていないかを確かめてから計算してください。
設定値の範囲と、0 のとき
- T・ST の設定値:OUT T/OUTH T/OUT ST/OUTH ST の設定値は 0〜32767 で、符号なし BIN16ビットです(プログラミングマニュアル(命令/汎用FUN/汎用FB編)p.172)
- 32768 以上にしない:取説には、タイマの設定値は 32768 以上にしないよう書かれており、32768 以上で使うと接点がONしない場合があります(CPUユニット ユーザーズマニュアル p.421)。このツールでも 32768 以上はエラーにしています
- 設定値が 0 のとき:OUT T命令の実行時に接点がONします(CPUユニット ユーザーズマニュアル p.421)。命令編では、OUT命令の実行時にタイムアップすると書かれています(プログラミングマニュアル(命令/汎用FUN/汎用FB編)p.172)
- 設定値に使えるもの:定数は10進定数(K)だけです。ワードデバイス(D・W・R など)や U□\G□ でも指定できますが、ワードデバイスのうち T・ST・C は使えません(プログラミングマニュアル(命令/汎用FUN/汎用FB編)p.172)
- タイムアップ後の変更:タイムアップしたあとで設定値を現在値より大きい値に変えても、タイムアップしたまま動作しません(CPUユニット ユーザーズマニュアル p.421)
- ロングタイマの設定値:OUT LT/OUT LST の設定値は 0〜4294967295 で、符号なし BIN32ビットです。T・ST・C は使えず、定数は K だけです(プログラミングマニュアル(命令/汎用FUN/汎用FB編)p.174)
計測のタイミングと精度
このツールの時間は「時限 × K」の計算値です。実際の PLC では、タイマの処理(コイルのON/OFF・現在値の更新・接点のON/OFF)は タイマのコイル(OUT T命令)を実行したとき に行います(CPUユニット ユーザーズマニュアル p.418/プログラミングマニュアル(命令/汎用FUN/汎用FB編)p.172)。現在値は、END命令で計測したスキャンタイムの値を OUT T命令の実行時に加算して更新し、OUT T命令の実行時にコイルがOFFなら更新しません(CPUユニット ユーザーズマニュアル p.419)。
- 入力から出力までの応答精度:入力(X)を取り込んでから出力するまでは、最大で「2スキャンタイム+タイマの時限設定」です(CPUユニット ユーザーズマニュアル p.419)
- コイルON→接点ONの精度:−(1スキャンタイム+タイマ時限設定)〜(1スキャンタイム)です(CPUユニット ユーザーズマニュアル p.419)
取説の例では、タイマ時限設定=10ms、T0 の設定値=8(80ms)、スキャンタイム=25ms の条件で、END命令で計測した値が 2, 3, 2, 3… と現在値に加算され、10 のところで接点がONしています(CPUユニット ユーザーズマニュアル p.419)。この例では、現在値は1スキャンで2〜3ずつ進んでいます。PLC が1スキャンの中で何をどの順番で処理しているかは PLC(シーケンサ)の処理の順番|スキャンの流れとEND処理・サービス処理をやさしく解説【MELSEC iQ-R】 で解説しています。
設定値 < スキャンタイム+時限 のとき
「タイマ設定値 < スキャンタイム+タイマ時限設定」の場合、コイルONのタイミングによっては コイルと接点が同時にONすること があります。この場合はタイマ時限設定を小さくします(CPUユニット ユーザーズマニュアル p.422)。取説の例は、スキャンタイム 20ms・時限 100ms で低速タイマの K1(100ms×1=100ms)を使っている場合で、高速タイマの H K10(10.00ms×10=100ms)に変えています(CPUユニット ユーザーズマニュアル p.422)。設定値 2・スキャンタイム 110ms・時限 100ms の例も載っています(CPUユニット ユーザーズマニュアル p.422〜423)。
ツールにスキャンタイムを入れると、低速タイマ・高速タイマについてこの条件に当たるかを判定します。動いている CPU のスキャンタイムを入れている特殊レジスタは 三菱PLCの特殊リレー(SM)・特殊レジスタ(SD)早見表|SM400・SM402・SM412・SD0・SD520 の意味と使いどころ【iQ-R】 にまとめています。
ロングタイマの精度
ロングタイマは、コイルON→接点ONまでの時間 Tp が (Ts−Tu)≦Tp<(Ts+Tu)(Ts=設定値、Tu=時限値)です。現在値はシステムカウンタの差分を OUT LT命令の実行時に加算し、このカウンタはスキャンと非同期です(CPUユニット ユーザーズマニュアル p.416・p.420)。また、ロングタイマはコイルOFF→ONと同時に接点がONすることはなく、ONするのは次のコイル実行以降です(CPUユニット ユーザーズマニュアル p.416)。
なお、許容瞬停時間以下の瞬停では、演算処理は中断しますがタイマデバイスの計測は続き、出力は保持されます(CPUユニット ユーザーズマニュアル p.123)。
使用上の注意(要旨)
- 同じタイマのコイルを1スキャンに複数書かない:それぞれで現在値が更新され、正しく計測できません(CPUユニット ユーザーズマニュアル p.421)。同じ OUT T命令を同一スキャンで2回以上実行すると、その回数分現在値を更新します(プログラミングマニュアル(命令/汎用FUN/汎用FB編)p.172)
- コイルON中に OUT T を飛ばさない:CJ/JMP などで飛ばすと、現在値の更新と接点のON/OFFを行いません。サブルーチンの中のタイマは、コイルON中に毎スキャン1回だけ呼びます(CPUユニット ユーザーズマニュアル p.421/プログラミングマニュアル(命令/汎用FUN/汎用FB編)p.172)
- タイマを使えないプログラム:初期実行タイプ・定周期実行タイプ・割込みトリガのイベント実行タイプのプログラムと、割込みプログラムではタイマを使用できません。待機タイプ・サブルーチン・FB では、1スキャンに1回 OUT T を実行すれば使えます(CPUユニット ユーザーズマニュアル p.421)
- ロングタイマの使える場所:ロングタイマは初期実行タイプのプログラムでは使えません。LT・LST は割込みプログラムでは使えます(CPUユニット ユーザーズマニュアル p.416・p.417・p.421)
- LT・LST は1点4ワード:上位2ワードはシステムが使っていて、書き換えると正しく計測できません(CPUユニット ユーザーズマニュアル p.421)
- 多段のタイマは後から計測するものから書く:タイマの接点で次のタイマを起動するときは、後で計測するタイマから順にプログラミングします。計測順に書くと、設定値がスキャンタイムより短いときや設定値が1のときに、全タイマが同一スキャンでONします(プログラミングマニュアル(命令/汎用FUN/汎用FB編)p.173)
よくある質問(FAQ)
Q1:K50 は何秒になりますか?
A:時限によって変わります。低速タイマ(OUT T)の時限がデフォルトの 100ms なら 100ms×50=5000ms で5秒、高速タイマ(OUTH T)の時限がデフォルトの 10.00ms なら 10.00ms×50=500ms で0.5秒です。時限は CPUパラメータの[動作関連設定]⇒[タイマ時限設定]で変えられるので、引き継いだプログラムでは K値だけでなく時限も確認してください。
Q2:設定値に 32768 以上を入れてもよいですか?
A:タイマ(T)・積算タイマ(ST)の設定値の範囲は 0〜32767 です。取説には、タイマの設定値は 32768 以上にしないこと、32768 以上で使うと接点がONしない場合があることが書かれています。この範囲で足りない長い時間は、時限を大きくするか、設定値が 0〜4294967295 のロングタイマ(OUT LT)を使う方法があります。
Q3:時限で割り切れない時間はどう設定しますか?
A:設定値 K は整数なので、設定できる時間は時限の倍数だけです。このツールは割り切れないとき、切り捨てた K と切り上げた K の両方と、それぞれの実際の時間を出します。短めと長めのどちらが許されるかで選んでください。なお、コイルがONしてから接点がONするまでの時間は、スキャンタイムの影響で前後します。
Q4:短い時間のタイマで、コイルと接点が同時にONすることはありますか?
A:あります。取説には、「タイマ設定値 < スキャンタイム+タイマ時限設定」の場合、コイルONのタイミングによってコイルと接点が同時にONすることがあり、そのときはタイマ時限設定を小さくするよう書かれています。例として、低速タイマの K1(100ms×1=100ms)を高速タイマの H K10(10.00ms×10=100ms)に変える形が載っています。このツールではスキャンタイムを入れると、この条件に当たるかを判定します。
まとめ
タイマの時間は、時限を設定値の回数だけ数えた長さです。低速タイマの時限がデフォルトの 100ms なら K50 で5秒ですが、時限を変えていれば同じ K でも時間が変わります。T・ST の設定値は 0〜32767 なので、計測できる時間は時限×32767 までです。短い時間をスキャンタイムに近い長さで数えるときは、コイルと接点が同時にONする条件に当たらないかも確かめてください。迷ったら、種類と時限を選んでツールに時間か K を入れてみてください。
関連記事・関連ツール
参考資料
- MELSEC iQ-R CPUユニット ユーザーズマニュアル(SH-082487J・三菱電機)
- MELSEC iQ-R プログラミングマニュアル(命令/汎用FUN/汎用FB編)(三菱電機)
