①比較する
高速カウンタ 1 、 2 割り込み
CPUユニット(形CQM1−CPU43−V1)に内蔵の専用ポート1、2に入力された、
ロータリエンコーダからのパルス信号を高速でカウントし、カウント数に応じた 割り込み処理を行うことができます。
2つのポートを別々に使用することができます。ポート1での高速カウンタを「高 速カウンタ1」、ポート2での高速カウンタを「高速カウンタ2」と呼びます。
ここでは、高速カウンタ1、2の使用手順について説明します。ハードウェアの機 能や配線についてはセットアップマニュアルを参照してください。
●処理の概要
[入力信号の種類とカウントモード]
信号の種類に応じて、高速カウンタ1、2のカウントモードを使い分けます。
位相差入力モード(計数速度:25kHz)
位相差4逓倍の2相の信号(A相、B相)とZ相の信号を入力に使用します。2 相の信号のズレ方によって、カウントが加算・減算されます(高速カウンタ 0の「加減モード」と同じです)。
パルス+方向入力モード(計数速度:50kHz)
A相が方向信号、B相がパルス信号になっていて、A相の状態(OFF・ON)
によってカウントが加算・減算されます。
加減算パルス入力モード(計数速度:50kHz)
A相がDOWNパルス、B相がUPパルスになっていて、どちらのパルスかに よってカウントが加算・減算されます。
加減算パルス入力モード
1 2 3
加 算 減 算
A相
(DOWN入力)
B相
(UP入力)
位相差入力モード
1 2 3 4 5 6 7 8 7 6 5 4 3 2
加 算 減 算
A相
B相
2 1 パルス+方向入力モード
1 2 3
加 算 減 算
A相
(方向入力)
B相
(パルス入力)
2 1
・ 高速カウンタ1、2は、形CQM1−CPU43−V1でのみ使 用できます。
・
PCシステム設定(DM6611)で設定する、形CQM1
−CPU43−V1のモードによって、使用できる命令が次の
ように制限されます。高速カウンタモード時:PLS2命令、ACC命令モード0使 用不可
簡易位置決めモード時:ポート
1、2でCTBL命令使用不可
参 考2 章
P C シ ス テ ム 設 定 と C Q M 1 の 機 能
[数値範囲モード]
高速カウンタ1、2のカウントする数値の範囲には、次の2つのモードがあります。
リングモード: 数値範囲の最大値をCTBL命令で設定することができ、最大値 からカウントが加算されると0になります(負数になることは ありません)。また、0からカウントが減算されると最大値に なります。設定は最大値+1(=リング値)で行い、設定範囲 は1〜65000です。
リニアモード: 数値範囲は、−8388607〜8388607に固定です。−8388607から カウントが減算されるとアンダーフローが、8388607からカウ ントが加算されるとオーバーフローが発生します。
減算 加算
最大値
=リング値−1 0
リングモード時 リニアモード時
-8388607 0 8388607
アンダー フロー
オーバー フロー
現在値は、カウントがオーバーフローしたときは08388607に、アンダーフローした ときはF8388607になり、カウント・比較は停止します(比較テーブルは残っていま す)。また、AR0509(ポート1)、AR0609(ポート2)がONします。
カウント動作を再開させるときは、次のように高速カウンタ1、2をいったんリセッ トしてください(運転開始・停止時にも自動的にリセットされます)。
参 考
CQM1では、A相立ち上がり→B相立ち上がり→A相立ち
下がり→
B
相立ち下がりの順のパルスを正転(加算)方 向、逆にB相立ち上がり→A相立ち上がり→B相立ち下が り→A
相立ち下がりの順のパルスを逆転(減算)方向とし て扱います。[リセット方式]
カウントの現在値をリセットする(0にする)タイミングを、次の2つの方式から 選択できます。
Z相信号+ソフトリセット ソフトリセット
それぞれの機能は、高速カウンタ0と同じです。P.2-38を参照してください。高速 カウンタ1、2のリセットフラグは次のようになっています。
高速カウンタ1リセットフラグ:25201 高速カウンタ2リセットフラグ:25202
2 章
P C シ ス テ ム 設 定 と C Q M 1 の 機 能 高速カウンタ1、2リセットフラグ(25201、25202)は、スキャンごとにリフレッ
シュされるので、確実に読み出されるには、1スキャン以上ONになっている必要 があります。
参 考 リセットしても、比較テーブルの登録状態や、比較実行 状態、帯域比較結果は、リセット前の状態が保持されま す(リセット前に比較実行中のときは、そのまま比較を 継続して実行します)。
[高速カウンタ
1
、2
割り込みのカウントチェック方式]高速カウンタ1、2でも、高速カウンタ0と同じ次の2つのカウントチェック方式が あります。
目標値一致型 帯域比較型
それぞれの動作については、P.2-40を参照してください。
ただし、形CQM1-CPU43-V1では、目標値一致型の比較条件を、比較テーブルに最 大48個まで登録できます。
●使用前の準備(
PC
システム設定)高速カウンタ1、2割り込みを使用するときは、プログラムモードで次のように設 定しておきます。
パルス出力モードの設定(
DM6611
)ビット
高速カウンタモード
(初期状態:「0000」高速カウンタモード)
15 0
DM6611 0 0 0 0
参 考 ・
DM6611でポート1、2を高速カウンタモードに設定して
おかないと、CTBL
命令によるカウントの比較を実行で きません。・ この設定は、
CQM1
の起動時にのみ読み出されます。設 定を変更したときは、プログラム実行前にいったん電源 をOFF
にしてから、再び電源をON
にしてください。・
DM6611でポート1、2を簡易位置決めモードに設定して
いるときは、高速カウンタ1
、2
現在値エリア(232
〜235CH)の内容を BCMP命令などで比較することで、高
速カウンタ1
、2
割り込みの代用をすることができます。2 章
P C シ ス テ ム 設 定 と C Q M 1 の 機 能
入力リフレッシュチャネルの設定(
DM6634
、6635
)ポート
1
、2
の動作の設定(DM6643
、6644
)それぞれのポートの使用状況に合わせて設定してください。
[比較テーブルとの比較を起動・停止する場合]
①CTBL命令で、比較テーブルをCQM1に登録し、比較を開始します。
P :ポート指定 ポート1:001 ポート2:002 M :モード指定
目標値一致テーブル登録・比較開始 :000 帯域比較テーブル登録・比較開始 :001 目標値一致テーブル登録のみ :002 帯域比較テーブル登録のみ :003 S :比較テーブル先頭チャネル番号
(@)CTBL(63) P M S
高速カウンタ
1
、2
は、設定が有効になったときからカウ ント動作を開始しますが、電源ON時や運転開始時、停止 時に0
にリセットされます。またカウント動作だけでは比 較テーブルとの比較は行わず、割り込みはかかりませ ん。また、現在値は次のチャネルでモニタできます。高速カウンタ1:232、233CH 高速カウンタ
2
:234
、235CH
●使用手順
プログラム内で、次の手順で使用します。
ビット
チャネル数(BCD2桁) 00〜16 開始チャネル番号(BCD2桁) 00〜15
(初期状態:「0000」入力リフレッシュなし)
15 0 DM6634、6635 高速カウンタ1:DM6634
高速カウンタ2:DM6635
ビット
数値範囲モード
0:リニアモード 1:リングモード リセット方式
0:Z信号とソフトリセット 1:ソフトリセット カウントモード
0:位相差入力 1:パルス+方向入力 2:加減算パルス入力
(初期状態:「000」リニアモード、Z相信号とソフトリセット、位相差入力モード)
0 15
DM6643、6644 ポート1:DM6643
ポート2:DM6644 −
参 考
2 章
P C シ ス テ ム 設 定 と C Q M 1 の 機 能 Mに000を設定すると目標値一致型で、001を設定すると帯域比較型で、比較テーブ
ルを登録し、登録が完了したら比較を開始します。比較を実行している間、比較 テーブルに従って高速カウンタ割り込みが実行されます。
登録する比較テーブルの内容については、CTBL命令を参照してください。
②比較を停止させるときは、INI命令を次のように実行します。
P :ポート指定 ポート1:001 ポート2:002
[高速カウンタ1、2の現在値を読み出す場合]
現在値の読み出しには、次の2つの方法があります。
高速カウンタ1、2現在値エリアを読み出す方法 PRV命令を使用する方法
<高速カウンタ1、2現在値エリアを読み出すとき>
高速カウンタ1、2現在値エリアには、高速カウンタ1、2の現在値が、次のように 格納されています。
上位4桁 下位4桁 リニアモード時 リングモード時 ポート1 233CH 232CH F8388607〜08388607 00000000〜00064999
ポート2 235CH 234CH (負数の場合、最上位桁がFになります)
Mに002を設定すると目標値一致型で、003を設定すると帯
域比較型で、比較テーブルを登録しますが、比較は開始し ません。この場合は、INI命令で比較を開始させます。・比較を再開させるときは、第1オペランドにポートNo.を 第2オペランドに000(比較実行)を設定して、INI命令 を実行します。
・いったん登録されたテーブルは、新たに他のテーブルが 登録されない限り、運転中(プログラム実行中)はずっ とCQM1内に保持されます。
参 考 (@) I N I (61) P 001 000
参 考
このチャネルは1スキャンごとに更新されるため、正確な現 在値からは多少のズレが出ます。
参 考
<PRV命令を使用するとき>
PRV命令で、高速カウンタ1、2の現在値を読み出します。
P :ポート指定 ポート1:001 ポート2:002 D :現在値格納先頭チャネル番号
次のように、高速カウンタ1、2の現在値が格納されます。
上位4桁 下位4桁 リニアモード時 リングモード時 D+1 D F8388607〜08388607 00000000〜00064999
(負数の場合、最上位桁がFになります)
[高速カウンタ1、2の現在値を変更する場合]
高速カウンタ1、2の現在値の変更には、次の2つの方法があります。
リセット方式に従って、リセットする方法(0になる)
INI命令を使用する方法
ここでは、INI命令を使用する方法について説明します。リセット方式に従ってリ セットする方法については、「処理の概要」(P.2-45)を参照してください。
INI命令で、高速カウンタ1、2現在値を変更します。
P :ポート指定 ポート1:001 ポート2:002 C2:現在値変更データ格納先頭チャネル番号 上位4桁 下位4桁 リニアモード時 リングモード時 C2+1 C2 F8388607〜08388607 00000000〜00064999 負数を指定するときは、最上位桁に16進数のFを設定します。
PRV命令実行時点での正確な現在値を読み出すことができ ます。
(@)PRV(62) P 000 D
(@) I N I (61) P 002 C2
参 考
目標値一致型で比較動作を実行しているときは、パルス入 力したままで、INI命令による現在値変更と比較開始を連続 実行しないでください。強制的に現在値を変更した後です ぐに比較開始を行うと、正常に割り込みが発生しないこと があります。目標値一致型では、比較テーブルの最後の目 標値との一致後は、自動的に再び先頭の目標値との比較と なりますので、一連の比較動作完了後は、現在値を初期値 に戻すだけで、繰り返し動作させることができます。
参 考