一致出力とは、あらかじめ設定したプリセット値とカウンタ現在値を比較し、現在値がプリセット値を超えたときにONまたはOFFになる出力です。一致出力機能を使用する場合、システム変数(#L_ExIOSpCtrl)の[一致出力動作制御]ビットをONにする必要があります。
一致出力のON/OFFが切り替わるタイミングは、LT3000シリーズとLT4000シリーズで異なります。
一致出力と一致出力を制御するシステム変数の動作を説明します。
カウンタモードは[リング]、カウンタ動作は[アップカウント]、ONプリセット値は「-100」、OFFプリセット値は「100」です。
#L_ExIOSpCtrl_a: 高速カウンタ制御ビット
#L_HSC*_HCV: カウンタ現在値
#L_ExIOSpCtrl_b: 一致出力設定ビット
#L_ExIOCntInCtrl_b: 一致出力クリア要求ビット
y0: 一致出力信号
LT3000シリーズ
カウンタ現在値がプリセット値を超えるタイミングで一致出力のON/OFFが切り替わります。システム変数を使い、強制的に一致出力をOFFにすることができます。
1) 高速カウンタ制御(#L_ExIOSpCtrl_a)をONにして、カウント処理を開始します。一致出力(y0)は、OFFのままです。
2) 一致出力設定(#L_ExIOSpCtrl_b) をONにすると、一致出力機能が有効になります。
3) カウンタ現在値(#L_HSC*_HCV)が100になりOFFプリセット値と一致した後、101になるタイミングで一致出力(y0)はOFFになります。一致出力がOFFの場合は、OFFの状態が保たれます。
4) カウンタ現在値(#L_HSC*_HCV)が-100になりONプリセット値と一致した後、-99になるタイミングで一致出力(y0)はONになります。一致出力がONの場合は、ONの状態が保たれます。
5) 一致出力設定(#L_ExIOSpCtrl_b)をOFFにすると、一致出力(y0)はOFFになります。一致出力設定をONにしても一致出力はOFFのままです。
6) 一致出力クリア要求(#L_ExIOCntInCtrl_b)をON にすると、一致出力(y0)はOFFになります。一致出力クリア要求をOFFにしても一致出力はOFFのままです。
7) カウンタ現在値とOFFプリセット値と同じ値(100)になった瞬間にカウンタ現在値を変更すると、一致出力(y0)の値は変化しません。
LT4000シリーズ
カウンタ現在値とプリセット値の比較結果で一致出力が変化します。システム変数を使い、強制的に一致出力をOFFにすることができます。カウント処理の途中で一致出力機能が有効になった場合や、カウンタ現在値を変更した場合でも、変更時のカウンタ現在値と各プリセット値を比較し、一致出力のON/OFFが決まります。
1) 高速カウンタ制御(#L_ExIOSpCtrl_a)をONにして、カウント処理を開始します。一致出力(y0)は、OFFのままです。
2) 一致出力設定(#L_ExIOSpCtrl_b) をONにすると、一致出力機能が有効になります。このとき、カウンタ現在値がONプリセット値(-100)とOFFプリセット値(100)の間にあるので、一致出力(y0)はONになります。
3) カウンタ現在値(#L_HSC*_HCV)がOFFプリセット値(100)と同じ値になると一致出力(y0)はOFFになります。
4) カウンタ現在値(#L_HSC*_HCV)がONプリセット値(-100)と同じ値になると一致出力(y0)はONになります。
5) 一致出力設定(#L_ExIOSpCtrl_b)をOFFにすると、一致出力(y0)はOFFになります。一致出力設定をONにすると、カウンタ現在値とプリセット値によって一致出力の値が決まります。
6) 一致出力クリア要求(#L_ExIOCntInCtrl_b)をONにしている間、一致出力(y0)はOFFになります。
7) カウンタ現在値(#L_HSC*_HCV)がOFFプリセット値(100)と同じ値になると一致出力(y0)はOFFになります。
ONプリセット値とOFFプリセット値の値によって、一致出力は以下のようになります。
ONプリセット < OFFプリセット |
OFFプリセット < ONプリセット |
|
![]() |
![]() |
#L_HSC*_HCV: カウンタ現在値 A: ONプリセット B: OFFプリセット y: 一致出力 |
一致出力の設定手順とシステム稼動後のプリセット値変更手順の概要を示します。各プリセットの変更は、システム変数やロジック命令にて変更することができます。ここでは、システム変数での手順を記載します。
初期値設定手順
GP-Pro EXで一致出力機能を有効にする
各プリセット値を設定
システム稼動後の変更手順
システム変数"#L_HSC*_ONP"にONプリセット値を、"#L_HSC*_OFP"にOFFプリセット値を設定
システム変数"#L_ExIOSpParmChg"の「特殊I/Oパラメータ変更要求」を実行
システム変数"#L_ExIOSpParmChg"の「特殊I/Oパラメータ変更完了」でパラメータが変更されたことを確認
システム変数"#L_ExIOSpCtrl"の「一致出力設定」で一致出力を有効にする
システム変数"#L_ExIOSpCtrl"の「一致出力設定状態」で確認
後述する「特殊I/Oパラメータ変更要求」と「特殊I/Oパラメータ変更完了」の操作は、変更するCHすべてのパラメータが反映されます。
ONプリセット値またはOFFプリセット値に、65535および65536の値を指定できません。(ONプリセット値またはOFFプリセット値の下位16ビットが、xxxxFFFFh、xxxx0000hの値は指定できません。)
転送直後はGP-Pro EXで設定したパラメータで動作しますが、その後の起動時(オフラインモードへの移行、リセット時、電源ON時など)においてはシステム変数に記憶されているパラメータで動作します。
一致出力を使用するには、GP-Pro EXで一致出力を有効にし、プリセット値を設定しておきます。
LT3000シリーズ
メニューの[プロジェクト]-[システム設定]-[I/Oドライバ設定]をクリックし、[内部ドライバ1]画面で「一致」にチェックを入れ、[高速カウンタ設定]をクリックします。
[高速カウンタ設定]ダイアログボックスの一致出力から指定します。
LT4000シリーズ
[プロジェクト]メニューの[システム設定]-[I/Oドライバ設定]をクリックし、[機能]で[高速カウンタ]を選択します。
[一致出力]にチェックを入れ、[ONプリセット値]および[OFFプリセット値]を設定します。
システム変数やロジック命令を使い、プリセット値の変更ができます。ここでは、システム変数での手順を記載します。
1) システム変数"#L_HSC*_ONP"にONプリセット値を、"#L_HSC*_OFP"にOFFプリセット値を書き込みます。
2) システム変数"#L_ExIOSpParmChg"の特殊I/Oパラメータ変更要求ビット(a)をONにし、特殊I/OのONプリセット(NPV)やOFFプリセット(FPV)の値を書き換えます。
3) 特殊I/Oのパラ―メタ書き換えが終了すると、システム変数"#L_ExIOSpParmChg"の特殊I/Oパラメータ変更完了ビット(e)がONになります。
4) 書き換えが終了したことを確認してから、特殊I/Oパラメータ変更要求ビット(a)をOFFにします。特殊I/Oパラメータ変更要求ビットをOFFにすると自動的に特殊I/Oパラメータ変更完了ビット(e)がOFFになります。
5) システム変数"#L_ExIOSpParmChg"の特殊I/Oパラメータ読み出し要求ビット(b)をONにし、現在のONプリセット値、OFFプリセット値を#L_HSC*_ONP、#L_HSC*_OFPに読み出します。
6) 特殊I/Oのパラ―メタ読み出しが終了すると、システム変数"#L_ExIOSpParmChg"の特殊I/Oパラメータ読み出し完了ビット(f)がONになります。
7) 読み出しが終了したことを確認してから、特殊I/Oパラメータ読み出し要求ビット(b)をOFFにします。特殊I/Oパラメータ読み出し要求ビットをOFFにすると自動的に特殊I/Oパラメータ読み出し完了ビット(f)がOFFになります。
#Ex_IOSpParmChg
|
ビット番号 |
機能 |
種類 |
詳細 |
LT |
|
4000 |
3000 |
|||||
a |
4(n-1)+0 |
特殊I/Oパラメータ変更要求 |
コントロール |
特殊I/Oの設定値の書き換えを行います。システム変数に設定した値を特殊I/Oのパラメータに書き込みます。 |
||
b |
4(n-1)+1 |
特殊I/Oパラメータ読み出し要求 |
コントロール |
特殊I/Oのパラメータ値をシステム変数に読み出します。 |
||
e |
4(n-1)+16 |
特殊I/Oパラメータ変更完了 |
ステータス |
ビット(a)によるパラメータの変更が完了するとONになります。 ビット(a)をOFFにすると、このビットも自動的にOFFになります。 |
||
f |
4(n-1)+17 |
特殊I/Oパラメータ読み出し完了 |
ステータス |
ビット(b)によるパラメータの読み出しが完了するとONになります。 ビット(b)をOFFにすると、このビットも自動的にOFFになります。 |
一致出力のONプリセット値およびOFFプリセット値の異常ステータスを示します。システム変数(#L_IOStatus[1])でエラーコード100が表示された場合、システム変数(#L_ExIOSpParmErr)の値により異常のステータスを確認することができます。どのCHに高速カウンタを割り付けたのかによって監視ビットが異なります。
前項の特殊I/Oパラメータ変更時に、プリセット値が無効な値に設定されていた場合は、それまで動作していたパラメータで動作を継続します。
ただし、無効な値はシステムに格納されたままなので、必ず正常な値に変更してください。
無効な値を格納した状態でLTが起動(オフラインモードへの移行、リセット時、電源OFF時)した場合、GP-Pro EXで設定された初期パラメータの値で動作します。
#L_ExIOSpParmErr
a:CH1のカウンタプリセット値異常 |
[1]:プリセット値異常発生 [0]:正常 |
b:CH2のカウンタプリセット値異常 |
[1]:プリセット値異常発生 [0]:正常 |
c:CH3のカウンタプリセット値異常 |
[1]:プリセット値異常発生 [0]:正常 |
d:CH4のカウンタプリセット値異常 |
[1]:プリセット値異常発生 [0]:正常 |
e:カウンタ入力制御異常 |
[1]:プリセット値制限異常発生(プリセット値の下位16ビットがFFFFhまたは0000h) [0]:正常 |
一致出力を有効または無効にさせることができます。一致出力は、システム変数(#L_ExIOSpCtrl)にある各CH特殊I/O動作制御の一致出力フラグをONにすることで有効にし、OFFにすることで無効にします。どのCHに高速カウンタを割り付けたのかによって操作ビットが異なります。
#L_ExIOSpCtrl
各CHの1ビットめをONにすると有効になり、OFFにすると無効になります。
一致出力が有効状態であるか無効状態であるかを示します。一致出力の有効/無効の状態は、システム変数(#L_ExIOSpCtrl)にある各CH特殊I/O動作状態の一致出力フラグのONで有効、OFFで無効を確認できます。どのCHに高速カウンタを割り付けたのかによって監視ビットが異なります。
#L_ExIOSpCtrl
各CHの1ビットめが1の場合は有効状態、0の場合は無効状態を示します。
一致出力が動作している場合に、出力を一旦OFFさせることができます。また、一致出力クリアを確認することもできます。
この一致出力のクリア機能は、カウンタが動作中、停止中のどちらでも使用でき、システム変数(#L_ExIOCntInCtrl)にある各CHカウンタ入力制御要求の一致出力クリアフラグをONすることで一致出力をOFFすることができます。どのCHに高速カウンタを割り付けたのかによって操作ビットが異なります。
#L_ExIOCntInCtrl
カウンタ入力制御要求
各CHの1ビットめをONにすると出力をOFFします。
一致出力と一致出力クリアフラグのタイミングチャートを下図に示します。
カウンタ入力制御応答
各CHの1ビットめが1の場合はクリア完了、0の場合はクリア未完了を示します。
出力端子での一致出力の出力状態をシステム変数(#L_ExIOSpOut)で確認することができます。どのCHに高速カウンタを割り付けたのかによって監視ビットが異なります。
#L_ExIOSpOut
a:CH1の出力状態 |
[1]:出力、[0]:未出力 |
b:CH2の出力状態 |
[1]:出力、[0]:未出力 |
c:CH3の出力状態 |
[1]:出力、[0]:未出力 |
d:CH4の出力状態 |
[1]:出力、[0]:未出力 |