(57)【要約】【課題】ウォッチドッグタイマーによりＣＰＵをリセットするに際して、モジュールを必要に応じてリセットして、システムの制御上の安全性を高める。【解決手段】制御プログラムを実行するＣＰＵ７を含むプログラマブルコントローラ本体１と、プログラマブルコントローラ本体１に接続されるモジュール２と、を備え、プログラマブルコントローラ本体１は、ウォッチドッグタイマー機能を有するＣＰＵ７と、モジュールに強制リセット信号を出力するモジュールリセット回路９と、を備える。ＣＰＵ７は、システム異常時にモジュールを強制リセットするか否かを決定する決定信号をモジュールリセット回路９に出力する。モジュールリセット回路９は、上記決定信号の入力に応答してモジュール２をリセットする。【選択図】図１
2011008493.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラ本体と、それによりシーケンス制御される１ないし複数のモジュールと、を含むシステムにおいて、
当該プログラマブルコントローラ本体は、
当該システムをシーケンス制御する制御プログラムを実行するもので、ウォッチドッグタイマー機能を有するＣＰＵと、
モジュールを強制リセットするモジュールリセット回路と、
を備え、
上記ＣＰＵは、ウォッチドッグタイマー機能によりシステム異常検出時には上記モジュールリセット回路にシステム異常パルスを出力し、かつ、シーケンス制御状態に応じてモジュールをリセットするか否かを決めるモジュールリセット決定信号を出力し、
上記モジュールリセット回路は、上記ＣＰＵからのシステム異常パルスが入力されると、ＣＰＵから入力するモジュールリセット決定信号に応じてモジュールをリセットする、ことを特徴とするシステム異常検出方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラシステムの分野において、ウォッチドッグタイマー内蔵ＣＰＵの当該ウォッチドッグタイマーによる当該システムの異常検出方式に関するものである。
【背景技術】
【０００２】
プログラマブルコントローラは、ユーザによりラダー言語で記述されて作成された制御プログラムを実行して、それに接続された各種機械や装置等の制御機器をシーケンス制御するようになっている。プログラマブルコントローラは、制御機器の状態に対応したスイッチやセンサ等の入力機器のＯＮ／ＯＦＦ情報を入力し、制御プログラムに沿って論理演算を実行すると共に、得られた演算結果に従い、リレー，バルブ，アクチュエータ等の出力機器に対し、ＯＮ／ＯＦＦ情報の信号を出力することで制御機器の制御を実行するようになっている。そして、このプログラマブルコントローラでは、プログラムメモリに制御プログラムを格納すると共に、ＣＰＵによりこの制御プログラム上の命令をフェッチさせて実行させることで、センサ等の入力機器からの入力信号に基づいてアクチュエータ等の出力機器に出力信号を出力して制御対象をシーケンス制御することが行われている。
【０００３】
このようなプログラマブルコントローラシステムにおいては、ＣＰＵ、メモリ、等を内蔵したプログラマブルコントローラ本体を有し、メモリには上記制御機器を制御するための制御プログラムを格納し、ＣＰＵにより制御プログラムを実行することで、プログラマブルコントローラ本体に接続された各種モジュールを制御することができるようになっている。
【０００４】
モジュールにはＩ／Ｏモジュール、通信モジュール等がある。Ｉ／Ｏモジュールは入力機器、出力機器が接続され、これら機器とプログラマブルコントローラ本体との間で信号を入・出力するようになっている。
【０００５】
プログラマブルコントローラ本体では、制御プログラムの誤動作などにより例えば予め定められた時間内に処理が終了しないなどの異常が発生した際には、制御プログラムの実行を停止させる必要があり、このため、ＣＰＵモジュール内に、ＣＰＵ動作監視のため、ウォッチドッグタイマーを設けることが考えられる。
【０００６】
ウォッチドッグタイマーは、プログラマブルコントローラシステム上で動作している制御プログラムに定期的に信号を送らせ、一定周期を経過してもウォッチドッグタイマーに信号を送らなかった場合、制御プログラムにバグなどがあってＣＰＵが暴走（システム暴走）するなどのシステム異常状態にあると判断し、ＣＰＵに強制リセットをかけることで、プログラム動作を停止したり、再起動したりする。なお、システム暴走をウォッチドッグタイマーで監視する従来技術としては、例えば下記特許文献１−４を挙げることができる。
【０００７】
上記のように、ＣＰＵが強制リセットされる態様としてはＣＰＵ暴走によるプログラム動作の異常以外にも例えば電源瞬停等がある。そのため、システムユーザからは、ＣＰＵが強制リセットされても、その原因がシステム異常なのかどうかが判らない。そして、ＣＰＵ再起動により制御が再開されると、再度、システム暴走状態で機能モジュールのうち例えばＩ／Ｏモジュールを介して制御機器が異常制御されてしまう可能性が高い。このようなシステム制御は好ましくない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−３２３６３１号公報
【特許文献２】特開平０７−１０４８４１号公報
【特許文献３】特開平０６−３２４９１４号公報
【特許文献４】特開平０６−２５０８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明により解決すべき課題は、ウォッチドッグタイマーによりシステム暴走等の異常が検出された際に、モジュールを必要に応じてリセットすることができるようにして、システム制御再開に際してのシステムの制御上の安全性を高めることである。
【課題を解決するための手段】
【００１０】
本発明によるシステム異常検出方式は、プログラマブルコントローラ本体と、それによりシーケンス制御されるモジュールと、を含むシステムにおいて、当該プログラマブルコントローラ本体は、当該システムをシーケンス制御する制御プログラムを実行するもので、ウォッチドッグタイマー機能を有するＣＰＵと、モジュールを強制リセットするモジュールリセット回路と、を備え、上記ＣＰＵは、ウォッチドッグタイマー機能によりシステム異常検出時には上記モジュールリセット回路にシステム異常パルスを出力し、かつ、シーケンス制御状態に応じてモジュールをリセットするか否かを決めるモジュールリセット決定信号を出力し、上記モジュールリセット回路は、上記ＣＰＵからのシステム異常パルスが入力すると、ＣＰＵから入力するモジュールリセット決定信号に応じてモジュールをリセットすることを特徴とするものである。
【００１１】
本発明では、ＣＰＵがウォッチドッグタイマー機能によりシステム異常パルスを出力した場合、モジュールリセット回路は、ＣＰＵからのモジュールリセット決定信号に応じて、モジュールを強制リセットするかどうかを決定する。すなわち、制御機器の制御状態から、モジュールを強制リセットする必要が無い場合は、ＣＰＵはモジュールを強制リセットしないという信号をモジュールリセット回路に出力すれば、モジュールは強制リセットされない。一方、制御機器の制御状態からモジュールを強制リセットする必要がある場合、モジュールを強制リセットするモジュールリセット決定信号をモジュールリセット回路に出力し、モジュールを強制リセットする。
【００１２】
以上により、本発明では、システムユーザが、システム異常により、ＣＰＵが強制リセットされ、次に、システム異常が解消されないまま、ＣＰＵ再起動により制御が再開されるような場合、モジュールをシーケンス制御の状態に応じて選択的にリセットすることができるので、制御ターゲット内の機器を効率的に、かつ、安全に制御することができるようになる。結果、システム制御の効率を阻害することなく、システムを安全に制御することができて、好ましい。
【００１３】
ここで、プログラマブルコントローラは、プログラマブルロジックコントローラ、シーケンサ等、その名称に限定されるものではなく、また、上記ＣＰＵを内蔵したプログラマブルコントローラ本体とモジュールとが別々である場合、一体の場合、いずれも含む。
【００１４】
また、モジュールは、その呼称になんら限定されるものではなく、装置、ユニット、デバイス、等、すべてに適用することができる。
【発明の効果】
【００１５】
本発明によれば、ウォッチドッグタイマーによりシステム異常が検出されたとき、ＣＰＵにより制御されるモジュールを必要に応じて選択的にリセットすることができる。これにより、本発明では、システム異常が解消されず、ＣＰＵが再起動されても、すでに、モジュールがリセットされているために、制御ターゲットが異常制御されてしまうおそれがなくなる。結果として、本発明では、システム異常からシステム制御上の安全性を高めることができる。
【図面の簡単な説明】
【００１６】
【図１】図１は本発明の実施の形態にかかるプログラマブルコントローラシステムの概略構成を示す図である。
【図２】図２はプログラマブルコントローラ本体内のＣＰＵの機能ブロック構成を示す図である。
【発明を実施するための形態】
【００１７】
以下、添付した図面を参照して、本発明の実施の形態に係るプログラマブルコントローラシステムにおいてシステム異常検出方式を説明する。
【００１８】
図１は同システムの概略構成を示す。同図を参照して、このプログラマブルコントローラシステムは、制御プログラムを実行するＣＰＵを含むプログラマブルコントローラ本体１と、当該プログラマブルコントローラ本体１に接続されている複数のモジュール２と、制御ターゲット３と、を備える。
【００１９】
このプログラマブルコントローラ本体１と、モジュール２とを含めて全体をプログラマブルコントローラと称することができる。また、モジュール２は例えばＩ／Ｏモジュール、通信モジュール、等の各種インテリジェント機能を有するモジュールである。実施の形態では、このモジュール２は、Ｉ／Ｏモジュールとする。このＩ／Ｏモジュール２には制御ターゲット３が接続される。制御ターゲット３は、内部に図示略の入力機器、出力機器を含むと共に、同じく図示略の制御対象である機械、設備を含む。プログラマブルコントローラ本体１と、Ｉ／Ｏモジュール２とは、バス４で接続されている。制御プログラムは、ラダープログラムであるが、これに限定されない。
【００２０】
プログラマブルコントローラ本体１は、制御プログラムを格納するプログラムメモリ５、ワークメモリ６、システム全体の制御を司るＣＰＵ７、Ｉ／Ｏインターフェース８、およびモジュールリセット回路９、を具備する。
【００２１】
プログラムメモリ５は、ラダープログラム、システム制御プログラム、各種のアプリケーションプログラム等を格納することができる。このアプリケーションプログラムの１つが、実施の形態の強制リセットを行うための強制リセットプログラムである。ワークメモリ６はＣＰＵ７がそのワークに用いるメモリである。Ｉ／Ｏインターフェース８は、ＣＰＵ７とＩ／Ｏモジュール２とのインターフェースを行う。
【００２２】
ＣＰＵ７は、図２で機能的にそのブロック構成を示すように、ラダープログラム実行部７ａ、ウォッチドッグタイマー部７ｂ、およびモジュールリセット決定信号出力部７ｃ、を有する。
【００２３】
ラダープログラム実行部７ａでは、プログラムメモリ５に格納するラダープログラムを実行する。ラダープログラム実行部７ａは、ラダープログラムに従い、Ｉ／Ｏインターフェース８を介して、制御ターゲット３との間で、入力機器から制御機器の制御状況に関連する入力信号を入力処理し、制御機器を制御する出力信号を出力処理する。この場合、ラダープログラム実行部７ａは、ワークメモリ６をそのワークに用いる。
【００２４】
ウォッチドッグタイマー部７ｂでは、ラダープログラム実行部７ａによるラダープログラム実行開始と共に、ウォッチドッグタイマー監視を開始させる。ウォッチドッグタイマー部７ｂは、ラダープログラム実行部７ａのラダープログラム実行に異常があるかどうかを監視するため、ラダープログラム実行部７ａから定期的に監視信号を送らせる。ラダープログラム実行部７ａから一定周期を経過しても、ウォッチドッグタイマー部７ｂに監視信号が送られてこなかった場合、ウォッチドッグタイマー部７ｂは、制御プログラムにバグなどがあって、ラダープログラム実行部７ａが暴走（ＣＰＵ暴走、システム暴走）するなどのシステム異常状態にあると判断して、システム異常パルスを端子ＷＤＴからモジュールリセット回路９に出力する。モジュールリセット回路９からはＣＰＵ７の端子ＲＳＴを介してラダープログラム実行部７ａにリセット信号が入力され、これにより、ラダープログラム実行部７ａは、ラダープログラムの実行をリセットする。
【００２５】
そして、ウォッチドッグタイマー部７ｂは、その判断結果をモジュールリセット決定信号出力部７ｃにも出力する。モジュールリセット決定信号出力部７ｃは、その判断結果の入力に応答して、モジュールリセット決定信号を端子ＭＷＤＴからモジュールリセット回路９に出力する。このモジュールリセット決定信号は、Ｉ／Ｏモジュール２を強制リセットするか否かのいずれか一方に決める信号である。
【００２６】
モジュールリセット回路９は、システム異常パルスを保持する保持回路９ａと、Ｉ／Ｏモジュール２に強制リセット信号を出力する強制リセット信号出力回路９ｂと、を備える。保持回路９ａには、ＣＰＵ７の出力端子ＷＤＴからシステム異常パルスを入力することができるようになっている。保持回路９ａは、このシステム異常パルスの入力に応答してリセット信号を出力するようになっている。このリセット信号はＣＰＵ７の入力端子ＲＳＴに入力され、ＣＰＵ７はリセットされる。また、このリセット信号は、強制リセット信号出力回路９ｂに入力される。
【００２７】
強制リセット信号出力回路９ｂは、保持回路９ａからリセット信号を入力すると共に、ＣＰＵ７の出力端子ＭＷＤＴからのモジュールリセット決定信号がＩ／Ｏモジュール２を強制リセットする信号であれば、これに応答して、Ｉ／Ｏモジュール２にリセット信号を入力する。強制リセット信号出力回路９ｂは、Ｉ／Ｏモジュール２をリセットするというモジュールリセット決定信号がＣＰＵ７から入力されると、Ｉ／Ｏモジュール２にそれを強制リセットするリセット信号を出力する。これにより、Ｉ／Ｏモジュール２は強制リセットされる。なお、リセット信号は、図面上は、バス４を介して、強制リセット信号出力回路９ｂからＩ／Ｏモジュール２に入力されるようになっているが、図示略のリセット信号線により、強制リセット信号出力回路９ｂとＩ／Ｏモジュール２とを接続し、このリセット信号線を介して、強制リセット信号出力回路９ｂからＩ／Ｏモジュール２に入力することができる。
【００２８】
以上から本実施の形態では、プログラマブルコントローラ本体１のＣＰＵ７からシステム異常パルスが出力された場合、モジュールリセット回路９は、ＣＰＵ７からのモジュール決定信号に応じてモジュール２を強制リセットするかどうかを決定する。制御ターゲット３内の機器制御状態から、Ｉ／Ｏモジュール２を強制リセットする必要が無い場合は、ＣＰＵ７はＩ／Ｏモジュール２を強制リセットしないモジュールリセット決定信号をモジュールリセット回路９に出力し、Ｉ／Ｏモジュール２を強制リセットしない。一方、機器制御状態からＩ／Ｏモジュール２を強制リセットする必要がある場合、Ｉ／Ｏモジュール２を強制リセットするというモジュールリセット決定信号をモジュールリセット回路９に出力して、Ｉ／Ｏモジュール２を強制リセットする。このことにより、本実施の形態では、ユーザが、システム異常により、ＣＰＵ７を強制リセットし、次に、ＣＰＵ再起動により制御が再開される場合、機器を安全に制御することができるようになる。
【符号の説明】
【００２９】
１  プログラマブルコントローラ本体
５  プログラムメモリ
６  ワークメモリ
７  ＣＰＵ
９  モジュールリセット回路
２  Ｉ／Ｏモジュール
３  制御ターゲット
４  バス
【図１】
2011008493.tif 000003
【図２】
2011008493.tif 000004