(57)【要約】【課題】運用を停止することなくファームウェアを更新することができ、更新前のデータを更新後に引き継ぐことができる。【解決手段】ファームウェア更新用ツール４から新ファームウェアを受信する改訂版受信部１１と、新ファームウェアが受信された場合にファームウェアの処理モードを更新モードに変更する処理モード変更部１２と、更新モードに変更された場合に新ファームウェアを仮起動する改訂版起動部１３と、新ファームウェアが起動された場合に新ファームウェアの新データベースを、旧ファームウェアの旧データベースに基づいて補正するデータベース補正部１４と、を備え、処理モード変更部１２は、新データベースの補正後に旧ファームウェアを停止させ、新ファームウェアを稼働させてから、処理モードを通常モードに変更する。【選択図】図１
2016009208.tif 000002
【特許請求の範囲】
【請求項１】
ファームウェアを更新する際に用いるファームウェア更新用ツールから、現在稼働中の第１ファームウェアの改訂版となる第２ファームウェアを受信する改訂版受信部と、
前記改訂版受信部により前記第２ファームウェアが受信された場合に、ファームウェアの処理モードを更新モードに変更する処理モード変更部と、
前記処理モード変更部により前記処理モードが前記更新モードに変更された場合に、前記改訂版受信部により受信された前記第２ファームウェアを、ファームウェア機能を停止させた状態で起動する改訂版起動部と、
前記改訂版起動部により前記第２ファームウェアが起動された場合に、前記第２ファームウェアが利用する第２データベースを、前記第１ファームウェアが利用する第１データベースに基づいて補正するデータベース補正部と、を備え、
前記処理モード変更部は、前記データベース補正部により前記第２データベースが補正された後に、前記第１ファームウェアを停止させ、前記第２ファームウェアの前記ファームウェア機能を開始させてから、前記処理モードを通常モードに変更する、
ことを特徴とするコントローラ。
【請求項２】
前記データベース補正部は、前記第２データベースに新たに追加されたデータ項目に対して初期値を設定する、ことを特徴とする請求項１記載のコントローラ。
【請求項３】
前記データベース補正部は、前記第１ファームウェアにより更新されているデータを、対応する前記第２データベースのデータ項目に反映させる、ことを特徴とする請求項１または２記載のコントローラ。
【請求項４】
前記データベース補正部は、前記第２データベースに対する補正が完了した場合に、ファームウェアの切替タイミングを示す切替指示を発行し、
前記処理モード変更部は、前記切替指示に従って、前記第１ファームウェアを停止させ、前記第２ファームウェアの前記ファームウェア機能を開始させる、
ことを特徴とする請求項１〜３のいずれか１項に記載のコントローラ。
【請求項５】
前記処理モード変更部により前記処理モードが前記更新モードから前記通常モードに変更された場合に、ファームウェアの更新が完了したことを示す完了通知を、前記ファームウェア更新用ツールに送信する完了通知送信部を、さらに備えることを特徴とする請求項１〜４のいずれか１項に記載のコントローラ。
【請求項６】
前記更新モードは、ファームウェアのメッセージ受付機能を無効にするモードであり、前記通常モードは、ファームウェアのメッセージ受付機能を有効にするモードである、ことを特徴とする請求項１〜５のいずれか１項に記載のコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工場等のプロセスを制御するコントローラに関する。
【背景技術】
【０００２】
工場等の生産プロセス等を管理する現場では、プラント内に多数の機器（例えばセンサ機器やバルブポジショナ等のデバイス）を配置する。これらの機器は、コントローラにより統括制御されており、オペレータ等の操作者が、コントローラの制御下にある機器の運転状況を監視しながらプロセスを管理する。工場等のプロセスは、２４時間連続して運用されることが多いため、コントローラは、できる限り継続して動作することが要求される。しかしながら、コントローラのファームウェアを更新する際には、コントローラを一時的に停止させる必要がある。
【０００３】
下記特許文献１には、連続運用のサーバ・クライアントシステムにおいて、運用への影響を発生させずにプログラムの更新を行うプログラム更新装置が開示されている。このプログラム更新装置では、旧プログラムと新プログラムとを同時に起動させ、その状態から新プログラムに移行している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１１４８１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載のプログラム更新装置では、システムを停止することなくプログラムを更新している。しかしながら、例えば旧プログラムと新プログラムとで利用するデータベースのデータ構成間に相違がある場合には、旧プログラムによるデータと新プログラムによるデータとの間に差異が生じてしまう。この場合、旧プログラムによるデータを新プログラムで利用する際に、旧プログラムによるデータを新プログラムで利用できるように加工しなければならず、改善の余地がある。
【０００６】
本発明は、運用を停止することなくファームウェアを更新することができ、更新前のデータを更新後に引き継ぐことができるコントローラを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るコントローラは、ファームウェアを更新する際に用いるファームウェア更新用ツールから、現在稼働中の第１ファームウェアの改訂版となる第２ファームウェアを受信する改訂版受信部と、前記改訂版受信部により前記第２ファームウェアが受信された場合に、ファームウェアの処理モードを更新モードに変更する処理モード変更部と、前記処理モード変更部により前記処理モードが前記更新モードに変更された場合に、前記改訂版受信部により受信された前記第２ファームウェアを、ファームウェア機能を停止させた状態で起動する改訂版起動部と、前記改訂版起動部により前記第２ファームウェアが起動された場合に、前記第２ファームウェアが利用する第２データベースを、前記第１ファームウェアが利用する第１データベースに基づいて補正するデータベース補正部と、を備え、前記処理モード変更部は、前記データベース補正部により前記第２データベースが補正された後に、前記第１ファームウェアを停止させ、前記第２ファームウェアの前記ファームウェア機能を開始させてから、前記処理モードを通常モードに変更する。
【０００８】
上記データベース補正部は、前記第２データベースに新たに追加されたデータ項目に対して初期値を設定する、こととしてもよい。
【０００９】
上記データベース補正部は、前記第１ファームウェアにより更新されているデータを、対応する前記第２データベースのデータ項目に反映させる、こととしてもよい。
【００１０】
上記データベース補正部は、前記第２データベースに対する補正が完了した場合に、ファームウェアの切替タイミングを示す切替指示を発行し、上記処理モード変更部は、前記切替指示に従って、前記第１ファームウェアを停止させ、前記第２ファームウェアの前記ファームウェア機能を開始させる、こととしてもよい。
【発明の効果】
【００１１】
本発明によれば、運用を停止することなくファームウェアを更新することができ、更新前のデータを更新後に引き継ぐことができるコントローラを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態におけるコントローラを含むプロセス管理システムの構成を例示する図である。
【図２】図１に示すコントローラの機能構成を例示する図である。
【図３】図１に示すコントローラのファームウェアを更新する際の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明に係る実施形態について説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除するものではない。すなわち、本発明は、その趣旨を逸脱しない範囲で種々変形して実施できる。
【００１４】
図１は、コントローラを含むプロセス管理システムの構成図である。図１に示すように、プロセス管理システムは、例示的に、コントローラ１と、変換器２と、デバイス３と、を備える。
【００１５】
デバイス３は、プラント内に配置される機器であり、例えば、ファウンデーションフィールドバス技術に対応する機器や、ＨＡＲＴ（Highway Addressable Remote Transducer）通信機能を搭載する機器、プロフィバス（Profibus）技術に対応する機器を用いることができる。デバイス３としては、例示的に、流量や圧力、温度等を検出する各種センサ機器、流量制御弁や圧力制御弁等の各種バルブを制御するバルブポジショナ、ポンプやファン等を動作させる各種アクチュエータ等が該当する。
【００１６】
コントローラ１は、生産プロセスの実行状態を制御する機器である。具体的に、コントローラ１は、例えば、発信器から取得した流量や圧力等の測定値に基づいて、バルブポジショナを制御することで、配管に設けられたバルブの開度を調節する。
【００１７】
変換器２は、コントローラ１とデバイス３とを仲介する機器であり、コントローラ１側のプロトコルとデバイス３側のプロトコルとを変換する機器である
【００１８】
図２に示すように、コントローラ１は、機能的には、例えば、改訂版受信部１１と、処理モード変更部１２と、改訂版起動部１３と、データベース補正部１４と、完了通知送信部１５とを有する。
【００１９】
改訂版受信部１１は、図１に示すファームウェア更新用ツール４から、現在稼働中のファームウェア（以下、「旧ファームウェア（第１ファームウェア）」という。）の改訂版となるファームウェア（以下、「新ファームウェア（第２ファームウェア）」という。）を受信する。受信した新ファームウェアは、例えば、ＳＳＤ（Solid State Drive）に格納することができる。改訂には、バージョンアップおよびリビジョンアップが含まれる。
【００２０】
ここで、ファームウェア更新用ツール４は、ファームウェアを更新する際に用いるツールであり、例えば保守担当ユーザ等が所持する端末にインストールされる。ファームウェア更新用ツール４は、保守対象となるコントローラ１に対して、通信ケーブル等を介して適宜接続することができる。
【００２１】
ファームウェア更新用ツール４は、保守担当ユーザによってファームウェア更新処理が実行指示されると、コントローラ１の旧ファームウェアに対し、ファームウェアのバージョン情報を問い合わせる。
【００２２】
ファームウェア更新用ツール４は、旧ファームウェアからバージョン情報を受信すると、ファームウェア更新用ツール４の画面上に旧ファームウェアのバージョン情報を表示する。
【００２３】
ファームウェア更新用ツール４は、バージョン情報を確認した保守担当ユーザによって、ロード対象となるバージョンが選択されると、その選択されたバージョンの新ファームウェアをロードしてコントローラ１に送信する。ファームウェア更新用ツール４は、旧ファームウェアのバージョンよりも古いバージョンが選択された場合には、ファームウェア更新用ツール４の画面上に警告メッセージを表示する。
【００２４】
なお、ロード対象となるバージョンは、保守担当ユーザが選択することには限定されない。例えば、ファームウェア更新用ツール４が、コントローラ１から受信したバージョン情報に基づいて、旧ファームウェアよりも新しいバージョンを選択することとしてもよい。
【００２５】
ファームウェア更新用ツール４は、コントローラ１から更新完了通知を受信した場合に、ファームウェア更新用ツール４の画面上に、更新完了メッセージを表示する。更新完了通知は、ファームウェアの更新が完了したことを示す完了通知である。
【００２６】
図２に示す処理モード変更部１２は、ファームウェアの処理モードを変更する。本実施形態では、ファームウェアの処理モードとして、例示的に、通常モードと更新モードとを用いて説明する。更新モードは、ファームウェアのメッセージ受付機能を無効にするモードであり、通常モードは、ファームウェアのメッセージ受付機能を有効にするモードである。
【００２７】
処理モード変更部１２は、改訂版受信部１１により新ファームウェアが受信されたときに、ファームウェアの処理モードを更新モードに変更する。処理モード変更部１２は、後述するデータベース補正部１４により発行される切替指示に従って、旧ファームウェアを停止させ、新ファームウェアのファームウェア機能を開始させてから、処理モードを通常モードに変更する。
【００２８】
改訂版起動部１３は、処理モード変更部１２により処理モードが更新モードに変更され、新ファームウェアの受信が完了した場合に、受信した新ファームウェアを、ファームウェア機能を停止させた状態で起動する。ファームウェア機能を停止させた状態の新ファームウェアは、旧ファームウェアと同期して動作するものの、ファームウェアとしての演算処理は実行せず、後述するデータベースの補正処理のみを実行する。
【００２９】
データベース補正部１４は、改訂版起動部１３により新ファームウェアが起動された場合に、新ファームウェアが利用するデータベース（以下、「新データベース（第２データベース）」という。）を、旧ファームウェアが利用するデータベース（以下、「旧データベース（第１データベース）」という。）に基づいて補正するデータベース補正処理を実行する。
【００３０】
データベース補正部１４は、データベース補正処理を実行する前に、ＤＢ同期リクエストを旧ファームウェアに送信し、旧データベースに関する旧データベース情報を取得する。ＤＢ同期リクエストは、新データベースと旧データベースとを同期する際に発行するメッセージである。
【００３１】
以下に、データベース補正処理について具体的に説明する。下記（１）、（２）は、どちらを先に実行してもよい。
【００３２】
（１）データベース補正部１４は、旧データベース情報に基づいて、新データベースと旧データベースとのデータ構成を比較し、新データベースに新たに追加されたデータ項目が存在するか否かを判定する。データベース補正部１４は、新データベースに新たに追加されたデータ項目が存在する場合に、その追加されたデータ項目に対して初期値を設定する。
【００３３】
（２）データベース補正部１４は、旧データベース情報に基づいて、旧ファームウェアにより更新されているデータを、対応する新データベースのデータ項目に反映させる。新データベースに反映させるデータは、通常モード中に旧データベースに格納されたデータに限らず、更新モード中に旧データベースに格納されるデータも対象となる。これは、更新モード中は、旧ファームウェアが稼働しているため、旧ファームウェアにより更新されるデータが旧データベースに格納され続けるためである。
【００３４】
データベース補正部１４は、新データベースに対する補正処理が完了した場合に、旧ファームウェアおよび新ファームウェアに対するファームウェアの切替タイミングを含む切替指示を発行する。切替指示に含まれる切替タイミングは、旧ファームウェアが停止するタイミングと、新ファームウェアが実質的に稼働を開始するタイミングとが、一致するように設定される。
【００３５】
完了通知送信部１５は、処理モード変更部１２により処理モードが更新モードから通常モードに変更された場合に、更新完了通知をファームウェア更新用ツール４に送信する。
【００３６】
なお、更新完了通知を送信した後に、コントローラ１に格納されている旧ファームウェアを削除することとしてもよい。ただし、旧ファームウェアを削除せずに残しておくことで、更新前の状態に戻す必要が生じたときのリカバリ時に旧ファームウェアを用いることができる。
【００３７】
次に、図３を参照して、コントローラ１のファームウェアを更新する際の動作について説明する。この動作は、保守担当ユーザが、ファームウェア更新処理の実行指示をファームウェア更新用ツール４に投入することで開始する。
【００３８】
最初に、ファームウェア更新用ツール４は、接続先のコントローラ１で稼働している旧ファームウェアに対し、ファームウェアのバージョン情報を問い合わせる（ステップＳ１０１）。
【００３９】
続いて、コントローラ１の旧ファームウェアは、自ファームウェアのバージョン情報をファームウェア更新用ツール４に送信する（ステップＳ１０２）。
【００４０】
続いて、ファームウェア更新用ツール４は、保守担当ユーザによって選択されたバージョンに対応する新ファームウェアをコントローラ１に送信する（ステップＳ１０３）。
【００４１】
続いて、コントローラ１の処理モード変更部１２は、上記ステップＳ１０３で送信された新ファームウェアが改訂版受信部１１で受信されたことを検知すると、ファームウェアの処理モードを更新モードに変更する（ステップＳ１０４）。
【００４２】
続いて、コントローラ１の改訂版起動部１３は、上記ステップＳ１０４で処理モードが更新モードに変更され、新ファームウェアの受信が完了したことを検知すると、新ファームウェアを、ファームウェア機能を停止させた状態で起動する（ステップＳ１０５）。
【００４３】
続いて、コントローラ１のデータベース補正部１４は、旧ファームウェアにＤＢ同期リクエストを送信し、旧データベース情報を取得する（ステップＳ１０６）。
【００４４】
続いて、コントローラ１のデータベース補正部１４は、取得した旧データベース情報に基づいて、データベース補正処理を実行する（ステップＳ１０７）。
【００４５】
続いて、コントローラ１のデータベース補正部１４は、データベース補正処理が完了した場合に、旧ファームウェアおよび新ファームウェアに対する切替指示を発行する（ステップＳ１０８）。
【００４６】
続いて、コントローラ１の処理モード変更部１２は、上記ステップＳ１０８で発行された切替指示に含まれる切替タイミングに従って、旧ファームウェアを停止させ、新ファームウェアのファームウェア機能を開始させてから、処理モードを通常モードに変更する（ステップＳ１０９）。
【００４７】
続いて、コントローラ１の完了通知送信部１５は、ファームウェアの更新が完了したことを示す更新完了通知を、ファームウェア更新用ツール４に送信する（ステップＳ１１０）。
【００４８】
続いて、更新完了通知を受信したファームウェア更新用ツール４は、ファームウェア更新用ツール４の画面上に、更新完了メッセージを表示する（ステップＳ１１１）。
【００４９】
上述してきたように、実施形態におけるコントローラ１によれば、改訂版受信部１１を有することで、ファームウェア更新用ツール４から新ファームウェアを受信することができ、処理モード変更部１２を有することで、新ファームウェアが受信された場合にファームウェアの処理モードを更新モードに変更し、新データベースの補正後に旧ファームウェアを停止させ、新ファームウェアを稼働させてから、処理モードを通常モードに変更することができ、改訂版起動部１３を有することで、更新モードに変更された場合に新ファームウェアを仮稼働することができ、データベース補正部１４を有することで、新ファームウェアが仮稼働された場合に新ファームウェアの新データベースを、旧ファームウェアの旧データベースに基づいて補正することが可能となる。
【００５０】
つまり、ファームウェアを更新する際に、旧ファームウェアの本稼働を継続させた状態で、新ファームウェアの仮稼働を開始し、新ファームウェアの新データベースを旧ファームウェアの旧データベースに基づいて補正することができ、その補正後に旧ファームウェアを停止させ、新ファームウェアを本稼働させることが可能となる。
【００５１】
それゆえ、実施形態におけるコントローラ１によれば、運用を停止することなくファームウェアを更新することができ、更新前のデータを更新後に引き継ぐことが可能となる。
【００５２】
また、データベース補正部１４を有することで、新データベースに新たに追加されたデータ項目に対して初期値を設定し、旧ファームウェアにより更新されているデータを、対応する新データベースのデータ項目に反映させることが可能となる。
【００５３】
また、データベース補正部１４を有することで、新データベースに対する補正が完了した場合に、ファームウェアの切替タイミングを示す切替指示を発行することができ、処理モード変更部を有することで、切替指示に従って、旧ファームウェアを停止させ、新ファームウェアの本稼働を開始させることが可能となる。
【００５４】
さらに、完了通知送信部１５を有することで、処理モードが更新モードから通常モードに変更された場合に、ファームウェアの更新が完了したことを示す完了通知を、ファームウェア更新用ツール４に送信することが可能となる。
【００５５】
なお、上述した実施形態では、コントローラ１が一つの場合について説明しているが、これに限定されず、冗長化されたコントローラにも本発明を同様に適用することができる。冗長方式としては、並列冗長方式を採用してもよいし、待機冗長方式を採用してもよい。
【符号の説明】
【００５６】
１…コントローラ
２…変換器
３…デバイス
４…ファームウェア更新用ツール
１１…改訂版受信部
１２…処理モード変更部
１３…改訂版起動部
１４…データベース補正部
１５…完了通知送信部
【図１】
2016009208.tif 000003
【図２】
2016009208.tif 000004
【図３】
2016009208.tif 000005