CTU、CTUP命令で使用するカウンタ変数は構造体変数となっています。内部の構造については、下記の表となります。
カウンタ変数
カウンタ変数 |
変数設定 |
内容 |
---|---|---|
変数名.R |
ビット変数 |
現在値リセット。0クリア。 |
変数名.Q |
ビット変数 |
現在値が設定値に達した時ON。 |
変数名.UP |
ビット変数 |
ON時にアップカウント有効。 |
変数名.QU |
ビット変数 |
アップダウンカウンタ使用時、現在値が設定値に達した時ON。 |
変数名.QD |
ビット変数 |
アップダウンカウンタ使用時、現在値が0以下に達した時ON。 |
変数名.PV |
整数変数 |
カウンタの設定値。 |
変数名.CV |
整数変数 |
カウンタの現在値。 |
CTU、CTUP命令が導通すると、カウンタリセットビット変数.RがOFFで、現在値変数.CVは、設定値.PVの値に関係なく現在値.CVが1加算されます。現在値変数.CVが設定値変数.PVと等しくなると、カウンタ出力ビット変数.QがONになります。カウンタリセットビット変数.RがONのときは、現在値変数.CVが0にリセットされます。カウンタ出力ビット変数.QもOFFします。
プログラム例
CTU
以下の例では、1 分間に動作異常を5 つカウントすると、エラーを知らせます。
プログラム例は、タイマ命令を記載していません。タイマ開始の1分間タイマスタートのトリガのみ記載しています。
動作異常のカウントトリガ入力についても異常発生入力トリガを別途作成してください。
1分間タイマスタートのa接点命令がONすることによって、動作異常カウンタ.R(リセット)のOUT命令がONします。動作異常カウンタ.R(リセット)がONすることによって、CTU命令の動作異常カウンタ.CV(現在値)が0クリアされます。
動作異常発生の立ち上がり検出a接点命令がONすることによって、動作異常カウンタ.CV値(現在値)が1加算されます。
動作異常カウンタ.CV値(現在値)が.PV値(設定値)と同じ値になると、CTU命令の動作異常カウンタ.Q(現在値が設定値に達した時ON)がONし、OUT命令のエラー検出がONします。
CTUP
CTU命令とCTUP命令の違いは、カウンタ命令として、レベルで.CV値を加算するのか、立ち上がり検出で.CV値を加算するのかの違いがあります。
プログラム作成の違いについては、3行目の動作異常発生の立ち上がり検出a接点命令がa接点となります。
入力の判断以外に動作上違いはありません。