この章では、カウンタについて解説します。
ラダー図におけるカウンタの書式は、タイマと同様、PLCのメーカ・機種によってまちまちです。
ここでは、LD Cv!のカウンタの仕様に基づいて説明することとします。
10.1 カウンタの動作
カウンタは、入力にパルスを与えるとそのパルス数をカウントし、カウント値が一定の値を超えるとONとなる電気部品またはラダー図上のシンボルです。
図10.1に、カウンタのラダー図を示します。
カウンタには、カウンタ番号以外に引数(赤色枠内の数値)が付いています。
この引数を、設定値といいます。
カウンタは、立ち上がりパルス(M0のOFF→ONの変化)をカウントし、このカウント値が設定値に到達するとONとなります。
このラダー図を実行したときのタイムチャートを図10.2に示します。
このタイムチャートを見てわかるように、カウンタには次の性質があります。
・クリアコイル([CLR]コイル)がONになる(M1がONになる)と、そのカウンタはただちにOFFとなり、カウント値は0に戻る。
・カウント値が設定値未満のうちにクリアコイルがONとなった場合、カウンタはOFFのままである。
このカウンタの動作をLD Cv!のシミュレーション機能で確認してみます。
図10.1のラダー図をLD Cv!上でシミュレーションさせるために、図10.3のようにラダー図を追加しました。
(青色枠はカウンタの動作確認、水色枠はプログラム末のエンドです。)
このラダー図をLD Cv!上で実行し、M0をON/OFFして、動作を確認してみてください。(図10.4)
カウント値が10以上になると、C0、M100はONになります。
図10.4でM1をONにすると、カウンタはクリアされて、C0、M100はOFFとなります。
10.2 カウンタの応用例
ここでは、カウンタを使った応用例を説明します。
(1)タイマの代用
カウンタの入力に定周期のクロック信号を入力することで、タイマの代用をさせることができます。
特に、PLCがサポートしていないような短時間のタイムベースのタイマが必要な場合に有効です。
図10.5は、1スキャン反転(S10)をカウンタに入力することで短時間タイマを構成した例です。
(このラダー図をLD Cv!で動かす場合は、プログラム末にエンドを追加してください。)
この図で、カウンタC0には1スキャン毎に反転するパルスが入力されていますが、M0がOFFの間はクリア入力がONなので、カウンタC0はカウント動作をおこないません。
M0がONになると、クリア入力がOFFとなり、カウント動作を開始し、カウント値が10で、カウンタC0はONとなります。
これは、設定値が10、タイムベースがスキャンタイムの2倍、励磁入力をM0とするタイマと同じ動作をおこないます。
(2)エンコーダのカウント(アップ・ダウンカウンタを使用した応用例)
エコーダ(回転数をパルス数に変換する機器)から出力されたパルスを取り込んで、これをカウンタで数えることで、位置(座標)を知ることができます。
ただし、LD Cv!のカウンタは、単方向(アップのみ)のカウンタで、設定値も書き換えできないため、あまり実用的ではありません。
アップ・ダウン入力があるカウンタだと、エンコーダの2相クロック取り込むことができるため、プラス・マイナス両方向に動いても位置(座標)を見失うことはありません。
(プラス方向に動けばカウント値はアップ(増加)し、マイナス方向に動けばカウント値はダウン(減少)します。ただし、結線によっては逆になります。)
また、運転中にプログラムで設定値を書き換えることができるカウンタだと、任意の位置で停止させることができるため、状況に応じて停止位置を変えることが可能となります。
現在、市販されているPLCのカウンタには、最低限これらの機能があるはずです。