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