(57)【特許請求の範囲】
【請求項１】
入力モジュールと、出力モジュールと、ユーザプログラムを格納したユーザプログラムメモリと、前記入力モジュールからのデータの入力または前記出力モジュールへのデータの出力の変化回数を書き込む書き込み計数部と、前記ユーザプログラムを実行することにより前記入力モジュールからデータを取り込み演算して前記出力モジュールへ出力する演算器とをシステムバスで接続し、
前記演算器に演算器切換器とシステムタイマとシステムプログラムメモリを接続して構成し、
前記演算器は、
予め単位時間の基準書き込みカウンタ数Ｎを設定し、
単位時間毎のデータの書き込み回数ｎを前記書き込み計数部から前記システムバスを介して読み出し、前記Ｎとｎを比較し、
Ｎ≧ｎであれば、イベントドリブン方式に切り換え、
Ｎ＜ｎであれば、スキャンニング方式を持続する
ことを特徴とするプログラマブルコントローラ。
【請求項２】
入力モジュールと、出力モジュールと、ユーザプログラムを格納したユーザプログラムメモリと、前記ユーザプログラムを実行することにより前記入力モジュールからデータを取り込み演算して前記出力モジュールへ出力する演算器とをシステムバスで接続し、
前記演算器にシステムプログラムメモリを接続し、
前記演算器のハードウエア内に、前記入力モジュールからのデータの入力または前記出力モジュールへのデータの出力の変化回数を書き込む書き込み計数部と演算器切換器とシステムタイマとを配設して構成し、
前記演算器は、
予め単位時間の基準書き込みカウンタ数Ｎを設定し、
単位時間毎のデータの書き込み回数ｎを前記書き込み計数部から読み出し、前記Ｎとｎを比較し、
Ｎ≧ｎであれば、イベントドリブン方式に切り換え、
Ｎ＜ｎであれば、スキャンニング方式を持続する
ことを特徴とするプログラマブルコントローラ。
【請求項３】
請求項１または２において、
前記書き込み計数部は出力への異なったデータの書き込み回数をカウントするものであり、
前記演算器は、起動直後にスキャンニング方式を実行し、このスキャンニング方式を実行中に単位時間毎の出力への異なったデータの書き込み回数ｎを前記書き込み計数部から読み出し、前記Ｎとｎを比較し、Ｎ≧ｎであれば、イベントドリブン方式に切り換えて停止もしくは省エネルギーモードとし、Ｎ＜ｎであれば、スキャンニング方式を持続する
ことを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラマブルコントローラ（以下、ＰＣという）に係り、特に入出力に変化がない場合に演算装置を停止させ、消費電力を低減させる方式に関するものである。
【０００２】
【従来の技術】
図７を参照して従来のＰＣにおけるスキャンニング処理を説明する。
図７は、従来のＰＣのブロック構成図である。
図７において、１は、処理動作を指示するプログラム等を格納するユーザプログラムメモリ、２は、ユーザプログラムメモリ内のプログラムを所定の順序で取り出し、データの取り込み、演算し、送り出しを行う演算器、４は、ＰＣを操作するためのプログラムを格納するシステムＲＯＭ、５は、入力信号を処理する入力モジュール、６は、入力モジュール，出力モジュール，ユーザプログラムメモリ，演算器等を接続しデータ交換を行うシステムバス、８は、一定周期ごとに、ＰＣが必ず処理しなければならないシステム処理（タイマなどの更新や書き込みカウンタの監視など）を起動するタイマであり、このシステム処理を該タイマの出力コイルの変化を検出し、システム処理の状況をしるシステムタイマ、９は、システムタイマと演算器間の一定周期信号、１０は、外部機器を駆動する出力信号を保持する出力モジュールである。
そして、演算器２には、ユーザプログラムメモリ１と、入力モジュール５と、出力モジュール５がシステムバス６により接続されており、さらに、システムＲＯＭ４およびシステムタイマ８が該演算器２に接続されＰＣが構成されている。
【０００３】
図８を参照して、上記スキャンニング処理の説明を進める。
図８は、従来のＰＣにおけるスキャンニング処理のシーケンス図である。
図示するように、リミツトスイッチ，リレー接点等の外部入力Ｘ0，Ｘ1の変化、例えばＯＮ／ＯＦＦ信号を入力モジュール５を通して演算部２、例えばＣＰＵ部に取り込まれる。
外部入力Ｘ0，Ｘ1が同時にＯＮすれば、出力Ｙ0がＯＮする。また、外部入力Ｘ2あるいはＸ3がＯＮすれば、出力Ｙ1がＯＮするように構成してある。
【０００４】
次ぎに、図９の動作を説明する。
図９は、スキャンニング処理のフロチャート図である。演算部２は、入力モジュール５に現在の入力状態、図８のＸ0〜Ｘ3を読み込む。読み込まれたＸ0〜Ｘ3に対して、ユーザプログラムメモリ１に格納されているプログラムにしたがって演算する。その演算結果に対応して１ステップ毎に読み込み、逐次、プログラムが実行されるため、出力モジュール５に書き込まれ、出力される。この実行動作が、前記ユーザープログラムの最終ステップまで繰り返えされる。システムタイマ８は、ユーザープログラムの最初から最終ステップまでのスキャンニング周期信号や必要な処理をするためのタイム信号を出力している。前記ユーザープログラムは、どこの入力を取り込み、どのような演算を実行し、どこに出力するという内容を記述しているものである。
【０００５】
従来では、上記のように、該ユーザプログラム１を先頭から最後まで走査し、再び先頭に戻り、繰り返すというスキャンニング方式で入力変化を検出し、制御が実行されていた。このスキャンニングタイムは、シーケンスプログラムのステップ数や処理内容によって異なるが、数ｍｓｅｃから数十ｍｓｅｃ程度が一般的である。
【０００６】
近時、ＰＣは、種々の機能が要請され、多機能化してプログラム容量が益々大になってきた。上記スキャンニング方式では、プログラム容量が大きくなると、そのスキャンニング時間も比例してさらに長くなり、このため、入力変化の間隔より前記スキャンニングの検出間隔が長くなり、該入力変化、例えば１０ｍｓｅｃ程度の変化を取り込めない場合が発生することがある。
【０００７】
これに対する手段として、従来ではスキャンニング時間を短縮するという方法で、上記問題に対応していたことが多かった。すなわち、演算器の演算速度をより早くし、スキャンニング速度を早め、スキャンニング時間を短縮するという方法である。このスキャンニング時間を短縮することは、高速な演算器や多量のメモリなどを必要とされる。該高速な演算器は、その消費電力が使用周波数に比例して大きくなるので、高速にすればするほど、該演算器の消費電力が多くなっていた。
【０００８】
【発明が解決しようとする課題】
従来技術のプログラマブルコントローラでは、入出力の変化の検出を全てユーザプログラムのスキャンニングの実行で行うため、制御動作の実行時間がスキャンタイムにより規定されており、基本的にはそれ以上の速い処理や応答に追従することができなかった。
【０００９】
そのため、システム全体の応答性を高めるには、演算速度を速くし、スキャンタイムを小にしなければならない。通常、演算速度を速くするためには、高速な演算器や高速メモリなどを用いられるが、一般的にいえば、処理速度が速いものは、消費電力も処理速度に比例して大きくなる。ＰＣの消費電力の大部分は、演算器が占めるので、演算速度の速い演算器を用いて、スキャンニング方式を採用すると、結果として消費電力が増大するという欠点があった。
【００１０】
この欠点に対して、入力モジュールを有するＰＣにおいて、制御対象からの受信情報を前回と今回とを比較して変化がないときには、該入力モジュールからの情報の読みだしを中止するＰＣがある。これに関連するものとしては、特開平３−２９６１０４号公報記載の技術がある。
また、シ−ケンス制御装置において、常時はプログラム処理装置の作動を抑止し、情報変化があったときにプログラム処理装置がプログラムを一度実行する間、該プログラム処理装置を作動させるようにしたシ−ケンス制御装置がある。
これに関連するものとしては、特開昭５４−６２４７４号公報記載の技術がある。
【００１１】
上記前者については、入出力信号の転送処理回数が減少するので入出力信号処理に割り当てた時間領域に空き時間が生じ、システム処理が有効的に実行できるが、消費電力については配慮が不十分であった。
上記後者については、プログラム処理装置の消費電力および発熱については、考慮されているが、常時、プログラム処理装置の作動を抑止しているため、変化が多かったり、少なかったたりする制御対象との適応性については配慮が不十分であった。
【００１２】
本発明は、かかる従来技術の問題点を解決するためになされたもので、ユーザプログラムの実行をスキャンニング方式のみでは行わずに、入力及び出力変化を検出し、該入力及び出力変化の状態で、ユーザプログラムの実行を、いわゆるイベントドリブンで行うことにより、高速演算が必要な期間以外は、演算器を停止あるいは演算の実行速度を遅くすることにより、変化が多様な制御対象にも適宜対応すると共に、該演算器の消費電力を低減させるＰＣを提供することをその目的とする。
【００１３】
【課題を解決するための手段】
前記目的を達成するため、本発明の第１の態様は、入力モジュールと、出力モジュールと、ユーザプログラムを格納したユーザプログラムメモリと、前記入力モジュールからのデータの入力または前記出力モジュールへのデータの出力の変化回数を書き込む書き込み計数部と、前記ユーザプログラムを実行することにより前記入力モジュールからデータを取り込み演算して前記出力モジュールへ出力する演算器とをシステムバスで接続し、前記演算器に演算器切換器とシステムタイマとシステムプログラムメモリを接続して構成し、前記演算器は、予め単位時間の基準書き込みカウンタ数Ｎを設定し、単位時間毎のデータの書き込み回数ｎを前記書き込み計数部から前記システムバスを介して読み出し、前記Ｎとｎとを比較し、Ｎ≧ｎであれば、イベントドリブン方式に切り換え、Ｎ＜ｎであれば、スキャンニング方式を持続することを特徴とする。
前記目的を達成するため、本発明の第２の態様は、入力モジュールと、出力モジュールと、ユーザプログラムを格納したユーザプログラムメモリと、前記ユーザプログラムを実行することにより前記入力モジュールからデータを取り込み演算して前記出力モジュールへ出力する演算器とをシステムバスで接続し、前記演算器にシステムプログラムメモリを接続し、前記演算器のハードウエア内に、前記入力モジュールからのデータの入力または前記出力モジュールへのデータの出力の変化回数を書き込む書き込み計数部と演算器切換器とシステムタイマとを配設して構成し、前記演算器は、予め単位時間の基準書き込みカウンタ数Ｎを設定し、単位時間毎のデータの書き込み回数ｎを前記書き込み計数部から読み出し、前記Ｎと前記ｎとを比較し、Ｎ≧ｎであれば、イベントドリブン方式に切り換え、Ｎ＜ｎであれば、スキャンニング方式を持続することを特徴とする。
本発明の第１及び第２の態様におけるより好ましい具体的構成例は次の通りである。
（１）前記書き込み計数部は出力への異なったデータの書き込み回数をカウントするものであり、前記演算器は、起動直後にスキャンニング方式を実行し、このスキャンニング方式を実行中に単位時間毎の出力への異なったデータの書き込み回数ｎを前記書き込み計数部から読み出し、前記Ｎとｎを比較し、Ｎ≧ｎであれば、イベントドリブン方式に切り換えて停止もしくは省エネルギーモードとし、Ｎ＜ｎであれば、スキャンニング方式を持続すること。
【００１９】
【発明の実施の形態】
以下、本発明に係るＰＣの一実施形態を図１ないし図６を参照して説明する。図１は、本発明に係るＰＣの一実施形態の構成図、図２は、図１のイベントドリブン方式処理のフローチャート説明図、図３は、図１のＰＣのイベントドリブン方式とスキャン方式の説明図、図４は、図１のＰＣのイベントドリブン方式処理説明図、図５は、図１のＰＣの他の一実施形態の入力モジュールの構成図、図６は、本発明に係るＰＣのさらに他の一実施形態の構成図である。
【００２０】
図１において、本発明に係る一実施形態の基本的なＰＣの構成は、図７の従来におけるＰＣと同一仕様の部分が多いので、説明を省略する。また、図１において、図７と同一符号は、同一機能であるので説明を省略し、特徴的な構成部分を説明する。
図１において、２は、高速処理モードにおいては、ユーザプログラムメモリ内のプログラムを所定の順序で取り出し、データの取り込み、演算し、送り出しを行い、低電力消費モードに切り換えられた場合においては、停止もしくは低速処理を行い、イベントドリブンの場合のみ高速処理を行う演算器、３は、入力モジュール６，出力モジュール１０の状態に応じて、演算器と該ＰＣの動作モードを変更させる演算停止器、６は、入力モジュール，出力モジュール，ユーザプログラムメモリ，演算器，書き込みカウンタ等を接続しデータ交換を行うシステムバス、７は、入力変化割込み信号、１１は、異なった出力信号の回数を数える書き込みカウンタ、１２は、書き込みカウンタ１１のクリア信号である。
【００２１】
上記各機器を接続した図１のＰＣの構成も図７とほぼ同様であるが、相違点を説明する。図１のＰＣは、書き込みカウンタ１１をシステムバス６に接続すると共に、該システムバス６を介して演算器２からの出力モジュール１０への異なったデータの書き込み回数をカウントしたり、演算器２で該カウント数を読み出したりする。演算停止器３は、演算器２と接続され、該カウント数の大小により、該演算器２を低消費モードもしくは停止させたりする。また、システムタイマ８と接続され、該システムタイマ８から必要な信号、例えば書き込みカウンタ１１のクリア信号を単位時間毎に出力させるようになっている。
【００２２】
図１、２を参照して、上記構成のＰＣを説明する。
いま、ＰＣは、スキャンニング方式で動作させているとする。演算器２等は、通常の電力を消費している（ステップＳ1）。
次ぎに、本実施形態では、出力への異なったデータの書き込み回数を数える書き込みカウンタ１１を設け、該書き込みカウンタ１１で演算器２からの出力モジュール１０に対する異なったデータの書き込み回数をカウントする（ステップＳ2）。
【００２３】
該出力モジュール１０への異なったデータが書き込まれるときは、入力が変化しているので、入力変化の検出を出力への異なったデータの書き込み回数で検出することになる。単位時間毎の前記データの書き込み回数ｎをカウンタ１１からシステムバスを介して演算器２へ送信するか、演算器２がシステムバスを介してカウンタ１１から読みだすことになる。（ステップＳ3）。
演算器２には、予め単位時間の基準書き込みカウンタ数Ｎを設定しておき、Ｎとｎとを比較する。これにより、演算器２は、前記書き込み回数を監視し、単位時間の書き込み回数が少なくなるということで、制御対象系の変化が少なくなったと判定することができる。（ステップＳ4）。
【００２４】
その結果、Ｎ≧ｎであれば、出力への異なったデータ数が小、制御対象の変化が少ないと判断し、イベントドリブン方式に切り換え、演算停止器３は、演算器２を停止もしくは省エネルギーモードに切り換える。停止もしくは省エネルギーモードの切り換えは、供給電圧の低減回路もしくはシーケンスタイマの周波数低減回路で容易にすることができる（ステップＳ5）。
Ｎ＜ｎであれば、スキャンニング方式を持続する（ステップＳ6）。
次ぎに、システムタイマ８からの信号１２により、単位時間で書き込みカウンタ１１をクリアさせ、ステップＳ2へ戻り、ステップＳ6までを繰り返す。
【００２５】
このようにして、演算停止器３は、演算器２を低消費電力モードまたは停止させると共に、ＰＣの動作モードを通常のスキャンニング方式から、入力変化割り込み信号７の検出による演算方式、イベントドリブン方式に変更することができる。
【００２６】
さらに、図３ないし図６を参照し、スキャンニング方式と本発明に係るイベントドリブン方式の差を説明し、イベントドリブン方式によるＰＣの動作を説明する
図３分図（ａ）に示す如く、スキャンニング方式では、演算部２は、システムタイマ８からの指示信号により、ユーザプログラム全体について、（イ），（ロ），（ハ）で逐次検出するものである。
【００２７】
図３分図（ｂ），（ｃ）に示す如く、イベントドリブン方式ではユーザプログラムにおいて、入力変化が表われたときのみ、演算器２は割込み処理をし、他の場合は、演算器２を低消費電力モードまたは停止させておくものである。
図３分図（ｂ）は、立上りエッジでイベントドリブンになる場合であり、図３分図（ｃ）は、立下りエッジでイベントドリブンになる場合である。
いずれでも差し支えないが、本説明においては、立上りエッジでイベントドリブンになる場合を例にとり、説明することにする。
【００２８】
図４において、まず、ＰＣの制御対象の起動直後では変化が多いため、演算器２は、電力消費の多い高速処理によるスキャンニング方式を実行しているが、制御対象の変化が少なくなるにしたがい、上記の如く、書き込みカウンタ１１の出力モジュール１０への異なるデータ入力のカウント数の大小により、演算停止器３が演算器２を低電力消費モードもしくは停止させる。
【００２９】
上記状態で、書き込みカウンタ１１のカウント数が小となり、演算器２がイベントドリブン方式となり、割込みプログラムの実行で、そのときのみ高速処理モードとなり、必要な処理を割込み処理で行い完了すれば、再び演算停止器３が演算器２を低電力消費モードもしくは停止させるモードとなる。
【００３０】
本発明に係るＰＣは、上記実施形態に限定されるものではなく、入力モジュールや書き込みカウンターに多くの変形例が考えられる。
図５は、図１のＰＣの入力モジュールの他の構成例である。
図２は、１モジュール１６点の場合を例示しているが、微分回路１３をそれぞれの制御対象機器からの入力信号１６の取り込み回路に設け、微分回路１３の出力の論理演算器１４により和信号１５を検出し、入力変化割り込みとして演算器２に出力する。この和信号１５により入力の変化があったことを演算器２にしらせ、イベントドリブン処理を演算器２が行うようにする。
【００３１】
また、図６に図示するような予め本発明に係るＰＣに適するように最適化した演算器２Ａを用いた場合の実施形態である。この演算器２内に、システムタイマ８、書き込みカウンタ１１、割り込み制御回路１８を該演算器２のハードウェア内に配設して構成し、システムソフトに対する負担を少なくした例である。図６に示すＰＣは、図１と同様であるので、詳細な説明を省略する。
【００３２】
【発明の効果】
以上詳細に説明した如く、本発明の構成によれば、起動開始直後の制御処理系が不安定な場合は、通常のＰＣと同様に高速度スキャンニングによりユーザプログラムの演算を行い、これにより割り込みを用いて処理を行った場合のオーバヘッド等による応答速度の低下を防ぐことができる。
また、制御処理系が安定して入力の変化が少なくなってきた場合、該入力変化の大小を書き込みカウンタにて判断し、入力変化検出によるイベントドリブン処理方法に切り替えると共に、演算器を低消費電力モードや停止に切り替えることにより、該ＰＣの機能を損なわずに、演算装置の消費電力を低減することができる。
【図面の簡単な説明】
【図１】本発明に係るＰＣの一実施形態の構成図である。
【図２】図１のイベントドリブン方式処理のフローチャート説明図である。
【図３】図１のＰＣのイベントドリブン方式とスキャン方式の説明図である。
【図４】図１のＰＣのイベントドリブン方式処理説明図である。
【図５】図１のＰＣの他の一実施形態の入力モジュールの構成図である。
【図６】本発明に係るＰＣのさらに他の一実施形態の構成図である。
【図７】従来のＰＣのブロック構成図である。
【図８】従来のＰＣにおけるスキャンニング処理のシーケンス図である。
【図９】スキャンニング処理のフロチャート図である。
【符号の説明】
１…ユーザプログラムメモリ、２…演算器、２Ａ…最適化演算器、３…演算停止器、４…システムＲＯＭ、５…入力モジュール、６…データバス、７…入力変化割り込み、８…システムタイマ、９…タイマ割り込み、１０…出力モジュール、１１…書き込みカウンタ、１２…カウンタクリア信号、１３…微分回路、１４…論理演算器（和）１５…割り込み信号、１６…機器からの入力信号、１７…入力データ、１８…割り込み制御回路
【図１】
0004054448.tif 000002
【図２】
0004054448.tif 000003
【図３】
0004054448.tif 000004
【図４】
0004054448.tif 000005
【図５】
0004054448.tif 000006
【図６】
0004054448.tif 000007
【図７】
0004054448.tif 000008
【図８】
0004054448.tif 000009
【図９】
0004054448.tif 000010