(57)【要約】【課題】フィールド機器において、追加機能付加のためのファームウェアダウンロード作業を簡易化する。【解決手段】ファームウェアに従って動作を行なうフィールド機器であって、ファームウェアを格納するコード領域と、コード領域へのファームウェアのダウンロードを管理するダウンロード管理部と、を備え、コード領域は、フィールド機器の基本的な動作に関わるコードを格納するシステム基本モジュール用領域と、追加的な拡張機能に関わるコードを追加機能モジュール単位で格納する追加機能用領域とが形成され、ダウンロード管理部は、追加機能モジュールのダウンロード要求を受け付けると、ダウンロード要求に係る追加機能モジュールを追加機能用領域に格納するとともに、ダウンロード要求に係る追加機能モジュールに関するヘッダ情報を追加機能用領域に記録する。【選択図】図１
2018128890.tif 000002
【特許請求の範囲】
【請求項１】
ファームウェアに従って動作を行なうフィールド機器であって、
前記ファームウェアを格納するコード領域と、
前記コード領域へのファームウェアのダウンロードを管理するダウンロード管理部と、を備え、
前記コード領域は、前記フィールド機器の基本的な動作に関わるコードを格納するシステム基本モジュール用領域と、追加的な拡張機能に関わるコードを追加機能モジュール単位で格納する追加機能用領域とが形成され、
前記ダウンロード管理部は、追加機能モジュールのダウンロード要求を受け付けると、ダウンロード要求に係る追加機能モジュールを前記追加機能用領域に格納するとともに、ダウンロード要求に係る追加機能モジュールに関するヘッダ情報を前記追加機能用領域に記録することを特徴とするフィールド機器。
【請求項２】
前記ヘッダ情報は、追加機能モジュールが有効であるか無効であるかのフラグ情報を含み、
ダウンロード要求に係る追加機能モジュールが前記追加機能用領域に格納された時点では、前記フラグ情報は、無効であることを示していることを特徴とする請求項１に記載のフィールド機器。
【請求項３】
前記ヘッダ情報は、追加機能モジュールについてのアクティベーションキー情報を含み、
前記ダウンロード管理部は、外部から有効化情報を受け付け、受け付けた有効化情報が前記アクティベーションキーと一致する場合に、前記一致したアクティベーションキーに対応するフラグ情報を有効に切換えることを特徴とする請求項２に記載のフィールド機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールド機器に関し、特に、機能追加モジュールのダウンロードに関する。
【背景技術】
【０００２】
一般に、フィールド機器は、メモリ内のコード領域に格納されたファームウェアに従って動作を行なう。コード領域に格納されたファームウェアは、フィールド機器の起動時にメモリの作業領域にロードされ、マイクロコンピュータ等によって実行される。
【０００３】
一般に、ファームウェアは、頻繁に内容を変更するものではないが、開発者が不具合を修正したり、機能を追加した場合等にバージョンアップが行なわれることがある。
【０００４】
ファームウェアのバージョンアップが行なわれた場合は、所定のツール等を用いて新たなファームウェアをフィールド機器にダウンロードすることで、フィールド機器にファームウェアのバージョンアップを反映させることができる。
【０００５】
図６は、従来のファームウェアのダウンロード手順を説明する図である。ここで、フィールド機器は、コード領域としてＡ領域、Ｂ領域を備えており、更新前のファームウェアはＡ領域に格納されているものとする。
【０００６】
フィールド機器を起動すると（Ｓ４０１）、Ａ領域から更新前のファームウェアをロードし（Ｓ４０２）、更新前のファームウェアでの動作を開始する（Ｓ４０３）。
【０００７】
ユーザから所定のツール等により新たなファームウェアのダウンロード要求を受け付けると（Ｓ４０４）、Ｂ領域に新たなファームウェアをダウンロードする（Ｓ４０５）。ここで、新たなファームウェアは可搬型の記憶装置や通信によりダウンロードすることができる。
【０００８】
ダウンロードが完了すると（Ｓ４０６）、手動あるいは自動的にフィールド機器の再起動を行なう（Ｓ４０７）。再起動後は、Ｂ領域に格納された新たなファームウェアをロードすることで（Ｓ４０８）、新たなファームウェアでの動作を開始する（Ｓ４０９）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−２９５２９９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ファームウェアは、フィールド機器の基本的な動作に関わるコード部分と、追加的な機能に関わるコード部分とに大別することができる。従来は、追加的な機能を付加する場合であっても、基本的な動作に関わるコード部分を含めたファームウェア全体のダウンロードが必要となり、作業が大がかりとなっていた。
【００１１】
そこで、本発明は、フィールド機器において、追加機能付加のためのファームウェアダウンロード作業を簡易化することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、本発明のフィールド機器は、ファームウェアに従って動作を行なうフィールド機器であって、前記ファームウェアを格納するコード領域と、前記コード領域へのファームウェアのダウンロードを管理するダウンロード管理部と、を備え、前記コード領域は、前記フィールド機器の基本的な動作に関わるコードを格納するシステム基本モジュール用領域と、追加的な拡張機能に関わるコードを追加機能モジュール単位で格納する追加機能用領域とが形成され、前記ダウンロード管理部は、追加機能モジュールのダウンロード要求を受け付けると、ダウンロード要求に係る追加機能モジュールを前記追加機能用領域に格納するとともに、ダウンロード要求に係る追加機能モジュールに関するヘッダ情報を前記追加機能用領域に記録することを特徴とする。
ここで、前記ヘッダ情報は、追加機能モジュールが有効であるか無効であるかのフラグ情報を含み、ダウンロード要求に係る追加機能モジュールが前記追加機能用領域に格納された時点では、前記フラグ情報は、無効であることを示すようにしてもよい。
この場合、前記ヘッダ情報は、追加機能モジュールについてのアクティベーションキー情報を含み、前記ダウンロード管理部は、外部から有効化情報を受け付け、受け付けた有効化情報が前記アクティベーションキーと一致する場合に、前記一致したアクティベーションキーに対応するフラグ情報を有効に切換えることができる。
【発明の効果】
【００１３】
本発明によれば、フィールド機器において、追加機能付加のためのファームウェアダウンロード作業を簡易化することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係るフィールド機器の機能構成を示すブロック図である。
【図２】記憶部のコード領域の構成を模式的に示す図である。
【図３】本実施形態のフィールド機器の追加機能モジュールダウンロード動作について説明するフローチャートである。
【図４】追加機能モジュールの有効化動作について説明するフローチャートである。
【図５】本実施形態のフィールド機器の起動時の動作を説明するフローチャートである。
【図６】従来のファームウェアのダウンロード手順を説明する図である。
【発明を実施するための形態】
【００１５】
本発明の実施の形態について図面を参照して説明する。図１は、本実施形態に係るフィールド機器１００の機能構成を示すブロック図である。本図に示すようにフィールド機器１００は、制御部１１０、記憶部１２０、フィールド処理部１３０、通信部１４０、メディア読取装置１５０、ダウンロード管理部１６０を備えている。
【００１６】
制御部１１０は、マイクロコンピュータ等で構成することができ、フィールド機器１００における各種処理の制御を行なう。記憶部１２０は、不揮発性メモリで構成されるコード領域、揮発性メモリで構成される作業領域等を備えている。
【００１７】
フィールド処理部１３０は、フィールド機器として動作を行なう機能部である。例えば、フィールド機器が測定器であれば、測定を行ない、フィールド機器がバルブであれば開閉動作等を行なう。なお、フィールド機器の種別は問わない。
【００１８】
通信部１４０は、管理装置等との通信を行なう。また、ツールアプリケーションが動作する情報処理装置等と通信を行ない、各種指示を受け付けたり、応答を送信したりする。各種指示は、例えば、追加機能のダウンロード要求等とすることができ、送信する応答は、ダウンロードの結果通知等とすることができる。メディア読取装置１５０は、可搬型の記憶装置の読み書きを行なう。ダウンロード管理部１６０は、ファームウェアのダウンロード管理を行なう。
【００１９】
図２は、記憶部１２０の不揮発性のコード領域の構成を模式的に示す図である。本図に示すように、コード領域には、システム基本モジュール用領域Ａ２１０ａ、システム基本モジュール用領域Ｂ２１０ｂ、追加機能用領域２２０が形成される。
【００２０】
システム基本モジュール用領域Ａ２１０ａ、システム基本モジュール用領域Ｂ２１０ｂは、フィールド機器１００の基本的な動作に関わる必要不可欠なコードを格納する領域であり、いずれか一方の領域が有効とされている。有効とされている領域のシステム基本モジュールが起動時にロードされる。システム基本モジュールをバージョンアップする場合には、無効とされている領域に新たなシステム基本モジュールをダウンロードし、再起動後は、新たなシステム基本モジュールが格納された領域が有効となり、新たなシステム基本モジュールがロードされる。
【００２１】
追加機能用領域２２０は、フィールド機器１００の追加的な拡張機能に関わるコードを格納する領域であり、追加機能モジュールヘッダ領域２２１、追加機能モジュール領域２２２を備えている。
【００２２】
すなわち、本実施形態では、コード領域に格納されるコードを、フィールド機器の基本的な動作に関わるシステム基本モジュールと、追加的な拡張機能に関わる追加機能モジュールとに明確に区別している。
【００２３】
追加機能用領域２２０の追加機能モジュールヘッダ領域２２１は、追加機能モジュールのヘッダ情報を格納する。追加機能モジュール領域２２２は、モジュールブロックごとに分割されており、モジュールブロック単位で追加機能モジュールが格納される。このため、格納済のモジュールブロックとブランクのモジュールブロックとに区分けることができる。サイズの大きい追加機能モジュールは複数のモジュールブロックにわたって格納することができる。
【００２４】
ヘッダ情報は、追加機能モジュール毎に作成され、追加機能ＩＤ、追加機能バージョン、格納ブロック情報、アクティベーションキー、有効／無効フラグ等を記録している。
【００２５】
追加機能ＩＤが共通する同一の追加機能であっても、修正等が行なわれる場合があるため、追加機能バージョンを記録するようにしている。格納ブロック情報は、追加機能モジュールがどのモジュールブロックに格納されているかを示す情報である。
【００２６】
本実施形態では、不正ダウンロードによる追加機能モジュール利用を防ぐために、モジュールブロックにダウンロードしただけでは追加機能を使用することはできず、使用可能とするためには、アクティベーションキーによる有効化処理を必要としている。アクティベーションキーは、機能モジュールの個体毎にユニークな値を割り当て、正規ユーザに通知するものとする。
【００２７】
このため、ダウンロード時にはヘッダ情報の有効／無効フラグを無効状態にしておき、アクティベーションキーによる認証を経て有効／無効フラグを有効状態に切換える。
【００２８】
次に、本実施形態のフィールド機器１００の追加機能モジュールダウンロード動作について図３のフローチャートを参照して説明する。なお、追加機能モジュールダウンロード動作は、主としてダウンロード管理部１６０により行なわれる。
【００２９】
本動作は、ユーザからツール等を介して、追加機能モジュールのダウンロード要求を受け付けることで開始する（Ｓ１０１）。ダウンロード管理部１６０は、ダウンロード要求に係る追加機能モジュールの追加機能ＩＤと追加機能モジュールヘッダ領域２２１に記録されているヘッダ情報の追加機能ＩＤとを比較し、同一の追加機能が格納済であるかどうかを判定する（Ｓ１０２）。
【００３０】
同一の追加機能が格納済でない場合（Ｓ１０２：Ｎｏ）は、ダウンロード要求に係る追加機能モジュールの格納に必要なモジュールブロック数と追加機能モジュール領域２２２のブランクモジュールブロック数とを比較し、ダウンロード要求に係る追加機能モジュールを格納可能な数のブランクモジュールブロックがあるかどうかを判定する（Ｓ１０３）。
【００３１】
その結果、ダウンロード要求に係る追加機能モジュールを格納可能な数のブランクモジュールブロックがない場合（Ｓ１０３：Ｎｏ）には、ツール等を介して、ダウンロード要求に係る追加機能モジュールを格納可能な数のブランクモジュールブロックがないことをユーザに通知する（Ｓ１０６）。
【００３２】
一方、ダウンロード要求に係る追加機能モジュールを格納可能な数のブランクモジュールブロックがある場合（Ｓ１０３：Ｎｏ）は、ダウンロード要求に係る追加機能モジュールのダウンロードを行なう（Ｓ１０４）。追加機能モジュールは可搬型の記憶装置や通信によりダウンロードすることができる。ダウンロード時には付帯情報としてその追加機能モジュールについてのアクティベーションキーを取得する。
【００３３】
ダウンロードした追加機能モジュールは、追加機能モジュール領域２２２のブランクモジュールブロックに格納する（Ｓ１０５）。また、追加機能モジュールのダウンロードに伴い、ヘッダ情報を記録する。この時点では有効／無効フラグは無効状態とする。そして、ユーザにダウンロード終了を通知する（Ｓ１０９）。
【００３４】
同一の追加機能が格納済であった場合（Ｓ１０２：Ｙｅｓ）は、同一機能のバージョンアップであるとしてダウンロード要求に係る追加機能モジュールのダウンロードを行なう（Ｓ１０７）。そして、同一の追加機能が格納されているモジュールブロックに上書きする（Ｓ１０８）。また、追加機能モジュールの上書き更新に伴い、ヘッダ情報も更新する。この時点では有効／無効フラグは無効状態とする。そして、ユーザにダウンロード終了を通知する（Ｓ１０９）。なお、ヘッダに記録されているバージョンとダウンロードに要求に係るバージョンとの新旧を対比して、ダウンロードの要否を判断するようにしてもよい。すなわち、バージョンが新しい場合のみダウンロード要と判断すればよい。
【００３５】
次に、追加機能モジュールの有効化動作について図４のフローチャートを参照して説明する。なお、追加機能モジュールの有効化動作は、主としてダウンロード管理部１６０により行なわれる。
【００３６】
本動作は、ユーザからツール等を介して、追加機能モジュールの有効化要求を受け付けることで開始する（Ｓ２０１）。有効化要求において有効化対象とする追加機能モジュールＩＤを特定してもよい。
【００３７】
ダウンロード管理部１６０は、追加機能モジュールヘッダ領域２２１に記録されているヘッダ情報を参照して、有効／無効フラグが無効状態の追加機能モジュールがあるかどうかを判定する（Ｓ２０２）。追加機能モジュールＩＤが特定されている場合には、その追加機能モジュールについて判定すればよい。
【００３８】
無効状態の追加機能モジュールがない場合（Ｓ２０２：Ｎｏ）は、ツール等を介して、無効状態の追加機能モジュールがないことをユーザに通知する（Ｓ２０８）。
【００３９】
無効状態の追加機能モジュールがある場合（Ｓ２０２：Ｙｅｓ）は、ツール等を介して、外部から有効化情報の入力を受け付ける（Ｓ２０３）。そして、無効状態の追加機能モジュールのヘッダ情報に記録されているアクティベーションキーとユーザが入力した有効化情報とが一致するかどうかを判定する（Ｓ２０４）。ユーザは、正規に通知されたアクティベーションキーを有効化情報として入力すればよい。
【００４０】
アクティベーションキーと有効化情報とが一致している場合（Ｓ２０４：Ｙｅｓ）には、対象となっている追加機能モジュールのヘッダ情報の有効／無効フラグを有効状態とする（Ｓ２０５）。そして、自動または手動でフィールド機器１００の再起動を行なう（Ｓ２０６）。
【００４１】
一方、アクティベーションキーと有効化情報とが一致しない場合（Ｓ２０４：Ｎｏ）は、ツール等を介して、入力された有効化情報が一致しないことをユーザに通知する（Ｓ２０７）。
【００４２】
次に、フィールド機器１００の起動時の動作について図５のフローチャートを参照して説明する。起動時動作は、主として制御部１１０により行なわれる。
【００４３】
フィールド機器１００が起動すると、システム基本モジュール用領域Ａ２１０ａ、システム基本モジュール用領域Ｂ２１０ｂのうち、有効なっている領域からシステム基本モジュールをロードする（Ｓ３０１）。
【００４４】
さらに、追加機能用領域２２０の追加機能モジュールヘッダ領域２２１を参照し、有効／無効フラグが有効状態である追加機能モジュールがあれば（Ｓ３０２：Ｙｅｓ）、有効状態にある追加機能モジュールをロードする（Ｓ３０３）。これにより、有効状態にある追加機能モジュールをフィールド機器１００で使用することができる。一方、ダウンロードされていても無効状態の追加機能モジュールは使用することができない。
【００４５】
以上説明したように、本実施形態のフィールド機器１００では、コード領域に格納されるコードを、フィールド機器の基本的な動作に関わるシステム基本モジュールと、追加的な拡張機能に関わる追加機能モジュールとに区別し、追加的な拡張機能をモジュール単位でダウンロードできるようにしているため、追加機能付加の際にはファームウェア全体のダウンロードが不要となる。このため、追加機能付加のためのファームウェアダウンロード作業を簡易化することができる。
【符号の説明】
【００４６】
１００…フィールド機器、１１０…制御部、１２０…記憶部、１３０…フィールド処理部、１４０…通信部、１５０…メディア読取装置、１６０…ダウンロード管理部、２１０…システム基本モジュール用領域、２２０…追加機能用領域、２２１…追加機能モジュールヘッダ領域、２２２…追加機能モジュール領域
【図１】
2018128890.tif 000003
【図２】
2018128890.tif 000004
【図３】
2018128890.tif 000005
【図４】
2018128890.tif 000006
【図５】
2018128890.tif 000007
【図６】
2018128890.tif 000008