説明

コントローラ

【課題】プログラマブルロジックデバイスにおけるコンフィギュレーションデータのエラーを確実に検出すること。
【解決手段】 論理モジュールを構築する複数のコンフィギュレーションデータのCRCエラーを検出するCRCチェッカを備えたプログラマブルロジックデバイスを有し、プロセス制御における制御対象を制御するコントローラにおいて、定期的に前記複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、前記CRCチェッカが前記擬似エラー以外のエラーを検出すると前記論理モジュールのリセット要求信号を出力するとともに前記プログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、前記演算制御手段と前記プログラマブルロジックデバイスとのアクセスが停止すると前記論理モジュールのリセット要求信号を出力する第1のウォッチドッグタイマを、備えることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、論理モジュールを構築する複数のコンフィギュレーションデータのCRCエラーを検出するCRCチェッカを備えたプログラマブルロジックデバイスを有し、プロセス制御における制御対象を制御するコントローラに関し、特にプログラマブルロジックデバイスにおけるコンフィギュレーションデータのエラーを確実に検出可能なコントローラに関する。
【背景技術】
【0002】
従来から、石油、鉄鋼、化学プラント、半導体プロセスなどの工場等で導入されているプロセス制御では、バルブや自動機械等の被制御対象機器が接続されているコントローラが用いられている。また、インダストリアルオートメーションにおけるプロセス制御システムとして、コントローラを含むフィールド機器がネットワークに接続されたフィールドネットワークシステムが従来より実現されている。
【0003】
たとえば、このコントローラは、入出力手段を介して制御系を構成する流量計や温度計などのセンサ、アクチュエータ等のフィールド機器からのデータが入力されると、制御演算したデータをフィールド機器に出力して、フィールド機器を制御する。具体的には、コントローラは、センサで得られた測定データに基づきアクチュエータなどの各種フィールド機器を操作制御する。
【0004】
またコントローラには、たとえばプログラマブルロジックコントローラ(Programmable Logic Controller:PLC)があり、制御対象に応じて必要なモジュールを組み合わせて実装し、シーケンス制御を行う。ビルディングブロックタイプのPLCでは、PLC全体に電力を供給する電源モジュールと、PLC全体を制御するCPUモジュールと、制御対象の外部機器に合わせたインターフェースを持つ複数のI/Oモジュールから構成されるものがある。
【0005】
図2は、従来のコントローラの一例を示す構成図である。特に図示しないがコントローラは、プラントなどに設置されている各種フィールド機器と通信して所定の制御プログラムに基づく制御を行う。
【0006】
図2において、コントローラは、主に、演算制御手段1と、記憶手段2と、プログラマブルロジックデバイスの一例であるFPGA(Field Programmable Gate Array)3と、コンフィギュレーションROM4と、モジュールリセット手段5とから構成される。
【0007】
FPGA3は、演算制御手段1、記憶手段2、コンフィギュレーションROM4、モジュールリセット手段5とバスと呼ばれる接続線で相互に接続されている。なお、バスなどの接続線は記憶手段にデータを書き込み、また読み出すためのアドレスバス、データバス、および制御線で構成されている。
【0008】
演算制御手段1は、MPU(Micro Processing Unit)等でありFPGA3により構成された論理モジュールやプログラム等に基づいてコントローラ全体の制御動作を実行する。
【0009】
記憶手段2は、たとえばROM(Read Only Memory)、RAM(Random Access Memory)等であってプログラムやアプリケーション、各種データを記憶する。
【0010】
FPGA3は、プログラマブルロジックデバイスの一例であり、回路構成の情報を持つプログラムにより任意のディジタルLSIを構築し所望の論理モジュールを構成できるLSIである。
【0011】
コンフィギュレーションROM4は、FPGA3で任意のディジタルLSIを構築し所望の論理モジュールを構成するためのコンフィギュレーションデータ(論理回路を構成するためのデータ)を保持する。
【0012】
モジュールリセット手段5は、コンフィギュレーションROM4と、FPGAをリセットするため・論理モジュールを再構成するための制御信号をプログラマブルロジックデバイス(FPGA3)に出力する。
【0013】
ここで、FPGA3は、回路構成の情報を持つプログラムにより任意のディジタルLSIを構築し所望の論理モジュールをプログラミングすることができるLSI・ロジックICであり、プログラムを変えることにより、ユーザが内部ロジックを自由に書き換えることができるものである。
【0014】
FPGA3は、コンフィギュレーションRAM31にコンフィギュレーションデータが保持されると、コンフィギュレーションデータの内容に沿った論理モジュール・論理回路を構築する。
具体的には、FPGA3は、コンフィギュレーションROM4に読み出しリクエスト信号を出力し、これの応答としてコンフィギュレーションROM4から出力されたコンフィギュレーションデータをFPGA3のコンフィギュレーションRAM31に記憶する(いいかえれば、FPGA3は、コンフィギュレーションROM4から読み出したコンフィギュレーションデータをコンフィギュレーションRAM31に保存する)と、このコンフィギュレーションデータの内容に沿った論理モジュール・論理回路を構築する。
【0015】
これらのことからわかるように、コンフィギュレーションの情報は、FPGA3の構成を決定する重要な情報であるから、コンフィギュレーションRAM31中で情報にエラーが生じていないか、監視する必要があり、従来から以下のような構成でコンフィギュレーションデータのエラー検出が行なわれている。
【0016】
FPGA3は、コンフィギュレーションROM4から読み出したコンフィギュレーションデータを記憶するコンフィギュレーションRAM31と、予め定められた周期でコンフィギュレーションRAM31からコンフィギュレーションデータを読み出して巡回冗長検査(以下、CRCという)を行ない、CRCによる誤り・エラー(以下、CRCエラーという)が検出されるとモジュールリセット手段5にリセット要求信号(CRC_ERROR信号等)を出力するCRCチェッカ32と、演算制御手段1との通信をするためのMPUインターフェース33と、記憶手段2との通信をするためのメモリインターフェース34と、から構成される。
【0017】
さらに、FPGA3のCRCチェッカ32は、CRCエラー検出手段32aと、エラー情報レジスタ32bと、から構成される。
【0018】
CRCエラー検出手段32aは、定周期でコンフィギュレーションRAM31に読み出しリクエスト信号を出力し、これの応答としてコンフィギュレーションRAM31から出力されたコンフィギュレーションデータ(いいかえれば、コンフィギュレーションRAM31から読み出したコンフィギュレーションデータ)についてCRC検査を行なってCRCエラーを検出するとFPGA(論理モジュール)をリセットするためのリセット要求信号をモジュールリセット手段5に出力する。
【0019】
エラー情報レジスタ32bは、CRCエラー検出手段32aによりCRCエラーが検出された各コンフィギュレーションデータのエラー検出箇所を示すエラー検出箇所情報を格納する。
【0020】
このような構成で、従来のコントローラは、以下の動作(1−1)〜(1−6)を行なう。
(1−1)
FPGA3は、コンフィギュレーションROM4から読み出した、コンフィギュレーションデータをコンフィギュレーションRAM31に記憶する。
(1−2)
FPGA4のCRCエラー検出手段32aは、予め定められた周期でコンフィギュレーションRAM31に読み出しリクエスト信号を出力し、これの応答としてコンフィギュレーションRAM31から出力されたコンフィギュレーションデータについてCRC検査を行なう。
(1−3)
CRCエラー検出手段32aは、CRC検査を行なったコンフィギュレーションデータでCRCエラーが検出されると、当該コンフィギュレーションデータのエラー検出箇所を示すエラー検出箇所情報をエラー情報レジスタ32bに格納する。
(1−4)
またCRCエラー検出手段32aは、CRCエラーが検出されるとリセット要求信号をモジュールリセット手段5に出力する。
(1−5)
モジュールリセット手段5はリセット要求信号を受信すると、FPGA3をリセットするため・論理モジュールを再構成するための制御信号をFPGA3に出力する。
(1−6)
FPGA3は、モジュールリセット手段5から制御信号(リセットコマンド等を含む信号)が入力されると、FPGAの初期化等(たとえばFPGA内のフリップフロップを初期化するリセットなど)を実行して、モジュールのリセット動作を行う。
【0021】
この結果、従来のコントローラでは、コンフィギュレーションデータのエラー検出を行なうことができる点で有効であった。
【0022】
このようなコントローラに関連する先行技術文献として下記の特許文献1、2がある。
【先行技術文献】
【特許文献】
【0023】
【特許文献1】特開2004−200311号広報
【0024】
【特許文献2】特開2008−024686号公報
【発明の概要】
【発明が解決しようとする課題】
【0025】
しかしながら、従来のコントローラでは、CRCエラー検出回路31が故障等により停止すると、エラーが正常に検出できなくなるため、プログラマブルロジックデバイスのコンフィギュレーションの正当性が保てないままモジュールが動作し、コントローラ全体の動作、ひいては、プロセス制御系全体に問題が生じてしまうという問題点があった。
【0026】
また、従来のコントローラでは、CRCエラー検出回路31に異常が発生しエラー検出が正確にできなくなると、プログラマブルロジックデバイスのコンフィギュレーションの正当性が保てないままモジュールが動作し、コントローラ全体の動作、ひいては、プロセス制御系全体に問題が生じてしまうという問題点があった。
【0027】
本発明は上述の問題点を解決するものであり、その目的は、プログラマブルロジックデバイスにおけるコンフィギュレーションデータのエラーを確実に検出することにある。
【課題を解決するための手段】
【0028】
このような課題を達成するために、本発明のうち請求項1記載の発明は、
論理モジュールを構築する複数のコンフィギュレーションデータのCRCエラーを検出するCRCチェッカを備えたプログラマブルロジックデバイスを有し、プロセス制御における制御対象を制御するコントローラにおいて、
定期的に前記複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、前記CRCチェッカが前記擬似エラー以外のエラーを検出すると前記論理モジュールのリセット要求信号を出力するとともに前記プログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、
前記演算制御手段と前記プログラマブルロジックデバイスとのアクセスが停止すると前記論理モジュールのリセット要求信号を出力する第1のウォッチドッグタイマを、備えることを特徴とするコントローラである。
【0029】
請求項2記載の発明は、請求項1記載のコントローラにおいて、
前記CRCチェッカから出力されるCRCエラー検出結果であるCRCエラー信号の出力パルスが予め定められた一定期間発生しなくなると前記論理モジュールのリセット要求信号を出力する第2のウォッチドッグタイマを、備えることを特徴とする。
【0030】
請求項3記載の発明は、請求項1または2記載のコントローラにおいて、
記擬似エラーは、
前記演算制御手段により擬似的に生成され、予め指定された箇所にエラーを有するコンフィギュレーションデータであることを特徴とする。
【0031】
請求項4記載の発明は、請求項1〜3いずれかに記載のコントローラにおいて、
前記CRCチェッカは、
コンフィギュレーションメモリ内の前記複数のコンフィギュレーションデータのエラーおよび前記擬似エラーを検出するCRCエラー検出手段と、
前記CRCエラー検出手段によりエラーが検出された前記複数のコンフィギュレーションデータのエラー検出箇所を示すエラー検出箇所情報を格納するエラー情報記憶手段と、
を具備し、
前記演算制御手段は、前記エラー情報記憶手段に記憶された前記エラー検出箇所情報の中に前記擬似エラーで指定した箇所以外のエラー検出箇所情報が存在すると前記リセット要求信号を出力するとともに前記プログラマブルロジックデバイスへのアクセスを停止することを特徴とする。
【0032】
請求項5記載の発明は、請求項2〜4いずれかに記載のコントローラにおいて、
前記CRCチェッカは、
前記演算制御手段から入力された擬似エラーを前記CRCエラー検出手段に出力する擬似エラー注入手段を
備えることを特徴とする。
【0033】
請求項6記載の発明は、請求項1〜5のいずれかに記載のコントローラにおいて、
前記演算制御手段または、前記第1ウォッチドッグタイマ、第2のウォッチドッグタイマからのリセット要求信号が入力されると、論理モジュールを再構成するための制御信号を前記プログラマブルロジックデバイスに出力するモジュールリセット手段を備えたことを特徴とする。
【0034】
請求項7記載の発明は、請求項1〜6のいずれかに記載のコントローラにおいて、
前記演算制御手段は、
前記エラー情報記憶手段にエラー検出箇所情報が格納されていない場合は前記リセット要求信号を出力するとともに前記プログラマブルロジックデバイスへのアクセスを停止することを特徴とする
【発明の効果】
【0035】
このように、本発明に係るコントローラであれば、定期的に複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、CRCチェッカが擬似エラー以外のエラーを検出すると論理モジュールのリセット要求信号を出力するとともにプログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、演算制御手段とプログラマブルロジックデバイスとのアクセスが停止すると論理モジュールのリセット要求信号を出力する第1のウォッチドッグタイマを備えることにより、MPUインターフェースとウォッチドッグタイマ35の二つの経路によって、リセット要求信号の出力が冗長化されるため、FPGA3におけるコンフィギュレーションデータのエラーを確実に検出することができ、確実性の高いリセット動作に貢献できる。
【0036】
また、本発明に係るコントローラであれば、定期的に複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、CRCチェッカが擬似エラー以外のエラーを検出すると論理モジュールのリセット要求信号を出力するとともにプログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、CRCチェッカから出力されるCRCエラー検出結果であるCRCエラー信号が一定期間発生しなくなると論理モジュールのリセット要求信号を出力する第2のウォッチドッグタイマを備えることにより、CRCエラー検出手段32aの異常を検知して、モジュール再構成させることでCRCエラー検出手段の健全性を保証することができ、コントローラ全体の最適運転に貢献できる点で有効である。
【図面の簡単な説明】
【0037】
【図1】本発明に係るコントローラの一実施例を示す構成図である。
【図2】従来のコントローラの一例を示す構成図である。
【発明を実施するための形態】
【0038】
<第1の実施例>
図1は、本発明に係るコントローラの一実施例を示す構成図である。図2と共通する部分には同一の符号を付けて適宜説明を省略する。図2との相違点は、定期的に複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、CRCチェッカが擬似エラー以外のエラーを検出すると論理モジュールのリセット要求信号を出力するとともにプログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、演算制御手段とプログラマブルロジックデバイスとのアクセスが停止すると論理モジュールのリセット要求信号を出力する第1のウォッチドッグタイマを、備える点で相違する。
また特に図示しないがコントローラは、プラントなどに設置されている各種フィールド機器と通信して所定の制御プログラムに基づく制御を行う。
【0039】
(構成の説明)
図1において、コントローラは、主に、MPU(Micro Processing Unit)等であってFPGA7により構成された論理モジュールやプログラム等に基づいてコントローラ全体の制御動作を実行する演算制御手段1と、たとえばROM(Read Only Memory)、RAM(Random Access Memory)等であってプログラムやアプリケーション、各種データが記憶される記憶手段2と、プログラマブルロジックデバイスの一例であり、回路構成の情報を持つプログラムにより任意のディジタルLSIを構築し所望の論理モジュールを構成できるLSIであり演算制御手段1とFPGA7とのアクセスが停止すると論理モジュールのリセット要求信号を出力する第1のウォッチドッグタイマ35を備えたFPGA(Field Programmable Gate Array)3と、から構成される。
【0040】
またコントローラは、FPGA7で任意のディジタルLSIを構築し所望の論理モジュールを構成するためのコンフィギュレーションデータ(論理回路を構成するためのデータ)を保持するコンフィギュレーションROM4と、FPGAをリセットするため・論理モジュールを再構成するための制御信号をプログラマブルロジックデバイス(FPGA7)に出力するモジュールリセット手段5と、FPGA7からコンフィギュレーションデータのエラー検出結果に基づき出力されるCRCエラー信号の出力パルスが予め定められる一定期間発生しなくなった場合は論理モジュールのリセット要求信号をモジュールリセット手段5に出力する第2のウォッチドッグタイマ6からも構成される。
(接続・配置関係の説明)
【0041】
FPGA7は、演算制御手段1、記憶手段2、コンフィギュレーションROM4、モジュールリセット手段5、ウォッチドッグタイマ6とバスと呼ばれる接続線でそれぞれ以下のように相互に接続されている。
【0042】
演算制御手段1は、メモリインターフェース34を介して記憶手段2と相互接続される。また、演算制御手段1は、MPUインターフェース33を介してエラー情報レジスタ32bと相互接続されエラー検出箇所情報の読み出しリクエストデータとエラー検出箇所情報の入出力を行なう。
【0043】
さらに演算制御手段1は、MPUインターフェース33を介して、擬似エラー注入手段72cと相互接続され、擬似エラーを出力する。また演算制御手段1は、MPUインターフェース33を介して、モジュールリセット手段5と相互接続され、リセット要求信号を出力する。
【0044】
一方、演算制御手段1は、MPUインターフェース33を介して、第1のウォッチドッグタイマ35と相互接続される。この第1のウォッチドッグタイマ35は、モジュールリセット手段5と相互接続され、リセット要求信号を出力する。
【0045】
コンフィギュレーションROM4はコンフィギュレーションRAM31と接続されコンフィギュレーションデータを出力する。またコンフィギュレーションRAM31は、擬似エラー注入手段72cと相互接続され、読み出しリクエスト信号とコンフィギュレーションデータとを入出力する。
【0046】
擬似エラー注入手段72cは、CRCエラー検出手段32aと接続され、擬似エラーおよびコンフィギュレーションデータを出力する。
【0047】
CRCエラー検出手段32aは、エラー情報レジスタ32bに接続されエラー検出箇所情報を出力する。また、CRCエラー検出手段32aは、第2のウォッチドッグタイマ6とも接続されリセット要求信号を出力する。
【0048】
第1のウォッチングタイマ35および第2のウォッチングタイマ6は、モジュールリセット手段5に相互に接続され、リセット要求信号を出力する。
なお、バスなどの接続線は記憶手段にデータを書き込み、また読み出すためのアドレスバス、データバス、および制御線で構成されている。
【0049】
(主な構成要素の説明)
演算制御手段1は、定期的に複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出すものである。
また演算制御手段1は、後述のFPGA7のCRCチェッカ72が擬似エラー以外のエラーを検出すると、論理モジュールのリセット要求信号を出力するとともにFPGA7へのアクセスを停止する動作も行なう。
さらに演算制御手段1は、CRCエラー検出手段32aが一定周期でCRCエラーを検出するように擬似的にエラーデータ(以下、擬似エラー)を生成し、MPUインターフェース33を介してFPGA7に出力する動作もまた行なう。
【0050】
なお、演算制御手段1は、擬似エラーとして、CRCエラー検出箇所情報を含むデータであってCRCエラー検出手段32aが一定周期でCRCエラーを検出するように生成するものでもよい。また演算制御手段1は、擬似エラーとして、予め指定された箇所にエラーを有するコンフィギュレーションデータを生成することで擬似的にエラーを生成するものでもよい。
【0051】
FPGA7は、回路構成の情報を持つプログラムにより任意のディジタルLSIを構築し所望の論理モジュールをプログラミングすることができるLSI・ロジックICであり、プログラムを変えることにより、ユーザが内部ロジックを自由に書き換えることができるものである。
【0052】
FPGA7は、コンフィギュレーションRAM31にコンフィギュレーションデータが保持されると、コンフィギュレーションデータの内容に沿った論理モジュール・論理回路を構築する。
具体的には、FPGA7は、コンフィギュレーションROM4に読み出しリクエスト信号を出力し、これの応答としてコンフィギュレーションROM4から出力されたコンフィギュレーションデータをFPGA7のコンフィギュレーションRAM31に保存する(いいかえれば、FPGA7は、コンフィギュレーションROM4から読み出したコンフィギュレーションデータをコンフィギュレーションRAM31に保存する)と、このコンフィギュレーションデータの内容に沿った論理モジュール・論理回路を構築する。
【0053】
なお、たとえばコンフィギュレーションデータは、コントローラが具備する図示しないメモリカードスロットにメモリカードが挿入されることによりコンフィギュレーションROM4に記憶されるものもある。
【0054】
本発明のFPGA7は、特に、演算制御手段1が生成した擬似エラー以外のエラーを検出し演算制御手段1とプログラマブルロジックデバイス3とのアクセスが停止すると論理モジュールのリセット要求信号を出力する点で特徴があり、例えば以下のように構成される。
【0055】
FPGA7は、コンフィギュレーションROM4から読み出したコンフィギュレーションデータを記憶するコンフィギュレーションRAM31と、予め定められた周期でコンフィギュレーションRAM31からコンフィギュレーションデータを読み出して巡回冗長検査(以下、CRCという)を行ない、CRCによる誤り・エラー(以下、CRCエラーという)が検出されるとモジュールリセット手段5にリセット要求信号(CRC_ERROR信号等)を出力するCRCチェッカ72と、演算制御手段1との通信をするためのMPUインターフェース33と、記憶手段2との通信をするためのメモリインターフェース34と、演算制御手段1とFPGA7とのアクセスが停止すると論理モジュールのリセット要求信号を出力する第1のウォッチドッグタイマ35から構成される。
【0056】
第1のウォッチドッグタイマ35は、MPUインターフェース33が演算制御手段1とのアクセスが生じていることを監視し、いいかえれば演算制御手段1とFPGA7とのアクセス状況を監視し、演算制御手段1とFPGA7とのアクセスが予め定められた時間停止すると論理モジュールのリセット要求信号を出力する。
【0057】
FPGA7のCRCチェッカ72は、CRCエラー検出手段32aと、エラー情報記憶手段の一例であるエラー情報レジスタ32bと、擬似エラー注入手段72cとから構成される。
【0058】
CRCエラー検出手段32aは、擬似エラー注入手段72cから入力される擬似エラー情報に基づき定期的にCRCエラー検出結果としてCRCエラー信号(CRC_ERROR信号)を発生するとともに、擬似エラー注入手段72cから入力されるコンフィギュレーションデータについて定期的にCRC検査を行ってCRCエラーを検出するとCRCエラー検出結果としてCRCエラー信号を出力する。
【0059】
またCRCエラー検出手段(CRCエラー検出回路)32aは、CRCエラーが検出された各コンフィギュレーションデータのエラー検出箇所または擬似エラーにより規定されているエラー検出箇所を示すエラー検出箇所情報をエラー情報レジスタ32bに記憶する。
【0060】
なお、CRCエラー検出手段32aは、演算制御手段1により生成された定期予め指定された箇所にエラーを有するコンフィギュレーションデータを定期的にCRCエラー検査を行ないCRCエラー検出結果としてCRCエラー信号を発生するものでもよい。
【0061】
このため、CRCエラー検出手段32aが、一定間隔で擬似エラー・コンフィギュレーションデータに基づいてCRCエラー検査を繰り返し診断するため、CRCエラー信号出力は一定間隔のパルスとして発生することになる。
すなわち、このパルスがCRCエラー信号出力のパルスが一定期間発生しなくなった場合はCRCエラー検出回路の動作に異常が発生したものと判断できることになる。
【0062】
エラー情報レジスタ32bは、エラー情報記憶手段の一例でありCRCエラー検出手段32aによりCRCエラーが検出された各コンフィギュレーションデータのエラー検出箇所を示すエラー検出箇所情報を記憶・格納する。
【0063】
擬似エラー注入手段(擬似エラー注入回路32cは、意図的に擬似エラーをCRCエラー検出手段32aに注入することで、強制的にエラー検出状態を作り出す回路である。なお擬似エラーは、CRCチェッカ72以外の構成・回路等の動作には影響するものではない。
【0064】
たとえば、擬似エラー注入手段72cは、演算制御手段1により擬似的に生成された擬似エラーをCRCエラー検出手段32aに出力する。
また擬似エラー注入手段72cは、擬似エラーが入力されると、予め定められた時間をあけてコンフィギュレーションRAM31からコンフィギュレーションデータを読み出して、入力された擬似エラーとともにCRCエラー検出手段32aに出力する。
すなわち擬似エラー注入手段72cは、CRCエラー検出手段32aに一定周期で擬似エラーとコンフィギュレーションRAM31から読み出したコンフィギュレーションデータとのCRCエラー検査を実行させるべく、一定周期で擬似エラーデータ、コンフィギュレーションデータを出力することになる。
【0065】
さらに詳細に説明すれば、擬似エラー注入手段72cは、一定周期で演算制御手段1からMPUインターフェース33を介して擬似エラーが入力されると、たとえばその都度、コンフィギュレーションRAM31に読み出しリクエスト信号を出力し、これの応答としてコンフィギュレーションRAM31から出力されたコンフィギュレーションデータ(いいかえればコンフィギュレーションRAM31から読み出したコンフィギュレーションデータ)を、入力された擬似エラーとともにCRCエラー検出手段32aに出力する。
【0066】
(動作説明)
このような構成で、本発明のコントローラは、以下の動作A「エラー検出によるリセット機能の高信頼化」と動作B「CRCエラー検出手段の高信頼化」を行なう。
動作Aについては(A−1)〜(A−10)のステップで動作を行い、動作Bについては(B−1)〜(B−7)のステップで動作を行う。
【0067】
(動作A:エラー検出によるリセット機能の高信頼化)
(A−1)
演算制御手段1は、擬似エラーを生成し、MPUインターフェース33を介して擬似エラー注入手段72cに出力する。
【0068】
(A−2)
擬似エラー注入手段72cは、演算制御手段1により擬似的に生成された擬似エラーが入力されると、この擬似エラーをCRCエラー検出手段32aに出力する。
【0069】
(A−3)
また擬似エラー注入手段72cは、擬似エラーが入力されると、予め定められた時間をおいてコンフィギュレーションRAM31からコンフィギュレーションデータを読み出して、入力された擬似エラーとともにCRCエラー検出手段32aに出力する。
【0070】
すなわち擬似エラー注入手段72cは、(A−2)、(A−3)の動作により、CRCエラー検出手段32aに一定周期で擬似エラーとコンフィギュレーションRAM31から読み出したコンフィギュレーションデータとのCRCエラー検査を実行させるべく、一定周期で擬似エラーデータ、コンフィギュレーションデータを出力することになる。
【0071】
(A−4)
CRCエラー検出手段32aは、擬似エラー注入手段72cから入力された擬似エラーまたはコンフィギュレーションデータに基づきCRCエラー検査を行なう。
【0072】
(A−5)
CRCエラー検出手段32aは、CRCエラーを検出すると、検出された各コンフィギュレーションデータのエラー検出箇所または擬似エラーにより規定されているエラー検出箇所を示すエラー検出箇所情報をエラー情報レジスタ32bに記憶する。
【0073】
(A−6)
演算制御手段1は、エラー情報レジスタ32bに記録されているエラー情報を定期的に読み込み(具体的にはエラー情報レジスタ32bに読み出しリクエスト信号を出力し、これの応答としてエラー情報レジスタ32bから出力されたコンフィギュレーションデータがMPUインターフェース33を介して入力されると)、演算制御手段1自身が生成・送信した擬似エラーにより規定されているエラー箇所と比較する。
【0074】
(A−7)
演算制御手段1は、(A−6)の比較の結果、擬似エラーの箇所以外のエラー検出箇所情報がエラー情報レジスタ32bに存在すると、演算制御手段1は実際にエラーが発生したものと判断し、MPUインターフェース33を介して、モジュールリセット手段5にリセット要求信号を出力する。
【0075】
(A−8)
また演算制御手段1は、擬似エラーの箇所以外のエラー検出箇所情報がエラー情報レジスタ32bに存在すると、上述(A−7)のリセット要求信号の出力とともに(同時またはほぼ同時に)FPGA7へのアクセスを停止する。
【0076】
(A−9)
ウォッチドッグタイマ35は、MPUインターフェース33が演算制御手段1とのアクセスを監視し、予め定められた時間経過しても演算制御手段1とFPGA7とのアクセスが行なわれない場合はアクセスが停止したものと判定し、モジュールリセット手段5にリセット要求信号を送信する。
【0077】
(A−10)
モジュールリセット手段5は、リセット要求信号が入力されると、FPGA7をリセットするため・論理モジュールを再構成するための制御信号をFPGA7に出力する。
FPGA7は、モジュールリセット手段5から制御信号(リセットコマンド等を含む信号)が入力されると、FPGAの初期化等(たとえばFPGA内のフリップフロップを初期化するリセットなど)を実行して、モジュールのリセット動作を行う。
【0078】
このため、MPUインターフェースとウォッチドッグタイマ35の二つの経路によって、リセット要求信号の出力が冗長化されるため、FPGA7におけるコンフィギュレーションデータのエラーを確実に検出することができる。
【0079】
すなわち、本発明のコントローラは、定期的に複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、CRCチェッカが擬似エラー以外のエラーを検出すると論理モジュールのリセット要求信号を出力するとともにプログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、演算制御手段と前記プログラマブルロジックデバイスとのアクセスが停止すると論理モジュールのリセット要求信号を出力する第1のウォッチドッグタイマを備えることにより、MPUインターフェースとウォッチドッグタイマ35の二つの経路によって、リセット要求信号の出力が冗長化されるため、FPGA7におけるコンフィギュレーションデータのエラーを確実に検出することができ、確実性の高いリセット動作に貢献できる点で有効である。
【0080】
なお、本発明に係るコントローラは、演算制御手段1が擬似エラーの箇所以外のエラー検出箇所情報がエラー情報レジスタ32bに存在すると、FPGA7へのアクセスを停止すると説明したが、特にこれに限定するものではなく、FPGA7が、演算制御手段1から入力された擬似エラーの読み込みができない場合や、演算制御手段1との正常な通信が出来なかった場合も、MPUインターフェースを介した演算制御手段1とのアクセスを停止するものでもよい。
この場合、第1のウォッチドッグタイマ35は、上述(A−9)と同様にMPUインターフェース33が演算制御手段1とのアクセスを監視し、予め定められた時間経過しても演算制御手段1とFPGA7とのアクセスが行なわれない場合はアクセスが停止したものと判定し、モジュールリセット手段5にリセット要求信号を送信する。
【0081】
(動作B:CRCエラー検出手段の高信頼化)
(B−1)
演算制御手段1は、擬似エラーを生成し、MPUインターフェース33を介して擬似エラー注入手段72cに出力する。
【0082】
(B−2)
擬似エラー注入手段72cは、演算制御手段1により擬似的に生成された擬似エラーが入力されると、演算制御手段1により擬似的に生成された擬似エラーをCRCエラー検出手段32aに出力する。
【0083】
(B−3)
また擬似エラー注入手段72cは、擬似エラーが入力されると、予め定められた時間をおいてコンフィギュレーションRAM31からコンフィギュレーションデータを読み出して、入力された擬似エラーとともにCRCエラー検出手段32aに出力する。
【0084】
すなわち擬似エラー注入手段72cは、(A−2)、(A−3)の動作により、CRCエラー検出手段32aに一定周期で擬似エラーとコンフィギュレーションRAM31から読み出したコンフィギュレーションデータとのCRCエラー検査を実行させるべく、一定周期で擬似エラー、コンフィギュレーションデータを出力することになる。
【0085】
(B−4)
CRCエラー検出手段32aは、擬似エラー注入手段72cから入力された擬似エラーまたはコンフィギュレーションデータに基づきCRCエラー検査を行なう。
【0086】
(B−5)
CRCエラー検出手段32aは、CRCエラーを検出すると、CRCエラー検出結果としてCRCエラー信号を出力する。
このため、CRCエラー検出手段32aは、一定間隔で擬似エラー・コンフィギュレーションデータに基づいてCRCエラー検査を繰り返し診断するため、CRCエラー信号出力は一定間隔のパルスとして発生することになる。
【0087】
(B−6)
第2のウォッチドッグタイマ6は、CRCエラー検出手段32aから出力されたCRCエラー信号を監視し、この信号の出力パルスが予め定められた一定期間発生しなくなった場合は、CRCエラー検出手段32aの動作に異常が発生したもの、またはコンフィギュレーションデータについてのエラーが検出されたものと判定してモジュールリセット手段5にリセット要求信号を出力する。
【0088】
ここで、CRCエラー検出手段32aが出力するリセット要求信号の出力パルスが、予め定められている一定期間発生しなくなった場合はCRCエラー検出手段32aの動作に異常が発生した可能性が高く、エラー情報レジスタ32bに正しいエラー情報が保持されないことになるので正しいエラー情報が得られなくなる恐れがあり、結果として、FPGA7におけるコンフィギュレーションデータのエラーを確実に検出することができなくなってしまうことが考えられる。
このため本発明のコントローラは、第2のウォッチドッグタイマ6が、正しいエラー情報検出を保証するためCRCエラー信号の出力パルスが予め定められた一定期間発生しなくなったモジュールリセット手段5にリセット要求信号を送信しFPGAをリセットさせて、モジュール再構成させることでCRCエラー検出手段32aの異常を回避する。
【0089】
(B−7)
モジュールリセット手段5はリセット要求信号が入力されると、FPGA7をリセットするため、論理モジュールを再構成するための制御信号をFPGA7に出力する。
FPGA7は、モジュールリセット手段5から制御信号(リセットコマンド等を含む信号)が入力されると、FPGAの初期化等(たとえばFPGA内のフリップフロップを初期化するリセットなど)を実行して、モジュールのリセット動作を行う。
【0090】
このため、CRCエラー検出手段32aの異常を検知して、モジュール再構成させることでCRCエラー検出手段の健全性を保証することができる。
【0091】
すなわち、本発明のコントローラは、定期的に複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、CRCチェッカが擬似エラー以外のエラーを検出すると論理モジュールのリセット要求信号を出力するとともにプログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、CRCチェッカから出力されるCRCエラー検出結果であるCRCエラー信号が一定期間発生しなくなると論理モジュールのリセット要求信号を出力する第2のウォッチドッグタイマを備えることにより、CRCエラー検出手段32aの異常を検知して、モジュール再構成させることでCRCエラー検出手段の健全性を保証することができ、コントローラ全体の最適運転に貢献できる点で有効である。
【0092】
なお、エラー情報レジスタ32bは、演算制御手段1からの読み出しリクエスト信号が入力され、この応答として記憶しているエラー検出箇所情報を出力すると(演算制御手段1によりエラー検出箇所情報が読み出されると)、出力された・読み出された当該エラー検出箇所情報を削除・クリアするものでもよい。
この場合演算制御手段1は、エラー情報レジスタ32bからエラー検出箇所情報を読み込みを実施したときに、上述のように削除・クリアされたことによりエラー情報レジスタ32b中にデータが存在しない場合は、CRCエラー検出手段32aが正しく動作していないと判断して、上述の(B−6)のようにモジュールリセット手段5にリセット要求信号を出力するものでもよい。
<その他の実施例>
【0093】
なお、本発明のコントローラは、特定のモジュールに限定されること無く、FPGAおよび演算制御手段を実装するすべてのモジュールに対して適応可能であるものでもよい。
【0094】
また、本発明のコントローラは、第1のウォッチドッグタイマおよび第2のウォッチドッグタイマがそれぞれ演算制御手段1とFPGA7のアクセスの停止およびCRCエラー検出回路から出力されるCRCエラー信号のパルスを監視して一定期間アクセスが発生しなくなる、または、パルスが一定期間発生しなくなると論理モジュールのリセット要求信号を出力するものと説明しているが、特にこれに限定するものではなく、演算制御手段1がエラー情報レジスタ32aにアクセスしたときにエラー情報が存在しない場合でも CRCエラー検出手段の健全性の監視は可能であるため、第2のウォッチドッグタイマによるCRCエラー検出手段の監視は必須ではない。
【0095】
また、本発明のコントローラは、演算制御手段1が、擬似エラーの箇所以外のエラー検出箇所情報がエラー情報レジスタ32bに存在すると実際にエラーが発生したと判断することにより擬似エラーと実際のエラーの比較・区別を行っているが擬似エラーと実際のエラーを区別する手法は別段これに限定するものではなく、擬似エラーと実際にエラーとを区別できるものであればどのようなものでもよい。
【0096】
以上説明したように、本発明に係るコントローラは、定期的に複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、CRCチェッカが擬似エラー以外のエラーを検出すると論理モジュールのリセット要求信号を出力するとともにプログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、演算制御手段とプログラマブルロジックデバイスとのアクセスが停止すると論理モジュールのリセット要求信号を出力する第1のウォッチドッグタイマを備えることにより、MPUインターフェースと第1のウォッチドッグタイマの二つの経路によって、リセット要求信号の出力が冗長化されるため、FPGA7におけるコンフィギュレーションデータのエラーを確実に検出することができ、確実性の高いリセット動作に貢献できる、いいかえればエラー検出時に確実にリセットできる点で有効である。
また、本発明に係るコントローラは、CRCチェッカから出力されるCRCエラー検出結果であるCRCエラー信号が一定期間発生しなくなると論理モジュールのリセット要求信号を出力する第2のウォッチドッグタイマも備えることにより、CRCエラー検出手段32aの異常を検知して、モジュール再構成させることでCRCエラー検出手段の健全性を保証することができる、いいかえればCRCエラー検出手段の健全性を監視することができので、コントローラ全体の最適運転に貢献できる点で有効である。
【符号の説明】
【0097】
1 演算制御手段(MPU)
2 記憶手段
3、7 FPGA
31 コンフィギュレーションRAM
32、72 CRCチェッカ
32a CRCエラー検出手段
32b エラー情報レジスタ
72c 擬似エラー注入手段
33 MPUインターフェース
34 メモリインターフェース
35 第1のウォッチドッグタイマ
4 コンフィギュレーションROM
5 モジュールリセット手段
6 第2のウォッチドッグタイマ

【特許請求の範囲】
【請求項1】
論理モジュールを構築する複数のコンフィギュレーションデータのCRCエラーを検出するCRCチェッカを備えたプログラマブルロジックデバイスを有し、プロセス制御における制御対象を制御するコントローラにおいて、
定期的に前記複数のコンフィギュレーションデータの擬似エラーを生成してエラー検出状態を作り出し、前記CRCチェッカが前記擬似エラー以外のエラーを検出すると前記論理モジュールのリセット要求信号を出力するとともに前記プログラマブルロジックデバイスへのアクセスを停止する演算制御手段と、
前記演算制御手段と前記プログラマブルロジックデバイスとのアクセスが停止すると前記論理モジュールのリセット要求信号を出力する第1のウォッチドッグタイマを、備えることを特徴とするコントローラ。
【請求項2】
前記CRCチェッカから出力されるCRCエラー検出結果であるCRCエラー信号の出力パルスが予め定められた一定期間発生しなくなると前記論理モジュールのリセット要求信号を出力する第2のウォッチドッグタイマを、備えることを特徴とする請求項1記載のコントローラ。
【請求項3】
前記擬似エラーは、
前記演算制御手段により擬似的に生成され、予め指定された箇所にエラーを有するコンフィギュレーションデータであることを特徴とする請求項1または2記載のコントローラ。
【請求項4】
前記CRCチェッカは、
コンフィギュレーションメモリ内の前記複数のコンフィギュレーションデータのエラーおよび前記擬似エラーを検出するCRCエラー検出手段と、
前記CRCエラー検出手段によりエラーが検出された前記複数のコンフィギュレーションデータのエラー検出箇所を示すエラー検出箇所情報を格納するエラー情報記憶手段と、
を具備し、
前記演算制御手段は、前記エラー情報記憶手段に記憶された前記エラー検出箇所情報の中に前記擬似エラーで指定した箇所以外のエラー検出箇所情報が存在すると前記リセット要求信号を出力するとともに前記プログラマブルロジックデバイスへのアクセスを停止することを特徴とする請求項1〜3のいずれかに記載のコントローラ。
【請求項5】
前記CRCチェッカは、
前記演算制御手段から入力された擬似エラーを前記CRCエラー検出手段に出力する擬似エラー注入手段を
備えることを特徴とする請求項1〜4のいずれかに記載のコントローラ。
【請求項6】
前記演算制御手段、または、前記第1ウォッチドッグタイマ、第2のウォッチドッグタイマからのリセット要求信号が入力されると、論理モジュールを再構成するための制御信号を前記プログラマブルロジックデバイスに出力するモジュールリセット手段、
備えたことを特徴とする請求項1〜5のいずれかに記載のコントローラ。
【請求項7】
前記演算制御手段は、
前記エラー情報記憶手段にエラー検出箇所情報が格納されていない場合は前記リセット要求信号を出力するとともに前記プログラマブルロジックデバイスへのアクセスを停止することを特徴とする請求項1〜6のいずれかに記載のコントローラ。

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2011−108075(P2011−108075A)
【公開日】平成23年6月2日(2011.6.2)
【国際特許分類】
【出願番号】特願2009−263685(P2009−263685)
【出願日】平成21年11月19日(2009.11.19)
【出願人】(000006507)横河電機株式会社 (4,443)
【Fターム(参考)】