(57)【要約】【課題】不揮発性メモリを用い、簡易な構成で信頼性を向上させる。【解決手段】誤り訂正できるビットに限界がある不揮発性メモリであるＭＲＡＭ３３０と、ＭＲＡＭにデータを書き込み、ＭＲＡＭからデータを読み出す制御部と、を備えるプロセスコントローラ３であって、同一のデータを書き込む二つずつの組に区別された、複数のＭＲＡＭを対象にして、同じ組のＭＲＡＭから読み出されたデータ同士を比較し、不一致である場合に、エラー信号ＭＢＥを出力するエラー判定部を、さらに備え、制御部は、ＭＲＡＭにデータを書き込むときには、全てのＭＲＡＭに対してデータ書き込み領域を指定し、同じ組ごとに同一のデータをＭＲＡＭに書き込み、ＭＲＡＭからデータを読み出すときには、全てのＭＲＡＭに対してデータ読み出し領域を指定し、各ＭＲＡＭからそれぞれデータを読み出す。【選択図】図２
2015184910.tif 000002
【特許請求の範囲】
【請求項１】
誤り訂正できるビットに限界がある不揮発性メモリと、
前記不揮発性メモリにデータを書き込み、前記不揮発性メモリからデータを読み出す制御部と、を備えるプロセスコントローラであって、
同一のデータを書き込む二つずつの組に区別された、複数の前記不揮発性メモリを対象にして、同じ組の前記不揮発性メモリから読み出されたデータ同士を比較し、不一致である場合に、エラー信号を出力するエラー判定部を、さらに備え、
前記制御部は、
前記不揮発性メモリにデータを書き込むときには、全ての前記不揮発性メモリに対してデータ書き込み領域を指定し、同じ組ごとに同一のデータを前記不揮発性メモリに書き込み、
前記不揮発性メモリからデータを読み出すときには、全ての前記不揮発性メモリに対してデータ読み出し領域を指定し、各前記不揮発性メモリからそれぞれデータを読み出す、
ことを特徴とするプロセスコントローラ。
【請求項２】
前記不揮発性メモリは、ＭＲＡＭ（Magnetoresistive Random Access Memory）であることを特徴とする請求項１記載のプロセスコントローラ。
【請求項３】
冗長化構成されていることを特徴とする請求項１または２記載のプロセスコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセスコントローラに関する。
【背景技術】
【０００２】
生産プロセスを管理する工場では、プラント内に多数のデバイス（例えばセンサ機器やバルブポジショナ等のデバイス）を配置してプロセスを管理している。プラント内のデバイスは、プロセスを制御するプロセスコントローラによって制御される。下記特許文献１に記載のプロセスコントローラは、制御プログラムや制御データを記憶するメモリとして、ＤＲＡＭ（Dynamic Random Access Memory）を使用している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３９２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＤＲＡＭやＳＲＡＭ（Static Random Access Memory）は、アルファ線などの宇宙線によりメモリエラーが発生するため、その対策として、メモリエラーを検出して修復するＥＣＣ（Error Correction Code）回路を搭載している。しかしながら、ＥＣＣ回路は、複雑な機能を有するため、プロセスコントローラの故障率を高める要因になる。また、ＤＲＡＭやＳＲＡＭは、揮発性であるため、プロセスコントローラの電源を遮断したときに、別に設けた不揮発性メモリ等にデータを退避させる必要がある。
【０００５】
本発明は、上述した従来技術による問題点を解消するためになされたものであり、不揮発性メモリを用い、簡易な構成で信頼性を向上させることができるプロセスコントローラを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るプロセスコントローラは、誤り訂正できるビットに限界がある不揮発性メモリと、前記不揮発性メモリにデータを書き込み、前記不揮発性メモリからデータを読み出す制御部と、を備えるプロセスコントローラであって、同一のデータを書き込む二つずつの組に区別された、複数の前記不揮発性メモリを対象にして、同じ組の前記不揮発性メモリから読み出されたデータ同士を比較し、不一致である場合に、エラー信号を出力するエラー判定部を、さらに備え、前記制御部は、前記不揮発性メモリにデータを書き込むときには、全ての前記不揮発性メモリに対してデータ書き込み領域を指定し、同じ組ごとに同一のデータを前記不揮発性メモリに書き込み、前記不揮発性メモリからデータを読み出すときには、全ての前記不揮発性メモリに対してデータ読み出し領域を指定し、各前記不揮発性メモリからそれぞれデータを読み出す。
【０００７】
かかる構成を採用することで、不揮発性メモリにデータを書き込むときには、同じ組に属する二つの不揮発性メモリに同一のデータを書き込むことができ、不揮発性メモリからデータを読み出すときには、同じ組に属する二つの不揮発性メモリからそれぞれ読み出したデータ同士を比較し、不一致である場合に、エラー信号を出力することが可能となる。これにより、不揮発性メモリにおいて、誤り訂正できるビット数を超えてメモリエラーが発生した場合であっても、エラー信号を出力することができるとともに、プロセスコントローラの電源を遮断する際に、不揮発性メモリのデータを、他のメモリに退避させる構成を省くこともできる。
【発明の効果】
【０００８】
本発明によれば、不揮発性メモリを用い、簡易な構成で信頼性を向上させることができるプロセスコントローラを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態におけるプロセス管理システムの構成を例示する図である。
【図２】図１に示すプロセスコントローラの回路構成を例示する図である。
【図３】図１に示すプロセスコントローラの機能構成を例示する図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明に係る実施形態について説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除するものではない。すなわち、本発明は、その趣旨を逸脱しない範囲で種々変形して実施できる。
【００１１】
図１は、本発明の実施形態におけるプロセスコントローラを含むプロセス管理システムの構成を例示する図である。図１に示すように、プロセス管理システム１０は、上位の管理装置である機器管理装置１および運転監視装置２と、プロセスコントローラ３と、ＩＯ（入出力）ユニット４と、デバイス５と、を備える。
【００１２】
デバイス５は、プラント内に配置される機器であり、例えば、ファウンデーションフィールドバス技術に対応する機器や、ＨＡＲＴ（Highway Addressable Remote Transducer）通信機能を搭載した機器、プロフィバス（Profibus）技術に対応する機器を用いることができる。デバイス５としては、例示的に、流量や圧力、温度等を検出する各種センサ機器、流量制御弁や圧力制御弁等の各種バルブを制御するバルブポジショナ、ポンプやファン等を動作させる各種アクチュエータ等が該当する。
【００１３】
プロセスコントローラ３は、生産プロセスの実行状態を制御する機器である。例示的に、プロセスコントローラ３は、発信器から取得した流量や圧力等の測定値に基づいて、バルブポジショナを制御することで、配管に設けられたバルブの開度を調節する。
【００１４】
プロセスコントローラ３は、冗長化構成されており、いずれか一つが故障して停止した場合でも、システムを稼働し続けることができるように構築されている。冗長化は、複数のプロセスコントローラ３を二重化する並列冗長方式を採用してもよいし、複数のプロセスコントローラ３を稼動系と待機系として機能させる待機冗長方式を採用してもよい。
【００１５】
ＩＯユニット４は、プロセスコントローラ３とデバイス５とを仲介する機器である。例示的に、ＩＯユニット４は、プロセスコントローラ３側のプロトコルとデバイス５側のプロトコルとを変換する。
【００１６】
機器管理装置１は、デバイス５を管理するための装置であり、パラメータの一元管理やアラート情報の管理等を行う。運転監視装置２は、プロセスコントローラ３を介して収集されるデバイス５の運転内容をモニタに表示し、運用者の指示に従ってデバイス５の運転状態を操作するための装置である。
【００１７】
図２を参照して、プロセスコントローラ３のハードウェア構成の一例について説明する。プロセスコントローラ３は、物理的には、例えば、ＣＰＵ（Central Processing Unit）３１０と、ＣＰＬＤ（Complex Programmable Logic Device）３２０と、ＭＲＡＭ（Magnetoresistive Random Access Memoryｃ）３３０Ａ〜ＭＲＡＭ３３０Ｈとを備える。ＣＰＵ３１０とＣＰＬＤ３２０とＭＲＡＭ３３０Ａ〜ＭＲＡＭ３３０Ｈとは、バスにより相互に接続されている。なお、ＭＲＡＭ３３０Ａ〜ＭＲＡＭ３３０Ｈは、特に区別して記載する必要がない場合には、以下においてＭＲＡＭ３３０と記載する。
【００１８】
ＣＰＵ３１０は、例示的に、バス幅が３２ビットであり、ＭＲＡＭ３３０は、例示的に、５１２Ｋ×８ビット構成であることとする。また、ＭＲＡＭ３３０は、例示的に、誤り訂正できるビットが１ビットであることとする。なお、メモリは、ここで例示するＭＲＡＭ３３０であることには限定されず、誤り訂正できるビットに限界がある不揮発性メモリであれば、本発明に適用することができる。
【００１９】
ＭＲＡＭ３３０は、同一のデータを書き込む二つずつの組に区別される。図２では、ＭＲＡＭ３３０ＡとＭＲＡＭ３３０Ｂとの組、ＭＲＡＭ３３０ＣとＭＲＡＭ３３０Ｄとの組、ＭＲＡＭ３３０ＥとＭＲＡＭ３３０Ｆとの組、およびＭＲＡＭ３３０ＧとＭＲＡＭ３３０Ｈとの組という四つの組に区別される。
【００２０】
ＣＰＵ３１０とＭＲＡＭ３３０との間でやり取りする３２ビットのデータは、８ビットずつの四つのデータ群に分けられ、それぞれが上記四つの組のいずれか一組に属するＭＲＡＭとの間でやり取りされる。以下に、具体的に説明する。
【００２１】
３２ビットのデータのうち、１〜７ビット目のデータは、ＭＲＡＭ３３０ＡおよびＭＲＡＭ３３０Ｂの組との間でやり取りされ、８〜１６ビット目のデータは、ＭＲＡＭ３３０ＣおよびＭＲＡＭ３３０Ｄの組との間でやり取りされる。同様に、１７〜２４ビット目のデータは、ＭＲＡＭ３３０ＥおよびＭＲＡＭ３３０Ｆの組との間でやり取りされ、２５〜３２ビット目のデータは、ＭＲＡＭ３３０ＧおよびＭＲＡＭ３３０Ｈの組との間でやり取りされる。
【００２２】
ＣＰＬＤ３２０は、ＣＰＵ３１０から受け取った制御信号に従って、ＭＲＡＭ３３０へのデータの書き込みや、ＭＲＡＭ３３０からのデータの読み出しを制御する。
【００２３】
また、ＣＰＬＤ３２０は、ＸＯＲ（Exclusive OR）回路３２１Ａ〜ＸＯＲ回路３２１Ｄと、ＯＲ回路３２２とをさらに備える。なお、ＸＯＲ回路３２１Ａ〜ＸＯＲ回路３２１Ｄは、特に区別して記載する必要がない場合には、以下においてＸＯＲ回路３２１と記載する。
【００２４】
ＸＯＲ回路３２１は、対応して設けられたＭＲＡＭの組に属する二つのＭＲＡＭ３３０からそれぞれ読み出したデータ同士を比較し、不一致である場合に、エラー信号として“１”をＯＲ回路３２２に出力する。一方、ＸＯＲ回路３２１は、比較したデータ同士が一致する場合には、“０”をＯＲ回路３２２に出力する。
【００２５】
ＯＲ回路３２２は、いずれかのＸＯＲ回路３２１から“１”が出力された場合に、エラー信号ＭＢＥとして“１”を出力する。このエラー信号ＭＢＥは、運転監視装置２宛てに送信される。一方、ＯＲ回路３２２は、全てのＸＯＲ回路３２１から“０”が出力された場合には、“０”を出力する。
【００２６】
ドライバ３３１Ａ〜ドライバ３３１Ｄは、ＭＲＡＭからの読み出しを許可することを示す“ＯＥ（Output Enable）”がＣＰＬＤ３２０から出力されているときに、データを通さない状態となり、“ＯＥ”が出力されていないときには、データを通す状態となる。これにより、ＭＲＡＭ３３０からデータを読み出す際に、“ＯＥ”を出力することで、ドライバ３３１Ａ〜ドライバ３３１Ｄがデータを通さない状態となるため、それぞれのＭＲＡＭ３３０から個別にデータを読み出すことが可能となる。なお、ドライバ３３１Ａ〜ドライバ３３１Ｄは、特に区別して記載する必要がない場合には、以下においてドライバ３３１と記載する。
【００２７】
次に、図２を参照して、プロセスコントローラ３のＣＰＵ３１０が各ＭＲＡＭ３３０にデータを書き込む際の動作について説明する。
【００２８】
最初に、ＣＰＵ３１０は、書き込み対象として選択することを示す“ＣＳ（Chip Select）”を制御信号として、ＣＰＬＤ３２０に出力する。
【００２９】
続いて、ＣＰＬＤ３２０は、全てのＭＲＡＭ３３０に対し、“ＣＳ”を出力する。これにより、全てのＭＲＡＭ３３０がデータの書き込み対象として選択されることになる。
【００３０】
続いて、ＣＰＵ３１０は、アドレスバスＡＢを介して、全てのＭＲＡＭ３３０に対してデータ書き込み領域を指定する。
【００３１】
続いて、ＣＰＵ３１０は、データバスＤＢを介して、各ＭＲＡＭ３３０に書き込むデータを出力する。
【００３２】
続いて、ＣＰＵ３１０は、書き込みを許可することを示す“ＷＥ（Write Enable）x”[x=0〜3]を制御信号として、ＣＰＬＤ３２０に出力する。
【００３３】
続いて、ＣＰＬＤ３２０は、全てのＭＲＡＭ３３０に対し、“ＷＥx”を出力する。これにより、全てのＭＲＡＭ３３０にデータが書き込まれる。
【００３４】
続いて、ＣＰＵ３１０およびＣＰＬＤ３２０は、全ての制御信号を解除する。
【００３５】
次に、図２を参照して、プロセスコントローラ３のＣＰＵ３１０が各ＭＲＡＭ３３０からデータを読み出す際の動作について説明する。
【００３６】
最初に、ＣＰＵ３１０は、読み出し対象として選択することを示す“ＣＳ（Chip Select）”を制御信号として、ＣＰＬＤ３２０に出力する。
【００３７】
続いて、ＣＰＬＤ３２０は、全てのＭＲＡＭ３３０に対し、“ＣＳ”を出力する。これにより、全てのＭＲＡＭ３３０がデータの読み出し対象として選択されることになる。
【００３８】
続いて、ＣＰＵ３１０は、アドレスバスＡＢを介して、全てのＭＲＡＭ３３０に対してデータ読み出し領域を指定する。
【００３９】
続いて、ＣＰＵ３１０は、読み出しを許可することを示す“ＯＥ（Output Enable）”を制御信号として、ＣＰＬＤ３２０に出力する。
【００４０】
続いて、ＣＰＬＤ３２０は、全てのＭＲＡＭ３３０およびドライバ３３１に対し、“ＯＥ”を出力する。これにより、全てのドライバ３３１はデータを通さない状態となり、全てのＭＲＡＭ３３０からそれぞれデータが読み出されることになる。
【００４１】
続いて、ＣＰＬＤ３２０のＸＯＲ回路３２１Ａ〜ＸＯＲ回路３２１Ｄは、対応する二つのＭＲＡＭ３３０からそれぞれ読み出されたデータ同士を比較し、不一致である場合には、“１”をＯＲ回路３２２に出力し、一致した場合には、“０”をＯＲ回路３２２に出力する。
【００４２】
続いて、ＯＲ回路３２２は、いずれかのＸＯＲ回路３２１から“１”が出力された場合に、エラー信号ＭＢＥとして“１”を出力し、全てのＸＯＲ回路３２１から“０”が出力された場合には、“０”を出力する。
【００４３】
続いて、ＣＰＵ３１０およびＣＰＬＤ３２０は、全ての制御信号を解除する。
【００４４】
次に、図３を参照して、プロセスコントローラ３の機能構成の一例について説明する。プロセスコントローラ３は、機能的には、例えば、制御部３１と判定部３２とを有する。
【００４５】
制御部３１は、ＭＲＡＭ３３０にデータを書き込むときには、全てのＭＲＡＭ３３０に対してデータ書き込み領域を指定し、同じ組ごとに同一のデータをＭＲＡＭ３３０に書き込む。
【００４６】
制御部３１は、ＭＲＡＭ３３０からデータを読み出すときには、全てのＭＲＡＭ３３０に対してデータ読み出し領域を指定し、各ＭＲＡＭ３３０からそれぞれデータを読み出す。
【００４７】
判定部３２は、同じ組のＭＲＡＭ３３０から読み出されたデータ同士を比較し、不一致である場合に、エラー信号ＭＢＥを出力する。
【００４８】
エラー信号ＭＢＥは、運転監視装置２に送信され、運転監視装置２のモニタには、プロセスコントローラ３でエラーが発生した旨のメッセージが表示される。したがって、そのメッセージを確認した運用者は、エラーが発生したプロセスコントローラ３を停止させ、確認や点検を行うことが可能となる。プロセスコントローラ３は、冗長化構成されているため、一つのプロセスコントローラ３を停止させても、システムを稼働し続けることができる。
【００４９】
上述してきたように、実施形態におけるプロセスコントローラ３によれば、ＭＲＡＭ３３０にデータを書き込むときには、同じ組に属する二つのＭＲＡＭ３３０に同一のデータを書き込むことができ、ＭＲＡＭ３３０からデータを読み出すときには、同じ組に属する二つのＭＲＡＭ３３０からそれぞれ読み出したデータ同士を比較し、不一致である場合に、エラー信号を出力することができる。
【００５０】
これにより、ＭＲＡＭ３３０において、誤り訂正できるビット数を超えてメモリエラーが発生した場合であっても、エラー信号ＭＢＥを運転監視装置２に送信することができるとともに、プロセスコントローラ３の電源を遮断する際に、ＭＲＡＭ３３０のデータを、他のメモリに退避させる構成を省くこともできる。
【００５１】
それゆえ、実施形態におけるプロセスコントローラ３によれば、不揮発性メモリであるＭＲＡＭ３３０を用い、簡易な構成で信頼性を向上させることが可能となる。
【符号の説明】
【００５２】
１…機器管理装置
２…運転監視装置
３…プロセスコントローラ
４…ＩＯユニット
５…デバイス
１０…プロセス管理システム
３１…制御部
３２…判定部
３１０…ＣＰＵ
３２０…ＣＰＬＤ
３３０…ＭＲＡＭ（不揮発性メモリ）
【図１】
2015184910.tif 000003
【図２】
2015184910.tif 000004
【図３】
2015184910.tif 000005