(57)【特許請求の範囲】
【請求項１】
入力されたパルスの周波数情報を求める入力周波数検出部と、
その入力周波数検出部で求めた前記周波数情報を記憶する記憶手段と、
その記憶手段に格納された前記周波数情報に対し、予め定めた比率設定値に基づいて演算処理をしてパルス出力の出力周波数設定値を算出する算出手段と、
その算出手段から出力される前記出力周波数設定値に基づき、パルス出力を行うパルス出力手段とを備え、
前記パルス出力手段は、パルス出力の状態に基づいて前記算出手段へ前記演算処理の実行を指示するリクエスト信号を出力する機能を備え、
前記算出手段は、前記パルス出力手段からリクエスト信号を受信すると前記演算処理を実行することを特徴とするコントローラ。
【請求項２】
前記リクエスト信号は、前記パルス出力が、１パルス出力される毎に発行されるようにしたことを特徴とする請求項１に記載のコントローラ。
【請求項３】
前記入力されたパルスの立ち上がり或いは立ち下がりを基準変化点とした場合に、前記入力周波数検出手段は、前記基準変化点を検出してから次の基準変化点を検出するまでの期間に基づいて前記周波数情報を求めるものであり、
前記期間が一定以上の場合にパルス出力を停止する機能を備えたことを特徴とする請求項１または２に記載のコントローラ。
【請求項４】
出力周波数下限設定値を記憶する記憶手段を備え、
前記算出手段は、演算処理をして求められたパルス出力の出力周波数設定値が前記記憶手段に格納された出力周波数下限設定値よりも低い周波数になる場合に、その出力周波数下限設定値を出力周波数設定値として出力するようにしたことを特徴とする請求項１〜３の何れか１項に記載のコントローラ。
【請求項５】
比率設定値を記憶する比率設定値記憶手段を備え、
コントローラの動作中に、前記比率設定値記憶手段に記憶された前記比率設定値を変更する手段を備えたことを特徴とする請求項１〜４の何れか１項に記載のコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コントローラに関するものである。
【０００２】
【従来の技術】
ＰＬＣ（プログラマブルコントローラ）その他のコントローラにおける出力機器の制御方式の一つとして、ＰＬＣのＣＰＵユニットに内蔵されたパルス出力機能に基づくパルスを出力し、出力機器は、そのパルス（ＯＮ／ＯＦＦ信号）に従って動作するシステムがある。
【０００３】
一例としては、例えば図１に示すように、ベルトコンベア装置１の駆動モータの動作を制御するシステムがある。すなわち、ＰＬＣ２は、電源ユニット２ａやＣＰＵユニット２ｂを備え、ＣＰＵユニット２ｂのＩ／Ｏ端子２ｂ′に、メインモータ（ベルトコンベア装置１と別の装置を駆動するモータ）３の回転をロータリーエンコーダ４で検出し、回転速度に応じたパルスを入力情報として与える。ＣＰＵユニット２ｂは、受信した入力情報（入力パルスの周波数）に基づき演算実行し、駆動モータ（ベルトコンベア装置１を駆動するモータ）の回転数等の動作条件を決定する。この演算処理は、例えば予め入力周波数に対する出力周波数の比率を「比率設定値」として与えておき、入力パルスの周波数を取得すると、比率設定値に基づいてパルス出力の周波数（出力周波数）を求め、その出力周波数になるようにパルス出力をする。
【０００４】
このパルス出力に従って、モータドライバの動作が制御される。つまり、この出力されたパルスが駆動モータ用のモータドライバ５に与えられる。すると、モータドライバ５は、１つのパルスの入力に伴い駆動モータを１ステップ駆動させる。従って、出力されるパルスの周波数が高くなるほど駆動モータの回転数ひいてはベルトコンベア装置１における搬送速度が速くなる。
【０００５】
これにより、メインモータ３の回転数が変更すると、入力パルスの周波数が変更されるので、それに伴い出力パルスの周波数も一定の比率で変更し、それに追従してベルトコンベア装置１の駆動モータの回転数が変更する。よって、メインモータ３の回転数と、駆動モータの回転数が一定の比率を保持しながら回転するといった同期制御が行える。
【０００６】
そして、動作条件の求め方としては、例えば図２に示すように、ＭＰＵは、処理（１）として、入力されたパルス（カウンタ入力）を計数し、一定時間内に入力されたパルス数から、入力パルスの周波数を求める。次に処理（２）として、処理（１）で求めた入力周波数に対する出力周波数を求める。具体的には、入力周波数に予め設定された比率設定値を乗することにより求める。
【０００７】
次いで、処理（３）として、処理（２）で求めた出力周波数でパルス出力を設定する。これにより、この設定後は、その設定した出力周波数になるように継続してパルスが出力される。
【０００８】
さらに、上記したように出力周波数の設定が完了すると、処理（４）として他の処理を実行する。そして、上記した処理（１）から（４）までを、例えば、約１０ｍｓｅｃ間隔で実行する。
【０００９】
【発明が解決しようとする課題】
従来の制御システムでは、一度出力周波数が設定されると、制御サイクルの約１０ｍｓの期間は周波数が固定されるので、理想と実際の出力周波数で誤差が生じる。さらに、一定時間内のパルス数から周波数を算出していたため、精度が低下する。
【００１０】
さらにまた、従来の制御は、入力されたパルスに基づいて入力周波数を求め、そこから比率設定値を用いて演算処理をして出力周波数を求め、それに基づいて実際に出力周波数を設定するので、実際に入力周波数が変化してから、実際に出力周波数が変化するまでにタイムラグ（図２の（１）から（３）までを実行する時間）が生じ、その点でも迅速な対応（同期処理）ができない。
【００１１】
この発明は、入力周波数の変化を迅速に出力周波数に反映することのできるコントローラを提供することを目的とする。
【００１２】
【課題を解決するための手段】
この発明によるコントローラでは、入力されたパルスの周波数情報を求める入力周波数検出部と、その入力周波数検出部で求めた前記周波数情報を記憶する記憶手段と、その記憶手段に格納された前記周波数情報に対し、予め定めた比率設定値に基づいて演算処理をしてパルス出力の出力周波数設定値を算出する算出手段と、その算出手段から出力される前記出力周波数設定値に基づき、パルス出力を行うパルス出力手段とを備え、前記パルス出力手段は、パルス出力の状態に基づいて前記算出手段へ前記演算処理の実行を指示するリクエスト信号を出力する機能を備え、前記算出手段は、前記パルス出力手段からリクエスト信号を受信すると前記演算処理を実行するようにした。そして、前記リクエストの発行タイミングとしては、例えば、前記パルス出力が、１パルス出力される毎に行うことができる。
【００１３】
ここで、パルスの周波数情報とは、周波数そのものでもよいし、実施の形態のようにカウント値（時間）でもよい。要は周波数に対応するものであればよい。入力周波数検出部は、実施の形態では周波数カウンタ部２２に対応する。記憶手段は、実施の形態ではラッチ部２３に対応する。算出手段は、実施の形態では比率分周部２４に対応する。記憶手段は、実施の形態では、一時記憶手段の一形態であるラッチ部２３に対応する。
【００１４】
パルス出力手段の機能である、「パルス出力の状態に基づいて前記算出手段へ前記演算処理の実行を指示するリクエスト信号を出力すること」とは、パルス出力が所定の状態になったときにリクエストが発行されるもので、係る所定の状態としては、例えば、パルス出力の１周期の終わり（終わりを基準とした所定期間前）とすることができる。このように１周期の終わりの際にリクエストを発行すると、現在の入力パルスの周波数の状態により即したパルス出力の周波数を決定することができる。もちろん、本発明では、パルス出力側をトリガとして入力周波数を算出し、パルス出力の周波数を算出することが、特徴の１つであるので、パルス出力の必ずしも１周期の終わりに基づいてリクエストを発行するものに限らず、例えば、パルス出力の中間地点（１周期内でのＯＮとＯＦＦの切り替わりポイント）でリクエストを発行する等の他、任意のポイント（基準）に基づいてリクエストを発行することができる。
【００１５】
さらに、本発明のコントローラは、実施の形態ではＣＰＵユニット２ｂに対応するが、ＰＬＣ本体全体でももちろん良い。つまり、所定周波数のパルスを入力し、その周波数に応じた任意の周波数のパルスを出力するＦＡ用のコントローラ（制御装置）を含むものである。
【００１６】
この発明によれば、記憶手段には常に最新の入力パルスの周波数情報が記憶保持される。そして、パルス出力の状態に基づいて発行されるリクエスト信号に従って算出手段を動作させ、そのリクエスト信号を受信した際に記憶されている直前の入力パルスの周波数情報に基づいてパルス出力の出力周波数設定値を求めるので、迅速かつ精度のよい同期制御が行える。
【００１７】
また、前記入力されたパルスの立ち上がり或いは立ち下がりを基準変化点とした場合に、前記入力周波数検出手段は、前記基準変化点を検出してから次の基準変化点を検出するまでの期間に基づいて前記周波数情報を求めるものであり、前記期間が一定以上の場合にパルス出力を停止する機能を備えるとよい。
【００１８】
すなわち、前記パルスの立ち上がりから次のパルスの立ち上がりまで、或いは立ち下がりから次の立ち下がりまでの期間に基づいて前記周波数情報を求めるようにすると、例えば、周波数が極端に低くなったり、ノイズその他の要因から次のパルスの基準変化点が発生するまでに時間がかかる場合がある。係る場合に、最新の周波数情報は、その１つ前の入力パルスに基づくもので、実際のものとずれが大きくなる。これに対し本発明のようにすると、入力パルスが停止したり、極端に低い周波数になった場合にはパルス出力が停止されるので、より精度のよい制御が行える。
【００１９】
また、出力周波数下限設定値を記憶する記憶手段を備え、前記算出手段は、演算処理をして求められたパルス出力の出力周波数設定値が前記記憶手段に格納された出力周波数下限設定値よりも低い周波数になる場合に、その出力周波数下限設定値を出力周波数設定値として出力するようにすることもできる。低い周波数であるので、例えば周波数情報がカウント値（時間）の場合は大きい（長い）値となる。
【００２０】
このようにすると、算出手段で求めた出力周波数設定値の周波数が低い場合には、出力周波数下限設定値に基づいて出力されるので、一定以上に低い出力周波数が出力されるおそれが無くなる。
【００２１】
さらに、比率設定値を記憶する比率設定値記憶手段を備え、コントローラの動作中に、前記比率設定値記憶手段に記憶された前記比率設定値を変更する手段を備えるようにすることもできる。このようにすると、途中で条件の変更ができるので、より高精度な制御が行える。
【００２２】
【発明の実施の形態】
図３は、本発明に係るコントローラの一態様であるＣＰＵユニット２ｂの好適な一実施の形態を示す内部構造の一例である。図３に示すように、Ｉ／Ｏ端子１１を介して与えられるカウンタ入力に対し、所定の演算処理を実行するカウンタブロック２０と、そのカウンタブロック２０で求めた出力パルスの出力周波数に従って実際にパルス出力をするパルスブロック３０を有している。このパルスブロック３０の出力は、Ｉ／Ｏ端子１１に接続され、このＩ／Ｏ端子１１を介して図外のモータドライバなどに与えられる。そして、これらカウンタブロック２０とパルスブロック３０は、いずれもハードウエアで構成される。
【００２３】
図外のメインモータのエンコーダ（図１参照）等から入力されるパルス信号として、複数種類の信号がある。その組み合わせは各種のものがあるが、本実施の形態では、周波数を求めるための信号Ａと、回転方向を求めるための信号Ｂがある。この２つの信号Ａ，Ｂがカウンタブロック２０の入力パルス変換部２１に与えられ、そこにおいて所定の変換処理を経てＦｅｅｄ信号と、Ｄｉｒ信号が出力される。すなわち、図１に示す例ではエンコーダが、基準角度回転する都度１個のパルスが出力されるが、Ｆｅｅｄ信号は、係るエンコーダから出力され、ＣＰＵユニットに入力されるパルスと同期してＯＮ／ＯＦＦするパルス信号となる。また、Ｄｉｒ信号は、例えば図１に示す例ではメインモータの回転方向（正転／逆転）に応じてＨｉｇｈ／Ｌｏｗとなる信号である。
【００２４】
Ｆｅｅｄ信号とＤｉｒ信号は、周波数カウンタ部２２に与えられる。周波数カウンタ部２２は、ＣＰＵクロックその他の基準クロックに従ってカウントアップするカウンタ機能を有し、Ｆｅｅｄ信号（入力パルス）の１周期、つまり、あるパルスの立ち上がりから次の立ち上がりまでをカウントする。そして、係る次の立ち上がりを検知すると、カウント値を０にし、リスタートする。
【００２５】
この周波数カウンタ部２２の出力は、ラッチ部２３に与えられる。ラッチ部２３は、最新の入力パルスの周波数に基づく値（カウント値）をラッチするもので、具体的には、入力周波数（カウント値）については、その値を監視するとともに、直前のカウント値を一時記憶し、カウント値が０になった場合に、その１つ前のカウント値（現在の入力パルスの周波数に対応するカウント値）をラッチする。
【００２６】
また、周波数カウンタ部２２側でカウント値をリスタートする際（次のパルスの立ち上がりを検知した際）に、その時のカウント値を次段のラッチ部２３に与えるようにすると、ラッチ部２３側では周波数カウンタ部２２からカウント値が転送されてくるのを待ち、その転送されてきたカウント値を保持すればよい。
【００２７】
さらにラッチ部２３には、周波数カウンタ部２２から出力される現在の方向を特定する方向信号（Ｄｉｒ信号）も入力される。この方向信号の取得タイミングは、例えば、入力周波数カウント値がラッチ部２３にラッチされる際の方向信号を取得してラッチするようにしても良いし、周波数カウンタ部２２をスルー状態で逐次ラッチ部２３に入力されるようにしても良い。
【００２８】
これにより、ラッチ部２３は、次に周波数カウンタ部２２がリスタートするまでその取得したカウント値，方向を保持する。従って、上記したようにラッチ部２３には、常に最新の入力パルスの周波数に基づく値（カウント値）が記憶されることになる。
【００２９】
このラッチ部２３に保持された情報の内、カウント値は所定のタイミングで比率分周部２４に与えられ（実際には、比率分周部２４が読み出す）、Ｄｉｒ信号は、パルスブロック３０のパルス出力部３１に与えられる。比率分周部２４は、ラッチ部２３から取得した現在（最新）の入力パルスの周波数（カウント値）に対し、比率設定レジスタ２６に格納した比率設定値（ｎ）を用いて演算し、出力周波数設定値（カウント値）を求める。
【００３０】
すなわち、比率設定レジスタ２６には、ｎ＝（１／２５６）から２５６までの所定の値がセットされている。そこで、仮に、現在の入力周波数カウント値が４０９６で、比率設定値が１／１６とすると、図４に示すように出力周波数カウント値は２５６となる。
【００３１】
そして、この比率分周部２４における上記演算処理は、パルス出力部３１から比率分周部２４に対して出力されるリクエスト信号をトリガとして実行される。そして、このリクエスト信号は、パルス出力部３１が出力している現在のパルスの１周期が終わる際（実際には、演算処理時間を考慮して数クロック前）に発行される。
【００３２】
また、このリクエスト信号を受信した比率分周部２４は上記のように所定の演算処理を実行するが、その演算処理が終了すると、パルス出力部３１に対して許可信号を発行するとともに、求めた出力パルス周波数設定値（カウント値）を送る。従って、パルス出力部３１では、係る許可信号を受信後に受け取った出力パルス周波数設定値に従って次のパルス出力の周波数（カウント値）を設定し、パルス出力をする。また、このパルス出力とともに、方向信号も出力する。これらパルス出力と方向信号がＩ／Ｏ端子１１を介して出力機器（モータドライバ等）に与えられる。
【００３３】
上記した構成が基本構成であり、これにより図５に示すタイミングチャートのように動作する。すなわち、カウンタブロック２０側では、カウンタ入力の１パルスごとに周波数カウンタ部２２で周波数を計測し（１）、現在の最新の入力パルスの周波数（カウント値）が、ラッチ部２３に格納される（２）。この処理（１），（２）は、他の処理とは関係無くパルスが入力される都度繰り返し実行される（図６参照）。なお、上記した括弧付き数字は、図６に示すフローチャートの各処理ステップと、その処理ステップを実行した際の図５に示すタイミングチャートにおけるタイミング位置を示している。このことは、以下に示す図５と図７の関係でも同様である。
【００３４】
一方、図５，図７に示すように、パルスブロック３０で同期制御としてパルス出力を起動すると（３）、パルス出力が１周期出力し終わる前（数クロック前）にパルスブロック３０（パルス出力部３１）からリクエスト信号を出力する（４）。
【００３５】
すると、このリクエスト信号を受信したカウンタブロック２０の比率分周部２４が、ラッチ部２３にラッチされている現在の最新の入力周波数を取得し（５）、比率設定レジスタ２６から取得した入力周波数に対する出力周波数の比率（比率設定値）を用いて出力周波数を計算する（６）。
【００３６】
そして、計算し終わるとカウンタブロック２０（比率分周部２４）からパルスブロック３０（パルス出力部３１）へ許可信号を返し、次の出力周波数を出力する（７）。１パルスを出力しおわると演算結果の出力周波数で継続してパルス出力をする（８）。
【００３７】
上記した基本構成に加え、本実施の形態ではさらに以下の機能を付加し、より高精度で安定した制御を実行するようにしている。まず、ラッチ部２３は、入力周波数下限設定レジスタ２５にセットされた入力周波数下限設定値が与えられ、入力パルスの周波数が設定された周波数以下の場合には、入力周波数が０と判断し、所定の値にする機能を持たせている。
【００３８】
すなわち、本実施の形態では、入力パルスの立ち上がりから次の立ち上がりまでをカウントするようにしているため、次の立ち上がりを検出できない場合には、カウント値はアップし続けることになるとともに、０にリスタートされないと、ラッチ部２３に新しい入力周波数カウント値がセットされず、それ以前の入力周波数カウント値がラッチされたままとなる。従って、入力パルスの周波数が低くなると、当然のことながら次のパルスの立ち上がりまで時間がかかり、周波数カウンタ部２２ではカウント値がアップし続ける。
【００３９】
すると、例えば、入力パルスの周波数が、急に変動して周波数が低くなったり、停止したりした場合でも、ラッチ部２３には直前の入力パルス周波数に基づくカウント値がラッチされているので、そのままではパルス出力はそのラッチされたカウント値に基づいた出力周波数で出力され続けることになる。つまり、実際の入力パルスの周波数は低い値，停止であるにも関わらず、所定の周波数と判断してパルス出力されることになり、正確な同期制御ができなくなる。
【００４０】
そこで、上記したように、入力パルスの周波数が設定された周波数以下の場合には、入力周波数が０と判断し、ラッチ部２３では、入力周波数カウント値として、所定の値（例えば、「０」）をセットして保持するようにしている。これにより、入力パルスの周波数が低くなったり、入力パルスが一定期間ＯＦＦ状態が続いた場合でも、適当な時間（入力周波数下限設定値に相当する１パルスの時間）が経過すると、ラッチ部２３の値は、入力周波数下限設定値に基づく値に更新される。
【００４１】
そして、このラッチ部２３にラッチされた入力周波数カウント値に基づいて出力周波数カウント値が求められるが、入力周波数下限設定値以下の周波数の場合にラッチ部２３に保持される値の時は、所定の比率で演算処理するのではなく、出力停止のように制御する。なお、係るラッチ部２３に保持される値を上記したように「０」にすると、比率分周部２４における比率設定値（ｎ）を用いた演算処理をしても、その演算結果は「０」となるので好ましい。
【００４２】
なお、本実施の形態では、周波数に応じたカウント値で処理をするようにしたため、周波数が低くなるほどカウント値は大きくなる。従って、実際には、現在計数中の入力パルスの入力周波数が、係る入力周波数下限設定値以下の周波数か否かの判断は、周波数カウンタ部２２のカウント値が、入力周波数下限設定値レジスタに格納された設定値を超えるか否かにより判断する。
【００４３】
そして、具体的には、例えば、ラッチ部２３が周波数カウンタ部２２のカウント値を常時監視する方式を採った場合には、そのカウント値と上記設定値とを比較し、設定値を超えたか否かにより判断できる。また、周波数カウンタ部２２からリスタートの際に転送されてくる場合には、転送されるまではカウント値が不明であるので、別途カウンタ等を設け前回の転送を受けてからの経過時間をカウンタで求め、それと設定値とを比較することによっても対処できる。さらには、図３に示した例では入力周波数下限設定レジスタ２５の出力をラッチ部２３に与えるようにしたが、周波数カウンタ部２２に与えるようにし、周波数カウンタ部２２側でカウント値が設定値を超えた場合に所定の値を出力するようにしても良い。
【００４４】
この入力下限周波数設定機能の実際の動作は、例えば図８に示すようになる。すなわち、入力パルスが図８（ａ）に示すようになっているとすると、図８（ｂ）に示すように１番目のパルス出力▲１▼の１周期の終わり（２番目のパルス出力の立ち上がり）の際（実際には、数クロック手前）には、ラッチ部には先頭の入力パルスの周波数カウント値（ｔ）がラッチされているので、それに基づく出力周波数が求められ、その求められた出力周波数にしたがって２番目のパルス出力▲２▼が成される。
【００４５】
ところで、２番目の入力パルスが入力された後一定期間入力がＯＦＦの状態が続くと、周波数カウンタ部２２はカウントアップしつづけるので、２番目のパルス出力▲２▼の終了の際のラッチ部２３にラッチされた値は、１番目の入力パルスに基づく値（ｔ）である。従って、３番目のパルス出力▲３▼も、２番目のパルス出力▲２▼と同一の周波数で出力される。４番目のパルス出力▲４▼も同様である。
【００４６】
ここで、仮に入力周波数の下限を１００Ｈｚとすると、入力周波数下限設定値は、１０ｍｓｅｃ相当のカウント値となる。従って、４番目のパルス出力▲４▼の１周期の終了の際には、周波数カウンタ部２２におけるカウント値は、１０ｍｓｅｃに対応する値を超えていているので、ラッチ部２３には所定の値（たとえば「０」）がセットされる。従って、比率分周部２４から出力される出力パルス周波数設定値は「０」となり、パルス出力はＯＦＦとなる。
【００４７】
なお、本実施の形態の場合、パルス出力の動作（１周期の終わり）をトリガとして次のパルス出力の周波数を算出し、設定するようにしたため、このようにパルス出力が、ＯＦＦ状態が続くとリクエスト信号が出力されず、次のパルス出力の周波数を算出できなくなる。そこで、このように入力周波数下限設定値に基づいて出力が０になった場合には、現在の状態（出力ＯＦＦ）をラッチ部２３はわかっているので、周波数カウンタ部２２で入力パルスの周波数を計数し、入力周波数下限設定値以上の正常な値に復帰した場合には、入力側（ラッチ部２３）から比率分周部２４に入力周波数カウント値を与え、それに基づいて比率分周部２４で出力周波数カウント値を演算するようにする。そして、この演算が終わると、許可信号とともに求めたカウント値をパルス出力部３１に与えることにより、正常な動作に復帰する（パルス出力▲５▼が出力される）。
【００４８】
さらに、比率分周部２４に対しては、出力周波数下限設定レジスタ２７にセットされた出力周波数下限設定値を与えるようにし、比率設定レジスタ２６の比率設定値に従って演算して求めた出力周波数と係る出力周波数下限設定値とを比較し、演算結果の方が大きい場合には出力周波数下限設定値を出力パルス周波数設定値に決定し、係る値を出力するようにする。これにより、パルス出力の周波数が極端に低くなるのが抑制できる。
【００４９】
一例を示すと、図８に示すように、出力周波数下限設定値が「２５６」で比率設定値が「６」とすると、入力周波数カウント値が「３２」の場合には、演算結果の出力周波数カウント値のまま出力するが、入力周波数カウント値が「６４」になると演算結果は「３８４」となるので、出力周波数下限設定値の「２５６」を出力周波数設定値に決定し、出力する。
【００５０】
さらにまた、比率分周部２４は、演算する都度比率設定レジスタ２６に格納された比率設定値を読み出すので、例えばＣＰＵユニットの稼働中に、比率設定レジスタ２６に対して比率設定値を書き込む手段を設けることにより、パルス出力中に比率設定値を書き替えることができ、それにより、その後の入力周波数と出力周波数の相関（比率）を変更することができ、状況の変化に即したより高精度な制御が行える。
【００５１】
以上のように、本実施の形態では、パルス出力の１パルスごとに次に出力すべき周波数を算出し、出力するようにしたため、制御サイクルの精度が極めて向上する。
【００５２】
さらに、パルス出力側の動作をトリガとし、１つのパルス出力の１周期が終了（次のパルス出力の立ち上がり）する際にその直前の入力パルスの周波数を取得し、それに基づいて所定の比率設定値にしたがってパルス出力の周波数を求めるようにしたため、入力周波数の変動に伴う出力周波数の変動をリアルタイムに行うことができ、より高精度な同期制御が行える。そして、既に最新の入力パルスの周波数カウント値が求められているので、上記トリガの発生後は、比率分周部２４にてラッチ部２３から入力周波数を読み出すとともに、比率設定値に基づいて演算処理をするだけでよいので、パルス出力の次の立ち上がりまでの時間で十分演算処理を終了し、パルス出力部３１に送ることができる。
【００５３】
【発明の効果】
以上のように、この発明では、入力周波数の変化を迅速に出力周波数に反映することができる。
【図面の簡単な説明】
【図１】ＰＬＣのＣＰＵユニットから出力される出力パルスを用いた制御システムの一例を示す図である。
【図２】従来の作用を説明するタイムチャートである。
【図３】本発明の一実施の形態を示す図である。
【図４】比率分周部の作用を説明する図である。
【図５】本実施の形態の動作を説明するタイミングチャートである。
【図６】本実施の形態の動作を説明するフローチャートの一部である。
【図７】本実施の形態の動作を説明するフローチャートの一部である。
【図８】入力周波数下限設定機能を説明する図である。
【図９】出力周波数下限設定機能を説明する図である。
【符号の説明】
１０  ＣＰＵユニット
１１  Ｉ／Ｏ端子
２０  カウンタブロック
２１  入力パルス変換部
２２  周波数カウンタ部
２３  ラッチ部
２４  比率分周部
２５  入力周波数下限設定レジスタ
２６  比率設定レジスタ
２７  出力周波数下限設定レジスタ
３０  パルスブロック
３１  パルス出力部
【図１】
0003951760.tif 000002
【図２】
0003951760.tif 000003
【図３】
0003951760.tif 000004
【図４】
0003951760.tif 000005
【図５】
0003951760.tif 000006
【図６】
0003951760.tif 000007
【図７】
0003951760.tif 000008
【図８】
0003951760.tif 000009
【図９】
0003951760.tif 000010