(57)【要約】【課題】不揮発性メモリへの書き込み途中で電源がオフとなったことで発生したＳＵＭ値不一致の現象と、ＥＥＰＲＯＭデバイスやハードウェアの異常によりＥＥＰＲＯＭのデータの信頼性が欠如した状態を明確に切り分けて判断することができるフィールド機器を実現する。【解決手段】フィールド機器のＣＰＵがアクセスするデータを保存するための不揮発性メモリが、サブブロックで構成され、前記ＣＰＵが各サブブロックに前記データを保存した際にデータのＳＵＭ値を前記不揮発性メモリに保持させるフィールド機器において、  前記不揮発性メモリは、前記サブブロックに対応して２個のＳＵＭ値を保持する領域を有し、  前記ＣＰＵは、前記サブブロックに変更データを保存する際に、１つ目のＳＵＭ値を更新した後に前記変更データを前記サブブロックに書き込み、さらに２つ目のＳＵＭ値を更新する。【選択図】図１
2013008078.tif 000002
【特許請求の範囲】
【請求項１】
フィールド機器のＣＰＵがアクセスするデータを保存するための不揮発性メモリが、サブブロックで構成され、前記ＣＰＵが各サブブロックにデータを保存した際に前記データのＳＵＭ値を前記不揮発性メモリに保持させるフィールド機器において、
前記不揮発性メモリは、前記サブブロックに対応して２個のＳＵＭ値を保持する領域を有し、
前記ＣＰＵは、前記サブブロックに変更データを保存する際に、１つ目のＳＵＭ値を更新した後に前記変更データを前記サブブロックに書き込み、さらに２つ目のＳＵＭ値を更新することを特徴とするフィールド機器。
【請求項２】
前記２個のＳＵＭ値を保持する領域は、前記変更データを保存する前記サブブロックの領域内に形成されることを特徴とする請求項１に記載のフィールド機器。
【請求項３】
前記２個のＳＵＭ値を保持する領域は、前記変更データを保存する前記サブブロックの領域外の領域に形成されることを特徴とする請求項１に記載のフィールド機器。
【請求項４】
前記ＣＰＵは、前記サブブロックに変更データを保存する際に電源オフが発生して再起動した後に、前記変更対象サブブロックの前記再起動後に算出したＳＵＭ値と前記不揮発性メモリ領域に保存されている１つ目のＳＵＭ値もしくは２つ目のＳＵＭ値の何れか一方と一致していれば、前記不揮発性メモリの故障または自機器のハードウェア異常ではないと判断することを特徴とする請求項１乃至３のいずれかに記載のフィールド機器。
【請求項５】
前記ＣＰＵは、前記サブブロックに変更データを保存する際に電源オフが発生して再起動した後に、前記変更対象サブブロックの前記再起動後に算出したＳＵＭ値と前記不揮発性メモリ領域に保存されている１つ目のＳＵＭ値もしくは２つ目のＳＵＭ値の何れとも不一致であれば、前記不揮発性メモリの故障または自機器のハードウェア異常である判断することを特徴とする請求項１乃至３のいずれかに記載のフィールド機器。
【請求項６】
前記不揮発性メモリは、ＥＥＰＲＯＭであることを特徴とする請求項１乃至５のいずれかに記載のフィールド機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールド機器のＣＰＵがアクセスするデータを保存するための不揮発性メモリが、サブブロックで構成され、前記ＣＰＵが各サブブロックにデータを保存した際にデータのＳＵＭ値を前記不揮発性メモリに保持させるフィールド機器に関するものである。
【背景技術】
【０００２】
ＣＰＵがアクセスするデータを保存するための不揮発性メモリを備えるフィールド機器については、特許文献１に技術開示がある。
【０００３】
図３は、従来の不揮発性メモリを備えるフィールド機器の一実施例を示す機能ブロック図である。フィールド機器１の基本構成は、プロセスの物理量を検出するセンサ部１０と、このセンサ部のアナログ検出値Ｓｉをディジタル変換するＡＤコンバータ２０と、このＡＤコンバータ２０のディジタル出力Ｄｉを入力して処理するプロセッサ３０と、このプロセッサ３０のディジタル出力Ｄｏをアナログ変換するＤＡコンバータ４０と、このＤＡコンバータ４０のアナログ出力Ａｏを外部機器への伝送信号Ｉｏに変換する出力部５０よりなる。
【０００４】
プロセッサ３０は、作業用のランダムアクセスメモリ６０と、アプリケーションプログラムを格納しているフラッシュメモリ７０と、データを保存する不揮発性メモリ８０にアクセスする。不揮発性メモリ８０としては、ＥＥＰＲＯＭが一般的である。
【０００５】
不揮発性メモリ（例えばＥＥＰＲＯＭ）８０に保存するデータの信頼性を確保する手法としてＳＵＭ値（またはＣＲＣ演算値）を保持することが多い。その場合、不揮発性メモリ８０の内部を幾つかのサブブロック（サブブロック１，サブブロック２，サブブロック３，…）で構成し、そのサブブロック毎のＳＵＭ値を保持する。
【０００６】
なお、サブブロックはすべて同じサイズである必要はない。また、図ではＳＵＭ値を保存する領域を各サブブロックの先頭領域に配置したが、領域の末端部でも、どこか他の場所でも構わない。
【０００７】
ＥＥＰＲＯＭの書き込みは最大でもページ単位であり、１ページのサイズはデバイスにより異なる。以下の条件を満たす場合であれば、ＥＥＰＲＯＭのデータを変更する際には、その対象となるデータとそのデータを含むサブブロックのＳＵＭ値を１度の書き込みで処理が可能となる。
（ａ）１つのサブブロックが１ページ以内のサイズで構成されている。
（ｂ）各サブブロックのＳＵＭ値がサブブロックの内部、もしくは先頭や末尾などサブブ      ロックに連続した位置に格納されている。
（ｃ）ＳＵＭ値を含むサブブロックサイズ、もしくはサブブロックとＳＵＭ値の合計サイ      ズが１ページサイズ以内である。
【０００８】
しかしながら、これらの条件を１つでも満たせず、サブブロックのＳＵＭ値と変更するデータが１度の書き込みで処理できない場合には、書き込み処理は２度行わなくてはならない。
【０００９】
一方で、ＥＥＰＲＯＭを搭載するフィールド機器のような工業計器においては、機器の電源がオフになった場合、そのときに実行している書き込み処理自体は完了できるように、最低限の電源低下時間を確保している。
【００１０】
しかしながら、例えば、１つのデータ変更に対し、前記のように２度の書き込み処理が必要なフィールド機器では、データの書き込みの途中で機器の電源がオフとなるような状態が発生した場合には、データ自体は正しく書き込み処理を完了することはできても、２度目の書き込み処理であるＳＵＭ値の更新が処理できずに機器が停止してしまう。
【００１１】
このような状況で機器の電源を再びオンにすると、ＥＥＰＲＯＭに格納されているサブブロック毎のデータのＳＵＭ値と電源オフ前の既に格納されているＳＵＭ値に不整合が生じる。即ち、データの変更は正しくできているにも関わらず、その信頼性を保障するＳＵＭ値の更新が間に合わなかったことにより、ＥＥＰＲＯＭのデータは信頼性に欠けると判断されてしまう。
【００１２】
このような状況に陥った場合に備え、従来のフィールド機器では、以下のような手法で対応を取っている。
（１）まず一つ目の対応例としては、サブブロックのデータのＳＵＭ値と格納されているＳＵＭ値とが不一致となったサブブロックのデータをすべてデフォルト値に戻し、ＳＵＭ値も再計算して対処する手法。
【００１３】
（２）そして、二つ目の対応例としては、ＥＥＰＲＯＭ内部を２重化構成とし、すべてのサブブロックデータとＳＵＭ値を２重で保持し、その１つをバックアップ用のデータとして保持しておく手法。特許文献１には、この２重化手法が開示されている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開平０５−２２５０７３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
従来技術の対処手法（１）の場合には、対象のサブブロックに存在するデータはすべてデフォルト値に戻ってしまい、再設定をしなければならない。ユーザーは対象となるサブブロックにどのような情報が格納されているかを知ることはできないため、元の設定状態に戻すことは困難である。
【００１６】
従来技術の対処手法（２）の場合には、メモリ内のデータを２重に保持することで、通常アクセスする領域のデータを変更しているときに機器の電源がオフとなってしまい、ＳＵＭ値が不整合となってしまっても、バックアップ用のサブブロックのデータとＳＵＭ値をコピーして再起動すれば、再起動後も直前の状態を維持することができる。
【００１７】
しかしながら、ＥＥＰＲＯＭのサイズが従来の２倍必要になることと、通常運転時に定期的にバックアップ領域を更新しなければならないという処理の煩雑性に問題点がある。
【００１８】
また、（１）または（２）のどちらの対処手法をとった場合においても、上記のような状況で発生したＳＵＭ値の不整合が、ＥＥＰＲＯＭにＳＵＭ値を格納する本来の目的である、ＥＥＰＲＯＭデバイスの故障や機器のハードウェアに異常があってデータが正しく書き込めなかった場合のＳＵＭ値不整合との違いを切り分けて判断しづらいという問題点がある。
【００１９】
そのため、ＥＥＰＲＯＭデバイスやハードウェァの異常時でも同じ対応をとっていることが多く、ＥＥＰＲＯＭデバイスやハードウェアに故障があっても気付きにくくなってしまうという問題点がある。
【００２０】
本発明の目的は、不揮発性メモリへの書き込み途中で電源がオフとなったことで発生したＳＵＭ値不一致の現象と、ＥＥＰＲＯＭデバイスやハードウェアの異常によりＥＥＰＲＯＭのデータの信頼性が欠如した状態を明確に切り分けて判断することができるフィールド機器を実現することにある。
【課題を解決するための手段】
【００２１】
このような課題を達成するために、本発明は次の通りの構成になっている。
（１）フィールド機器のＣＰＵがアクセスするデータを保存するための不揮発性メモリが、サブブロックで構成され、前記ＣＰＵが各サブブロックにデータを保存した際に前記データのＳＵＭ値を前記不揮発性メモリに保持させるフィールド機器において、
前記不揮発性メモリは、前記サブブロックに対応して２個のＳＵＭ値を保持する領域を有し、
前記ＣＰＵは、前記サブブロックに変更データを保存する際に、１つ目のＳＵＭ値を更新した後に前記変更データを前記サブブロックに書き込み、さらに２つ目のＳＵＭ値を更新することを特徴とするフィールド機器。
【００２２】
（２）前記２個のＳＵＭ値を保持する領域は、前記変更データを保存する前記サブブロックの領域内に形成されることを特徴とする（１）に記載のフィールド機器。
【００２３】
（３）前記２個のＳＵＭ値を保持する領域は、前記変更データを保存する前記サブブロックの領域外の領域に形成されることを特徴とする（１）に記載のフィールド機器。
【００２４】
（４）前記ＣＰＵは、前記サブブロックに変更データを保存する際に電源オフが発生して再起動した後に、前記変更対象サブブロックの前記再起動後に算出したＳＵＭ値と前記不揮発性メモリ領域に保存されている１つ目のＳＵＭ値もしくは２つ目のＳＵＭ値の何れか一方と一致していれば、前記不揮発性メモリの故障または自機器のハードウェア異常ではないと判断することを特徴とする（１）乃至（３）のいずれかに記載のフィールド機器。
【００２５】
（５）前記ＣＰＵは、前記サブブロックに変更データを保存する際に電源オフが発生して再起動した後に、前記変更対象サブブロックの前記再起動後に算出したＳＵＭ値と前記不揮発性メモリ領域に保存されている１つ目のＳＵＭ値もしくは２つ目のＳＵＭ値の何れとも不一致であれば、前記不揮発性メモリの故障または自機器のハードウェア異常である判断することを特徴とする（１）乃至（３）のいずれかに記載のフィールド機器。
【００２６】
（６）前記不揮発性メモリは、ＥＥＰＲＯＭであることを特徴とする（１）乃至（５）のいずれかに記載のフィールド機器。
【発明の効果】
【００２７】
本発明によれば、次のような効果を期待することができる。
（１）データの変更中に機器の電源オフが発生しても、再起動後の不要なサブブロックデータのデフォルト値設定や、バックアップデータのコピーは行わなくて済む。従来技術で示されているＥＥＰＲＯＭデータの２重化構成は不要となり、メモリサイズの削減、メモリ構成の単純化、起動時間の短縮等の効果がある。
【００２８】
（２）さらにＳＵＭ値が電源オフ前のＳＵＭ値の一方と一致していれば不揮発性メモリの信頼性が確保され、ＥＥＰＲＯＭデバイスの故障、機器のハードウェア異常はないと判断でき、ＳＵＭ値が電源オフ前のＳＵＭの双方と不一致の場合には、ＥＥＰＲＯＭデバイスの故障、機器のハードウェア異常である可能性が高いことを判断でき、異常の形態を切り分けて明示することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明を適用した不揮発性メモリを備えるフィールド機器の一実施例を示す機能ブロック図である。
【図２】本発明の処理手順を示すフローチャートである。
【図３】従来の不揮発性メモリを備えるフィールド機器の一実施例を示す機能ブロック図である。
【発明を実施するための形態】
【００３０】
以下本発明を、図面を用いて詳細に説明する。図１は、本発明を適用した不揮発性メモリを備えるフィールド機器の一実施例を示す機能ブロック図である。図３で説明した従来構成と同一要素には同一符号を付して説明を省略する。
【００３１】
プロセッサ３０がアクセスする、本発明が適用される不揮発性メモリ１００は、ＥＥＰＲＯＭデータの信頼性を確保するために保持するＳＵＭ値をサブブロックに対応してＡおよびＢで示す２個を保持する。
【００３２】
Ａで示す１つ目のＳＵＭ値は、図３に示す従来構成のＥＥＰＲＯＭ８０の各サブブロック毎に保持するＳＵＭ値の構成と同一である。Ｂで示す２つ目のＳＵＭ値が本発明特有のＳＵＭ値であり、ＥＥＰＲＯＭの末端領域に各サブブロックに対応したＡに示す１つ目のＳＵＭ値と同一のＳＵＭ値がまとめて連続して保持されている。
【００３３】
なお、サブブロックはすべて同じサイズである必要はない。図１では、ＳＵＭ値を保存する領域を各サブブロックの先頭とＥＥＰＲＯＭの末端にまとめて配置したが、これらはどこか他の場所（サブブロックの領域内、または領域外の領域）でも構わない。
【００３４】
図２は、本発明の処理手順を示すフローチャートである。本発明において、データを変更する際に、プロセッサ３０は、ステップＳ１で１つ目のＳＵＭ値を更新し、ステップＳ２で変更対象のデータを書き込み、ステップＳ３で２つ目のＳＵＭ値を更新する。
【００３５】
これにより、データの変更中に機器の電源オフが発生しても、ＥＥＰＲＯＭデバイスもしくはハードウェアに異常がない限り、再起動した際の対象サブブロックのＳＵＭ値（算出値）は、ＥＥＰＲＯＭに電源オフ前に格納されていた１つ目のＳＵＭ値もしくは２つ目のＳＵＭ値の少なくとも一方と一致する。
【００３６】
起動時に、どちらか一方と一致していればＥＥＰＲＯＭデータの信頼性は確保しているといえ、ＥＥＰＲＯＭデバイスおよび機器のハードウェア故障はない、と判断することができる。
【００３７】
一方、再起動した際の対象サブブロックのＳＵＭ値（算出値）が、ＥＥＰＲＯＭに電源オフ前に格納されていた１つ目のＳＵＭ値および２つ目のＳＵＭ値の何れとも不一致一致の場合には、ＥＥＰＲＯＭデータの信頼性は確保されておらず、ＥＥＰＲＯＭデバイスまたは機器のハードウェア故障である、と判断することができる。
【００３８】
以上説明した実施例では、不揮発性メモリ１００を構成するＥＥＰＲＯＭは複数のサブブロックに分割された形態を示したが、ＥＥＰＲＯＭのサイズが小さい場合には分割しない使用形態であってもよい。
【符号の説明】
【００３９】
１  フィールド機器
１０  センサ部
２０  ＡＤコンバータ
３０  プロセッサ
４０  ＤＡコンバータ
５０  出力部
６０  ＲＡＭ
７０  フラッシュメモリ
１００  不揮発性メモリ
【図２】
2013008078.tif 000003
【図１】
2013008078.tif 000004
【図３】
2013008078.tif 000005