(57)【要約】【課題】Ｉ／Ｏ点数に応じてＣＰＵでの信号処理速度を所望する速度に維持する一方で、同時に、必要以上の電力消費を抑制し得るプログラマブルコントローラを提供する。【解決手段】本発明によるプログラマブルコントローラ１は、ＣＰＵ３の動作クロックの周波数設定に用いる原クロックの周波数をＩ／Ｏ点数が一定数以下に減るとその減少に合わせて逓減し、また、一定数以上に増えるとその増加に合わせて逓倍して、ＣＰＵ３の動作クロックの周波数を調整する。【選択図】図２
2010204997.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵの動作クロックの周波数設定に用いる原クロックの周波数をＩ／Ｏ点数が一定数以下に減るとその減少に合わせて段階的または漸次に逓減し、一定数以上に増えるとその増加に合わせて段階的または漸次に逓倍して、ＣＰＵの動作クロック周波数を調整するようにした、ことを特徴とするプログラマブルコントローラ。
【請求項２】
動作クロックに応じて入出力機器との間での信号に対してプログラムを実行するＣＰＵと、上記信号を入出力するために該入出力機器が接続される複数のＩ／Ｏ点と、上記動作クロックを生成し、その生成した動作クロックをＣＰＵに入力する動作クロック生成部と、を備え、
上記ＣＰＵは、上記複数のＩ／Ｏ点のうち入出力機器が接続されて使用されるＩ／Ｏ点数を検出するステップと、この検出したＩ／Ｏ点数に対応して原クロック周波数に対する逓減係数または逓倍係数を演算して動作クロック生成部に入力するステップと、を実行し、
上記動作クロック生成部は、原クロックの周波数に対して上記逓減係数または逓倍係数を乗算するステップと、このステップで得られる周波数をＣＰＵの動作クロックの周波数に設定し、その周波数を持つ動作クロックをＣＰＵに入力するステップと、を実行する、ことを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業機械等の制御に用いるプログラマブルコントローラにかかり、特に、プログラマブルコントローラ内のＣＰＵをＩ／Ｏ点数に応じて駆動するシステムに関するものである。
【背景技術】
【０００２】
プログラマブルコントローラは制御システム上の機械や設備等をユーザプログラムに従いシーケンス制御する装置として用いられている。プログラマブルコントローラは、ユーザ回路から入力した入力信号に基づき、動作プログラムに従い演算し、その演算結果からユーザ回路に出力信号を出力する。ここで、ユーザ回路は、ユーザ設備である機械や装置等と共に、これらの状態を検知するセンサ等の入力機器やこれらを駆動するアクチュエータ等の出力機器等を含む。
【０００３】
このようなプログラマブルコントローラにおいては、内部に、制御を司るＣＰＵ、プログラム格納やワークに用いるメモリ、ユーザ回路である入出力機器が接続されるインターフェースとしての入出力部、およびこれらＰＬＣ内各部に電力を供給する電源部、を備えている。
【０００４】
そして、プログラマブルコントローラのＣＰＵは、メモリに記憶されているプログラム命令を読み出し、実行する。そして、その場合のＣＰＵのデータバス幅と命令コードのビット数とは一致している。また、ＣＰＵがＲＩＳＣ(Reduced Instruction Set Computer)型として構成されている場合、プログラム命令の読出しは通常１サイクル毎に行なわれ、ＣＰＵの動作は、動作クロックの速度に律速される。動作クロックの速度であるクロック周波数は、ＣＰＵがデータを処理する速度を表した数値である。このクロック周波数は、ＣＰＵの命令実行タイミングを制御するものなので、クロック周波数が高くなるほどプログラマブルコントローラの実行速度は向上し、処理速度も向上する。しかし、その一方、動作クロックの周波数を同一の一定値として動作させると、ＣＰＵでの消費電力量が必要以上に増大することがあるという課題があった。
【０００５】
この課題に対して、全体を同一クロック周波数を用いて動作させるのではなく、基準（原）クロック周波数よりも低いクロック周波数で動作可能な回路は、基準クロックを分周したクロック周波数を用いて動作させるようにして低消費電力化した技術が提案されている（特許文献１）。
【０００６】
また、原クロック信号を分周回路で分周して内部クロック信号の周波数を低下させ、前記集積回路が待機状態のときに、この周波数を低下させた内部クロック信号を供給するようにして低消費電力化した技術も提案されている（特許文献２）。
【０００７】
しかしながら、単純にプログラマブルコントローラにおいては、原クロック信号の周波数を単に分周してＣＰＵの動作クロック周波数を低下させてしまうと、入力機器や出力機器等の負荷が接続されるＩ／Ｏ点数が多い場合にはＣＰＵ動作速度が遅すぎ、Ｉ／Ｏ信号を処理しきれなくなる一方、上記負荷が接続されるＩ／Ｏ点数が少ない場合には、ＣＰＵの動作上の電力消費が過剰となる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−０２５４１１号公報
【特許文献２】特開平０６−１３８９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明により解決すべき課題は、負荷が接続されるＩ／Ｏ点の点数に応じてそのＩ／Ｏ点における入力信号、出力信号の処理速度を適正に所望する速度に維持する一方で、同時に、必要以上の電力消費を抑制可能にすることである。
【課題を解決するための手段】
【００１０】
本発明第１によるプログラマブルコントローラは、ＣＰＵの動作クロックの周波数設定に用いる原クロックの周波数をＩ／Ｏ点数が一定数以下に減るとその減少に合わせて段階的または漸次に逓減し、また、一定数以上に増えるとその増加に合わせて段階的または漸次に逓倍して、ＣＰＵの動作クロック周波数を調整するようにした、ことを特徴とするものである。
【００１１】
本発明第１では、入出力機器が接続されて使用されるＩ／Ｏ点の点数に応じた動作クロック周波数でＣＰＵを動作させることができるので、上記Ｉ／Ｏ点への信号の入出力処理速度をＩ／Ｏ点数に応じた所定速度に維持することができる一方で、ＣＰＵの動作クロックの周波数を適正に維持して、ＣＰＵの動作による電力の必要以上の消費を抑制することができるようになる。
【００１２】
本発明第２によるプログラマブルコントローラは、動作クロックに応じて入出力機器との間での信号に対してプログラムを実行するＣＰＵと、上記信号を入出力するために該入出力機器が接続される複数のＩ／Ｏ点と、上記動作クロックを生成し、その生成した動作クロックをＣＰＵに入力する動作クロック生成部と、を備え、上記ＣＰＵは、上記複数のＩ／Ｏ点のうち入出力機器が接続されて使用されるＩ／Ｏ点数を検出するステップと、この検出したＩ／Ｏ点数に対応して原クロック周波数に対する逓減係数または逓倍係数を演算して動作クロック生成部に入力するステップと、を実行し、上記動作クロック生成部は、原クロックの周波数に対して上記逓減係数または逓倍係数を乗算するステップと、このステップで得られる周波数をＣＰＵの動作クロックの周波数に設定し、その周波数を持つ動作クロックをＣＰＵに入力するステップと、を実行する、ことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、負荷が接続されるＩ／Ｏ点の点数に応じてそのＩ／Ｏ点における入力信号、出力信号の処理速度を適正に所望する速度に維持する一方で、同時に、必要以上の電力消費を抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は本発明の実施の形態にかかるプログラマブルコントローラの概略構成を示す図である。
【図２】図２は図１のプログラマブルコントローラにおいて、Ｉ／Ｏ点数に応じてＣＰＵを駆動するシステム構成を示す図である。
【図３】図３は動作説明に用いるフローチャートである。
【発明を実施するための形態】
【００１５】
以下、添付した図面を参照して、本発明の実施の形態に係るプログラマブルコントローラを説明する。図１は本発明の実施の形態にかかるプログラマブルコントローラの概略ブロック構成、図２は図１のプログラマブルコントローラ内の動作クロック生成部の詳細ブロック構成、図３は動作説明に用いるフローチャートを示す。
【００１６】
同図を参照して、プログラマブルコントローラ１は、内部に、ＣＰＵ３、プログラムメモリ５、Ｉ／Ｏメモリ７、Ｉ／Ｏ部９を有すると共に、動作クロック生成部１１を備えている。
【００１７】
Ｉ／Ｏ部９には、複数のＩ／Ｏ（入出力）点１３が接続されている。ただし、Ｉ／Ｏ部９は、信号を入出力する図示略のＩ／Ｏ回路と共に、これらＩ／Ｏ点１３を内蔵するが、図解の都合で、Ｉ／Ｏ部９とＩ／Ｏ点１３とを図上では別々に示したうえで、これらＩ／Ｏ点１３をプログラマブルコントローラ１外に図示している。このＩ／Ｏ点１３には図示略のセンサ等の入力機器やアクチュエータ等の出力機器が接続されている。また、Ｉ／Ｏメモリ７はＣＰＵ３外に図示したが、ＣＰＵ３はＩ／Ｏメモリ７を内部に備えることもできる。
【００１８】
ＣＰＵ３は、制御対象である機械や設備の制御状態を示すセンサ等の複数の入力機器からの入力信号をＩ／Ｏ部９内の各Ｉ／Ｏ点１３および図示略のＩ／Ｏ回路を通じ、Ｉ／Ｏメモリ７に取り込むＩＮリフレッシュ処理を行い、プログラムメモリ５内のシーケンスプログラムに基づき演算実行し、その演算実行結果をＩ／Ｏメモリ７に書き込むと共にその書き込んだ演算実行結果をＩ／Ｏ部９内の図示略の出力回路およびＩ／Ｏ点１３を通じて制御対象を駆動するアクチュエータ等の複数の出力機器側へ、その制御のための出力信号を送り出すＯＵＴリフレッシュ処理を行う。
【００１９】
実施の形態では、ＣＰＵ３やＩ／Ｏ部９等が同一モジュール内に内蔵した一体型であったが、ＣＰＵ３とＩ／Ｏ部９とを別々のモジュールに内蔵させたビルディングブロックタイプでもよい。
【００２０】
ＣＰＵ３は、動作クロック生成部１１から与えられる動作クロックに従い上記シーケンスプログラムを実行するようになっている。
【００２１】
図２を参照して動作クロック生成部１１は、原発振部１１ａと、周波数逓減部１１ｂと、周波数逓倍部１１ｃとを含む。
【００２２】
原発振部１１ａは、水晶やセラミックによる高精度発振が可能なものでｆ０＝１００ＭＨｚの原クロックＣＬＫ０を生成すると共に、その生成した原クロックＣＬＫ０を周波数逓減部１１ｂと、周波数逓倍部１１ｃとのそれぞれに入力する。
【００２３】
周波数逓減部１１ｂは、原発振部１１ａから原クロックＣＬＫ０を入力されると共にＣＰＵ３からの逓減係数Ｎｄを入力されると、原クロックＣＬＫ０の周波数ｆ０に逓減係数Ｎｄを乗算することで、この乗算値ｆ０×ＮｄをＣＰＵ３の動作クロックＣＬＫ１の周波数として、その動作クロックＣＬＫ１をＣＰＵ３に出力する。
【００２４】
周波数逓倍部１１ｃは、原発振部１１ａから原クロックＣＬＫ０を入力されると共にＣＰＵ３からの逓倍係数Ｎｍを入力されると、原クロックＣＬＫ０の周波数ｆ０に逓倍係数Ｎｍを乗算することで、この乗算値ｆ０×ＮｍをＣＰＵ３の動作クロックＣＬＫ２の周波数として、その動作クロックＣＬＫ２をＣＰＵ３に出力する。
【００２５】
上記逓減係数Ｎｄは、Ｉ／Ｏ点１３の点数が１−１０であり、Ｉ／Ｏ点１３の点数が１１−５０のときＮｄ＝１／５であり、Ｉ／Ｏ点１３の点数が５１−１００のときＮｄ＝１／２である。
【００２６】
また、上記逓倍係数Ｎｍは、Ｉ／Ｏ点１３の点数が１０１−２００のときＮｍ＝１であり、Ｉ／Ｏ点１３の点数が２０１−５００のときＮｍ＝２であり、Ｉ／Ｏ点１３の点数が５０１−１０００のときＮｍ＝４である。
【００２７】
図３を参照してＣＰＵ３による動作クロックＣＬＫ１，ＣＬＫ２の設定を説明する。ＣＰＵ３は、例えばＩ／Ｏ点１３の点数（Ｉ／Ｏ点数）が１０００あるときにおいて、プログラムメモリ５に格納のラダープログラムを実行する上においては、実際に入出力機器が接続されるＩ／Ｏ点数を予めデータとして内部に記憶している。このＩ／Ｏ点数は、ユーザが作成するラダープログラムにより相違している。ＣＰＵ３はこのラダープログラムを初回スキャンすることで、このＩ／Ｏ点数をデータ入力する。ＣＰＵ３は、ステップｎ１では、上記スキャンでＩ／Ｏ点数を検出する。
【００２８】
ステップｎ２でＩ／Ｏ点数が１００以下のときは、逓減係数Ｎｄを周波数逓減部１１ｂに入力してステップｎ３１以降を実行する。この場合、ステップｎ３１でＩ／Ｏ点数を１−１０、ステップｎ３２で１１−５０、ステップｎ３３で５１−１００に設定し、ステップｎ４１でＮｄ＝１／１０，ステップｎ４２でＮｄ＝１／５，ステップｎ４３でＮｄ＝１／２に設定する。また、この場合は、周波数逓倍部１１ｃには逓倍係数Ｎｍを入力しないことで、周波数逓倍部１１ｃを不動作状態とする。そして、ステップｎ５１でＣＬＫ１＝１００×１／１０、ステップｎ５２で、ＣＬＫ１＝１００×１／５、ステップｎ５３でＣＬＫ１＝１００×１／２の演算を行い、この演算結果の周波数を有する動作クロックＣＬＫ１をＣＰＵ３の動作クロックとして出力する。
【００２９】
一方、ステップｎ２でＩ／Ｏ点数が１００超のときは、逓倍係数Ｎｍを周波数逓倍部１１ｃに入力してステップｎ６１以降を実行する。この場合、ステップｎ６１でＩ／Ｏ点数を１０１−２００、ステップｎ６２で２０１−５００、ステップｎ６３で５０１−１０００に設定し、ステップｎ７１でＮｍ＝１，ステップｎ７２でＮｍ＝２，ステップｎ７３でＮｍ＝４に設定する。また、この場合は、周波数逓減部１１ｂには逓減係数Ｎｄを入力しないことで、周波数逓減部１１ｂを不動作状態とする。そして、ステップｎ８１でＣＬＫ２＝１００×１、ステップｎ８２で、ＣＬＫ２＝１００×２、ステップｎ８３でＣＬＫ２＝１００×４の演算を行い、この演算結果の周波数を有する動作クロックＣＬＫ２をＣＰＵ３の動作クロックとして出力する。
【００３０】
以上から、実施の形態では、Ｉ／Ｏ点数が一定数以下に少ないときは、動作クロックの周波数を逓減することで、消費電力を減らすことができ、また、Ｉ／Ｏ点数が一定数以上に多いときは、動作クロックの周波数を逓倍することで、ＣＰＵ３におけるラダープログラム実行上の処理速度の低下を防止することができるようになっている。
【符号の説明】
【００３１】
１  プログラマブルコントローラ
３  ＣＰＵ
５  プログラムメモリ
７  Ｉ／Ｏメモリ
９  Ｉ／Ｏ部
１１  動作クロック生成部
１１ａ  原発振部
１１ｂ  周波数逓減部
１１ｃ  周波数逓倍部
１３  Ｉ／Ｏ点
【図１】
2010204997.tif 000003
【図２】
2010204997.tif 000004
【図３】
2010204997.tif 000005