説明

フィールド機器

【課題】不揮発性メモリへの書き込み途中で電源がオフとなったことで発生したSUM値不一致の現象と、EEPROMデバイスやハードウェアの異常によりEEPROMのデータの信頼性が欠如した状態を明確に切り分けて判断することができるフィールド機器を実現する。
【解決手段】フィールド機器のCPUがアクセスするデータを保存するための不揮発性メモリが、サブブロックで構成され、前記CPUが各サブブロックに前記データを保存した際にデータのSUM値を前記不揮発性メモリに保持させるフィールド機器において、
前記不揮発性メモリは、前記サブブロックに対応して2個のSUM値を保持する領域を有し、
前記CPUは、前記サブブロックに変更データを保存する際に、1つ目のSUM値を更新した後に前記変更データを前記サブブロックに書き込み、さらに2つ目のSUM値を更新する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フィールド機器のCPUがアクセスするデータを保存するための不揮発性メモリが、サブブロックで構成され、前記CPUが各サブブロックにデータを保存した際にデータのSUM値を前記不揮発性メモリに保持させるフィールド機器に関するものである。
【背景技術】
【0002】
CPUがアクセスするデータを保存するための不揮発性メモリを備えるフィールド機器については、特許文献1に技術開示がある。
【0003】
図3は、従来の不揮発性メモリを備えるフィールド機器の一実施例を示す機能ブロック図である。フィールド機器1の基本構成は、プロセスの物理量を検出するセンサ部10と、このセンサ部のアナログ検出値Siをディジタル変換するADコンバータ20と、このADコンバータ20のディジタル出力Diを入力して処理するプロセッサ30と、このプロセッサ30のディジタル出力Doをアナログ変換するDAコンバータ40と、このDAコンバータ40のアナログ出力Aoを外部機器への伝送信号Ioに変換する出力部50よりなる。
【0004】
プロセッサ30は、作業用のランダムアクセスメモリ60と、アプリケーションプログラムを格納しているフラッシュメモリ70と、データを保存する不揮発性メモリ80にアクセスする。不揮発性メモリ80としては、EEPROMが一般的である。
【0005】
不揮発性メモリ(例えばEEPROM)80に保存するデータの信頼性を確保する手法としてSUM値(またはCRC演算値)を保持することが多い。その場合、不揮発性メモリ80の内部を幾つかのサブブロック(サブブロック1,サブブロック2,サブブロック3,…)で構成し、そのサブブロック毎のSUM値を保持する。
【0006】
なお、サブブロックはすべて同じサイズである必要はない。また、図ではSUM値を保存する領域を各サブブロックの先頭領域に配置したが、領域の末端部でも、どこか他の場所でも構わない。
【0007】
EEPROMの書き込みは最大でもページ単位であり、1ページのサイズはデバイスにより異なる。以下の条件を満たす場合であれば、EEPROMのデータを変更する際には、その対象となるデータとそのデータを含むサブブロックのSUM値を1度の書き込みで処理が可能となる。
(a)1つのサブブロックが1ページ以内のサイズで構成されている。
(b)各サブブロックのSUM値がサブブロックの内部、もしくは先頭や末尾などサブブ ロックに連続した位置に格納されている。
(c)SUM値を含むサブブロックサイズ、もしくはサブブロックとSUM値の合計サイ ズが1ページサイズ以内である。
【0008】
しかしながら、これらの条件を1つでも満たせず、サブブロックのSUM値と変更するデータが1度の書き込みで処理できない場合には、書き込み処理は2度行わなくてはならない。
【0009】
一方で、EEPROMを搭載するフィールド機器のような工業計器においては、機器の電源がオフになった場合、そのときに実行している書き込み処理自体は完了できるように、最低限の電源低下時間を確保している。
【0010】
しかしながら、例えば、1つのデータ変更に対し、前記のように2度の書き込み処理が必要なフィールド機器では、データの書き込みの途中で機器の電源がオフとなるような状態が発生した場合には、データ自体は正しく書き込み処理を完了することはできても、2度目の書き込み処理であるSUM値の更新が処理できずに機器が停止してしまう。
【0011】
このような状況で機器の電源を再びオンにすると、EEPROMに格納されているサブブロック毎のデータのSUM値と電源オフ前の既に格納されているSUM値に不整合が生じる。即ち、データの変更は正しくできているにも関わらず、その信頼性を保障するSUM値の更新が間に合わなかったことにより、EEPROMのデータは信頼性に欠けると判断されてしまう。
【0012】
このような状況に陥った場合に備え、従来のフィールド機器では、以下のような手法で対応を取っている。
(1)まず一つ目の対応例としては、サブブロックのデータのSUM値と格納されているSUM値とが不一致となったサブブロックのデータをすべてデフォルト値に戻し、SUM値も再計算して対処する手法。
【0013】
(2)そして、二つ目の対応例としては、EEPROM内部を2重化構成とし、すべてのサブブロックデータとSUM値を2重で保持し、その1つをバックアップ用のデータとして保持しておく手法。特許文献1には、この2重化手法が開示されている。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開平05−225073号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
従来技術の対処手法(1)の場合には、対象のサブブロックに存在するデータはすべてデフォルト値に戻ってしまい、再設定をしなければならない。ユーザーは対象となるサブブロックにどのような情報が格納されているかを知ることはできないため、元の設定状態に戻すことは困難である。
【0016】
従来技術の対処手法(2)の場合には、メモリ内のデータを2重に保持することで、通常アクセスする領域のデータを変更しているときに機器の電源がオフとなってしまい、SUM値が不整合となってしまっても、バックアップ用のサブブロックのデータとSUM値をコピーして再起動すれば、再起動後も直前の状態を維持することができる。
【0017】
しかしながら、EEPROMのサイズが従来の2倍必要になることと、通常運転時に定期的にバックアップ領域を更新しなければならないという処理の煩雑性に問題点がある。
【0018】
また、(1)または(2)のどちらの対処手法をとった場合においても、上記のような状況で発生したSUM値の不整合が、EEPROMにSUM値を格納する本来の目的である、EEPROMデバイスの故障や機器のハードウェアに異常があってデータが正しく書き込めなかった場合のSUM値不整合との違いを切り分けて判断しづらいという問題点がある。
【0019】
そのため、EEPROMデバイスやハードウェァの異常時でも同じ対応をとっていることが多く、EEPROMデバイスやハードウェアに故障があっても気付きにくくなってしまうという問題点がある。
【0020】
本発明の目的は、不揮発性メモリへの書き込み途中で電源がオフとなったことで発生したSUM値不一致の現象と、EEPROMデバイスやハードウェアの異常によりEEPROMのデータの信頼性が欠如した状態を明確に切り分けて判断することができるフィールド機器を実現することにある。
【課題を解決するための手段】
【0021】
このような課題を達成するために、本発明は次の通りの構成になっている。
(1)フィールド機器のCPUがアクセスするデータを保存するための不揮発性メモリが、サブブロックで構成され、前記CPUが各サブブロックにデータを保存した際に前記データのSUM値を前記不揮発性メモリに保持させるフィールド機器において、
前記不揮発性メモリは、前記サブブロックに対応して2個のSUM値を保持する領域を有し、
前記CPUは、前記サブブロックに変更データを保存する際に、1つ目のSUM値を更新した後に前記変更データを前記サブブロックに書き込み、さらに2つ目のSUM値を更新することを特徴とするフィールド機器。
【0022】
(2)前記2個のSUM値を保持する領域は、前記変更データを保存する前記サブブロックの領域内に形成されることを特徴とする(1)に記載のフィールド機器。
【0023】
(3)前記2個のSUM値を保持する領域は、前記変更データを保存する前記サブブロックの領域外の領域に形成されることを特徴とする(1)に記載のフィールド機器。
【0024】
(4)前記CPUは、前記サブブロックに変更データを保存する際に電源オフが発生して再起動した後に、前記変更対象サブブロックの前記再起動後に算出したSUM値と前記不揮発性メモリ領域に保存されている1つ目のSUM値もしくは2つ目のSUM値の何れか一方と一致していれば、前記不揮発性メモリの故障または自機器のハードウェア異常ではないと判断することを特徴とする(1)乃至(3)のいずれかに記載のフィールド機器。
【0025】
(5)前記CPUは、前記サブブロックに変更データを保存する際に電源オフが発生して再起動した後に、前記変更対象サブブロックの前記再起動後に算出したSUM値と前記不揮発性メモリ領域に保存されている1つ目のSUM値もしくは2つ目のSUM値の何れとも不一致であれば、前記不揮発性メモリの故障または自機器のハードウェア異常である判断することを特徴とする(1)乃至(3)のいずれかに記載のフィールド機器。
【0026】
(6)前記不揮発性メモリは、EEPROMであることを特徴とする(1)乃至(5)のいずれかに記載のフィールド機器。
【発明の効果】
【0027】
本発明によれば、次のような効果を期待することができる。
(1)データの変更中に機器の電源オフが発生しても、再起動後の不要なサブブロックデータのデフォルト値設定や、バックアップデータのコピーは行わなくて済む。従来技術で示されているEEPROMデータの2重化構成は不要となり、メモリサイズの削減、メモリ構成の単純化、起動時間の短縮等の効果がある。
【0028】
(2)さらにSUM値が電源オフ前のSUM値の一方と一致していれば不揮発性メモリの信頼性が確保され、EEPROMデバイスの故障、機器のハードウェア異常はないと判断でき、SUM値が電源オフ前のSUMの双方と不一致の場合には、EEPROMデバイスの故障、機器のハードウェア異常である可能性が高いことを判断でき、異常の形態を切り分けて明示することができる。
【図面の簡単な説明】
【0029】
【図1】本発明を適用した不揮発性メモリを備えるフィールド機器の一実施例を示す機能ブロック図である。
【図2】本発明の処理手順を示すフローチャートである。
【図3】従来の不揮発性メモリを備えるフィールド機器の一実施例を示す機能ブロック図である。
【発明を実施するための形態】
【0030】
以下本発明を、図面を用いて詳細に説明する。図1は、本発明を適用した不揮発性メモリを備えるフィールド機器の一実施例を示す機能ブロック図である。図3で説明した従来構成と同一要素には同一符号を付して説明を省略する。
【0031】
プロセッサ30がアクセスする、本発明が適用される不揮発性メモリ100は、EEPROMデータの信頼性を確保するために保持するSUM値をサブブロックに対応してAおよびBで示す2個を保持する。
【0032】
Aで示す1つ目のSUM値は、図3に示す従来構成のEEPROM80の各サブブロック毎に保持するSUM値の構成と同一である。Bで示す2つ目のSUM値が本発明特有のSUM値であり、EEPROMの末端領域に各サブブロックに対応したAに示す1つ目のSUM値と同一のSUM値がまとめて連続して保持されている。
【0033】
なお、サブブロックはすべて同じサイズである必要はない。図1では、SUM値を保存する領域を各サブブロックの先頭とEEPROMの末端にまとめて配置したが、これらはどこか他の場所(サブブロックの領域内、または領域外の領域)でも構わない。
【0034】
図2は、本発明の処理手順を示すフローチャートである。本発明において、データを変更する際に、プロセッサ30は、ステップS1で1つ目のSUM値を更新し、ステップS2で変更対象のデータを書き込み、ステップS3で2つ目のSUM値を更新する。
【0035】
これにより、データの変更中に機器の電源オフが発生しても、EEPROMデバイスもしくはハードウェアに異常がない限り、再起動した際の対象サブブロックのSUM値(算出値)は、EEPROMに電源オフ前に格納されていた1つ目のSUM値もしくは2つ目のSUM値の少なくとも一方と一致する。
【0036】
起動時に、どちらか一方と一致していればEEPROMデータの信頼性は確保しているといえ、EEPROMデバイスおよび機器のハードウェア故障はない、と判断することができる。
【0037】
一方、再起動した際の対象サブブロックのSUM値(算出値)が、EEPROMに電源オフ前に格納されていた1つ目のSUM値および2つ目のSUM値の何れとも不一致一致の場合には、EEPROMデータの信頼性は確保されておらず、EEPROMデバイスまたは機器のハードウェア故障である、と判断することができる。
【0038】
以上説明した実施例では、不揮発性メモリ100を構成するEEPROMは複数のサブブロックに分割された形態を示したが、EEPROMのサイズが小さい場合には分割しない使用形態であってもよい。
【符号の説明】
【0039】
1 フィールド機器
10 センサ部
20 ADコンバータ
30 プロセッサ
40 DAコンバータ
50 出力部
60 RAM
70 フラッシュメモリ
100 不揮発性メモリ

【特許請求の範囲】
【請求項1】
フィールド機器のCPUがアクセスするデータを保存するための不揮発性メモリが、サブブロックで構成され、前記CPUが各サブブロックにデータを保存した際に前記データのSUM値を前記不揮発性メモリに保持させるフィールド機器において、
前記不揮発性メモリは、前記サブブロックに対応して2個のSUM値を保持する領域を有し、
前記CPUは、前記サブブロックに変更データを保存する際に、1つ目のSUM値を更新した後に前記変更データを前記サブブロックに書き込み、さらに2つ目のSUM値を更新することを特徴とするフィールド機器。
【請求項2】
前記2個のSUM値を保持する領域は、前記変更データを保存する前記サブブロックの領域内に形成されることを特徴とする請求項1に記載のフィールド機器。
【請求項3】
前記2個のSUM値を保持する領域は、前記変更データを保存する前記サブブロックの領域外の領域に形成されることを特徴とする請求項1に記載のフィールド機器。
【請求項4】
前記CPUは、前記サブブロックに変更データを保存する際に電源オフが発生して再起動した後に、前記変更対象サブブロックの前記再起動後に算出したSUM値と前記不揮発性メモリ領域に保存されている1つ目のSUM値もしくは2つ目のSUM値の何れか一方と一致していれば、前記不揮発性メモリの故障または自機器のハードウェア異常ではないと判断することを特徴とする請求項1乃至3のいずれかに記載のフィールド機器。
【請求項5】
前記CPUは、前記サブブロックに変更データを保存する際に電源オフが発生して再起動した後に、前記変更対象サブブロックの前記再起動後に算出したSUM値と前記不揮発性メモリ領域に保存されている1つ目のSUM値もしくは2つ目のSUM値の何れとも不一致であれば、前記不揮発性メモリの故障または自機器のハードウェア異常である判断することを特徴とする請求項1乃至3のいずれかに記載のフィールド機器。
【請求項6】
前記不揮発性メモリは、EEPROMであることを特徴とする請求項1乃至5のいずれかに記載のフィールド機器。

【図2】
image rotate

【図1】
image rotate

【図3】
image rotate


【公開番号】特開2013−8078(P2013−8078A)
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願番号】特願2011−138468(P2011−138468)
【出願日】平成23年6月22日(2011.6.22)
【出願人】(000006507)横河電機株式会社 (4,443)
【Fターム(参考)】