【キーエンスKV-X】アップカウンタ(CTU)FBの指令方法とラダープログラム/ST例

00_【キーエンスKV-X】アップカウンタ(CTU)FBの指令方法とラダープログラムST例

キーエンスKV-Xシリーズにおける「アップカウンタ(CTU)」は、カウンタ入力がON(TRUE)した回数をカウントして、カウント値がプリセット値に到達すると出力をON(TRUE)にするファンクションブロックです。

アップカウンタ(CTU)を用いることにより「スイッチを設定した回数押すとランプが点灯する」プログラムを作ることができます。

この記事では、キーエンスKV-X500/X300シリーズにおけるアップカウンタ(CTU)の指令方法ラダープログラム、ST言語の例について解説します。

注意
この記事中のラダープログラムはKV STUDIO Ver.12で作成しており、対応機種はKV-X500に設定してあります。
当サイトは現場の技術者を応援するスポンサー様のご支援により運営されています。
スポンサー様一覧ページはこちら>>

1. アップカウンタの指令方法

アップカウンタ(CTU)はLD表現(ラダープログラム)とST表現(ST言語)で使用することができます。

10_LD表現
ラダープログラム
ST言語
CTU_instance(CU, R, PV, Q, CV);

アップカウンタ(CTU)は↓の引数で構成されています。

引数タイプデータ型初期値コメント
CUINBOOLカウンタ入力
RINBOOLFALSEリセット
PVININT0プリセット値
QOUTBOOL出力
CVOUTINTカウンタ値

LD表現

↓がLD表現で使用したラダープログラム例です。

11_LD使用例
メモ
アップカウンタ(CTU)はFB(ファンクションブロック)のため、インスタンス名(上記ではCTU_1)を指令する必要があります。

このラダープログラムでは、カウンタ入力であるInFlag(入力フラグ)がPV(プリセット値)の回数ON(TRUE)すると、OutFlag(出力フラグ)がON(TRUE)します。

カウンタ入力であるInFlag(入力フラグ)がON(TRUE)するたび、CV(カウンタ値)が加算されます。CV(カウンタ値)がPV(プリセット値)以上になると、OutFlag(出力フラグ)がON(TRUE)します。

InResetFlag(入力リセットフラグ)がON(TRUE)すると、CV(カウンタ値)が「0」になります。

↑のラダープログラムでは、プリセット値を3回に設定しているため、InFlag(入力フラグ)が3回ON(TRUE)すると、OutFlag(出力フラグ)がON(TRUE)します。

注意
R(リセット)がON(TRUE)している状態でCU(カウンタ入力)がON(TRUE)しても、CV(カウンタ値)は加算されません。
注意
CV(カウンタ値)がPV(プリセット値)以上の状態でCU(カウンタ入力)がON(TRUE)しても、CV(カウンタ値)は加算されません。

ST表現

↓がST表現で使用したST言語例です。

ST言語
CTU_1(CU := InFlag, R := InResetFlag, PV := INT#3, Q => OutFlag);
メモ
引数タイプがIN、IN-OUTの場合は、「:=」で引数に値を引き渡します。引数タイプが「OUT」の場合は、「=>」で引数の値を変数に格納します。

このSTでは、カウンタ入力であるInFlag(入力フラグ)がPV(プリセット値)の回数ON(TRUE)すると、OutFlag(出力フラグ)がON(TRUE)します。InResetFlag(入力リセットフラグ)がON(TRUE)すると、CV(カウンタ値)が「0」になります。※前述のLD表現と同じ動作です。

2.【例題①】カウンタのプリセット値を変更する

下記仕様のラダープログラム、STをアップカウンタ(CTU)を用いて解説します。

仕様
スイッチ緑を設定回数押すとランプ緑が点灯する。
スイッチ黄を押すとスイッチ緑を押した回数をリセットしてランプ緑が消灯する。
設定回数はタッチパネルのData00から設定できるようにする。

スイッチ緑を設定回数押下からランプ緑点灯までのカウントにアップカウンタ(CTU)を使用します。

設定回数はアップカウンタ(CTU)のPV(プリセット値)に相当します。

タッチパネルの動作イメージ

タッチパネルの動作イメージは以下のようになります。

例題①_タッチパネルイメージ

スイッチ緑を設定回数押すとランプ緑が点灯します。

スイッチ黄を押すとスイッチ緑を押した回数をリセットしてランプ緑が消灯します。

設定回数はタッチパネルのData00から設定できるようにします。

使用する変数

使用する変数は以下になります。

変数データ型コメント
CTU_1CTUFBインスタンス
SwGreenBOOLスイッチ緑
SwYellowBOOLスイッチ黄
LpGreenBOOLランプ緑
Data00INTデータ00(設定回数の設定)

ラダープログラム

ラダープログラムは以下のようになります。

例題①_ラダープログラム

カウンタ入力にスイッチ緑、出力にランプ緑、リセットにスイッチ黄、プリセット値にData00を指定したアップカウンタ(CTU)で、スイッチ緑を設定回数押すとランプ緑が点灯します。また、スイッチ黄を押すとカウンタがリセットされます。

ST言語

ST言語は下記のようになります。

ST言語
//スイッチ緑をData00回押下でランプ緑点灯
//スイッチ黄でリセット&ランプ緑消灯
CTU_1(CU := SwGreen, R := SwYellow, PV := Data00, Q => LpGreen);

3.【例題②】カウンタのカウント値(現在値)をモニタする

下記仕様のラダープログラム、STをアップカウンタ(CTU)を用いて解説します。

仕様
スイッチ緑を設定回数押すとランプ緑が点灯する。
スイッチ黄を押すとスイッチ緑を押した回数をリセットしてランプ緑が消灯する。
設定回数はタッチパネルのData00から設定できるようにする。
カウンタ値(現在値)はタッチパネルのData01でモニタできるようにする。

【例題①】に対して、カウンタ値(現在値)のモニタ(Data01)を追加します。

カウンタ値(現在値)はアップカウンタ(CTU)のCV(カウンタ値)に相当します。

タッチパネルの動作イメージ

タッチパネルの動作イメージは以下のようになります。

例題②_タッチパネルイメージ

スイッチ緑を設定回数押すとランプ緑が点灯します。

スイッチ黄を押すとスイッチ緑を押した回数をリセットしてランプ緑が消灯します。

設定回数はタッチパネルのData00から設定できるようにします。

カウンタ値(現在値)はタッチパネルのData01でモニタできるようにします。

使用する変数

使用する変数は以下になります。

変数データ型コメント
CTU_1CTUFBインスタンス
SwGreenBOOLスイッチ緑
SwYellowBOOLスイッチ黄
LpGreenBOOLランプ緑
Data00INTデータ00(設定回数の設定)
Data01INTデータ01(カウンタ値のモニタ)

ラダープログラム

ラダープログラムは以下のようになります。

例題②_ラダープログラム

カウンタ入力にスイッチ緑、出力にランプ緑、リセットにスイッチ黄、プリセット値にData00、カウンタ値にData01を指定したアップカウンタ(CTU)で、スイッチ緑を設定回数押すとランプ緑が点灯します。また、スイッチ黄を押すとカウンタがリセットされます。

ST言語

ST言語は下記のようになります。

ST言語
//スイッチ緑をData00回押下でランプ緑点灯
//スイッチ黄でリセット&ランプ緑消灯
//Data01でカウンタ値をモニタ
CTU_1(CU := SwGreen, R := SwYellow, PV := Data00, Q => LpGreen, CV => Data01);

4. おわりに

キーエンスKV-X500/X300シリーズにおけるアップカウンタ(CTU)について解説しました。

電気ハード設計、PLC/TPソフト設計、ロボットティーチング、制御盤製作の外注業務は、ぜひ永工舎にご相談ください。

当サイトを運営している電気設計人は、個人で永工舎として外注業務をお請けしております。

以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です