(57)【特許請求の範囲】
【請求項１】
第１パーティションおよび第２パーティションを有し、前記第１パーティションには、電源投入時およびシステムリセット時にシステムを起動する起動ソフトウェアと、該起動ソフトウェアを指し示す起動ソフトウェア情報と、更新ソフトウェアによるシステム起動を許可するか否かを示す更新ソフトウェア起動フラグとが格納され、前記第２パーティションには、前記起動ソフトウェアによってシステムを起動できなかった場合にシステムを起動する予備起動ソフトウェアが格納された不揮発性記憶装置と、
前記起動ソフトウェアをバージョンアップした更新ソフトウェアをダウンロードし、前記第１パーティションに格納すると共に、前記更新ソフトウェア起動フラグを起動許可を示すものに更新するダウンロード手段と、
電源投入時およびシステムリセット時、前記更新ソフトウェア起動フラグが起動許可を示し且つ前記更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動した後、前記更新ソフトウェア起動フラグを起動禁止を示すものに変更し、更に前記更新ソフトウェアを起動ソフトウェアとして機能させるために前記起動ソフトウェア情報を前記更新ソフトウェアを指し示すものに変更し、前記更新ソフトウェア起動フラグが起動禁止を示している場合および前記更新ソフトウェアのデータが正常でない場合は、前記起動ソフトウェアのデータが正常であれば前記起動ソフトウェアでシステムを起動し、前記起動ソフトウェアのデータが正常でなければ前記予備起動ソフトウェアによってシステムを起動するブート手段とを備えたことを特徴とする制御装置。
【請求項２】
第１パーティションおよび第２パーティションを有し、前記第１パーティションには、電源投入時およびシステムリセット時にシステムを起動する起動ソフトウェアと、該起動ソフトウェアを指し示す起動ソフトウェア情報と、更新ソフトウェアによるシステム起動を許可するか否かを示す更新ソフトウェア起動フラグとが格納され、前記第２パーティションには、前記起動ソフトウェアによってシステムを起動できなかった場合にシステムを起動する予備起動ソフトウェアが格納された不揮発性記憶装置を備えた制御装置におけるバージョンアップ方法であって、
前記起動ソフトウェアをバージョンアップした更新ソフトウェアをダウンロードして前記第１パーティションに格納すると共に前記更新ソフトウェア起動フラグを起動許可を示すものに更新し、
次いで、システムリセットを実施し、
電源投入時およびシステムリセット時、前記更新ソフトウェア起動フラグが起動許可を示し且つ前記更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動した後、前記更新ソフトウェア起動フラグを起動禁止を示すものに変更し、更に前記更新ソフトウェアを起動ソフトウェアとして機能させるために前記起動ソフトウェア情報を前記更新ソフトウェアを指し示すものに変更し、前記更新ソフトウェア起動フラグが起動禁止を示している場合および前記更新ソフトウェアのデータが正常でない場合は、前記起動ソフトウェアのデータが正常であれば前記起動ソフトウェアでシステムを起動し、前記起動ソフトウェアのデータが正常でなければ前記予備起動ソフトウェアによってシステムを起動することを特徴とするバージョンアップ方法。
【請求項３】
第１パーティションおよび第２パーティションを有し、前記第１パーティションには、電源投入時およびシステムリセット時にシステムを起動する起動ソフトウェアと、該起動ソフトウェアを指し示す起動ソフトウェア情報と、更新ソフトウェアによるシステム起動を許可するか否かを示す更新ソフトウェア起動フラグとが格納され、前記第２パーティションには、前記起動ソフトウェアによってシステムを起動できなかった場合にシステムを起動する予備起動ソフトウェアが格納された不揮発性記憶装置を備えたコンピュータを、
前記起動ソフトウェアをバージョンアップした更新ソフトウェアをダウンロードし、前記第１パーティションに格納すると共に、前記更新ソフトウェア起動フラグを起動許可を示すものに更新するダウンロード手段、
電源投入時およびシステムリセット時、前記更新ソフトウェア起動フラグが起動許可を示し且つ前記更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動した後、前記更新ソフトウェア起動フラグを起動禁止を示すものに変更し、更に前記更新ソフトウェアを起動ソフトウェアとして機能させるために前記起動ソフトウェア情報を前記更新ソフトウェアを指し示すものに変更し、前記更新ソフトウェア起動フラグが起動禁止を示している場合および前記更新ソフトウェアのデータが正常でない場合は、前記起動ソフトウェアのデータが正常であれば前記起動ソフトウェアでシステムを起動し、前記起動ソフトウェアのデータが正常でなければ前記予備起動ソフトウェアによってシステムを起動するブート手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置においてシステムの起動にかかわるソフトウェアをバージョンアップするバージョンアップ技術に関し、特に、バージョンアップに失敗した場合であってもシステムが起動不能状態に陥らないようにすることができるバージョンアップ技術に関する。
【背景技術】
【０００２】
制御装置で使用しているソフトウェアをバージョンアップする場合、管理装置などからネットワークを介して新しいバージョンのソフトウェアをダウンロードするということは従来から行われている。
【０００３】
ところで、バージョンアップするソフトウェアが、表計算用のソフトウェアやワードプロセッサ用のソフトウェア等のようなアプリケーションプログラムである場合には、ダウンロード時に書き込みエラーや電源障害といった異常が発生し、バージョンアップに失敗したとしてもシステムが起動不能状態に陥ることはない。しかし、バージョンアップするソフトウェアが基本的なソフトウェアであり、システムの起動にかかわるソフトウェアである場合には、ダウンロード時に異常が発生すると、システムが起動不能状態に陥ってしまう場合がある。
【０００４】
そこで、ダウンロード時に異常が発生し、バージョンアップに失敗した場合であってもシステムが起動不能状態に陥らないようにするため、従来から種々の技術が提案されている（例えば、特許文献１及び２参照）。
【０００５】
特許文献１に記載されている従来の制御装置は、第１および第２のフラッシュＰＲＯＭを有しており、一方のフラッシュＰＲＯＭには、現在、システムを起動するために使用しているソフトウェアが格納されている。更に、この従来の制御装置は、第１および第２の状態を取ることができるマニュアルスイッチと、このマニュアルスイッチの状態およびバージョンアップ時であるか否かを示すバージョンアップ信号（バージョンアップ時＝“１”、非バージョンアップ時＝“０”）の状態に基づいて、第１および第２のフラッシュＰＲＯＭの内の一方を、ソフトウェアを読み書きするための所定のアドレス空間に割り当て、ソフトウェアの読み出しや書き込みを可能にする切替部とを有している。なお、切替部は、マニュアルスイッチが第１の状態の場合は、バージョンアップ信号が“０”であれば、第１のフラッシュＰＲＯＭを、バージョンアップ信号が“１”であれば、第２のフラッシュＰＲＯＭを上記所定のアドレス空間に割り当てる。また、マニュアルスイッチが第２の状態の場合は、バージョンアップ信号が“０”であれば、第２のフラッシュＰＲＯＭを、バージョンアップ信号が“１”であれば、第１のフラッシュＰＲＯＭを上記所定のアドレス空間に割り当てる。
【０００６】
このような構成を有する従来の制御装置では、次のようにしてソフトウェアのバージョンアップを行っている。今、例えば、第１のフラッシュＰＲＯＭに、現在、システムを起動するために使用しているソフトウェアが格納され、且つ、マニュアルスイッチの状態が第１の状態になっているとする。この第１のフラッシュＰＲＯＭに格納されているソフトウェアをバージョンアップする場合には、バージョンアップ信号を“１”にし、バージョンアップ後のソフトウェアをダウンロードする。この場合、マニュアルスイッチが第１の状態であり、バージョンアップ信号が“１”であるので、第２のフラッシュＰＲＯＭに上記所定のアドレス空間が割り当てられ、ダウンロードしたバージョンアップ後のソフトウェアが第２のフラッシュＰＲＯＭに書き込まれる。そして、バージョンアップが終了すると、バージョンアップ信号が“０”となり、再び、第１のフラッシュＰＲＯＭに上記所定の空間が割り当てられる。
【０００７】
また、特許文献２に記載されている従来の制御装置は、現用ＥＥＰＲＯＭと予備用ＥＥＰＲＯＭとを備えており、現用ＥＥＰＲＯＭには、現在、システムを起動するために使用しているソフトウェアが格納されている。更に、この制御装置は、リセット時に、現用ＥＥＰＲＯＭを用いてシステムを起動するのか、予備用ＥＥＰＲＯＭを用いてシステムを起動するのかを表示する、ＯＮ，ＯＦＦ２つの状態を取ることができるトグル型レジスタを有している。なお、トグル型レジスタがＯＮの場合は、現用ＥＥＰＲＯＭを用いてシステムを起動し、ＯＦＦの場合は、予備用ＥＥＰＲＯＭを用いてシステムを起動するものとする。
【０００８】
このような構成を有する従来の制御装置では、次のようにしてソフトウェアのバージョンアップを行っている。今、例えば、トグル型レジスタがＯＮになっており、現用ＥＥＰＲＯＭのソフトウェアにより制御装置が動作しているとする。この状態で、現用ＥＥＰＲＯＭに格納されているソフトウェアをバージョンアップする場合、管理装置から制御装置に対してバージョンアップ後のソフトウェアを転送すると共に、書き込み先として予備用ＥＥＰＲＯＭを指定する。これにより制御装置は、管理装置から送られてきたバージョンアップ後のソフトウェアを予備用ＥＥＰＲＯＭに書き込む。その後、制御装置は管理装置からの指示に従って予備用ＥＥＰＲＯＭのデータが正常であるか否かを検証し、検証結果を管理装置に返却する。管理装置は、検証結果が異常を示している場合は、再度、前述したソフトウェアの転送処理を行う。これに対して、検証結果が正常を示している場合は、トグル型レジスタの値をＯＦＦに変更した後、リセット指示を行う。これにより、システムリセットが行われ、その後、ブートプログラムが起動する。この場合、トグル型レジスタの値がＯＦＦになっているので、制御装置は、予備用ＥＥＰＲＯＭの格納されているバージョンアップされたソフトウェアを使用してシステムを起動する。
【０００９】
【特許文献１】特開２００１−１１７７８０号公報
【特許文献２】特開平５−１５８７０３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述した特許文献１、２に記載されている従来の技術では、現在、システムを起動するために使用しているソフトウェアが格納されている記憶デバイス（フラッシュＰＲＯＭやＥＥＰＲＯＭ）とは別の記憶デバイスにバージョンアップしたソフトウェアをダウンロードするようにしており、バージョンアップに失敗したとしても、もう一方の記憶デバイスに格納されている古いバージョンのソフトウェアを利用してシステムを起動することができるので、システムが起動不能状態に陥るということはない。
【００１１】
しかし、特許文献１、２に記載されている従来の技術には次のような問題がある。
【００１２】
特許文献１に記載されている従来の技術は、ダウンロードした新しいバージョンのソフトウェアを利用する場合には、利用者がマニュアルスイッチを操作する必要があるため、操作性が悪いという問題がある。即ち、特許文献１に記載されている従来の技術では、バージョンアップ時には、切替部によって第２のフラッシュＰＲＯＭが、ソフトウェアを読み書きするための所定のアドレス空間に配置されるが、バージョンアップが完了すると、切替部によって古いバージョンのソフトウェアが格納されている第１のフラッシュＰＲＯＭが上記所定のアドレス空間に配置されるので、新しいバージョンのソフトウェアを利用するためには、マニュアルスイッチを操作して第２のフラッシュＰＲＯＭを上記所定のアドレス空間に配置しなければならず、操作性が悪い。
【００１３】
一方、特許文献２に記載されている従来の技術では、予備用ＥＥＰＲＯＭに新しいバージョンのソフトウェアをダウンロードした後、システムリセットを行い、新しいバージョンのソフトウェアでシステムを起動するようにしている。従って、新しいバージョンのソフトウェアを利用するために、特許文献１に記載されている従来の技術のように、マニュアルスイッチを操作する必要がないので、操作性は良い。
【００１４】
しかし、特許文献２に記載されている従来の技術は、管理装置から予備用ＥＥＰＲＯＭにダウンロードした新しいバージョンのソフトウェアのデータを検証し、検証結果が異常であった場合には、再度、新しいバージョンのソフトウェアを管理装置からダウンロードしなければならず、システムを起動するまでに時間がかかる場合があるという問題がある。特に、バージョンアップするソフトウェアのサイズが大きい場合には、システムが起動されるまでに多くの時間がかかり、予定の時刻になっても制御装置を用いた業務を開始できないとか、制御装置を用いた業務が長時間停止してしまうという問題が生じる場合がある。
【００１５】
〔発明の目的〕
そこで、本発明の目的は、ダウンロードした新しいバージョンのソフトウェアのデータが正常である場合には、直ちに新しいバージョンのソフトウェアを利用してシステムを起動し、ダウンロードした新しいバージョンのソフトウェアのデータに異常があった場合でも、古いバージョンのソフトウェアを利用してシステムを起動できるようにすることにある。
【課題を解決するための手段】
【００１６】
本発明にかかる第１の制御装置は、
電源投入時およびシステムリセット時にシステムを起動する起動ソフトウェアと、該起動ソフトウェアを指し示す起動ソフトウェア情報とが格納された不揮発性記憶装置と、
前記起動ソフトウェアをバージョンアップした更新ソフトウェアをダウンロードし、前記不揮発性記憶装置に格納するダウンロード手段と、
該ダウンロード手段によって前記更新ソフトウェアがダウンロードされた後の最初のシステムリセット時、前記不揮発性記憶装置に格納されている更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動し、前記更新ソフトウェアのデータが正常でない場合は、前記起動ソフトウェア情報が指し示す起動ソフトウェアによってシステムを起動するブート手段とを備えたことを特徴とする。
【００１７】
本発明にかかる第２の制御装置は、第１の制御装置において、
前記不揮発性記憶装置には、更新ソフトウェアによるシステムの起動を許可するか否かを示す更新ソフトウェア起動フラグが格納され、且つ、
前記ダウンロード手段が、前記更新ソフトウェアのダウンロード時、前記更新ソフトウェア起動フラグを起動許可を示すものに更新する構成を有し、
前記ブート手段が、電源投入時およびシステムリセット時、前記更新ソフトウェア起動フラグが起動許可を示し、且つ前記更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動した後、前記更新ソフトウェア起動フラグを起動禁止を示すものに変更し、更に前記更新ソフトウェアを起動ソフトウェアとして機能させるために前記起動ソフトウェア情報を前記更新ソフトウェアを指し示すものに変更し、前記更新ソフトウェア起動フラグが起動禁止を示している場合および前記更新ソフトウェアのデータが正常でない場合は、前記起動ソフトウェア情報が指し示す起動ソフトウェアによってシステムを起動する構成を有することを特徴とする。
【００１８】
本発明にかかる第３の制御装置は、
第１パーティションおよび第２パーティションを有し、前記第１パーティションには、電源投入時およびシステムリセット時にシステムを起動する起動ソフトウェアと、該起動ソフトウェアを指し示す起動ソフトウェア情報とが格納され、前記第２パーティションには、前記起動ソフトウェアによってシステムを起動できなかった場合にシステムを起動する予備起動ソフトウェアが格納された不揮発性記憶装置と、
前記起動ソフトウェアをバージョンアップした更新ソフトウェアをダウンロードし、前記第１パーティションに格納するダウンロード手段と、
該ダウンロード手段によって前記更新ソフトウェアがダウンロードされた後の最初のシステムリセット時、前記更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動し、前記更新ソフトウェアのデータが正常でなく、且つ前記起動ソフトウェア情報が指し示す起動ソフトウェアのデータが正常である場合は、前記起動ソフトウェアによってシステムを起動し、前記更新ソフトウェアおよび前記起動ソフトウェアのデータが正常でなく、且つ前記予備起動ソフトウェアのデータが正常である場合は、前記予備起動ソフトウェアによってシステムを起動するブート手段とを備えたことを特徴とする。
【００１９】
本発明にかかる第４の制御装置は、第３の制御装置において、
前記第１パーティションには、前記更新ソフトウェアによるシステム起動を許可するか否かを示す更新ソフトウェア起動フラグが格納され、
前記ダウンロード手段が、前記更新ソフトウェアのダウンロード時、前記更新ソフトウェア起動フラグを起動許可を示すものに更新する構成を有し、
前記ブート手段が、電源投入時およびシステムリセット時、前記更新ソフトウェア起動フラグが起動許可を示し且つ前記更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動した後、前記更新ソフトウェア起動フラグを起動禁止を示すものに変更し、更に前記更新ソフトウェアを起動ソフトウェアとして機能させるために前記起動ソフトウェア情報を前記更新ソフトウェアを指し示すものに変更し、前記更新ソフトウェア起動フラグが起動禁止を示している場合および前記更新ソフトウェアのデータが正常でない場合は、前記起動ソフトウェアのデータが正常であれば前記起動ソフトウェアでシステムを起動し、前記起動ソフトウェアのデータが正常でなければ前記予備起動ソフトウェアによってシステムを起動する構成を有することを特徴とする。
【００２０】
本発明にかかる第１のバージョンアップ方法は、
電源投入時およびシステムリセット時にシステムを起動する起動ソフトウェアと、該起動ソフトウェアを指し示す起動ソフトウェア情報とが格納された不揮発性記憶装置を備えた制御装置におけるバージョンアップ方法であって、
前記起動ソフトウェアをバージョンアップした更新ソフトウェアをダウンロードして前記不揮発性記憶装置に格納し、
次いでシステムリセットを実施し、
次いで更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動し、前記更新ソフトウェアのデータが正常でない場合は、前記起動ソフトウェア情報が指し示す起動ソフトウェアによってシステムを起動することを特徴とする。
【００２１】
本発明にかかる第２のバージョンアップ方法は、第１のバージョンアップ方法において、
前記不揮発性記憶装置には、更新ソフトウェアによるシステムの起動を許可するか否かを示す更新ソフトウェア起動フラグが格納され、且つ、
前記更新ソフトウェアのダウンロード時、前記更新ソフトウェア起動フラグを起動許可を示すものに更新し、
電源投入時およびシステムリセット時、前記更新ソフトウェア起動フラグが起動許可を示し、且つ前記更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動した後、前記更新ソフトウェア起動フラグを起動禁止を示すものに変更し、更に前記更新ソフトウェアを起動ソフトウェアとして機能させるために前記起動ソフトウェア情報を前記更新ソフトウェアを指し示すものに変更し、前記更新ソフトウェア起動フラグが起動禁止を示している場合および前記更新ソフトウェアのデータが正常でない場合は、前記起動ソフトウェア情報が指し示す起動ソフトウェアによってシステムを起動することを特徴とする。
【００２２】
本発明にかかる第３のバージョンアップ方法は、
第１パーティションおよび第２パーティションを有し、前記第１パーティションには、電源投入時およびシステムリセット時にシステムを起動する起動ソフトウェアと、該起動ソフトウェアを指し示す起動ソフトウェア情報とが格納され、前記第２パーティションには、前記起動ソフトウェアによってシステムを起動できなかった場合にシステムを起動する予備起動ソフトウェアが格納された不揮発性記憶装置を備えた制御装置におけるバージョンアップ方法であって、
前記起動ソフトウェアをバージョンアップした更新ソフトウェアをダウンロードして前記第１パーティションに格納し、
次いで、システムリセットを実施し、
次いで、前記更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動し、前記更新ソフトウェアのデータが正常でなく、且つ前記起動ソフトウェア情報が指し示す起動ソフトウェアのデータが正常である場合は、前記起動ソフトウェアによってシステムを起動し、前記更新ソフトウェアおよび前記起動ソフトウェアのデータが正常でなく、且つ前記予備起動ソフトウェアのデータが正常である場合は、前記予備起動ソフトウェアによってシステムを起動することを特徴とする。
【００２３】
本発明にかかる第４のバージョンアップ方法は、第３のバージョンアップ方法において、
前記第１パーティションには、前記更新ソフトウェアによるシステム起動を許可するか否かを示す更新ソフトウェア起動フラグが格納され、且つ、
前記更新ソフトウェアのダウンロード時、前記更新ソフトウェア起動フラグを起動許可を示すものに更新し、
電源投入時およびシステムリセット時、前記更新ソフトウェア起動フラグが起動許可を示し且つ前記更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動した後、前記更新ソフトウェア起動フラグを起動禁止を示すものに変更し、更に前記更新ソフトウェアを起動ソフトウェアとして機能させるために前記起動ソフトウェア情報を前記更新ソフトウェアを指し示すものに変更し、前記更新ソフトウェア起動フラグが起動禁止を示している場合および前記更新ソフトウェアのデータが正常でない場合は、前記起動ソフトウェアのデータが正常であれば前記起動ソフトウェアでシステムを起動し、前記起動ソフトウェアのデータが正常でなければ前記予備起動ソフトウェアによってシステムを起動することを特徴とするバージョンアップ方法。
【００２４】
本発明にかかる第１のプログラムは、
電源投入時およびシステムリセット時にシステムを起動する起動ソフトウェアと、該起動ソフトウェアを指し示す起動ソフトウェア情報とが格納された不揮発性記憶装置を有するコンピュータを、
前記起動ソフトウェアをバージョンアップした更新ソフトウェアをダウンロードし、前記不揮発性記憶装置に格納するダウンロード手段、
該ダウンロード手段によって前記更新ソフトウェアがダウンロードされた後の最初のシステムリセット時、前記不揮発性記憶装置に格納されている更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動し、前記更新ソフトウェアのデータが正常でない場合は、前記起動ソフトウェア情報が指し示す起動ソフトウェアによってシステムを起動するブート手段として機能させる。
【００２５】
本発明にかかる第２のプログラムは、第１のプログラムにおいて、
前記不揮発性記憶装置には、更新ソフトウェアによるシステムの起動を許可するか否かを示す更新ソフトウェア起動フラグが格納され、且つ、
前記ダウンロード手段が、前記更新ソフトウェアのダウンロード時、前記更新ソフトウェア起動フラグを起動許可を示すものに更新する構成を有し、
前記ブート手段が、電源投入時およびシステムリセット時、前記更新ソフトウェア起動フラグが起動許可を示し、且つ前記更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動した後、前記更新ソフトウェア起動フラグを起動禁止を示すものに変更し、更に前記更新ソフトウェアを起動ソフトウェアとして機能させるために前記起動ソフトウェア情報を前記更新ソフトウェアを指し示すものに変更し、前記更新ソフトウェア起動フラグが起動禁止を示している場合および前記更新ソフトウェアのデータが正常でない場合は、前記起動ソフトウェア情報が指し示す起動ソフトウェアによってシステムを起動する構成を有することを特徴とする。
【００２６】
本発明にかかる第３のプログラムは、
第１パーティションおよび第２パーティションを有し、前記第１パーティションには、電源投入時およびシステムリセット時にシステムを起動する起動ソフトウェアと、該起動ソフトウェアを指し示す起動ソフトウェア情報とが格納され、前記第２パーティションには、前記起動ソフトウェアによってシステムを起動できなかった場合にシステムを起動する予備起動ソフトウェアが格納された不揮発性記憶装置を備えたコンピュータを、
前記起動ソフトウェアをバージョンアップした更新ソフトウェアをダウンロードし、前記第１パーティションに格納するダウンロード手段、
該ダウンロード手段によって前記更新ソフトウェアがダウンロードされた後の最初のシステムリセット時、前記更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動し、前記更新ソフトウェアのデータが正常でなく、且つ前記起動ソフトウェア情報が指し示す起動ソフトウェアのデータが正常である場合は、前記起動ソフトウェアによってシステムを起動し、前記更新ソフトウェアおよび前記起動ソフトウェアのデータが正常でなく、且つ前記予備起動ソフトウェアのデータが正常である場合は、前記予備起動ソフトウェアによってシステムを起動するブート手段として機能させる。
【００２７】
本発明にかかる第４のプログラムは、第３のプログラムにおいて、
前記第１パーティションには、前記更新ソフトウェアによるシステム起動を許可するか否かを示す更新ソフトウェア起動フラグが格納され、且つ、
前記ダウンロード手段が、前記更新ソフトウェアのダウンロード時、前記更新ソフトウェア起動フラグを起動許可を示すものに更新する構成を有し、
前記ブート手段が、電源投入時およびシステムリセット時、前記更新ソフトウェア起動フラグが起動許可を示し且つ前記更新ソフトウェアのデータが正常である場合は、前記更新ソフトウェアによってシステムを起動した後、前記更新ソフトウェア起動フラグを起動禁止を示すものに変更し、更に前記更新ソフトウェアを起動ソフトウェアとして機能させるために前記起動ソフトウェア情報を前記更新ソフトウェアを指し示すものに変更し、前記更新ソフトウェア起動フラグが起動禁止を示している場合および前記更新ソフトウェアのデータが正常でない場合は、前記起動ソフトウェアのデータが正常であれば前記起動ソフトウェアでシステムを起動し、前記起動ソフトウェアのデータが正常でなければ前記予備起動ソフトウェアによってシステムを起動する構成を有することを特徴とする。
【００２８】
〔作用〕
不揮発性記憶装置には、電源投入時およびシステムリセット時にシステムを起動する起動ソフトウェアと、上記起動ソフトウェアを指し示す起動ソフトウェア情報とが格納されている。起動ソフトウェアをバージョンアップする場合、ダウンロード手段が、上記起動ソフトウェアをバージョンアップした更新ソフトウェアをダウンロードして不揮発性記憶装置に格納し、ブート手段が、ダウンロード後の最初のシステムリセット時に、不揮発性記憶装置に格納されている更新ソフトウェアのデータが正常である場合は、上記更新ソフトウェアによってシステムを起動し、データが正常でない場合は、上記起動ソフトウェア情報が指し示す起動ソフトウェアによってシステムを起動する。
【発明の効果】
【００２９】
本発明によれば、ダウンロードした更新ソフトウェア（新しいバージョンのソフトウェア）のデータが正常である場合には、直ちに更新ソフトウェアを利用してシステムを起動し、ダウンロードした更新ソフトウェアのデータに異常があった場合でも、直ちに起動ソフトウェア（古いバージョンのソフトウェア）を利用してシステムを起動することができる。その理由は、更新ソフトウェアがダウンロードされた後の最初のシステムリセット時、更新ソフトウェアのデータが正常である場合は、更新ソフトウェアによってシステムを起動し、正常でない場合は、起動ソフトウェアによってシステムを起動するブート手段を備えているからである。従って、本発明によれば、特許文献２に記載されている従来の技術のように、更新ソフトウェアのデータが正常でなかった場合、システムが起動するまでに時間がかかり、予定の時刻になっても制御装置を用いた業務を開始できないとか、制御装置を用いた業務が長時間停止してしまうといった不都合が発生することがなくなる。
【発明を実施するための最良の形態】
【００３０】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００３１】
〔実施の形態の構成の説明〕
図１は本発明の実施の形態の構成例を示すブロック図であり、ソフトウェアのバージョンアップを行う対象装置である制御装置１と、制御装置１を遠隔管理する管理装置２とから構成され、それらはＬＡＮ、インターネット等のネットワーク３を介して相互に接続されている。
【００３２】
制御装置１は、送受信手段１１と、ダウンロード手段１２と、ブート手段１３と、ディスク装置などの不揮発性記憶装置１４とを備えている。
【００３３】
不揮発性記憶装置１４には、ファイルシステム（例えば、ＦＡＴファイルシステム）のパーティションとして第１パーティション１５および第２パーティション１６が設けられている。ファイルシステムは、構造上、壊れやすいという性格を持つ。例えばＦＡＴファイルシステムは、ＦＡＴ領域、ディレクトリ領域およびデータ領域に分かれ、これらの各領域は他の領域と関係性を持つ。これらの領域からファイルの名前、ファイルのサイズ、ファイルのデータが解釈され、ファイルとして操作が可能になる。ファイルへデータを書き込むと、これら３つの領域に各々のデータが書き込まれることになる。もし、ファイルへデータの書込み中に電源障害等が発生した場合、これらの３つの領域の関連がなくなり、不正なデータと認識され、時にはファイルシステムそのものが壊れたと認識される。本実施の形態では、第１、第２パーティション１５、１６という２つのパーティションを設けることにより、上記したように壊れやすい性格を持つファイルシステムにおいても、バージョンアップ時にシステムが起動不能状態に陥らないようにしている。
【００３４】
図２を参照すると、第１パーティション１５には、更新ソフトウェア情報ファイル１５１と、起動ソフトウェア情報ファイル１５２と、更新ソフトウェアファイル１５３と、起動ソフトウェアファイル１５４とが格納される。また、第２パーティション１６には、予備更新ソフトウェア情報ファイル１６１と、予備起動ソフトウェア情報ファイル１６２と、予備更新ソフトウェアファイル１６３と、予備起動ソフトウェアファイル１６４とが格納される。
【００３５】
図３を参照すると、第１パーティション１５の各ファイル１５１、１５２、１５３、１５４にはそれぞれ更新ソフトウェア情報１５１Ｊ、起動ソフトウェア情報１５２Ｊ、更新ソフトウェア１５３Ｓ、起動ソフトウェア１５４Ｓが格納されている。更新ソフトウェアファイル１５３に格納されている更新ソフトウェア１５３Ｓは、起動ソフトウェアファイル１５４に格納されている起動ソフトウェア１５４Ｓをバージョンアップしたものである。また、第２パーティション１６の各ファイル１６１、１６２、１６３、１６４には、それぞれ予備更新ソフトウェア情報１６１Ｊ、予備起動ソフトウェア情報１６２Ｊ、予備更新ソフトウェア１６３Ｓ、予備起動ソフトウェア１６４Ｓが格納されている。
【００３６】
更新ソフトウェア情報１５１Ｊは、管理装置２からダウンロードした最新の更新ソフトウェアファイル１５３に関する情報を含んでいる。図４を参照すると、更新ソフトウェア情報１５１Ｊには、更新ソフトウェアファイル１５３のファイル名４０１と、電源投入時やリセット時に更新ソフトウェアファイル１５３に格納されている更新ソフトウェア１５３Ｓを利用してシステムを起動するか否かを示す更新ソフトウェア起動フラグ４０２（本実施の形態では、ＯＮの場合は起動、ＯＦＦの場合は非起動とする。また、初期状態においてはＯＦＦになっているとする）とが含まれている。更新ソフトウェアファイル１５３のファイル名４０１は、ダウンロード手段１２が管理装置２から更新ソフトウェアファイル１５３をダウンロードしたときに設定される。また、更新ソフトウェア起動フラグ４０２は、ダウンロード手段１２が更新ソフトウェアファイル１５３を管理装置２からダウンロードしたときにＯＮにされ、ブート手段１３が更新ソフトウェア１５３Ｓを使用してシステムを起動したときにＯＦＦにされる。
【００３７】
起動ソフトウェア情報１５２Ｊは、現時点において、電源投入時およびシステムリセット時にシステムを起動する起動ソフトウェア１５４Ｓを格納している起動ソフトウェアファイル１５４に関する情報を含んでいる。図５を参照すると、起動ソフトウェア情報１５２Ｊは、起動ソフトウェアファイル１５４のファイル名５０１を含んでいる。このファイル名５０１は、ブート手段１３が更新ソフトウェア１５３Ｓを用いてシステムを起動すると、更新ソフトウェアファイル１５３のファイル名に変更される。即ち、更新ソフトウェア１５３Ｓによってシステムが起動された後は、更新ソフトウェアファイル１５３および更新ソフトウェア１５３Ｓが、それぞれ新たな起動ソフトウェアファイルおよび起動ソフトウェアとして取り扱われることになり、起動ソフトウェアファイル１５４および起動ソフトウェア１５４Ｓは、利用されないファイル，ソフトウェアとなる。
【００３８】
予備更新ソフトウェア情報１６１Ｊは、予備更新ソフトウェア１６３Ｓを格納している予備更新ソフトウェアファイル１６３に関する情報を含んでいる。図６を参照すると、予備更新ソフトウェア情報１６１Ｊは、予備更新ソフトウェア１６３Ｓが格納されている予備更新ソフトウェアファイル１６３のファイル名６０１と、更新ソフトウェア起動フラグ６０２とを含んでいる。なお、本実施の形態では、更新ソフトウェア起動フラグ６０２の初期値はＯＦＦになっている。
【００３９】
予備起動ソフトウェア情報１６２Ｊは、予備起動ソフトウェア１６４Ｓを格納している予備起動ソフトウェアファイル１６４に関する情報を含んでいる。図７を参照すると、予備起動ソフトウェア情報１６２Ｊは、予備起動ソフトウェアファイル１６４のファイル名７０１を含んでいる。
【００４０】
予備起動ソフトウェア１６４Ｓは、第１パーティション１５上に存在する起動ソフトウェア１５４Ｓによってシステムを起動できなかった場合、起動ソフトウェア１５４Ｓ代わりにシステムを起動するソフトウェアである。なお、初期状態（工場出荷時）において、不揮発性記憶装置１４上に配置されている各ファイル１５３、１５４、１６３、１６４には、全く同一のソフトウェアが格納されている。
【００４１】
送受信手段１１は、ネットワーク３を介してデータをやり取りする機能を有する。
【００４２】
ダウンロード手段１２は、ダウンロードプログラムによって実現されるものであり、管理装置２から最新バージョンの更新ソフトウェア１５３Ｓを含んだ更新ソフトウェアファイル１５３をダウンロードし、第１パーティション１５に配置する機能や、更新ソフトウェアファイル１５３のダウンロード時に、更新ソフトウェア情報１５１Ｊ中のファイル名４０１にダウンロードした更新ソフトウェアファイル１５３のファイル名を設定すると共に更新ソフトウェア起動フラグ４０２をＯＮにする機能を有する。
【００４３】
ブート手段１３は、ブートプログラムによって実現されるものであり、電源投入時およびシステムリセット時に、不揮発性記憶装置１４に格納されているソフトウェアを利用してシステムを起動する機能を有する。なお、ブート手段１３は、システムを起動する際に、以下の優先順位（ａ）〜（ｄ）で使用するソフトウェアを決定する。
【００４４】
（ａ）更新ソフトウェア情報１５１Ｊ中の更新ソフトウェア起動フラグ４０２がＯＮで、且つ、ファイル名４０１によって指し示される更新ソフトウェアファイル１５３中の更新ソフトウェア１５３Ｓのデータが正常であれば、更新ソフトウェア１５３Ｓによりシステムを起動する。なお、更新ソフトウェア１５３Ｓによってシステムを起動した場合には、更新ソフトウェア起動フラグ４０２をＯＦＦにする。
（ｂ）更新ソフトウェア１５３Ｓでシステムを起動できなかった場合は、起動ソフトウェア情報１５２Ｊ中のファイル名５０１によって指し示される起動ソフトウェアファイル１５４中の起動ソフトウェア１５４Ｓのデータが正常であれば、起動ソフトウェア１５４Ｓによりシステムを起動する。
（ｃ）起動ソフトウェア１５４Ｓでシステムを起動できなかった場合は、予備更新ソフトウェア情報１６１Ｊ中の更新ソフトウェア起動フラグ６０２がＯＮで、且つ、ファイル名６０１によって指し示される予備更新ソフトウェアファイル１６３中の予備更新ソフトウェア１６３Ｓのデータが正常であれば、予備更新ソフトウェア１６３Ｓによりシステムを起動する。なお、予備更新ソフトウェア１６３Ｓによってシステムを起動した場合には、更新ソフトウェア起動フラグ６０２をＯＦＦにする。
（ｄ）予備更新ソフトウェア１６３Ｓでシステムを起動できなかった場合は、予備起動ソフトウェア情報１６２Ｊ中のファイル名７０１によって指し示される予備起動ソフトウェアファイル１６４中の予備起動ソフトウェア１６４Ｓのデータが正常であれば、予備起動ソフトウェア１６４Ｓによりシステムを起動する。
【００４５】
上述した機能を有する制御装置１は、コンピュータによって実現可能なものであり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータを制御装置１として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に送受信手段１１、ダウンロード手段１２およびブート手段１３を実現する。
【００４６】
〔実施の形態の動作の説明〕
次に、本実施の形態の動作について詳細に説明する。
【００４７】
今、更新ソフトウェア情報１５１Ｊ中の更新ソフトウェア起動フラグ４０２および予備更新ソフトウェア情報１６１Ｊ中の更新ソフトウェア起動フラグ６０２が共にＯＦＦであり、起動ソフトウェア情報１５２Ｊおよび予備起動ソフトウェア情報１６２Ｊにファイル名５０１、７０１としてそれぞれ起動ソフトウェアファイル１５４、予備起動ソフトウェアファイル１６４のファイル名が設定されているとする。即ち、現時点においては、電源投入時およびシステムリセット時、起動ソフトウェア１５４Ｓによりシステムを起動している。
【００４８】
この状態において、起動ソフトウェア１５４Ｓのバージョンアップを行う場合、先ず、図８のフローチャートに示すように、制御装置１内のダウンロード手段１２が、管理装置２から最新バージョンのソフトウェア（更新ソフトウェア１５３Ｓ）が格納された更新ソフトウェアファイル１５３をダウンロードし、不揮発性記憶装置１４の第１パーティションに配置する（手順８０１）。更新ソフトウェアファイル１５３のダウンロードが完了すると、ダウンロード手段１２は、更新ソフトウェア情報１５１Ｊ中のファイル名４０１に今回ダウンロードした更新ソフトウェアファイル１５３のファイル名を設定すると共に、更新ソフトウェア起動フラグ４０２にＯＮを設定する（手順８０２）。その後、ソフトウェアの更新を実行する為に、システムをリセットする（手順８０３）。
【００４９】
システムリセット後、制御装置１のブート手段１３が起動し、不揮発性記憶装置１４上の更新ソフトウェア１５３Ｓ、起動ソフトウェア１５４Ｓ、予備更新ソフトウェア１６３Ｓおよび予備起動ソフトウェア１６４Ｓの中から、前述した優先順位（ａ）〜（ｄ）に従ってシステムを起動するソフトウェアを選択し、システムを起動する（手順８０４）。
【００５０】
図９は、図８の手順８０４で行われるシステム起動処理の処理例を示すフローチャートである。図９を参照すると、ブート手段１３は、先ず、システムを起動するパーティションとして第１パーティション１５を指定し（手順９０１）、その後、指定された第１パーティション１５上のソフトウェアの中にシステムを起動することが可能なソフトウェアが存在するか否かを調べる（手順９０２）。
【００５１】
図１０は、図９の手順９０２で行われるシステム起動ソフトウェア判定処理の処理例を示すフローチャートである。図１０を参照すると、ブート手段１３は、先ず、現時点における指定パーティション（第１パーティション１５）のファイルアクセスが可能か否かを確認し（手順１００１）、ファイルアクセスが可能であれば（手順１００１がＹ）、第１パーティション上の更新ソフトウェア情報ファイル１５１より、今回ダウンロードした更新ソフトウェアファイル１５３のファイル名４０１と更新ソフトウェア起動フラグ４０２とを読み出す（手順１００２）。
【００５２】
現時点では、更新ソフトウェア起動フラグ４０２はＯＮとなっているので（手順１００３がＹ）、ブート手段１３は、ファイル名４０１によって特定される更新ソフトウェアファイル１５３に格納されている更新ソフトウェア１５３Ｓのデータが正常であるか否かを確認する（ステップＳ１００４）。この確認は、例えば、チェックサムなどを利用して行う。
【００５３】
そして、更新ソフトウェア１５３Ｓのデータが正常である場合（手順１００４がＹ）は、更新ソフトウェア起動フラグ４０２をＯＦＦにした後、システムを起動するソフトウェアとして更新ソフトウェア１５３Ｓを選択する（手順１００５、１００６）。
【００５４】
これに対して、更新ソフトウェア１５３Ｓのデータが正常でなかった場合（手順１００４がＮ）や、更新ソフトウェア起動フラグ４０２がＯＦＦであった場合（手順１００３がＮ）は、起動ソフトウェア情報ファイル１５２から起動ソフトウェアファイル１５４のファイル名５０１を読み出し（手順１００７）、このファイル名５０１によって特定される起動ソフトウェアファイル１５４に格納されている起動ソフトウェア１５４Ｓのデータが正常であるか否かを調べる（手順１００８）。
【００５５】
そして、起動ソフトウェア１５４Ｓのデータが正常である場合（手順１００８がＹ）は、システムを起動するソフトウェアとして起動ソフトウェア１５４Ｓを選択する（手順１００９）。これに対して、起動ソフトウェア１５４Ｓのデータが正常でない場合（手順１００８がＮ）および第１パーティション１５におけるファイルアクセスが不可能な場合（手順１００１がＮ）は、指定パーティションである第１パーティション１５にはシステムを起動可能なソフトウェアが存在しないことになるので、システム起動ソフトウェアを未決定とする（手順１０１０）。
【００５６】
再び、図９に戻り、図１０の手順１００６や手順１００９で、更新ソフトウェア１５３Ｓや起動ソフトウェア１５４Ｓがシステム起動ソフトウェアとして選択された場合（手順９０３がＹ）は、選択されたソフトウェアによりシステムを起動する（手順９０７）。これに対して、図１０の手順１０１０において、システム起動ソフトウェア未決定とされた場合（手順９０３がＮ）は、次のパーティションが存在するか否かを調べる（手順９０４）。この例の場合、第２パーティション１６が存在するので（手順９０４がＹ）、ブート手段１３は、第２パーティション１６を指定パーティションとし（手順９０５）、再び、手順９０２の処理を行う。そして、全てのパーティションで、システム起動ソフトウェアが見つからなかった場合（手順９０４がＮ）には、システム起動失敗を示すエラー処理を行う（手順９０６）。
【００５７】
再び、図８に戻り、手順８０４で選択したソフトウェアが第１パーティション１５に配置されているソフトウェアである場合には、起動ソフトウェア情報１５２Ｊ中のファイル名５０１に上記選択したソフトウェアを格納しているファイルのファイル名を設定し、手順８０４で選択したソフトウェアが第２パーティション１６に配置されているソフトウェアである場合は、予備起動ソフトウェア情報１６２Ｊ中のファイル名７０１に上記選択したソフトウェアを格納しているファイルのファイル名を設定する（手順８０５）。今、例えば、手順８０４において、今回ダウンロードした更新ソフトウェアファイル１５３に格納されている更新ソフトウェア１５３Ｓによってシステムを起動したとすると、起動ソフトウェア情報１５２Ｊのファイル名５０１には、更新ソフトウェアファイル１５３のファイル名が設定されることになるので、この後、電源投入やシステムリセットが行われた場合は、更新ソフトウェア１５３Ｓが起動ソフトウェアとして取り扱われることになる。
【００５８】
なお、上述した説明では、図８の手順８０１において、管理装置２からダウンロードした更新ソフトウェアファイル１５３を第１パーティションにのみ配置し、手順８０２において、更新ソフトウェア情報１５１Ｊのファイル名４０１、更新ソフトウェア起動フラグ４０２にそれぞれ更新ソフトウェアファイル１５３のファイル名およびＯＮを設定するようにしたが、手順８０１において、第１および第２パーティション１５、１６に更新ソフトウェアファイル１５３を配置し、手順８０２において、更新ソフトウェア情報１５１Ｊだけでなく、予備更新ソフトウェア情報１６１Ｊのファイル名６０１、更新ソフトウェア起動フラグ６０２にそれぞれ更新ソフトウェアファイル１５３のファイル名およびＯＮを設定するようにしても良い。また、ブート手段１３は、電源投入時においても、図９および図１０のフローチャートに示す処理を実行する。
【００５９】
〔実施の形態の効果〕
本実施の形態によれば、ダウンロードした更新ソフトウェア１５３Ｓ（新しいバージョンのソフトウェア）のデータが正常である場合には、直ちに更新ソフトウェア１５３Ｓを利用してシステムを起動し、ダウンロードした更新ソフトウェア１５３Ｓのデータに異常があった場合でも、直ちに起動ソフトウェア１５４Ｓ（古いバージョンのソフトウェア）を利用してシステムを起動することができる。その理由は、更新ソフトウェア１５３Ｓがダウンロードされた後の最初のシステムリセット時、更新ソフトウェア１５３Ｓのデータが正常である場合は、更新ソフトウェア１５３Ｓによってシステムを起動し、正常でない場合は、起動ソフトウェア１５４Ｓによってシステムを起動するブート手段１３を備えているからである。従って、本実施の形態によれば、特許文献２に記載されている従来の技術のように、更新ソフトウェアのデータが正常でなかった場合、システムが起動するまでに時間がかかり、予定の時刻になっても制御装置を用いた業務を開始できないとか、制御装置を用いた業務が長時間停止してしまうといった不都合が発生することがなくなる。
【００６０】
更に、本実施の形態は、更新ソフトウェア１５３Ｓおよび起動ソフトウェア１５４Ｓが格納された第１パーティション１５と、予備更新ソフトウェア１６３Ｓおよび予備起動ソフトウェア１６４Ｓが格納された第２パーティション１６とを有し、第１パーティション１５に格納されているソフトウェア１５３Ｓ、１５４Ｓでシステムを起動できなかった場合であっても、第２パーティション１６に配置されているソフトウェア１６３Ｓ、１６４Ｓを用いてシステムを起動することができるので、システムが起動不能となる確率を極めて少なくすることができる。
【産業上の利用可能性】
【００６１】
本発明によれば、ファイルシステムが実装される不揮発性記憶装置とソフトウェアの更新機能を持つあらゆる装置に適用できる。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施の形態の構成例を示すブロック図である。
【図２】不揮発性記憶装置１４の構成例を示す図である。
【図３】不揮発性記憶装置１４に格納されている各ファイルの内容例を示す図である。
【図４】更新ソフトウェア情報１５１Ｊの内容例を示す図である。
【図５】起動ソフトウェア情報１５２Ｊの内容例を示す図である。
【図６】予備更新ソフトウェア情報１６１Ｊの内容例を示す図である。
【図７】予備起動ソフトウェア情報１６２Ｊの内容例を示す図である。
【図８】ソフトウェアをバージョンアップする際の制御装置１の処理例を示すフローチャートである。
【図９】図８の手順８０４の詳細な処理例を示すフローチャートである。
【図１０】図９の手順９０２の詳細な処理例を示すフローチャートである。
【符号の説明】
【００６３】
１…制御装置
１１…送受信手段
１２…ダウンロード手段
１３…ブート手段
１４…不揮発性記憶装置
１５…第１パーティション
１５１…更新ソフトウェア情報ファイル
１５２…起動ソフトウェア情報ファイル
１５３…更新ソフトウェアファイル
１５４…起動ソフトウェアファイル
１６…第２パーティション
１６１…予備更新ソフトウェア情報ファイル
１６２…予備起動ソフトウェア情報ファイル
１６３…予備更新ソフトウェアファイル
１６４…予備起動ソフトウェアファイル
２…管理装置
３…ネットワーク
【図１】
0004810172.tif 000002
【図２】
0004810172.tif 000003
【図３】
0004810172.tif 000004
【図４】
0004810172.tif 000005
【図５】
0004810172.tif 000006
【図６】
0004810172.tif 000007
【図７】
0004810172.tif 000008
【図８】
0004810172.tif 000009
【図９】
0004810172.tif 000010
【図１０】
0004810172.tif 000011