(57)【要約】【課題】プログラマブルロジックデバイスにおけるコンフィギュレーションデータのエラーを確実に検出すること。【解決手段】  論理モジュールを構築する複数のコンフィギュレーションデータのＣＲＣエラーを検出するＣＲＣチェッカを備えたプログラマブルロジックデバイスを有し、プロセス制御における制御対象を制御するコントローラにおいて、定期的に前記複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、前記ＣＲＣチェッカが前記擬似エラー以外のエラーを検出すると前記論理モジュールのリセット要求信号を出力するとともに前記プログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、前記演算制御手段と前記プログラマブルロジックデバイスとのアクセスが停止すると前記論理モジュールのリセット要求信号を出力する第１のウォッチドッグタイマを、備えることを特徴とする。【選択図】図１
2011108075.tif 000002
【特許請求の範囲】
【請求項１】
論理モジュールを構築する複数のコンフィギュレーションデータのＣＲＣエラーを検出するＣＲＣチェッカを備えたプログラマブルロジックデバイスを有し、プロセス制御における制御対象を制御するコントローラにおいて、
定期的に前記複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、前記ＣＲＣチェッカが前記擬似エラー以外のエラーを検出すると前記論理モジュールのリセット要求信号を出力するとともに前記プログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、
前記演算制御手段と前記プログラマブルロジックデバイスとのアクセスが停止すると前記論理モジュールのリセット要求信号を出力する第１のウォッチドッグタイマを、備えることを特徴とするコントローラ。
【請求項２】
前記ＣＲＣチェッカから出力されるＣＲＣエラー検出結果であるＣＲＣエラー信号の出力パルスが予め定められた一定期間発生しなくなると前記論理モジュールのリセット要求信号を出力する第２のウォッチドッグタイマを、備えることを特徴とする請求項１記載のコントローラ。
【請求項３】
前記擬似エラーは、
前記演算制御手段により擬似的に生成され、予め指定された箇所にエラーを有するコンフィギュレーションデータであることを特徴とする請求項１または２記載のコントローラ。
【請求項４】
前記ＣＲＣチェッカは、
コンフィギュレーションメモリ内の前記複数のコンフィギュレーションデータのエラーおよび前記擬似エラーを検出するＣＲＣエラー検出手段と、
前記ＣＲＣエラー検出手段によりエラーが検出された前記複数のコンフィギュレーションデータのエラー検出箇所を示すエラー検出箇所情報を格納するエラー情報記憶手段と、
を具備し、
前記演算制御手段は、前記エラー情報記憶手段に記憶された前記エラー検出箇所情報の中に前記擬似エラーで指定した箇所以外のエラー検出箇所情報が存在すると前記リセット要求信号を出力するとともに前記プログラマブルロジックデバイスへのアクセスを停止することを特徴とする請求項１〜３のいずれかに記載のコントローラ。
【請求項５】
前記ＣＲＣチェッカは、
前記演算制御手段から入力された擬似エラーを前記ＣＲＣエラー検出手段に出力する擬似エラー注入手段を
備えることを特徴とする請求項１〜４のいずれかに記載のコントローラ。
【請求項６】
前記演算制御手段、または、前記第１ウォッチドッグタイマ、第２のウォッチドッグタイマからのリセット要求信号が入力されると、論理モジュールを再構成するための制御信号を前記プログラマブルロジックデバイスに出力するモジュールリセット手段、
備えたことを特徴とする請求項１〜５のいずれかに記載のコントローラ。
【請求項７】
前記演算制御手段は、
前記エラー情報記憶手段にエラー検出箇所情報が格納されていない場合は前記リセット要求信号を出力するとともに前記プログラマブルロジックデバイスへのアクセスを停止することを特徴とする請求項１〜６のいずれかに記載のコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理モジュールを構築する複数のコンフィギュレーションデータのＣＲＣエラーを検出するＣＲＣチェッカを備えたプログラマブルロジックデバイスを有し、プロセス制御における制御対象を制御するコントローラに関し、特にプログラマブルロジックデバイスにおけるコンフィギュレーションデータのエラーを確実に検出可能なコントローラに関する。
【背景技術】
【０００２】
従来から、石油、鉄鋼、化学プラント、半導体プロセスなどの工場等で導入されているプロセス制御では、バルブや自動機械等の被制御対象機器が接続されているコントローラが用いられている。また、インダストリアルオートメーションにおけるプロセス制御システムとして、コントローラを含むフィールド機器がネットワークに接続されたフィールドネットワークシステムが従来より実現されている。
【０００３】
たとえば、このコントローラは、入出力手段を介して制御系を構成する流量計や温度計などのセンサ、アクチュエータ等のフィールド機器からのデータが入力されると、制御演算したデータをフィールド機器に出力して、フィールド機器を制御する。具体的には、コントローラは、センサで得られた測定データに基づきアクチュエータなどの各種フィールド機器を操作制御する。
【０００４】
またコントローラには、たとえばプログラマブルロジックコントローラ（Programmable Logic Controller：ＰＬＣ）があり、制御対象に応じて必要なモジュールを組み合わせて実装し、シーケンス制御を行う。ビルディングブロックタイプのＰＬＣでは、ＰＬＣ全体に電力を供給する電源モジュールと、ＰＬＣ全体を制御するＣＰＵモジュールと、制御対象の外部機器に合わせたインターフェースを持つ複数のＩ／Ｏモジュールから構成されるものがある。
【０００５】
図２は、従来のコントローラの一例を示す構成図である。特に図示しないがコントローラは、プラントなどに設置されている各種フィールド機器と通信して所定の制御プログラムに基づく制御を行う。
【０００６】
図２において、コントローラは、主に、演算制御手段１と、記憶手段２と、プログラマブルロジックデバイスの一例であるＦＰＧＡ（Field Programmable Gate Array）３と、コンフィギュレーションＲＯＭ４と、モジュールリセット手段５とから構成される。
【０００７】
ＦＰＧＡ３は、演算制御手段１、記憶手段２、コンフィギュレーションＲＯＭ４、モジュールリセット手段５とバスと呼ばれる接続線で相互に接続されている。なお、バスなどの接続線は記憶手段にデータを書き込み、また読み出すためのアドレスバス、データバス、および制御線で構成されている。
【０００８】
演算制御手段１は、ＭＰＵ（Micro Processing Unit）等でありＦＰＧＡ３により構成された論理モジュールやプログラム等に基づいてコントローラ全体の制御動作を実行する。
【０００９】
記憶手段２は、たとえばＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等であってプログラムやアプリケーション、各種データを記憶する。
【００１０】
ＦＰＧＡ３は、プログラマブルロジックデバイスの一例であり、回路構成の情報を持つプログラムにより任意のディジタルＬＳＩを構築し所望の論理モジュールを構成できるＬＳＩである。
【００１１】
コンフィギュレーションＲＯＭ４は、ＦＰＧＡ３で任意のディジタルＬＳＩを構築し所望の論理モジュールを構成するためのコンフィギュレーションデータ（論理回路を構成するためのデータ）を保持する。
【００１２】
モジュールリセット手段５は、コンフィギュレーションＲＯＭ４と、ＦＰＧＡをリセットするため・論理モジュールを再構成するための制御信号をプログラマブルロジックデバイス（ＦＰＧＡ３）に出力する。
【００１３】
ここで、ＦＰＧＡ３は、回路構成の情報を持つプログラムにより任意のディジタルＬＳＩを構築し所望の論理モジュールをプログラミングすることができるＬＳＩ・ロジックＩＣであり、プログラムを変えることにより、ユーザが内部ロジックを自由に書き換えることができるものである。
【００１４】
ＦＰＧＡ３は、コンフィギュレーションＲＡＭ３１にコンフィギュレーションデータが保持されると、コンフィギュレーションデータの内容に沿った論理モジュール・論理回路を構築する。
具体的には、ＦＰＧＡ３は、コンフィギュレーションＲＯＭ４に読み出しリクエスト信号を出力し、これの応答としてコンフィギュレーションＲＯＭ４から出力されたコンフィギュレーションデータをＦＰＧＡ３のコンフィギュレーションＲＡＭ３１に記憶する（いいかえれば、ＦＰＧＡ３は、コンフィギュレーションＲＯＭ４から読み出したコンフィギュレーションデータをコンフィギュレーションＲＡＭ３１に保存する）と、このコンフィギュレーションデータの内容に沿った論理モジュール・論理回路を構築する。
【００１５】
これらのことからわかるように、コンフィギュレーションの情報は、ＦＰＧＡ３の構成を決定する重要な情報であるから、コンフィギュレーションＲＡＭ３１中で情報にエラーが生じていないか、監視する必要があり、従来から以下のような構成でコンフィギュレーションデータのエラー検出が行なわれている。
【００１６】
ＦＰＧＡ３は、コンフィギュレーションＲＯＭ４から読み出したコンフィギュレーションデータを記憶するコンフィギュレーションＲＡＭ３１と、予め定められた周期でコンフィギュレーションＲＡＭ３１からコンフィギュレーションデータを読み出して巡回冗長検査(以下、ＣＲＣという)を行ない、ＣＲＣによる誤り・エラー（以下、ＣＲＣエラーという）が検出されるとモジュールリセット手段５にリセット要求信号（ＣＲＣ＿ＥＲＲＯＲ信号等）を出力するＣＲＣチェッカ３２と、演算制御手段１との通信をするためのＭＰＵインターフェース３３と、記憶手段２との通信をするためのメモリインターフェース３４と、から構成される。
【００１７】
さらに、ＦＰＧＡ３のＣＲＣチェッカ３２は、ＣＲＣエラー検出手段３２ａと、エラー情報レジスタ３２ｂと、から構成される。
【００１８】
ＣＲＣエラー検出手段３２ａは、定周期でコンフィギュレーションＲＡＭ３１に読み出しリクエスト信号を出力し、これの応答としてコンフィギュレーションＲＡＭ３１から出力されたコンフィギュレーションデータ（いいかえれば、コンフィギュレーションＲＡＭ３１から読み出したコンフィギュレーションデータ）についてＣＲＣ検査を行なってＣＲＣエラーを検出するとＦＰＧＡ（論理モジュール）をリセットするためのリセット要求信号をモジュールリセット手段５に出力する。
【００１９】
エラー情報レジスタ３２ｂは、ＣＲＣエラー検出手段３２ａによりＣＲＣエラーが検出された各コンフィギュレーションデータのエラー検出箇所を示すエラー検出箇所情報を格納する。
【００２０】
このような構成で、従来のコントローラは、以下の動作（１−１）〜（１−６）を行なう。
（１−１）
ＦＰＧＡ３は、コンフィギュレーションＲＯＭ４から読み出した、コンフィギュレーションデータをコンフィギュレーションＲＡＭ３１に記憶する。
（１−２）
ＦＰＧＡ４のＣＲＣエラー検出手段３２ａは、予め定められた周期でコンフィギュレーションＲＡＭ３１に読み出しリクエスト信号を出力し、これの応答としてコンフィギュレーションＲＡＭ３１から出力されたコンフィギュレーションデータについてＣＲＣ検査を行なう。
（１−３）
ＣＲＣエラー検出手段３２ａは、ＣＲＣ検査を行なったコンフィギュレーションデータでＣＲＣエラーが検出されると、当該コンフィギュレーションデータのエラー検出箇所を示すエラー検出箇所情報をエラー情報レジスタ３２ｂに格納する。
（１−４）
またＣＲＣエラー検出手段３２ａは、ＣＲＣエラーが検出されるとリセット要求信号をモジュールリセット手段５に出力する。
（１−５）
モジュールリセット手段５はリセット要求信号を受信すると、ＦＰＧＡ３をリセットするため・論理モジュールを再構成するための制御信号をＦＰＧＡ３に出力する。
（１−６）
ＦＰＧＡ３は、モジュールリセット手段５から制御信号（リセットコマンド等を含む信号）が入力されると、ＦＰＧＡの初期化等（たとえばＦＰＧＡ内のフリップフロップを初期化するリセットなど）を実行して、モジュールのリセット動作を行う。
【００２１】
この結果、従来のコントローラでは、コンフィギュレーションデータのエラー検出を行なうことができる点で有効であった。
【００２２】
このようなコントローラに関連する先行技術文献として下記の特許文献１、２がある。
【先行技術文献】
【特許文献】
【００２３】
【特許文献１】特開２００４−２００３１１号広報
【００２４】
【特許文献２】特開２００８−０２４６８６号公報
【発明の概要】
【発明が解決しようとする課題】
【００２５】
しかしながら、従来のコントローラでは、ＣＲＣエラー検出回路３１が故障等により停止すると、エラーが正常に検出できなくなるため、プログラマブルロジックデバイスのコンフィギュレーションの正当性が保てないままモジュールが動作し、コントローラ全体の動作、ひいては、プロセス制御系全体に問題が生じてしまうという問題点があった。
【００２６】
また、従来のコントローラでは、ＣＲＣエラー検出回路３１に異常が発生しエラー検出が正確にできなくなると、プログラマブルロジックデバイスのコンフィギュレーションの正当性が保てないままモジュールが動作し、コントローラ全体の動作、ひいては、プロセス制御系全体に問題が生じてしまうという問題点があった。
【００２７】
本発明は上述の問題点を解決するものであり、その目的は、プログラマブルロジックデバイスにおけるコンフィギュレーションデータのエラーを確実に検出することにある。
【課題を解決するための手段】
【００２８】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
論理モジュールを構築する複数のコンフィギュレーションデータのＣＲＣエラーを検出するＣＲＣチェッカを備えたプログラマブルロジックデバイスを有し、プロセス制御における制御対象を制御するコントローラにおいて、
定期的に前記複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、前記ＣＲＣチェッカが前記擬似エラー以外のエラーを検出すると前記論理モジュールのリセット要求信号を出力するとともに前記プログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、
前記演算制御手段と前記プログラマブルロジックデバイスとのアクセスが停止すると前記論理モジュールのリセット要求信号を出力する第１のウォッチドッグタイマを、備えることを特徴とするコントローラである。
【００２９】
請求項２記載の発明は、請求項１記載のコントローラにおいて、
前記ＣＲＣチェッカから出力されるＣＲＣエラー検出結果であるＣＲＣエラー信号の出力パルスが予め定められた一定期間発生しなくなると前記論理モジュールのリセット要求信号を出力する第２のウォッチドッグタイマを、備えることを特徴とする。
【００３０】
請求項３記載の発明は、請求項１または２記載のコントローラにおいて、
記擬似エラーは、
前記演算制御手段により擬似的に生成され、予め指定された箇所にエラーを有するコンフィギュレーションデータであることを特徴とする。
【００３１】
請求項４記載の発明は、請求項１〜３いずれかに記載のコントローラにおいて、
前記ＣＲＣチェッカは、
コンフィギュレーションメモリ内の前記複数のコンフィギュレーションデータのエラーおよび前記擬似エラーを検出するＣＲＣエラー検出手段と、
前記ＣＲＣエラー検出手段によりエラーが検出された前記複数のコンフィギュレーションデータのエラー検出箇所を示すエラー検出箇所情報を格納するエラー情報記憶手段と、
を具備し、
前記演算制御手段は、前記エラー情報記憶手段に記憶された前記エラー検出箇所情報の中に前記擬似エラーで指定した箇所以外のエラー検出箇所情報が存在すると前記リセット要求信号を出力するとともに前記プログラマブルロジックデバイスへのアクセスを停止することを特徴とする。
【００３２】
請求項５記載の発明は、請求項２〜４いずれかに記載のコントローラにおいて、
前記ＣＲＣチェッカは、
前記演算制御手段から入力された擬似エラーを前記ＣＲＣエラー検出手段に出力する擬似エラー注入手段を
備えることを特徴とする。
【００３３】
請求項６記載の発明は、請求項１〜５のいずれかに記載のコントローラにおいて、
前記演算制御手段または、前記第１ウォッチドッグタイマ、第２のウォッチドッグタイマからのリセット要求信号が入力されると、論理モジュールを再構成するための制御信号を前記プログラマブルロジックデバイスに出力するモジュールリセット手段を備えたことを特徴とする。
【００３４】
請求項７記載の発明は、請求項１〜６のいずれかに記載のコントローラにおいて、
前記演算制御手段は、
前記エラー情報記憶手段にエラー検出箇所情報が格納されていない場合は前記リセット要求信号を出力するとともに前記プログラマブルロジックデバイスへのアクセスを停止することを特徴とする
【発明の効果】
【００３５】
このように、本発明に係るコントローラであれば、定期的に複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、ＣＲＣチェッカが擬似エラー以外のエラーを検出すると論理モジュールのリセット要求信号を出力するとともにプログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、演算制御手段とプログラマブルロジックデバイスとのアクセスが停止すると論理モジュールのリセット要求信号を出力する第１のウォッチドッグタイマを備えることにより、ＭＰＵインターフェースとウォッチドッグタイマ３５の二つの経路によって、リセット要求信号の出力が冗長化されるため、ＦＰＧＡ３におけるコンフィギュレーションデータのエラーを確実に検出することができ、確実性の高いリセット動作に貢献できる。
【００３６】
また、本発明に係るコントローラであれば、定期的に複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、ＣＲＣチェッカが擬似エラー以外のエラーを検出すると論理モジュールのリセット要求信号を出力するとともにプログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、ＣＲＣチェッカから出力されるＣＲＣエラー検出結果であるＣＲＣエラー信号が一定期間発生しなくなると論理モジュールのリセット要求信号を出力する第２のウォッチドッグタイマを備えることにより、ＣＲＣエラー検出手段３２ａの異常を検知して、モジュール再構成させることでＣＲＣエラー検出手段の健全性を保証することができ、コントローラ全体の最適運転に貢献できる点で有効である。
【図面の簡単な説明】
【００３７】
【図１】本発明に係るコントローラの一実施例を示す構成図である。
【図２】従来のコントローラの一例を示す構成図である。
【発明を実施するための形態】
【００３８】
＜第１の実施例＞
図１は、本発明に係るコントローラの一実施例を示す構成図である。図２と共通する部分には同一の符号を付けて適宜説明を省略する。図２との相違点は、定期的に複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、ＣＲＣチェッカが擬似エラー以外のエラーを検出すると論理モジュールのリセット要求信号を出力するとともにプログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、演算制御手段とプログラマブルロジックデバイスとのアクセスが停止すると論理モジュールのリセット要求信号を出力する第１のウォッチドッグタイマを、備える点で相違する。
また特に図示しないがコントローラは、プラントなどに設置されている各種フィールド機器と通信して所定の制御プログラムに基づく制御を行う。
【００３９】
（構成の説明）
図１において、コントローラは、主に、ＭＰＵ（Micro Processing Unit）等であってＦＰＧＡ７により構成された論理モジュールやプログラム等に基づいてコントローラ全体の制御動作を実行する演算制御手段１と、たとえばＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等であってプログラムやアプリケーション、各種データが記憶される記憶手段２と、プログラマブルロジックデバイスの一例であり、回路構成の情報を持つプログラムにより任意のディジタルＬＳＩを構築し所望の論理モジュールを構成できるＬＳＩであり演算制御手段１とＦＰＧＡ７とのアクセスが停止すると論理モジュールのリセット要求信号を出力する第１のウォッチドッグタイマ３５を備えたＦＰＧＡ(Field Programmable Gate Array)３と、から構成される。
【００４０】
またコントローラは、ＦＰＧＡ７で任意のディジタルＬＳＩを構築し所望の論理モジュールを構成するためのコンフィギュレーションデータ（論理回路を構成するためのデータ）を保持するコンフィギュレーションＲＯＭ４と、ＦＰＧＡをリセットするため・論理モジュールを再構成するための制御信号をプログラマブルロジックデバイス（ＦＰＧＡ７）に出力するモジュールリセット手段５と、ＦＰＧＡ７からコンフィギュレーションデータのエラー検出結果に基づき出力されるＣＲＣエラー信号の出力パルスが予め定められる一定期間発生しなくなった場合は論理モジュールのリセット要求信号をモジュールリセット手段５に出力する第２のウォッチドッグタイマ６からも構成される。
（接続・配置関係の説明）
【００４１】
ＦＰＧＡ７は、演算制御手段１、記憶手段２、コンフィギュレーションＲＯＭ４、モジュールリセット手段５、ウォッチドッグタイマ６とバスと呼ばれる接続線でそれぞれ以下のように相互に接続されている。
【００４２】
演算制御手段１は、メモリインターフェース３４を介して記憶手段２と相互接続される。また、演算制御手段１は、ＭＰＵインターフェース３３を介してエラー情報レジスタ３２ｂと相互接続されエラー検出箇所情報の読み出しリクエストデータとエラー検出箇所情報の入出力を行なう。
【００４３】
さらに演算制御手段１は、ＭＰＵインターフェース３３を介して、擬似エラー注入手段７２ｃと相互接続され、擬似エラーを出力する。また演算制御手段１は、ＭＰＵインターフェース３３を介して、モジュールリセット手段５と相互接続され、リセット要求信号を出力する。
【００４４】
一方、演算制御手段１は、ＭＰＵインターフェース３３を介して、第１のウォッチドッグタイマ３５と相互接続される。この第１のウォッチドッグタイマ３５は、モジュールリセット手段５と相互接続され、リセット要求信号を出力する。
【００４５】
コンフィギュレーションＲＯＭ４はコンフィギュレーションＲＡＭ３１と接続されコンフィギュレーションデータを出力する。またコンフィギュレーションＲＡＭ３１は、擬似エラー注入手段７２ｃと相互接続され、読み出しリクエスト信号とコンフィギュレーションデータとを入出力する。
【００４６】
擬似エラー注入手段７２ｃは、ＣＲＣエラー検出手段３２ａと接続され、擬似エラーおよびコンフィギュレーションデータを出力する。
【００４７】
ＣＲＣエラー検出手段３２ａは、エラー情報レジスタ３２ｂに接続されエラー検出箇所情報を出力する。また、ＣＲＣエラー検出手段３２ａは、第２のウォッチドッグタイマ６とも接続されリセット要求信号を出力する。
【００４８】
第１のウォッチングタイマ３５および第２のウォッチングタイマ６は、モジュールリセット手段５に相互に接続され、リセット要求信号を出力する。
なお、バスなどの接続線は記憶手段にデータを書き込み、また読み出すためのアドレスバス、データバス、および制御線で構成されている。
【００４９】
（主な構成要素の説明）
演算制御手段１は、定期的に複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出すものである。
また演算制御手段１は、後述のＦＰＧＡ７のＣＲＣチェッカ７２が擬似エラー以外のエラーを検出すると、論理モジュールのリセット要求信号を出力するとともにＦＰＧＡ７へのアクセスを停止する動作も行なう。
さらに演算制御手段１は、ＣＲＣエラー検出手段３２ａが一定周期でＣＲＣエラーを検出するように擬似的にエラーデータ（以下、擬似エラー）を生成し、ＭＰＵインターフェース３３を介してＦＰＧＡ７に出力する動作もまた行なう。
【００５０】
なお、演算制御手段１は、擬似エラーとして、ＣＲＣエラー検出箇所情報を含むデータであってＣＲＣエラー検出手段３２ａが一定周期でＣＲＣエラーを検出するように生成するものでもよい。また演算制御手段１は、擬似エラーとして、予め指定された箇所にエラーを有するコンフィギュレーションデータを生成することで擬似的にエラーを生成するものでもよい。
【００５１】
ＦＰＧＡ７は、回路構成の情報を持つプログラムにより任意のディジタルＬＳＩを構築し所望の論理モジュールをプログラミングすることができるＬＳＩ・ロジックＩＣであり、プログラムを変えることにより、ユーザが内部ロジックを自由に書き換えることができるものである。
【００５２】
ＦＰＧＡ７は、コンフィギュレーションＲＡＭ３１にコンフィギュレーションデータが保持されると、コンフィギュレーションデータの内容に沿った論理モジュール・論理回路を構築する。
具体的には、ＦＰＧＡ７は、コンフィギュレーションＲＯＭ４に読み出しリクエスト信号を出力し、これの応答としてコンフィギュレーションＲＯＭ４から出力されたコンフィギュレーションデータをＦＰＧＡ７のコンフィギュレーションＲＡＭ３１に保存する（いいかえれば、ＦＰＧＡ７は、コンフィギュレーションＲＯＭ４から読み出したコンフィギュレーションデータをコンフィギュレーションＲＡＭ３１に保存する）と、このコンフィギュレーションデータの内容に沿った論理モジュール・論理回路を構築する。
【００５３】
なお、たとえばコンフィギュレーションデータは、コントローラが具備する図示しないメモリカードスロットにメモリカードが挿入されることによりコンフィギュレーションＲＯＭ４に記憶されるものもある。
【００５４】
本発明のＦＰＧＡ７は、特に、演算制御手段１が生成した擬似エラー以外のエラーを検出し演算制御手段１とプログラマブルロジックデバイス３とのアクセスが停止すると論理モジュールのリセット要求信号を出力する点で特徴があり、例えば以下のように構成される。
【００５５】
ＦＰＧＡ７は、コンフィギュレーションＲＯＭ４から読み出したコンフィギュレーションデータを記憶するコンフィギュレーションＲＡＭ３１と、予め定められた周期でコンフィギュレーションＲＡＭ３１からコンフィギュレーションデータを読み出して巡回冗長検査(以下、ＣＲＣという)を行ない、ＣＲＣによる誤り・エラー（以下、ＣＲＣエラーという）が検出されるとモジュールリセット手段５にリセット要求信号（ＣＲＣ＿ＥＲＲＯＲ信号等）を出力するＣＲＣチェッカ７２と、演算制御手段１との通信をするためのＭＰＵインターフェース３３と、記憶手段２との通信をするためのメモリインターフェース３４と、演算制御手段１とＦＰＧＡ７とのアクセスが停止すると論理モジュールのリセット要求信号を出力する第１のウォッチドッグタイマ３５から構成される。
【００５６】
第１のウォッチドッグタイマ３５は、ＭＰＵインターフェース３３が演算制御手段１とのアクセスが生じていることを監視し、いいかえれば演算制御手段１とＦＰＧＡ７とのアクセス状況を監視し、演算制御手段１とＦＰＧＡ７とのアクセスが予め定められた時間停止すると論理モジュールのリセット要求信号を出力する。
【００５７】
ＦＰＧＡ７のＣＲＣチェッカ７２は、ＣＲＣエラー検出手段３２ａと、エラー情報記憶手段の一例であるエラー情報レジスタ３２ｂと、擬似エラー注入手段７２ｃとから構成される。
【００５８】
ＣＲＣエラー検出手段３２ａは、擬似エラー注入手段７２ｃから入力される擬似エラー情報に基づき定期的にＣＲＣエラー検出結果としてＣＲＣエラー信号（ＣＲＣ_ＥＲＲＯＲ信号）を発生するとともに、擬似エラー注入手段７２ｃから入力されるコンフィギュレーションデータについて定期的にＣＲＣ検査を行ってＣＲＣエラーを検出するとＣＲＣエラー検出結果としてＣＲＣエラー信号を出力する。
【００５９】
またＣＲＣエラー検出手段（ＣＲＣエラー検出回路）３２ａは、ＣＲＣエラーが検出された各コンフィギュレーションデータのエラー検出箇所または擬似エラーにより規定されているエラー検出箇所を示すエラー検出箇所情報をエラー情報レジスタ３２ｂに記憶する。
【００６０】
なお、ＣＲＣエラー検出手段３２ａは、演算制御手段１により生成された定期予め指定された箇所にエラーを有するコンフィギュレーションデータを定期的にＣＲＣエラー検査を行ないＣＲＣエラー検出結果としてＣＲＣエラー信号を発生するものでもよい。
【００６１】
このため、ＣＲＣエラー検出手段３２ａが、一定間隔で擬似エラー・コンフィギュレーションデータに基づいてＣＲＣエラー検査を繰り返し診断するため、ＣＲＣエラー信号出力は一定間隔のパルスとして発生することになる。
すなわち、このパルスがＣＲＣエラー信号出力のパルスが一定期間発生しなくなった場合はＣＲＣエラー検出回路の動作に異常が発生したものと判断できることになる。
【００６２】
エラー情報レジスタ３２ｂは、エラー情報記憶手段の一例でありＣＲＣエラー検出手段３２ａによりＣＲＣエラーが検出された各コンフィギュレーションデータのエラー検出箇所を示すエラー検出箇所情報を記憶・格納する。
【００６３】
擬似エラー注入手段（擬似エラー注入回路３２ｃは、意図的に擬似エラーをＣＲＣエラー検出手段３２ａに注入することで、強制的にエラー検出状態を作り出す回路である。なお擬似エラーは、ＣＲＣチェッカ７２以外の構成・回路等の動作には影響するものではない。
【００６４】
たとえば、擬似エラー注入手段７２ｃは、演算制御手段１により擬似的に生成された擬似エラーをＣＲＣエラー検出手段３２ａに出力する。
また擬似エラー注入手段７２ｃは、擬似エラーが入力されると、予め定められた時間をあけてコンフィギュレーションＲＡＭ３１からコンフィギュレーションデータを読み出して、入力された擬似エラーとともにＣＲＣエラー検出手段３２ａに出力する。
すなわち擬似エラー注入手段７２ｃは、ＣＲＣエラー検出手段３２ａに一定周期で擬似エラーとコンフィギュレーションＲＡＭ３１から読み出したコンフィギュレーションデータとのＣＲＣエラー検査を実行させるべく、一定周期で擬似エラーデータ、コンフィギュレーションデータを出力することになる。
【００６５】
さらに詳細に説明すれば、擬似エラー注入手段７２ｃは、一定周期で演算制御手段１からＭＰＵインターフェース３３を介して擬似エラーが入力されると、たとえばその都度、コンフィギュレーションＲＡＭ３１に読み出しリクエスト信号を出力し、これの応答としてコンフィギュレーションＲＡＭ３１から出力されたコンフィギュレーションデータ（いいかえればコンフィギュレーションＲＡＭ３１から読み出したコンフィギュレーションデータ）を、入力された擬似エラーとともにＣＲＣエラー検出手段３２ａに出力する。
【００６６】
（動作説明）
このような構成で、本発明のコントローラは、以下の動作Ａ「エラー検出によるリセット機能の高信頼化」と動作Ｂ「ＣＲＣエラー検出手段の高信頼化」を行なう。
動作Ａについては（Ａ−１）〜（Ａ−１０）のステップで動作を行い、動作Ｂについては（Ｂ−１）〜（Ｂ−７）のステップで動作を行う。
【００６７】
（動作Ａ：エラー検出によるリセット機能の高信頼化）
（Ａ−１）
演算制御手段１は、擬似エラーを生成し、ＭＰＵインターフェース３３を介して擬似エラー注入手段７２ｃに出力する。
【００６８】
（Ａ−２）
擬似エラー注入手段７２ｃは、演算制御手段１により擬似的に生成された擬似エラーが入力されると、この擬似エラーをＣＲＣエラー検出手段３２ａに出力する。
【００６９】
（Ａ−３）
また擬似エラー注入手段７２ｃは、擬似エラーが入力されると、予め定められた時間をおいてコンフィギュレーションＲＡＭ３１からコンフィギュレーションデータを読み出して、入力された擬似エラーとともにＣＲＣエラー検出手段３２ａに出力する。
【００７０】
すなわち擬似エラー注入手段７２ｃは、（Ａ−２）、（Ａ−３）の動作により、ＣＲＣエラー検出手段３２ａに一定周期で擬似エラーとコンフィギュレーションＲＡＭ３１から読み出したコンフィギュレーションデータとのＣＲＣエラー検査を実行させるべく、一定周期で擬似エラーデータ、コンフィギュレーションデータを出力することになる。
【００７１】
（Ａ−４）
ＣＲＣエラー検出手段３２ａは、擬似エラー注入手段７２ｃから入力された擬似エラーまたはコンフィギュレーションデータに基づきＣＲＣエラー検査を行なう。
【００７２】
（Ａ−５）
ＣＲＣエラー検出手段３２ａは、ＣＲＣエラーを検出すると、検出された各コンフィギュレーションデータのエラー検出箇所または擬似エラーにより規定されているエラー検出箇所を示すエラー検出箇所情報をエラー情報レジスタ３２ｂに記憶する。
【００７３】
（Ａ−６）
演算制御手段１は、エラー情報レジスタ３２ｂに記録されているエラー情報を定期的に読み込み（具体的にはエラー情報レジスタ３２ｂに読み出しリクエスト信号を出力し、これの応答としてエラー情報レジスタ３２ｂから出力されたコンフィギュレーションデータがＭＰＵインターフェース３３を介して入力されると）、演算制御手段１自身が生成・送信した擬似エラーにより規定されているエラー箇所と比較する。
【００７４】
（Ａ−７）
演算制御手段１は、（Ａ−６）の比較の結果、擬似エラーの箇所以外のエラー検出箇所情報がエラー情報レジスタ３２ｂに存在すると、演算制御手段１は実際にエラーが発生したものと判断し、ＭＰＵインターフェース３３を介して、モジュールリセット手段５にリセット要求信号を出力する。
【００７５】
（Ａ−８）
また演算制御手段１は、擬似エラーの箇所以外のエラー検出箇所情報がエラー情報レジスタ３２ｂに存在すると、上述（Ａ−７）のリセット要求信号の出力とともに（同時またはほぼ同時に）ＦＰＧＡ７へのアクセスを停止する。
【００７６】
（Ａ−９）
ウォッチドッグタイマ３５は、ＭＰＵインターフェース３３が演算制御手段１とのアクセスを監視し、予め定められた時間経過しても演算制御手段１とＦＰＧＡ７とのアクセスが行なわれない場合はアクセスが停止したものと判定し、モジュールリセット手段５にリセット要求信号を送信する。
【００７７】
（Ａ−１０）
モジュールリセット手段５は、リセット要求信号が入力されると、ＦＰＧＡ７をリセットするため・論理モジュールを再構成するための制御信号をＦＰＧＡ７に出力する。
ＦＰＧＡ７は、モジュールリセット手段５から制御信号（リセットコマンド等を含む信号）が入力されると、ＦＰＧＡの初期化等（たとえばＦＰＧＡ内のフリップフロップを初期化するリセットなど）を実行して、モジュールのリセット動作を行う。
【００７８】
このため、ＭＰＵインターフェースとウォッチドッグタイマ３５の二つの経路によって、リセット要求信号の出力が冗長化されるため、ＦＰＧＡ７におけるコンフィギュレーションデータのエラーを確実に検出することができる。
【００７９】
すなわち、本発明のコントローラは、定期的に複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、ＣＲＣチェッカが擬似エラー以外のエラーを検出すると論理モジュールのリセット要求信号を出力するとともにプログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、演算制御手段と前記プログラマブルロジックデバイスとのアクセスが停止すると論理モジュールのリセット要求信号を出力する第１のウォッチドッグタイマを備えることにより、ＭＰＵインターフェースとウォッチドッグタイマ３５の二つの経路によって、リセット要求信号の出力が冗長化されるため、ＦＰＧＡ７におけるコンフィギュレーションデータのエラーを確実に検出することができ、確実性の高いリセット動作に貢献できる点で有効である。
【００８０】
なお、本発明に係るコントローラは、演算制御手段１が擬似エラーの箇所以外のエラー検出箇所情報がエラー情報レジスタ３２ｂに存在すると、ＦＰＧＡ７へのアクセスを停止すると説明したが、特にこれに限定するものではなく、ＦＰＧＡ７が、演算制御手段１から入力された擬似エラーの読み込みができない場合や、演算制御手段１との正常な通信が出来なかった場合も、ＭＰＵインターフェースを介した演算制御手段１とのアクセスを停止するものでもよい。
この場合、第１のウォッチドッグタイマ３５は、上述（Ａ−９）と同様にＭＰＵインターフェース３３が演算制御手段１とのアクセスを監視し、予め定められた時間経過しても演算制御手段１とＦＰＧＡ７とのアクセスが行なわれない場合はアクセスが停止したものと判定し、モジュールリセット手段５にリセット要求信号を送信する。
【００８１】
（動作Ｂ：ＣＲＣエラー検出手段の高信頼化）
（Ｂ−１）
演算制御手段１は、擬似エラーを生成し、ＭＰＵインターフェース３３を介して擬似エラー注入手段７２ｃに出力する。
【００８２】
（Ｂ−２）
擬似エラー注入手段７２ｃは、演算制御手段１により擬似的に生成された擬似エラーが入力されると、演算制御手段１により擬似的に生成された擬似エラーをＣＲＣエラー検出手段３２ａに出力する。
【００８３】
（Ｂ−３）
また擬似エラー注入手段７２ｃは、擬似エラーが入力されると、予め定められた時間をおいてコンフィギュレーションＲＡＭ３１からコンフィギュレーションデータを読み出して、入力された擬似エラーとともにＣＲＣエラー検出手段３２ａに出力する。
【００８４】
すなわち擬似エラー注入手段７２ｃは、（Ａ−２）、（Ａ−３）の動作により、ＣＲＣエラー検出手段３２ａに一定周期で擬似エラーとコンフィギュレーションＲＡＭ３１から読み出したコンフィギュレーションデータとのＣＲＣエラー検査を実行させるべく、一定周期で擬似エラー、コンフィギュレーションデータを出力することになる。
【００８５】
（Ｂ−４）
ＣＲＣエラー検出手段３２ａは、擬似エラー注入手段７２ｃから入力された擬似エラーまたはコンフィギュレーションデータに基づきＣＲＣエラー検査を行なう。
【００８６】
（Ｂ−５）
ＣＲＣエラー検出手段３２ａは、ＣＲＣエラーを検出すると、ＣＲＣエラー検出結果としてＣＲＣエラー信号を出力する。
このため、ＣＲＣエラー検出手段３２ａは、一定間隔で擬似エラー・コンフィギュレーションデータに基づいてＣＲＣエラー検査を繰り返し診断するため、ＣＲＣエラー信号出力は一定間隔のパルスとして発生することになる。
【００８７】
（Ｂ−６）
第２のウォッチドッグタイマ６は、ＣＲＣエラー検出手段３２ａから出力されたＣＲＣエラー信号を監視し、この信号の出力パルスが予め定められた一定期間発生しなくなった場合は、ＣＲＣエラー検出手段３２ａの動作に異常が発生したもの、またはコンフィギュレーションデータについてのエラーが検出されたものと判定してモジュールリセット手段５にリセット要求信号を出力する。
【００８８】
ここで、ＣＲＣエラー検出手段３２ａが出力するリセット要求信号の出力パルスが、予め定められている一定期間発生しなくなった場合はＣＲＣエラー検出手段３２ａの動作に異常が発生した可能性が高く、エラー情報レジスタ３２ｂに正しいエラー情報が保持されないことになるので正しいエラー情報が得られなくなる恐れがあり、結果として、ＦＰＧＡ７におけるコンフィギュレーションデータのエラーを確実に検出することができなくなってしまうことが考えられる。
このため本発明のコントローラは、第２のウォッチドッグタイマ６が、正しいエラー情報検出を保証するためＣＲＣエラー信号の出力パルスが予め定められた一定期間発生しなくなったモジュールリセット手段５にリセット要求信号を送信しＦＰＧＡをリセットさせて、モジュール再構成させることでＣＲＣエラー検出手段３２ａの異常を回避する。
【００８９】
（Ｂ−７）
モジュールリセット手段５はリセット要求信号が入力されると、ＦＰＧＡ７をリセットするため、論理モジュールを再構成するための制御信号をＦＰＧＡ７に出力する。
ＦＰＧＡ７は、モジュールリセット手段５から制御信号（リセットコマンド等を含む信号）が入力されると、ＦＰＧＡの初期化等（たとえばＦＰＧＡ内のフリップフロップを初期化するリセットなど）を実行して、モジュールのリセット動作を行う。
【００９０】
このため、ＣＲＣエラー検出手段３２ａの異常を検知して、モジュール再構成させることでＣＲＣエラー検出手段の健全性を保証することができる。
【００９１】
すなわち、本発明のコントローラは、定期的に複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、ＣＲＣチェッカが擬似エラー以外のエラーを検出すると論理モジュールのリセット要求信号を出力するとともにプログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、ＣＲＣチェッカから出力されるＣＲＣエラー検出結果であるＣＲＣエラー信号が一定期間発生しなくなると論理モジュールのリセット要求信号を出力する第２のウォッチドッグタイマを備えることにより、ＣＲＣエラー検出手段３２ａの異常を検知して、モジュール再構成させることでＣＲＣエラー検出手段の健全性を保証することができ、コントローラ全体の最適運転に貢献できる点で有効である。
【００９２】
なお、エラー情報レジスタ３２ｂは、演算制御手段１からの読み出しリクエスト信号が入力され、この応答として記憶しているエラー検出箇所情報を出力すると（演算制御手段１によりエラー検出箇所情報が読み出されると）、出力された・読み出された当該エラー検出箇所情報を削除・クリアするものでもよい。
この場合演算制御手段１は、エラー情報レジスタ３２ｂからエラー検出箇所情報を読み込みを実施したときに、上述のように削除・クリアされたことによりエラー情報レジスタ３２ｂ中にデータが存在しない場合は、ＣＲＣエラー検出手段３２ａが正しく動作していないと判断して、上述の（Ｂ−６）のようにモジュールリセット手段５にリセット要求信号を出力するものでもよい。
＜その他の実施例＞
【００９３】
なお、本発明のコントローラは、特定のモジュールに限定されること無く、ＦＰＧＡおよび演算制御手段を実装するすべてのモジュールに対して適応可能であるものでもよい。
【００９４】
また、本発明のコントローラは、第１のウォッチドッグタイマおよび第２のウォッチドッグタイマがそれぞれ演算制御手段１とＦＰＧＡ７のアクセスの停止およびＣＲＣエラー検出回路から出力されるＣＲＣエラー信号のパルスを監視して一定期間アクセスが発生しなくなる、または、パルスが一定期間発生しなくなると論理モジュールのリセット要求信号を出力するものと説明しているが、特にこれに限定するものではなく、演算制御手段１がエラー情報レジスタ３２ａにアクセスしたときにエラー情報が存在しない場合でも ＣＲＣエラー検出手段の健全性の監視は可能であるため、第２のウォッチドッグタイマによるＣＲＣエラー検出手段の監視は必須ではない。
【００９５】
また、本発明のコントローラは、演算制御手段１が、擬似エラーの箇所以外のエラー検出箇所情報がエラー情報レジスタ３２ｂに存在すると実際にエラーが発生したと判断することにより擬似エラーと実際のエラーの比較・区別を行っているが擬似エラーと実際のエラーを区別する手法は別段これに限定するものではなく、擬似エラーと実際にエラーとを区別できるものであればどのようなものでもよい。
【００９６】
以上説明したように、本発明に係るコントローラは、定期的に複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、ＣＲＣチェッカが擬似エラー以外のエラーを検出すると論理モジュールのリセット要求信号を出力するとともにプログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、演算制御手段とプログラマブルロジックデバイスとのアクセスが停止すると論理モジュールのリセット要求信号を出力する第１のウォッチドッグタイマを備えることにより、ＭＰＵインターフェースと第１のウォッチドッグタイマの二つの経路によって、リセット要求信号の出力が冗長化されるため、ＦＰＧＡ７におけるコンフィギュレーションデータのエラーを確実に検出することができ、確実性の高いリセット動作に貢献できる、いいかえればエラー検出時に確実にリセットできる点で有効である。
また、本発明に係るコントローラは、ＣＲＣチェッカから出力されるＣＲＣエラー検出結果であるＣＲＣエラー信号が一定期間発生しなくなると論理モジュールのリセット要求信号を出力する第２のウォッチドッグタイマも備えることにより、ＣＲＣエラー検出手段３２ａの異常を検知して、モジュール再構成させることでＣＲＣエラー検出手段の健全性を保証することができる、いいかえればＣＲＣエラー検出手段の健全性を監視することができので、コントローラ全体の最適運転に貢献できる点で有効である。
【符号の説明】
【００９７】
１  演算制御手段（ＭＰＵ）
２  記憶手段
３、７  ＦＰＧＡ
３１  コンフィギュレーションＲＡＭ
３２、７２  ＣＲＣチェッカ
３２ａ  ＣＲＣエラー検出手段
３２ｂ  エラー情報レジスタ
７２ｃ  擬似エラー注入手段
３３  ＭＰＵインターフェース
３４  メモリインターフェース
３５  第１のウォッチドッグタイマ
４  コンフィギュレーションＲＯＭ
５  モジュールリセット手段
６  第２のウォッチドッグタイマ
【図１】
2011108075.tif 000003
【図２】
2011108075.tif 000004