JP2010204997A - プログラマブルコントローラにおいてi/o点数に応じたcpu駆動システム - Google Patents
プログラマブルコントローラにおいてi/o点数に応じたcpu駆動システム Download PDFInfo
- Publication number
- JP2010204997A JP2010204997A JP2009050293A JP2009050293A JP2010204997A JP 2010204997 A JP2010204997 A JP 2010204997A JP 2009050293 A JP2009050293 A JP 2009050293A JP 2009050293 A JP2009050293 A JP 2009050293A JP 2010204997 A JP2010204997 A JP 2010204997A
- Authority
- JP
- Japan
- Prior art keywords
- frequency
- cpu
- points
- clock
- operation clock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Power Sources (AREA)
Abstract
【課題】I/O点数に応じてCPUでの信号処理速度を所望する速度に維持する一方で、同時に、必要以上の電力消費を抑制し得るプログラマブルコントローラを提供する。
【解決手段】本発明によるプログラマブルコントローラ1は、CPU3の動作クロックの周波数設定に用いる原クロックの周波数をI/O点数が一定数以下に減るとその減少に合わせて逓減し、また、一定数以上に増えるとその増加に合わせて逓倍して、CPU3の動作クロックの周波数を調整する。
【選択図】図2
【解決手段】本発明によるプログラマブルコントローラ1は、CPU3の動作クロックの周波数設定に用いる原クロックの周波数をI/O点数が一定数以下に減るとその減少に合わせて逓減し、また、一定数以上に増えるとその増加に合わせて逓倍して、CPU3の動作クロックの周波数を調整する。
【選択図】図2
Description
本発明は、産業機械等の制御に用いるプログラマブルコントローラにかかり、特に、プログラマブルコントローラ内のCPUをI/O点数に応じて駆動するシステムに関するものである。
プログラマブルコントローラは制御システム上の機械や設備等をユーザプログラムに従いシーケンス制御する装置として用いられている。プログラマブルコントローラは、ユーザ回路から入力した入力信号に基づき、動作プログラムに従い演算し、その演算結果からユーザ回路に出力信号を出力する。ここで、ユーザ回路は、ユーザ設備である機械や装置等と共に、これらの状態を検知するセンサ等の入力機器やこれらを駆動するアクチュエータ等の出力機器等を含む。
このようなプログラマブルコントローラにおいては、内部に、制御を司るCPU、プログラム格納やワークに用いるメモリ、ユーザ回路である入出力機器が接続されるインターフェースとしての入出力部、およびこれらPLC内各部に電力を供給する電源部、を備えている。
そして、プログラマブルコントローラのCPUは、メモリに記憶されているプログラム命令を読み出し、実行する。そして、その場合のCPUのデータバス幅と命令コードのビット数とは一致している。また、CPUがRISC(Reduced Instruction Set Computer)型として構成されている場合、プログラム命令の読出しは通常1サイクル毎に行なわれ、CPUの動作は、動作クロックの速度に律速される。動作クロックの速度であるクロック周波数は、CPUがデータを処理する速度を表した数値である。このクロック周波数は、CPUの命令実行タイミングを制御するものなので、クロック周波数が高くなるほどプログラマブルコントローラの実行速度は向上し、処理速度も向上する。しかし、その一方、動作クロックの周波数を同一の一定値として動作させると、CPUでの消費電力量が必要以上に増大することがあるという課題があった。
この課題に対して、全体を同一クロック周波数を用いて動作させるのではなく、基準(原)クロック周波数よりも低いクロック周波数で動作可能な回路は、基準クロックを分周したクロック周波数を用いて動作させるようにして低消費電力化した技術が提案されている(特許文献1)。
また、原クロック信号を分周回路で分周して内部クロック信号の周波数を低下させ、前記集積回路が待機状態のときに、この周波数を低下させた内部クロック信号を供給するようにして低消費電力化した技術も提案されている(特許文献2)。
しかしながら、単純にプログラマブルコントローラにおいては、原クロック信号の周波数を単に分周してCPUの動作クロック周波数を低下させてしまうと、入力機器や出力機器等の負荷が接続されるI/O点数が多い場合にはCPU動作速度が遅すぎ、I/O信号を処理しきれなくなる一方、上記負荷が接続されるI/O点数が少ない場合には、CPUの動作上の電力消費が過剰となる。
本発明により解決すべき課題は、負荷が接続されるI/O点の点数に応じてそのI/O点における入力信号、出力信号の処理速度を適正に所望する速度に維持する一方で、同時に、必要以上の電力消費を抑制可能にすることである。
本発明第1によるプログラマブルコントローラは、CPUの動作クロックの周波数設定に用いる原クロックの周波数をI/O点数が一定数以下に減るとその減少に合わせて段階的または漸次に逓減し、また、一定数以上に増えるとその増加に合わせて段階的または漸次に逓倍して、CPUの動作クロック周波数を調整するようにした、ことを特徴とするものである。
本発明第1では、入出力機器が接続されて使用されるI/O点の点数に応じた動作クロック周波数でCPUを動作させることができるので、上記I/O点への信号の入出力処理速度をI/O点数に応じた所定速度に維持することができる一方で、CPUの動作クロックの周波数を適正に維持して、CPUの動作による電力の必要以上の消費を抑制することができるようになる。
本発明第2によるプログラマブルコントローラは、動作クロックに応じて入出力機器との間での信号に対してプログラムを実行するCPUと、上記信号を入出力するために該入出力機器が接続される複数のI/O点と、上記動作クロックを生成し、その生成した動作クロックをCPUに入力する動作クロック生成部と、を備え、上記CPUは、上記複数のI/O点のうち入出力機器が接続されて使用されるI/O点数を検出するステップと、この検出したI/O点数に対応して原クロック周波数に対する逓減係数または逓倍係数を演算して動作クロック生成部に入力するステップと、を実行し、上記動作クロック生成部は、原クロックの周波数に対して上記逓減係数または逓倍係数を乗算するステップと、このステップで得られる周波数をCPUの動作クロックの周波数に設定し、その周波数を持つ動作クロックをCPUに入力するステップと、を実行する、ことを特徴とする。
本発明によれば、負荷が接続されるI/O点の点数に応じてそのI/O点における入力信号、出力信号の処理速度を適正に所望する速度に維持する一方で、同時に、必要以上の電力消費を抑制することができる。
以下、添付した図面を参照して、本発明の実施の形態に係るプログラマブルコントローラを説明する。図1は本発明の実施の形態にかかるプログラマブルコントローラの概略ブロック構成、図2は図1のプログラマブルコントローラ内の動作クロック生成部の詳細ブロック構成、図3は動作説明に用いるフローチャートを示す。
同図を参照して、プログラマブルコントローラ1は、内部に、CPU3、プログラムメモリ5、I/Oメモリ7、I/O部9を有すると共に、動作クロック生成部11を備えている。
I/O部9には、複数のI/O(入出力)点13が接続されている。ただし、I/O部9は、信号を入出力する図示略のI/O回路と共に、これらI/O点13を内蔵するが、図解の都合で、I/O部9とI/O点13とを図上では別々に示したうえで、これらI/O点13をプログラマブルコントローラ1外に図示している。このI/O点13には図示略のセンサ等の入力機器やアクチュエータ等の出力機器が接続されている。また、I/Oメモリ7はCPU3外に図示したが、CPU3はI/Oメモリ7を内部に備えることもできる。
CPU3は、制御対象である機械や設備の制御状態を示すセンサ等の複数の入力機器からの入力信号をI/O部9内の各I/O点13および図示略のI/O回路を通じ、I/Oメモリ7に取り込むINリフレッシュ処理を行い、プログラムメモリ5内のシーケンスプログラムに基づき演算実行し、その演算実行結果をI/Oメモリ7に書き込むと共にその書き込んだ演算実行結果をI/O部9内の図示略の出力回路およびI/O点13を通じて制御対象を駆動するアクチュエータ等の複数の出力機器側へ、その制御のための出力信号を送り出すOUTリフレッシュ処理を行う。
実施の形態では、CPU3やI/O部9等が同一モジュール内に内蔵した一体型であったが、CPU3とI/O部9とを別々のモジュールに内蔵させたビルディングブロックタイプでもよい。
CPU3は、動作クロック生成部11から与えられる動作クロックに従い上記シーケンスプログラムを実行するようになっている。
図2を参照して動作クロック生成部11は、原発振部11aと、周波数逓減部11bと、周波数逓倍部11cとを含む。
原発振部11aは、水晶やセラミックによる高精度発振が可能なものでf0=100MHzの原クロックCLK0を生成すると共に、その生成した原クロックCLK0を周波数逓減部11bと、周波数逓倍部11cとのそれぞれに入力する。
周波数逓減部11bは、原発振部11aから原クロックCLK0を入力されると共にCPU3からの逓減係数Ndを入力されると、原クロックCLK0の周波数f0に逓減係数Ndを乗算することで、この乗算値f0×NdをCPU3の動作クロックCLK1の周波数として、その動作クロックCLK1をCPU3に出力する。
周波数逓倍部11cは、原発振部11aから原クロックCLK0を入力されると共にCPU3からの逓倍係数Nmを入力されると、原クロックCLK0の周波数f0に逓倍係数Nmを乗算することで、この乗算値f0×NmをCPU3の動作クロックCLK2の周波数として、その動作クロックCLK2をCPU3に出力する。
上記逓減係数Ndは、I/O点13の点数が1−10であり、I/O点13の点数が11−50のときNd=1/5であり、I/O点13の点数が51−100のときNd=1/2である。
また、上記逓倍係数Nmは、I/O点13の点数が101−200のときNm=1であり、I/O点13の点数が201−500のときNm=2であり、I/O点13の点数が501−1000のときNm=4である。
図3を参照してCPU3による動作クロックCLK1,CLK2の設定を説明する。CPU3は、例えばI/O点13の点数(I/O点数)が1000あるときにおいて、プログラムメモリ5に格納のラダープログラムを実行する上においては、実際に入出力機器が接続されるI/O点数を予めデータとして内部に記憶している。このI/O点数は、ユーザが作成するラダープログラムにより相違している。CPU3はこのラダープログラムを初回スキャンすることで、このI/O点数をデータ入力する。CPU3は、ステップn1では、上記スキャンでI/O点数を検出する。
ステップn2でI/O点数が100以下のときは、逓減係数Ndを周波数逓減部11bに入力してステップn31以降を実行する。この場合、ステップn31でI/O点数を1−10、ステップn32で11−50、ステップn33で51−100に設定し、ステップn41でNd=1/10,ステップn42でNd=1/5,ステップn43でNd=1/2に設定する。また、この場合は、周波数逓倍部11cには逓倍係数Nmを入力しないことで、周波数逓倍部11cを不動作状態とする。そして、ステップn51でCLK1=100×1/10、ステップn52で、CLK1=100×1/5、ステップn53でCLK1=100×1/2の演算を行い、この演算結果の周波数を有する動作クロックCLK1をCPU3の動作クロックとして出力する。
一方、ステップn2でI/O点数が100超のときは、逓倍係数Nmを周波数逓倍部11cに入力してステップn61以降を実行する。この場合、ステップn61でI/O点数を101−200、ステップn62で201−500、ステップn63で501−1000に設定し、ステップn71でNm=1,ステップn72でNm=2,ステップn73でNm=4に設定する。また、この場合は、周波数逓減部11bには逓減係数Ndを入力しないことで、周波数逓減部11bを不動作状態とする。そして、ステップn81でCLK2=100×1、ステップn82で、CLK2=100×2、ステップn83でCLK2=100×4の演算を行い、この演算結果の周波数を有する動作クロックCLK2をCPU3の動作クロックとして出力する。
以上から、実施の形態では、I/O点数が一定数以下に少ないときは、動作クロックの周波数を逓減することで、消費電力を減らすことができ、また、I/O点数が一定数以上に多いときは、動作クロックの周波数を逓倍することで、CPU3におけるラダープログラム実行上の処理速度の低下を防止することができるようになっている。
1 プログラマブルコントローラ
3 CPU
5 プログラムメモリ
7 I/Oメモリ
9 I/O部
11 動作クロック生成部
11a 原発振部
11b 周波数逓減部
11c 周波数逓倍部
13 I/O点
3 CPU
5 プログラムメモリ
7 I/Oメモリ
9 I/O部
11 動作クロック生成部
11a 原発振部
11b 周波数逓減部
11c 周波数逓倍部
13 I/O点
Claims (2)
- CPUの動作クロックの周波数設定に用いる原クロックの周波数をI/O点数が一定数以下に減るとその減少に合わせて段階的または漸次に逓減し、一定数以上に増えるとその増加に合わせて段階的または漸次に逓倍して、CPUの動作クロック周波数を調整するようにした、ことを特徴とするプログラマブルコントローラ。
- 動作クロックに応じて入出力機器との間での信号に対してプログラムを実行するCPUと、上記信号を入出力するために該入出力機器が接続される複数のI/O点と、上記動作クロックを生成し、その生成した動作クロックをCPUに入力する動作クロック生成部と、を備え、
上記CPUは、上記複数のI/O点のうち入出力機器が接続されて使用されるI/O点数を検出するステップと、この検出したI/O点数に対応して原クロック周波数に対する逓減係数または逓倍係数を演算して動作クロック生成部に入力するステップと、を実行し、
上記動作クロック生成部は、原クロックの周波数に対して上記逓減係数または逓倍係数を乗算するステップと、このステップで得られる周波数をCPUの動作クロックの周波数に設定し、その周波数を持つ動作クロックをCPUに入力するステップと、を実行する、ことを特徴とするプログラマブルコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009050293A JP2010204997A (ja) | 2009-03-04 | 2009-03-04 | プログラマブルコントローラにおいてi/o点数に応じたcpu駆動システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009050293A JP2010204997A (ja) | 2009-03-04 | 2009-03-04 | プログラマブルコントローラにおいてi/o点数に応じたcpu駆動システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010204997A true JP2010204997A (ja) | 2010-09-16 |
Family
ID=42966407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009050293A Pending JP2010204997A (ja) | 2009-03-04 | 2009-03-04 | プログラマブルコントローラにおいてi/o点数に応じたcpu駆動システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010204997A (ja) |
-
2009
- 2009-03-04 JP JP2009050293A patent/JP2010204997A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013149093A (ja) | 制御装置、制御方法、プログラムおよび電子機器 | |
JP6103783B2 (ja) | 電力制御装置 | |
JP5109935B2 (ja) | プロセッサシステムの動作方法およびプロセッサシステム | |
TW201333679A (zh) | 用於包括非圖框察知頻率選擇之能源效率及能源節約的方法、裝置及系統 | |
GB2460950A (en) | Setting the clock frequency of a processor based on the amount of work the processor has to do in a time segment | |
JP2007065756A (ja) | クロック制御回路、クロック制御方法、半導体集積回路装置、及び電子機器 | |
JP2007233718A (ja) | 制御装置及び半導体集積回路 | |
JP2010204997A (ja) | プログラマブルコントローラにおいてi/o点数に応じたcpu駆動システム | |
JP6331655B2 (ja) | インバータ制御装置 | |
CN111338451A (zh) | 控制电路及快速设定电源模式的方法 | |
JP2006320060A (ja) | 電源供給装置 | |
JP2007274868A (ja) | プログラマブルコントローラの起動方法およびプログラマブルコントローラ | |
JP2006500813A (ja) | 遅延の予測に基づく適応データ処理スキーム | |
JP2017072543A (ja) | 電子機器および電子機器のテスト方法 | |
CN101286690B (zh) | 相位控制方法及相位控制装置 | |
JP2006340438A (ja) | 電源装置、情報処理装置、および電源制御方法 | |
US20120198256A1 (en) | Method for Setting the Clock Frequency of a Microprocessor of an Industrial Automation Component, and Automation Component Having a Microprocessor with a Variable Clock Frequency | |
TWI655577B (zh) | 運算速度補償電路及其補償方法 | |
JP2009265773A (ja) | 半導体集積回路の設計方法 | |
JP5003211B2 (ja) | クロック制御回路及びクロック制御方法 | |
JP2013125288A (ja) | データ処理装置及びデータ処理方法 | |
JP5486368B2 (ja) | マイクロコンピュータ及びマイクロコンピュータの制御方法 | |
JP2007200221A (ja) | 電子機器 | |
KR100557607B1 (ko) | 클럭 발생 장치 | |
JP2015201228A (ja) | 制御装置、制御方法、プログラムおよび電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120301 |
|
A072 | Dismissal of procedure |
Free format text: JAPANESE INTERMEDIATE CODE: A073 Effective date: 20130709 |