(57)【要約】【課題】バックアップメモリを必要とせず、更新用の制御情報を転送中に通信トラブルがあってもシステムメモリ内の制御情報を破壊することのないプログラマブル表示器を得ること。【解決手段】更新プログラムは、揮発性記憶部に新規制御情報を格納する格納領域を確保し、通信部が受信する新規制御情報を逐次格納領域に格納させ、新規制御情報を全て受信し終えた後、格納されている新規制御情報で不揮発性記憶部に記憶されている制御情報を更新する。【選択図】        図１
2009252077.tif 000002
【特許請求の範囲】
【請求項１】
所定の機能を実行するための制御情報と該制御情報を更新する更新プログラムとを記憶する不揮発性記憶部と、
揮発性記憶部と、
前記制御情報を更新するための新規制御情報を外部から受信する通信部と、
を備え、
前記更新プログラムは、前記揮発性記憶部に新規制御情報を格納する格納領域を確保し、前記通信部が受信する新規制御情報を逐次前記格納領域に格納させ、前記新規制御情報を全て受信し終えた後、前記格納されている新規制御情報で前記不揮発性記憶部に記憶されている前記制御情報を更新する、
ことを特徴とするプログラマブル表示器。
【請求項２】
前記更新プログラムは、前記揮発性記憶部にロードされている前記制御情報を削除することより前記揮発性記録部に前記格納領域を確保する、
ことを特徴とする請求項１に記載のプログラマブル表示器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性のシステムメモリに格納されている制御プログラムおよび制御データを更新することができるプログラマブル表示器に関するものである。
【背景技術】
【０００２】
従来、プログラマブル表示器の不揮発性のシステムメモリ中の制御プログラムおよび制御データ（以降、制御プログラムおよび制御データを制御情報という）をパソコンなど外部のコンピュータから新規の制御情報を転送して更新するとき、転送されてくる新規の制御情報を直接システムメモリの制御情報に上書きする方法があった。
【０００３】
この方法において、転送中にパソコンがフリーズしたり、パソコンと表示器を接続しているケーブルが抜けたりして通信異常が発生すると、更新中の制御情報が途中で途切れた不完全なものになり、プログラマブル表示器が起動しなくなるような故障が発生することがあった。
【０００４】
これに対して、例えば特許文献１に、転送されてくる新規の制御情報を格納するためのバックアップ用メモリを具備し、バックアップ用メモリに格納された新規の制御情報をもって更新対象の制御情報を更新する技術が開示されている。
【０００５】
また、特許文献２に、専用のバックアップ用メモリ領域を用意し、更新前にシステムメモリ内の制御情報をバックアップ用メモリ領域にバックアップし、転送中のトラブルにより制御情報が壊れてしまった場合、この故障を検出し、バックアップしておいた制御情報でシステムメモリ内の破損した制御情報を修復する技術が開示されている。
【０００６】
【特許文献１】特開２００３−１２２５９０号公報
【特許文献２】特開平６−７８０８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１および２の技術は、バックアップ専用のメモリあるいはメモリ領域が必要になり、製品コストが上がってしまうという問題があった。
【０００８】
また、上記特許文献２の技術は、システムメモリ内のプログラムやデータが壊れてしまった後で元に戻す技術であり、事前にシステムメモリ内の制御情報が壊れることを防止することは出来ないという問題があった。システムメモリ内の制御情報が壊れてしまうと、修復に時間がかかってしまい、その間システムが稼動できない事態に陥る。
【０００９】
本発明は、上記に鑑みてなされたものであって、バックアップメモリを必要とせず、更新用の制御情報を転送中に通信トラブルがあってもシステムメモリ内の制御情報を破壊することのないプログラマブル表示器を得ることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、所定の機能を実行するための制御情報と該制御情報を更新する更新プログラムとを記憶する不揮発性記憶部と、揮発性記憶部と、前記制御情報を更新するための新規制御情報を外部から受信する通信部と、を備え、前記更新プログラムは、前記揮発性記憶部に新規制御情報を格納する格納領域を確保し、前記通信部が受信する新規制御情報を逐次前記格納領域に格納させ、前記新規制御情報を全て受信し終えた後、前記格納されている新規制御情報で前記不揮発性記憶部に記憶されている前記制御情報を更新する、ことを特徴とする。
【発明の効果】
【００１１】
この発明によれば、制御情報を転送中に通信が途絶えても、再起動すると更新前の制御情報が読み込まれるので、バックアップメモリを必要とせず、更新用の制御情報を受信中に通信トラブルがあってもシステムメモリ内の制御情報を破壊することのないプログラマブル表示器を得ることができる。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明にかかるプログラマブル表示器の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態．
図１は、本発明にかかるプログラマブル表示器の実施の形態の構成を示す図である。
【００１４】
プログラマブル表示器１００は、ＣＰＵ（中央処理装置）１、ブートローダ保持メモリ２、システムメモリ３、およびメインメモリ４を具備する制御部１０と、コンピュータ接続Ｉ／Ｆ（インターフェース）１１と、外部制御装置接続Ｉ／Ｆ１２と、表示部１３、入力部１４とを有する。
【００１５】
制御部１０は、コンピュータ接続Ｉ／Ｆ１１、外部制御装置接続Ｉ／Ｆ１２、表示部１３、および入力部１４を制御することにより、プログラマブル表示器１００の動作全般を実現する。一般的なプログラマブル表示器の主要な動作としては、例えば接続されている外部制御装置の動作状況を表示する動作がある。外部制御装置とは、例えば、プログラマブル・ロジック・コントローラ、インバータ、サーボアンプ、温調機器などがある。本実施の形態のプログラマブル表示器１００においては、外部制御装置接続Ｉ／Ｆ１２に接続されている外部制御装置の動作状況を表示部１３に表示する。
【００１６】
制御部１０が有するシステムメモリ３は、前記表示動作を含む各種機能を実行するための制御プログラムおよび該制御プログラムが使用する制御データを格納するための記憶装置であり、具体的にはフラッシュメモリやハードディスクなど不揮発性の記憶装置が用いられる。一般的に、このような不揮発性の記憶装置の読み書き処理は後述するメインメモリ４に使用される揮発性の記憶装置に比べて低速である。システムメモリ３は、さらに、これらの制御プログラムおよび制御データを更新する際に実行される更新プログラムを格納している。
【００１７】
図２は、システムメモリ３の内容を示す図である。システムメモリ３に格納される制御プログラムおよび制御データの数は１つだけとは限らずいくつ有していてもよい。ここでは、制御プログラムとして、第一の制御プログラム３１、第二の制御プログラム３２、および第三の制御プログラム３３を格納し、制御データとして、第一の制御データ３４および第二の制御データ３５を格納している。そして、これらの制御プログラム３１〜３３、および制御データ３４、３５を更新する動作を実現する更新プログラム３０を格納している。
【００１８】
図１に戻り、メインメモリ４は、更新プログラム３０、および第一〜第三の制御プログラム３１〜３３がＣＰＵ１により実行されるために展開される、読み書き処理を高速に行うことができる揮発性の記憶装置である。一般的には、ＤＲＡＭ、ＳＤＲＡＭなどが使用される。メインメモリ４は揮発性であるので、再起動時や電源が遮断されるとそれまでに記憶していた内容が失われる。
【００１９】
ブートローダ保持メモリ２は、プログラマブル表示器１００の起動時に第一〜第三の制御プログラム３１〜３３のうち該当する制御プログラムを起動するプログラムであるブートローダを格納している不揮発性の記憶装置である。一般的には、ＲＯＭやフラッシュメモリなどが使われる。
【００２０】
ＣＰＵ１は、プログラマブル表示器１００の起動時にブートローダ保持メモリ２に格納されるブートローダを読み込んで実行することにより第一〜第三の制御プログラム３１〜３３のうち該当する制御プログラムをプログラマブル表示器１００の起動時に実行する。また、後述する入力部１４から入力される命令により、第一〜第三の制御プログラム３１〜３３のうち命令に対応する制御プログラムを読み込んでメインメモリ４にロードして実行する。また、更新プログラム３０を実行する命令を受け付けたとき、更新プログラム３０をメインメモリ４にロードして実行することにより制御情報を更新する動作を実現する。
【００２１】
コンピュータ接続Ｉ／Ｆ１１は、制御情報を更新する際に新規の制御情報をプログラマブル表示器１００に転送するコンピュータとの通信インターフェースであり、第一〜第三の制御プログラム３１〜３３および第一、第二の制御データ３４、３５のうち、更新が必要な部分を上書きするための新規の制御プログラムまたは制御データをコンピュータから受信する。コンピュータ接続Ｉ／Ｆ１１の通信方式は、コンピュータとデータ通信を行うための方式であれば特に限定するものではなく、例えば、ＲＳ（Recommended  Standard）、ＵＳＢ（Universal  Serial  Bus）、Ｅｔｈｅｒｎｅｔ（登録商標）などであってよい。また、無線方式であってもよい。本実施の形態では、コンピュータ接続Ｉ／Ｆ１１にパーソナルコンピュータ（以下、パソコンという）を接続して新規の制御情報を転送する。
【００２２】
外部制御装置接続Ｉ／Ｆ１２は、外部制御装置との通信インターフェースであり、外部制御装置から動作状況を受信する。表示部１３は前記する受信した動作状況を表示する表示装置である。制御部１０は、外部制御装置から受信した動作状況を表示部１３に表示するようにデータ処理を行い、該処理を行った動作状況を表示部１３に表示させる。
【００２３】
入力部１４は、操作者がプログラマブル表示器１００の操作を行うための入力装置である。入力部１４は、例えばタッチパネルやハードスイッチなどである。入力部１４からの入力は、制御部１０に伝達され、制御部１０にて処理されることによって、該入力が動作に反映される。また、入力部１４からの入力により、操作者はプログラマブル表示器１００の再起動を行う。
【００２４】
次に、このように構成される本実施の形態のプログラマブル表示器１００が、コンピュータから送信されてくる更新内容情報でシステムメモリ３に格納される制御情報を更新する動作を説明する。
【００２５】
図３は、本実施の形態のプログラマブル表示器が制御情報を更新する動作を説明するフローチャートである。図４−１〜図４−４は、図３に示すフローチャートの各ステップにおけるシステムメモリ３およびメインメモリ４の状態を説明する図である。以下に、図３および図４−１〜図４−４を使用して、プログラマブル表示器１００が制御情報を更新する動作を説明する。なお、以下の説明においては、第一の制御プログラム３１および第三の制御プログラム３３が実行中のとき、新規の第一の制御プログラム３０１および新規の第二の制御プログラム３０２で夫々第一の制御プログラム３１および第二の制御プログラム３２を更新するとして説明する。
【００２６】
制御情報を更新する動作は、コンピュータ接続Ｉ／Ｆ１１に接続されているパソコンから更新プログラム３０を起動する命令が送信されてくることによって開始される。図４−１（１）は、更新プログラム３０を起動する命令を受信し、制御部１０においてＣＰＵ１が更新プログラム３０を起動した状態を示している。メインメモリ４内には、実行中の更新プログラム４０、第一の制御プログラム４１、および第三の制御プログラム４２がロードされている。
【００２７】
この状態で、実行中の更新プログラム４０は、実行中の第一の制御プログラム４１および第三の制御プログラム４２を終了させ（図３、ステップＳ１）、図４−１（２）の状態に移行する。図４−１（２）では、第一の制御プログラム４１および第三の制御プログラム４２が終了させられることによってメインメモリ４から削除された状態となっている。
【００２８】
続いて、更新プログラム４０は、メインメモリ４に、パソコンから転送されてくる新規の第一の制御プログラム４０１および新規の第二の制御プログラム４０２を格納するための格納領域であるワークエリアを確保する（図３、ステップＳ２）。図４−２（３）は、メインメモリ４にワークエリア４００が確保されている様子を示している。
【００２９】
続いて、パソコンは新規の第一の制御プログラム４０１の転送を開始し、更新プログラム４０は、転送されてくる新規の第一の制御プログラム４０１をワークエリア４００に格納する（図３、ステップＳ３）。図４−２（４）は、転送されてきた新規の第一の制御プログラム４０１をワークエリア４００に格納した様子を示している。
【００３０】
続いて、パソコンは新規の第二の制御プログラム４０２の送信を開始し、更新プログラム４０は、転送されてくる新規の第二の制御プログラム４０２をワークエリア４００に格納する（図３、ステップＳ４）。図４−３（５）は、転送されてきた新規の第二の制御プログラム４０２をワークエリア４００に格納した様子を示している。
【００３１】
新規の第一の制御プログラム４０１および新規の第二の制御プログラム４０２の受信が完了し、完全な新規の第一の制御プログラム４０１および新規の第二の制御プログラム４０２をワークエリア４００に格納した後、更新プログラム４０は、新規の第一の制御プログラム４０１および新規の第二の制御プログラム４０２でもって夫々システムメモリ３に記憶する第一の制御プログラム３１および第二の制御プログラム３２を更新する（図３、ステップＳ５）。図４−３（６）は、第一の制御プログラム３１および第二の制御プログラム３２を更新している様子を示している。
【００３２】
そして、更新プログラム４０は操作者にプログラマブル表示器１００の再起動を促し、操作者は入力部１４を操作してプログラマブル表示器１００を再起動する（図３、ステップＳ６）。これにより、揮発性メモリであるメインメモリ４にロードされていた更新プログラム４０およびワークエリア４００は消去され、図４−４（７）に示すように、第一の制御プログラム３１および第二の制御プログラム３２が更新されて、夫々新規の第一の制御プログラム３０１および新規の第二の制御プログラム３０２としてシステムメモリ３に格納された状態となる。この後、ＣＰＵ１はブートローダ保持メモリ２に保持されるブートローダを実行してシステムメモリ３から該当する制御プログラムを起動するが、例えば第一の制御プログラム３１を起動する設定になっていた場合、第一の制御プログラム３１の代わりに新規の第一の制御プログラム３０１が格納されているので、代わりに新規の第一の制御プログラム３０１が起動される。
【００３３】
以上のように動作するプログラマブル表示器１００において、制御情報を転送中になんらかの通信トラブルによりパソコンからの新規の制御情報の受信が途絶えたときの動作を説明する。
【００３４】
図３のステップＳ４の処理において、新規の第二の制御プログラム４０２を転送している最中に受信が途絶えたとする。このとき、図５（１）に示すように、ワークエリア４００には、受信の途中に通信が途絶えているので、新規の第二の制御プログラム４０２に関しては、受信が完了していない新規の第二の制御プログラム４０３が格納された状態となっている。更新プログラム４０は、全ての新規の制御情報の転送を終了した後システムメモリ３内の制御プログラムを更新するので、受信が完了していない新規の第二の制御プログラム４０３でもって第二の制御プログラム３２が更新されることはない。
【００３５】
この状態で操作者がプログラマブル表示器１００を再起動すると、メインメモリ４内の更新プログラム４０およびワークエリア４００は消去され、図５（２）に示す状態となる。この後、ＣＰＵ１はブートローダ保持メモリ２に保持されるブートローダを実行してシステムメモリ３から該当する制御プログラムを起動するが、更新前の状態ながら不完全な制御プログラムで更新されていないので、受信が途中で途絶えることによってプログラマブル表示器１００が起動できない状態に陥ることがない。
【００３６】
以上のように、本発明の実施の形態によれば、制御情報を転送中に通信が途絶えても、再起動すると更新前の制御情報が読み込まれるので、バックアップメモリを必要とせず、更新用の制御情報を受信中に通信トラブルがあってもシステムメモリ内の制御情報を破壊することのないプログラマブル表示器を得ることができる。また、システムメモリ内の制御情報が破壊されることがないので、故障検出手段や修復手段を具備する必要がない。さらに、転送されてくる新規の制御情報を速度が速いメインメモリ内に確保したワークエリアに格納するようにしたので、システムメモリに格納するよりも早い速度で新規の制御情報の転送を完了することができる。
【産業上の利用可能性】
【００３７】
以上のように、本発明にかかるプログラマブル表示器は、不揮発性のシステムメモリに格納されている制御プログラムおよび制御データを更新することができるプログラマブル表示器に適用して好適である。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施の形態のプログラマブル表示器の構成を示す図である。
【図２】システムメモリの内容を示す図である。
【図３】本発明の実施の形態のプログラマブルが制御情報を更新する動作を説明するフローチャートである。
【図４−１】システムメモリおよびメインメモリの状態を説明する図である。
【図４−２】システムメモリおよびメインメモリの状態を説明する図である。
【図４−３】システムメモリおよびメインメモリの状態を説明する図である。
【図４−４】システムメモリおよびメインメモリの状態を説明する図である。
【図５】新規の第二の制御プログラムを転送している最中に受信が途絶えたときのシステムメモリおよびメインメモリの状態を説明する図である。
【符号の説明】
【００３９】
１  ＣＰＵ
２  ブートローダ保持メモリ
３  システムメモリ
４  メインメモリ
１０  制御部
１１  コンピュータ接続Ｉ／Ｆ
１２  外部制御装置接続Ｉ／Ｆ
１３  表示部
１４  入力部
３０  更新プログラム
３１  第一の制御プログラム
３２  第二の制御プログラム
３３  第三の制御プログラム
３４  第一の制御データ
３５  第二の制御データ
４０  更新プログラム
４１  第一の制御プログラム
４２  第三の制御プログラム
１００  プログラマブル表示器
３０１  新規の第一の制御プログラム
３０２  新規の第二の制御プログラム
４００  ワークエリア
４０１  新規の第一の制御プログラム
４０２  新規の第二の制御プログラム
４０３  受信が完了していない新規の第二の制御プログラム
【図１】
2009252077.tif 000003
【図２】
2009252077.tif 000004
【図３】
2009252077.tif 000005
【図４−１】
2009252077.tif 000006
【図４−２】
2009252077.tif 000007
【図４−３】
2009252077.tif 000008
【図４−４】
2009252077.tif 000009
【図５】
2009252077.tif 000010