(57)【要約】      （修正有）【課題】制御装置の運転状況に支障が生じないようにソフトウェア更新処理を行う。【解決手段】制御装置１００の更新ソフトウェア格納部は、ダウンロードデータ受信部１４から取得した更新ソフトウェアを、フラッシュＲＯＭ領域１１及びフラッシュＲＯＭ領域１２のうち、稼動中のソフトウェアが格納されていない領域に格納する。運転状況監視部は制御装置１００の運転状況を監視し、制御機器１５，１６，１７が全て停止状態となった時にソフトウェア更新部はソフトウェア更新処理を実施する。【選択図】図１
2007172200.tif 000002
【特許請求の範囲】
【請求項１】
外部から取得した更新ソフトウェアをメモリに格納しておく更新ソフトウェア格納手段と、
制御装置の運転状況を監視する運転状況監視手段と、
旧版のソフトウェアを前記更新ソフトウェアに更新するソフトウェア更新処理の前記運転状況への影響が所定の基準以下となったタイミングで、前記ソフトウェア更新処理を実施するソフトウェア更新手段と
を備えることを特徴とするソフトウェア更新装置システム。
【請求項２】
ソフトウェア更新処理が正常に行われなかった場合に、前記旧版のソフトウェアに自動復旧させる自動復旧手段をさらに備えることを特徴とする
請求項１に記載のソフトウェア更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの更新処理を行うソフトウェア更新システムに関するものである。
【背景技術】
【０００２】
一般に、制御装置や電子機器は、当初に組み込まれているソフトウェアを使い続けて稼動していた。しかしながら、制御装置や電子機器の機能の多様化に伴い、制御装置や電子機器には様々なソフトウェアが組み込まれるとともに、ソフトウェアが頻繁に更新される傾向にある。従来のソフトウェア更新方法としては以下のようなものがある。
特許文献１では、電気的に消去可能なＲＯＭ（Read only Memory）に書き込まれたソフトウェアに従って動作するＣＰＵ（Central Processing Unit）によって制御される制御装置が、外部と通信を行うシリアル通信チャンネルと、シリアル通信チャンネルを利用してソフトウェアを更新する更新手段とを備えている。そして、更新手段に含まれる外部通信装置が更新用のＣＰＵ制御ソフトウェアをシリアル通信チャンネルを介して制御装置に送信し、ＲＯＭに格納されている現在使用中のＣＰＵ制御ソフトウェアを書き換えている。これによって、ＲＯＭを交換することなく、簡単にＣＰＵ制御ソフトウェアの更新を行っている。
【０００３】
特許文献２では、現在制御装置にて稼動しているソフトウェアの版数をメモリに記憶する領域を設ける。更新する際、最初に、更新ソフトウェアの版数と稼動しているソフトウェアの版数を比較し、一致していない場合に、更新ソフトウェアをダウンロードし、自動的に再起動させて更新ソフトウェアを有効にする。
特許文献３では、外部コンピュータがアップデート対象のプログラムを一時的な名前に変更してネットワーク機器のＲＡＭに転送すると、ネットワーク機器はスケジューラを起動して一定時間おきに置き換えプログラムの有無とそのプログラムの実行状態とを調べ、実行されていない場合にはプログラムの置き換えを行う。
【０００４】
【特許文献１】特開平９−１５２９６９号公報
【特許文献２】特開２００５−７１０４２号公報
【特許文献３】特開２００３−１２２５８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１で示される方法では、ＲＯＭを交換する事無くＣＰＵの制御ソフトウェアの更新を行う事ができるが、ユーザはソフトウェアの更新が必要な場合とそうでない場合の区別をつけることができないといった問題があった。また、ソフトウェアを最初に消去してしまうため、その間、制御装置の運転が不可能となり、制御装置に接続されている制御対象機器の制御が不可能となってしまう。
特許文献２で示される方法では、更新ソフトウェアをダウンロードした後、制御装置を自動的に再起動させるため、ソフトウェアの更新手順は単純化できるが、通信中に更新ソフトウェアの一部にデータ化けが発生した場合、制御装置の再起動後、制御装置が正常に稼動できない可能性がある。
【０００６】
特許文献３で示される方法では、実行中のプログラムの処理を中断することなくプログラムのアップデートを行うことができるが、更新ソフトウェアのプログラム名を変更した上で外部装置からネットワーク機器に更新ソフトウェアを送信する必要がある。また、旧版のソフトウェアを更新ソフトウェアで置き換えるため、置き換えた後に不具合が発生した場合に、旧版のソフトウェアに即座に戻して復旧することができず、支障が生じる。
本発明はこのような問題点に鑑みてなされたものであり、制御装置の運転状況に支障が生じないようにソフトウェア更新処理を行うことを可能とするソフトウェア更新システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、旧版のソフトウェアを更新ソフトウェアで更新するソフトウェア更新処理を行うソフトウェア更新装置システムにおいて、外部から取得した前記更新ソフトウェアをメモリに格納しておく更新ソフトウェア格納手段と、制御装置の運転状況を監視する運転状況監視手段と、前記ソフトウェア更新処理の前記運転状況への影響が所定の基準以下となったタイミングで、前記ソフトウェア更新処理を実施するソフトウェア更新手段とを備えることを特徴とするソフトウェア更新装置システムを提供する。
【０００８】
本発明によれば、ソフトウェア更新装置システムはソフトウェア更新処理の運転状況への影響が所定の基準以下となったタイミングでソフトウェア更新処理を実施するため、制御装置の運転状況に支障が生じないようにソフトウェア更新を行うことが可能となる。
請求項２に記載の発明は、請求項１に記載のソフトウェア更新システムにおいて、ソフトウェア更新処理が正常に行われなかった場合に、前記旧版のソフトウェアに自動復旧させる自動復旧手段をさらに備えることを特徴とする。
本発明によれば、ソフトウェア更新システムはソフトウェア更新処理が正常に行われなかった場合に旧版のソフトウェアに自動復旧させるため、制御装置の停止を防ぐことができ、制御装置の運転状況に支障が生じないようにすることができる。
【発明の効果】
【０００９】
本発明によれば、ソフトウェア更新装置システムはソフトウェア更新処理の運転状況への影響が所定の基準以下となったタイミングでソフトウェア更新処理を実施するため、制御装置の運転状況に支障が生じないようにソフトウェア更新を行うことが可能となる。
また、ソフトウェア更新システムはソフトウェア更新処理が正常に行われなかった場合に旧版のソフトウェアに自動復旧させるため、制御装置の停止を防ぐことができ、制御装置の運転状況に支障が生じないようにすることができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して、本発明の実施の形態について説明する。
図１に本発明の実施の形態に係る制御装置１００の構成例を示す。制御装置１００は、ソフトウェアに従って動作するＣＰＵ１０、制御用のソフトウェアが格納されているフラッシュＲＯＭ領域１１、フラッシュＲＯＭ領域１２、稼動中のソフトウェア情報が格納されている領域１３、ダウンロードデータ受信部１４、制御機器１５、制御機器１６、及び、制御機器１７から構成されている。制御装置１００は、稼動中のソフトウェアに従って制御機器１５、制御機器１６、及び、制御機器１７の運転を制御する。
【００１１】
図２には領域１３に格納されている稼動中ソフトウェア情報の例を示す。同図に示すように、稼動中ソフトウェア情報が「１」の場合は、フラッシュＲＯＭ領域１１に稼動中のソフトウェアが格納されていることを示している。「２」の場合は、フラッシュＲＯＭ領域１２に稼動中のソフトウェアが格納されていることを示している。「３」の場合は、フラッシュＲＯＭ領域１１への更新ソフトウェアの格納が完了したことを示している。「４」の場合は、フラッシュＲＯＭ領域１２への更新ソフトウェアの格納が完了したことを示している。
【００１２】
ＣＰＵ１０が稼動中のソフトウェアに従って処理を実行することにより、図３に示す機能が制御装置１００に実現される。
更新ソフトウェア格納部１０１は、ダウンロードデータ受信部１４が外部から取得した更新ソフトウェアをフラッシュＲＯＭ領域１１及びフラッシュＲＯＭ領域１２のうち、稼動中のソフトウェアが格納されていない領域に格納する。
【００１３】
運転状況監視部１０２は、制御装置１００の運転状況を監視する。
ソフトウェア更新部１０３は、ソフトウェア更新処理の制御装置１００の運転状況への影響が所定の基準以下となったタイミングで、当該ソフトウェア更新処理を実施する。「所定の基準」とは、例えば、制御機器１５，１６，１７の全て停止状態であり、運転状況への影響がない状態をいう。なお、これは基準の一例であり、他の基準を設けることも可能である。
【００１４】
また、「ソフトウェア更新処理」とは、旧版（稼動中）のソフトウェアを更新ソフトウェアに更新する処理をいい、ここでは、旧版のソフトウェアを更新ソフトウェアで上書きせず、領域１３に格納される稼動中ソフトウェア情報等の変更によって制御を行う。
自動復旧部１０４は、ソフトウェア更新処理が正常に行われなかった（ソフトウェア更新処理が異常終了した、再起動後に制御装置１００の状態が異常に陥った、更新ソフトウェアにて正常に起動しなかった等が含まれる）場合に、旧版のソフトウェアに自動復旧させる。
【００１５】
次に、図４を参照して、実際の動作フローについて説明する。現在、制御装置１００を稼動させているソフトウェアはフラッシュＲＯＭ領域１１に格納されているものとする。領域１３には、稼動中ソフトウェア情報として、フラッシュＲＯＭ領域１１にてソフトウェア稼動を示す情報である「１」が格納されている。
ソフトウェアの更新が発生した場合、制御装置１００のダウンロードデータ受信部１４から更新ソフトウェアを受信する（ステップＳ１）。更新ソフトウェアを受信後、制御装置１００は、稼動中ソフトウェア情報を確認して（ステップＳ２）、現在稼動しているソフトウェアがフラッシュＲＯＭ領域１１に格納されているため（ステップＳ２；Ｙｅｓ）、受信した更新ソフトウェアをフラッシュＲＯＭ領域１２に格納する（ステップＳ３）。つまり、更新ソフトウェアを、現在使用しているソフトウェアが保存されている領域以外の領域に格納する。フラッシュＲＯＭ領域１２に更新ソフトウェアを格納後、稼動中ソフトウェア情報を、フラッシュＲＯＭ領域１２に更新ソフトウェア保存完了を示す情報である「４」に変更する。現在制御装置１００の稼動に使用しているソフトウェアを上書きしない事により、制御装置１００は稼動し続ける事が可能である。
【００１６】
更新ソフトウェアをフラッシュＲＯＭ領域１２に格納後、運転状況監視部１０２は、制御機器１５，１６，１７の運転状況を稼動中のソフトウェアから取得する。制御装置１００が運転を制御している制御機器１５，１６，１７の運転状況を監視しておいて、運転状況に影響が少ない所定の基準となったタイミング（例えば、制御機器１５，１６，１７が全て停止状態の時）にて（ステップＳ４；Ｙｅｓ）、ソフトウェア更新部１０３はソフトウェア更新処理を実施する。
【００１７】
ソフトウェア更新処理実施後に、制御装置１００に自動的に再起動をかける（ステップＳ５）。再起動後、稼動中ソフトウェア情報を、フラッシュＲＯＭ領域１２のソフトウェアが稼動している事を示す情報である「２」に変更する。再起動後、制御装置１００の状態が異常に陥った場合や更新ソフトウェアにて正常に起動しなかった場合（ステップＳ６；Ｎｏ）、フラッシュＲＯＭ領域１１に格納されている前回（旧版）のソフトウェアを利用してもう一度再起動を行う（ステップＳ７）。この時、稼動中ソフトウェア情報を、フラッシュＲＯＭ領域１１にてソフトウェア稼動を示す情報である「１」に変更する。
【００１８】
以上説明したように、制御装置１００は、ソフトウェア更新処理の運転状況への影響が所定の基準以下となったタイミングにて、ソフトウェア更新処理を実施するため、制御装置１００の運転状況に支障が生じないようにソフトウェア更新処理を行うことが可能となる。また、制御装置１００は、ソフトウェア更新処理が正常に行われなかった場合に旧版のソフトウェアに自動復旧させるため、制御装置１００が停止する事を防ぎ、制御装置１００の運転状況に支障が生じないようにすることができる。
【００１９】
このように、制御装置１００の運転状態を監視することにより、自動的にタイミングを見計らって制御装置１００に予め格納しておいた更新ソフトウェアの自動更新を実施し、正常にソフトウェアが更新されなかった場合、前回の版数のソフトウェアにて動作することが可能となる。
また、制御装置１００にフラッシュＲＯＭ領域１１及びフラッシュＲＯＭ領域１２を設けて、更新ソフトウェアを稼動中のソフトウェアが格納されている領域とは別の領域に格納するようにしたため、更新ソフトウェアのソフトウェア名を変更する等の処理を行う必要がない。さらに、更新ソフトウェアで旧版のソフトウェアを上書きしないようにしたため、ソフトウェア更新が正常に行われなかった場合の復旧が容易である。
なお、図３に示す機能は制御装置１００が備えているとして説明したが、これに限定されることはなく、他の１又は複数の装置が備えるようにしてもよい。
【産業上の利用可能性】
【００２０】
ソフトウェア更新全般に利用することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施の形態に係る制御装置の構成例を示す図である。
【図２】同実施の形態に係る稼動中ソフトウェア情報の例を示す図である。
【図３】同実施の形態に係る制御装置の機能構成を示す図である。
【図４】同実施の形態に係る動作フローを示す図である。
【符号の説明】
【００２２】
１００    制御装置
１０      ＣＰＵ
１１，１２    フラッシュＲＯＭ領域
１３      稼動中ソフトウェア情報格納領域
１４      ダウンロードデータ受信部
１５，１６，１７    制御機器
１０１    更新ソフトウェア格納部
１０２    運転状況監視部
１０３    ソフトウェア更新部
１０４    自動復旧部
【図１】
2007172200.tif 000003
【図２】
2007172200.tif 000004
【図３】
2007172200.tif 000005
【図４】
2007172200.tif 000006