高速カウンタとパルス出力命令が使用可能なFPシリーズPLC:FP0、FP-e、FPS、FP-X、FP0R。
Control FPWIN Proには、高速カウンタ命令によるプログラミングに関して、以下の2つの概念があります。
F命令
Tool命令
F命令の代わりにTool命令を使用する必要があるとき
ライブラリ用の汎用ファンクションブロックを作成したいとき
FPシリーズの異なるPLC機種ごとにプログラムを作成する必要のあるとき
制御コードビットを設定したり、利用可能なチャンネル番号を調べることが難しいとき
ただし、初めて使用するユーザやFPWIN GRに慣れているユーザにとっては、F命令の方が簡単な場合があります。
ほとんどの情報は、情報/制御ファンクションによりアクセス可能で、特殊内部フラグと特殊データレジスタに格納されます。このフラグとレジスタは、PLCに依存しないシステム変数を使用してアクセスすることもできます。求める機能が得られるよう、両方のライブラリの命令を混在させることができます。
Tool命令によるプログラミング時には、関連F命令へのリンクを経由して得られる詳細情報を参照してください。
主な機能 |
F命令 | Tool命令 |
---|---|---|
Ver.6.4未満のサポート |
l |
|
インラインファンクションの使用 |
l |
|
FPWIN GRファンクション名の使用 |
l |
|
定数のチャンネル番号によるコードの削減 |
l |
|
制御コード |
l |
|
制御ファンクション |
l |
|
情報ファンクション |
l |
|
可変チャンネル番号 |
l |
|
すべてのPLC用の汎用ファンクション |
l |
|
汎用ユーザーファンクションブロックで使用 |
l |
|
すべてのPLCおよびすべてのパルス出力命令のための共通チャンネルコンフィグレーション |
l |
F命令 | Tool命令 | ||
(1) |
この例のチャンネル2では、定数チャンネル番号のみをサポートしています。 |
(1) |
この例のチャンネル2では、可変チャンネル番号をサポートしています。 |
(2) |
Yエリアで明示的なユーザアドレスを持つ出力 |
(2) |
ポインタ変数を介して、明示的なユーザアドレスを備えた出力リレーにアクセスしています。このポインタ変数は、ユーザ定義ファンクションブロックの入力を介して利用することもできます。 |
(3) |
システム変数を使用してチャンネル2の特殊データレジスタを読み出します。 |
(3) |
出力変数の名前g_bHsc_TargetValueMatch_Channel2_ YA_MotorOffは、特定のパターンに従う必要があります。Hsc_TargetValueMatch_Setを参照してください。 |
(4) |
PLC固有の制御コード設定は、高速カウンタ命令をクリアする場合などで必要となります。 |
||
まとめ:
|
まとめ:
|
センサやエンコーダからの入力パルスをカウントし、設定した目標値に達したとき、出力をTRUEまたはFALSEに切り替える用途に高速カウンタ命令を使う。
モータドライバと組み合わせて、台形制御、原点復帰、JOG運転などの位置決め制御に、パルス出力命令を使う。
搭載されている高速カウンタやパルス出力の点数、計数範囲、割り付けられる入出力番号などの仕様は、PLC機種によって異なります。詳細については、それぞれのユーザーズマニュアルをご参照ください。
高速カウンタ命令を使用する場合: あらかじめ、使用するチャンネルの高速カウンタ入力の方法をシステムレジスタに指定してください。
高速カウンタの入力モードは、システムレジスタで設定します。
入力モード |
入力信号 |
|
---|---|---|
加算 |
||
減算 |
||
2相 |
計数加算 |
|
計数減算 |
||
加算/減算 |
||
(a) |
加算 |
|
(b) |
減算 |
|
加算 / 減算 (方向判別) |
||
(a) |
加算 |
|
(b) |
減算 |
|
カウントのリセット(加算時) |
||
(a) |
立ち上がりエッジ: カウント禁止、経過値クリア |
|
(b) |
立ち下がりエッジ: カウント許可 |
|
(c) |
カウント禁止 |
|
(3)でのリセットは、(a) (立上りエッジ)と(b) (立下りエッジ)で、割り込みにより実行されます。リセット入力は、システム変数sys_wHscOrPulseControlCodeのビット2によって、有効/無効を切り替えることができます。 |
制御コードは、特殊カウンタ操作を行うために使用します。
F命令によるプログラミング時:
MOVE命令を使用して、制御コード用に確保された特殊データレジスタ(DT90052またはDT9052、番号はPLC機種によって異なります)に対して制御コードを書き込みまたは読み出します。高速カウンタおよびパルス出力制御コードが格納されている特殊データレジスタは、システム変数sys_wHscOrPulseControlCodeを使用して読み出し、書き込みすることができます。
Tool命令によるプログラミング時:
すべてのPLC機種に適用される汎用の高速カウンタ制御命令とパルス出力制御命令を使用して制御コードを設定することができます。高速カウンタ情報命令とパルス出力情報命令を使用して制御コード設定をモニタします。
経過値は、ダブルワードのデータとして、特殊データレジスタに格納されます。
F命令によるプログラミング時:
システム変数sys_diHscChannelxElapsedValueを使用して特殊データレジスタを読み出し、書き込むことができます。(x=チャンネルNo.を示します。)
チャンネル番号は、高速カウンタ命令、あるいはパルス出力命令の入力パラメータとして設定します。その他のパラメータ(速度や目標値など)は、あらかじめ用意されている DUT に設定します。これらの DUT はFP Library に登録されています。
Tool命令によるプログラミング時:
すべてのPLC機種に適用される汎用の高速カウンタ情報 / 制御命令とパルス情報 / 制御命令を使用して経過値を読み出し、書き込むことができます。
チャンネル番号と制御コード設定(例:CW/CCW、アブソリュートまたはインクリメンタル、デューティ比など)は、すべてのPLC機種に共通のチャンネルコンフィグレーションDUTで指定します。その他のパラメータ(速度や目標値など)は、命令に直接割り付けることができます。
高速カウンタまたはパルス出力のステータスは、特殊内部フラグに格納されます。特殊内部フラグへの読み出し、書き込みは、PLCに依存しないシステム変数を使用します。
高速カウンタ命令が実行されると、対応するチャンネルの高速カウンタ制御中フラグsys_bIsHscChannel0ControlActiveがTRUEになり、このフラグがTRUEの間は、同じチャンネルに対して他の高速カウンタ命令を実行することはできません。
パルス出力命令が実行され、パルスが出力されている間は、対応するチャンネルのパルス出力命令制御中フラグ(例: sys_bIsPulseChannel0Active)がTRUEになります。このフラグがTRUEのときは、他のパルス出力命令を実行することはできません。
FP-X、FP0R:
高速カウンタ制御フラグ(例: sys_bIsHscChannel0ControlActive)とパルス出力制御フラグ(例: sys_bIsPulseChannel0Active)は異なる特殊内部フラグに割り付けられています。
FP-Sigma、FP0、FP-e:
高速カウンタ制御中フラグ(例: sys_bIsHscChannel0ControlActive)とパルス出力制御中フラグ(例: sys_bIsPulseChannel0Active)は、同じ特殊内部フラグの番号に割り付けられています(例: R903A)。従って、高速カウンタ命令またはパルス出力命令が実行されているときは、使用しているチャンネルに対応する、高速カウンタ制御中フラグ(例: sys_bIsHscChannel0ControlActive)とパルス出力制御中フラグ(例: sys_bIsPulseChannel0Active)がTRUEになります。このフラグがTRUEの間は、同じチャンネルに対して、他の高速カウンタ命令、あるいはパルス出力命令を実行することはできません。高速カウンタ制御フラグとパルス出力制御フラグのステータスは、スキャンが実行されている間に変化します。例えば、受信バイト数が2回以上読み出された場合、1スキャン内で異なる状態が存在することがあります。
特殊データレジスタや特殊内部フラグの読み出し、書き込みを行うには、個々のPLCに用意されているシステム変数を使用してください。