■ カウンタ (File: plc_public_codex_xxx | Module:Counter)

⇒ TO Home Page
内容

カウンタとは数を数える働きを持つものです。このサンプルでは、各ビットの重み付けがあるウェイティング・カウンタ (weighting counter)
の中で バイナリカウンタ を、『基本編 フリップ フロップ』のトグルフリップフロップで実現したもの
インクリメント命令、加算命令、カウンタ命令、の4種の方法を紹介します。

●PDFを表示 
◆ トグル フリップ・フロップ

トグル フリップ・フロップをカスケード接続(同じ機能の物を直列接続)して構成しています。
初段のフリップ・フロップは2の0桁〜n段目のフリップ・フロップは2の(n-1)乗桁として動作します。
また初段に加えたパルスは、各フリップ・フロップを通過するたびに1/2の周期に分周されます。
見方を変えるとこれは分周器の はたらきをしています。n段のフリップ・フロップを通過すれば(1/2のn乗)に分周される事になります。
このコードは、機械リレーで作っても動作します。

00011
・[TRG]の立上りで反転するフリップ・フロップを作り[@MR000]の入力としています。
・[TRG]の立上りでカウント(カウンタ値を+1)します。

00015
・次に入力クロックの立下りで反転するフリップ・フロップ[@MR001]に[@MR000]を入力します。
・順次アドレスをずらし、必要なビット分記述します。
・複数のブロックを記述するのは実現的ではありませんので、『基本編 時 分割』の[Z7]を使ってインデックス修飾しました。

◆ INC命令

00021
・INC命令は、オペランドで指定したデバイス[@MR100]に1を加算します。
・カウントのソースは[TRG]です。立上りでカウント(カウンタ値を+1)します。
・INC命令は毎スキャン実行されるので[TRG]の立上りだけで動作する様、[微分01]にて微分動作させています。
・@INC命令を使うと、実行条件の立ち上がりで、1スキャンだけ実行します。
・INC命令はレジスタを書換えません。

Cmd_INC
◆ ADD命令

00025
・ADD命令は、内部レジスタの値にオペランドで指定した値を加算し、結果を内部レジスタに再度格納します。
・LDA命令で[@MR200]の内容をレジスタに代入します。
・ADD命令で、オペランド”1”を加算しています。
・レジスタの内容をSTA命令にて、[@MR200]に書き戻しています。
・上の一連の動作を微分化するため、[微分02]にて微分動作させています。

Cmd_ADD
◆ C命令/OUTC命令

PLCに備わっているカウンタ命令です。カウント値の一致を出力してくれます。
Bign_C
□1 . C命令
00029
・カウントのソースは[TRG]です。立上りでカウント(カウンタ値を+1)します。
・設定値”512”になると[@C0]の出力はONします。
・[@C0]の現在値を[@MR300]に転送しています。
・このカウンタのリセット条件は、実行条件[RESET]をOFFするか、リセット命令で[@C0]をリセットします。

□2 . OUTC命令
00031
・カウントのソースは[TRG]です。立上りでカウント(カウンタ値を+1)します。
・設定値”512”になると[@C1]の出力はONします。
・[@C1]の現在値を[@MR400]に転送しています。
・このカウンタのリセット条件は、リセット命令で[@C1]をリセットします。

Cmd_C

◆ テスト操作

00004
・変数[AUTO]をセットすると、周期300ms デューティー50%のトリガ・クロックを発生させます。

00007
・[AUTO]が偽の時、[SW]をセットすると[TRG]がONします。



・42行目以降に参照するデバイスを記述しました。
・ビットデバイスはカーソルを合わせ、ダブルクリックでON-OFFできます。
・複数デバイスを選択して、右クリック ⇒ 登録モニタウィンドウでモニタできます。
「ENDH」以下には自由に落書きができます。回路が成立していなく ても変換エラーは起きません。モニタも可能で す。
この領域に記述しても、PLCには転送されません。

00042
・トグル フリップ・フロップでの動作確認ができます。
・各ビットの挙動をLD命令で確認し、カウント値をLDA命令部で確認してください。

00043
・他、各命令毎のカウント値が確認できます。
・カウンタ命令のONも確認できます。
・[AUTO]をセットすると、自動でカウントをはじめます。
・[AUTO]が偽の時、[SW]をON-OFFすれば、手動でカウンタの入力を与える事ができます。
・[RESET]をセットすれば、カウンタが0になります。
・自動カウント時のクロックタイマの変更は、[@T0]にカーソルを合わせ、F2キーを押し、「設定値」を変更してください。

●PDFを表示