(57)【特許請求の範囲】
【請求項１】
制御対象となる各デバイスの状態を取得して動作する特殊制御装置を代替する制御装置であって、
上記特殊制御装置は、上記各デバイスの状態を取得する動作と、当該取得した各デバイスの状態を表示する動作および当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作の少なくとも一方とを行う特殊制御手段と、上記特殊制御手段の取得したデバイスの状態変化に応じて内容が更新される不揮発性の特殊メモリとを有するものであり、
上記制御装置は、不揮発性の記憶装置と、
上記不揮発性の記憶装置よりもアクセス速度が速い揮発性メモリと、
上記制御対象となる各デバイスの状態を取得する動作と、当該取得した各デバイスの状態を表示する動作および当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作の少なくとも一方とを行う制御手段と、
上記揮発性メモリの記憶領域の少なくとも一部を上記不揮発性の特殊メモリの代替領域として使用し、上記不揮発性の特殊メモリを代替する代替手段と、
予め定められたトリガが発生すると、上記代替手段の代替領域の内容を上記不揮発性の記憶装置に書き込むバックアップ手段と、
上記バックアップ手段のトリガの指定として、上記制御手段が状態を取得する各デバイスの状態または各デバイスの状態変化のうちの少なくとも１つの指定を受け付け、当該指定されたトリガを上記バックアップ手段のトリガとして設定する第１トリガ設定手段とを備えていることを特徴とする制御装置。
【請求項２】
上記特殊制御手段および制御手段は、上記制御対象となる各デバイスの状態を取得する動作と当該取得した各デバイスの状態を表示する動作と当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作とを規定する画面データであって、各動作を特定する情報と各デバイスを特定する情報との対応関係が記述された画面データに基づいて、上記取得動作、表示動作および制御動作を行うものであることを特徴とする請求項１記載の制御装置。
【請求項３】
上記不揮発性の特殊メモリの記憶領域の一部の領域と、上記代替手段の代替領域のうち、それに対応する領域とは、上記画面データにてデバイスとして記述可能であることを特徴とする請求項２記載の制御装置。
【請求項４】
上記第１トリガ設定手段は、上記画面データを作成する作画エディタ装置が上記各動作に関連するデバイスの指定を受け付ける際の手順と同じ手順で、その状態または状態変化が上記バックアップ手段のトリガとなるデバイスの指定を受け付けることを特徴とする請求項２または３記載の制御装置。
【請求項５】
予め定められた時間間隔で、上記バックアップ手段が上記代替手段の代替領域の内容を上記不揮発性の記憶装置に書き込むように設定する第２トリガ設定手段を備えていることを特徴とする請求項１〜４のいずれか１項に記載の制御装置。
【請求項６】
上記バックアップ手段は、上記代替手段の代替領域の内容を不揮発性の記憶装置に書き込んでいる期間であるか否かに応じて、上記各デバイスのうち、予め定められたデバイスの状態を変更することを特徴とする請求項１〜５のいずれか１項に記載の制御装置。
【請求項７】
上記第１トリガ設定手段は、上記バックアップ手段が状態を変更するデバイスの指定を受け付けると共に、当該指定されたデバイスの状態を変更するように上記バックアップ手段に設定することを特徴とする請求項６記載の制御装置。
【請求項８】
上記不揮発性の記憶装置には、ファイルシステムを介してアクセスする第１領域と、当該ファイルシステムを介さずにアクセスする第２領域とが設けられており、
上記バックアップ手段は、上記代替手段の代替領域の内容を当該第２領域に書き込むことを特徴とする請求項１〜７のいずれか１項に記載の制御装置。
【請求項９】
請求項１〜８のいずれか１項に記載の上記制御装置の各手段として、上記不揮発性の記憶装置および揮発性メモリを有するコンピュータを動作させるプログラム。
【請求項１０】
請求項９記載のプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、プログラマブル表示器などの特殊制御装置を代替する制御装置、より詳細には、不揮発性メモリを有する特殊制御装置であって、制御対象となる各デバイスの状態を取得して動作する特殊制御装置を代替する制御装置に関するものである。
【背景技術】
【０００２】
従来から、制御システムのＨＭＩ（Human Machine Interface ）として、画面上の領域と当該領域への表示や入力に対応するデバイスとの対応関係を示すタグを組み合わせて構成された画面データに基づいて、デバイスの状態を画面に表示する際の動作、並びに、画面への操作を受け付けたときの動作などを特定するプログラマブル表示器が広く使われている。
【０００３】
ここで、上記画面データは、画面データの設計者が、例えば、作画エディタ装置を操作して、画面上の所望の位置にタグを配置すると共に、各タグとデバイスとを対応付けることによって生成できる。したがって、プログラマブル表示器の表示プログラムを修正する場合に比べて容易に、各プログラマブル表示器の表示や操作を決定（変更）できる。この結果、制御システムのユーザ（作画エディタ装置を操作する設計者）は、例えば、制御システムが制御するターゲットシステムの実情や、プログラマブル表示器のオペレータの習熟度、あるいは、ユーザの好みや判断基準などを含めた、制御システムの実情に合わせることができる。
【０００４】
また、上記プログラマブル表示器は、制御システムのＨＭＩとして専用に製造されてきた経緯もあって、ＯＡ用途で使用されている汎用のコンピュータ（パーソナルコンピュータなど）とは異なるハードウェア構成を持っていることが多い。
【０００５】
具体的には、上記プログラマブル表示器は、制御システムにおいて大量に使用されることも多いので、コスト削減のために、上記汎用のコンピュータと比較して、ハードウェア構成を簡略したり、演算性能や記憶容量などを削ったものも広く使用されている。
【０００６】
一方で、汎用のコンピュータと比較すると、プログラマブル表示器には、いつ電源断が発生したとしても電源供給の再開後は電源断の直前の状態へと速やかに復旧できることが、より強く求められる。したがって、プログラマブル表示器の中には、バッテリバックアップされたＳＲＡＭ（Static RAM）を備え、当該ＳＲＡＭに重要なデータを格納し、電源断から復旧する際に、そのＳＲＡＭ内に保存されたデータを参照して動作するように構成されたものも数多く存在する。
【０００７】
これらのプログラマブル表示器の中には、上記ＳＲＡＭの一部領域をデバイスとして扱うと共に、上記画面データの記述によって、当該領域の内容を更新したり、当該領域の内容に応じて動作を変更できるように構成されているものも存在する。これにより、画面データの設計者は、制御システムに応じて画面データを設計する際、自らが重要と判断したデータを当該領域に書き込んで、当該データが消失する可能性を低減できる。
【０００８】
ところで、近年では、汎用のコンピュータの性能向上と生産台数の増大に伴なって、汎用のコンピュータのコストパフォーマンスが急激に向上している。これに伴なって、汎用のコンピュータで、上記プログラマブル表示器を代替させたいという要望も強くなっている。
【０００９】
しかしながら、上述したように、バッテリバックアップされたＳＲＡＭを有するプログラマブル表示器を代替しようとして、汎用のコンピュータにＳＲＡＭを装備すると、汎用のコンピュータの構成が複雑になり、製造費用が高騰する虞れがある。これに対して、バッテリバックアップされたＳＲＡＭを装備せず、汎用のコンピュータに設けられている揮発性のメインメモリで代替すると、これらの問題を回避できる一方で、不慮の電源断の際に重要なデータが消失する可能性がある。
【００１０】
ここで、後述する特許文献１には、揮発性メモリに記憶されたデータを不揮発性メモリに書込んでバックアップするバックアップ記憶制御装置において、揮発性メモリ上でのバックアップ対象データのアクセス頻度が少ない状態では、揮発性メモリ上でバックアップ対象データがアクセスされる毎に、不揮発性メモリへのバックアップ処理を行い、アクセス頻度が多い状態でアクセスが行われた場合は、アクセス頻度が少ない状態になった後に不揮発性メモリへのバックアップ処理を行う構成が記載されている。
【特許文献１】特開２００１−１９５３１４号公報（公開日：2001年７月１９日）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述したように、プログラマブル表示器の動作は、制御システムの実情に合わせて設定されるので、不揮発性メモリへのバックアップ処理を行う際の適切なタイミングは、制御システム毎に互いに異なっていることが多い。
【００１２】
したがって、上記のようにバックアップ処理を行ったとしても、不適切なタイミングでバックアップ処理してしまい、バックアップ処理の頻度が高過ぎてプログラマブル表示器などの制御装置の動作速度を低下させたり、バックアップ処理の頻度が低過ぎて不所望な電源断時に必要なデータを消失させてしまったりしてしまう。
【００１３】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、制御対象となる各デバイスの状態を取得する動作と、当該取得した各デバイスの状態を表示する動作および当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作の少なくとも一方とを行う制御装置において、制御装置の動作速度を余り低下させずに、必要なデータが消失する可能性を抑制することにある。
【課題を解決するための手段】
【００１４】
本発明に係る制御装置は、上記課題を解決するために、制御対象となる各デバイスの状態を取得して動作する特殊制御装置を代替する制御装置であって、上記特殊制御装置は、上記各デバイスの状態を取得する動作と、当該取得した各デバイスの状態を表示する動作および当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作の少なくとも一方とを行う特殊制御手段と、上記特殊制御手段の取得したデバイスの状態変化に応じて内容が更新される不揮発性の特殊メモリとを有するものであり、上記制御装置は、不揮発性の記憶装置と、上記不揮発性の記憶装置よりもアクセス速度が速い揮発性メモリと、上記制御対象となる各デバイスの状態を取得する動作と、当該取得した各デバイスの状態を表示する動作および当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作の少なくとも一方とを行う制御手段と、上記揮発性メモリの記憶領域の少なくとも一部を上記不揮発性の特殊メモリの代替領域として使用し、上記不揮発性の特殊メモリを代替する代替手段と、予め定められたトリガが発生すると、上記代替手段の代替領域の内容を上記不揮発性の記憶装置に書き込むバックアップ手段と、上記バックアップ手段のトリガの指定として、上記制御手段が状態を取得する各デバイスの状態または各デバイスの状態変化のうちの少なくとも１つの指定を受け付け、当該指定されたトリガを上記バックアップ手段のトリガとして設定する第１トリガ設定手段とを備えていることを特徴としている。
【００１５】
上記構成に係る制御装置は、不揮発性の特殊メモリが設けられた特殊制御装置を代替しており、当該制御装置の制御手段は、特殊制御装置の特殊制御手段と同様、上記制御対象となる各デバイスの状態を取得する動作と、当該取得した各デバイスの状態を表示する動作および当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作の少なくとも一方とを行っている。
【００１６】
ここで、特殊制御装置には、不揮発性の特殊メモリが設けられており、上記特殊制御手段の取得したデバイスの状態変化に応じて内容が更新されるのに対して、制御装置には、揮発性メモリと、それよりもアクセス速度の遅い不揮発性の記憶装置としか設けられていない。したがって、上記不揮発性の特殊メモリの更新タイミングと同様のタイミングで、常に、不揮発性の記憶装置の内容を更新すると、上記不揮発性の記憶装置のアクセス速度の遅さによって、制御装置の動作速度が低下してしまう。一方、揮発性メモリは、当該不揮発性の記憶装置よりもアクセス速度が速いため、上記不揮発性の特殊メモリの更新タイミングと同様のタイミングで常時内容を更新しても、動作速度の低下が発生しない。ところが、不所望な電源断が発生すると、上記特殊制御装置の不揮発性の特殊メモリとは異なって書き込んだ内容が失われてしまう。
【００１７】
これに対して、上記構成では、制御装置の代替手段が、上記揮発性メモリの記憶領域の少なくとも一部を上記不揮発性の特殊メモリの代替領域として使用して、上記不揮発性の特殊メモリを代替している。さらに、制御装置のバックアップ手段は、予め定められたトリガが発生すると、上記代替手段の代替領域の内容を上記不揮発性の記憶装置に書き込んでいる。
【００１８】
ここで、不揮発性メモリ（あるいはそれを代替する代替手段）の内容が更新されるタイミングは、特殊制御手段（あるいは、それを代替する制御手段）の動作、あるいは、デバイスの種類などによって変化する。また、デバイスがプログラマブル・ロジック・コントローラを介して上記制御装置に接続されている場合は、プログラマブル・ロジック・コントローラの動作（プログラム）などによっても変化する。この結果、制御装置およびデバイスを含む制御システム毎に、上記代替手段の内容が更新されるタイミングも互いに異なっており、当該代替手段の内容（上記代替手段の代替領域の内容）を不揮発性の記憶装置に格納する際の適切なタイミングも、互いに異なってしまう。なお、不適切なタイミングで代替手段の内容を不揮発性の記憶装置に書き込むと、書き込み頻度が高過ぎて制御装置の動作速度を低下させたり、書き込み頻度が低過ぎて不所望な電源断時に必要なデータを消失させてしまったりしてしまう。
【００１９】
これに対して、上記制御装置の第１トリガ設定手段は、上記バックアップ手段のトリガの指定として、上記制御手段が状態を取得する各デバイスの状態または各デバイスの状態変化のうちの少なくとも１つの指定を受け付け、当該指定されたトリガを上記バックアップ手段のトリガとして設定する。したがって、バックアップ手段は、制御システムの実情に即したタイミングで代替手段の内容を不揮発性の記憶装置に書き込むことができ、制御装置の動作速度を余り低下させずに、必要なデータが消失する可能性を抑制できる。
【００２０】
また、上記構成に加えて、上記特殊制御手段および制御手段は、上記制御対象となる各デバイスの状態を取得する動作と当該取得した各デバイスの状態を表示する動作と当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作とを規定する画面データであって、各動作を特定する情報と各デバイスを特定する情報との対応関係が記述された画面データに基づいて、上記取得動作、表示動作および制御動作を行うものであってもよい。なお、上記画面データには、さらに、操作受付時に制御すべきデバイスを示す情報と受け付ける操作を示す情報との対応関係も記述され、上記特殊制御手段および制御手段は、画面データに基づいて、操作受付時の動作を特定してもよい。
【００２１】
当該構成では、上記特殊制御手段および制御手段は、各動作を特定する情報と各デバイスを特定する情報との対応関係が記述された画面データに基づいて、上記取得動作、表示動作および制御動作を行っている。したがって、画面データの設計者は、制御システムの実情に即して上記画面データに当該対応関係を記述するだけで、上記特殊制御手段および制御手段に上記取得動作、表示動作および制御動作を行わせることができ、各動作を全てをプログラムする構成よりも容易に、上記特殊制御手段および制御手段の動作を制御システムの実情に合わせて設定でき、制御装置を制御用表示装置として動作させることができる。この結果、制御装置は、制御装置の製造者よりも制御システムの運営者に近い者（例えば、運営者自体、あるいは、運営者からの委託を受けた設計者など）が設計した画面データに基づいて動作することによって、当該制御装置が配備された制御システムの実情に即した状態取得動作、表示動作および制御動作を行うことができる。
【００２２】
ここで、上述したように、バックアップ手段が当該代替手段の内容を不揮発性の記憶装置に格納する際の適切なタイミングは、特殊制御手段（あるいは、それを代替する制御手段）の動作によっても変化する。
【００２３】
ところが、上記制御装置では、第１トリガ設定手段は、上記バックアップ手段のトリガの指定として、上記制御手段が状態を取得する各デバイスの状態または各デバイスの状態変化のうちの少なくとも１つの指定を受け付け、当該指定されたトリガを上記バックアップ手段のトリガとして設定できる。したがって、例えば、上記画面データの設計者など、特殊制御手段（あるいは、それを代替する制御手段）の動作を把握している者が、第１トリガ設定手段を操作することによって、制御システムの実情にさらに即したトリガを上記バックアップ手段に設定できる。この結果、バックアップ手段は、制御システムの実情に即したタイミングで代替手段の内容を不揮発性の記憶装置に書き込むことができ、制御装置の動作速度を余り低下させずに、必要なデータが消失する可能性を抑制できる。
【００２４】
さらに、上記構成に加えて、上記不揮発性の特殊メモリの記憶領域の一部の領域と、上記代替手段の代替領域のうち、それに対応する領域とは、上記画面データにてデバイスとして記述可能であってもよい。
【００２５】
上記構成では、上記不揮発性の特殊メモリの記憶領域の一部の領域と、上記代替手段の代替領域のうち、それに対応する領域とは、上記画面データにてデバイスとして記述できるので、画面データの設計者は、重要と判断したデータを当該領域に書き込むように、画面データを記述することによって、当該データが消失する可能性を低減できる。
【００２６】
ここで、当該データがどの程度重要であるかは、画面データの設計者によって判断されるが、上記制御装置では、上述したように、制御装置の第１トリガ設定手段の設定によって、バックアップ手段のトリガを設定できる。したがって、例えば、画面データの設計者など、上記データの重要度を把握している者が第１トリガ設定手段を操作することによって、制御システムの実情にさらに即したトリガを上記バックアップ手段に設定できる。この結果、バックアップ手段は、制御システムの実情に即したタイミングで代替手段の内容を不揮発性の記憶装置に書き込むことができ、制御装置の動作速度を余り低下させずに、必要なデータが消失する可能性を抑制できる。
【００２７】
また、上記構成に加えて、上記第１トリガ設定手段は、上記画面データを作成する作画エディタ装置が上記各動作に関連するデバイスの指定を受け付ける際の手順と同じ手順で、その状態または状態変化が上記バックアップ手段のトリガとなるデバイスの指定を受け付けてもよい。
【００２８】
当該構成では、上記第１トリガ設定手段は、上記画面データを作成する作画エディタ装置が上記各動作に関連するデバイスの指定を受け付ける際の手順と同じ手順で、その状態または状態変化が上記バックアップ手段のトリガとなるデバイスの指定を受け付けることができるので、画面データの設計者は、作画エディタ装置を操作して、上記各動作に関連するデバイスを指定するときと同じ手順で、バックアップ手段のトリガとなるデバイスを指定でき、制御装置の操作性を向上できる。
【００２９】
さらに、上記構成に加えて、予め定められた時間間隔で、上記バックアップ手段が上記代替手段の代替領域の内容を上記不揮発性の記憶装置に書き込むように設定する第２トリガ設定手段を備えていてもよい。
【００３０】
当該構成では、バックアップ手段は、予め定められた時間間隔で、上記代替手段の代替領域の内容を上記不揮発性の記憶装置に書き込むことができる。したがって、上記第１トリガ設定手段により設定されたトリガが発生しない場合でも、上記代替手段の内容は、上記不揮発性の記憶装置に格納される。この結果、必要なデータが消失する可能性を、さらに抑制できる。
【００３１】
なお、この場合、上記代替手段の内容は、上記第１トリガ設定手段により設定されたトリガが発生した場合にも上記不揮発性の記憶装置に格納される。したがって、第１トリガ設定手段が設けられておらず、第２トリガ設定手段のみが設けられている構成と比較すると、上記時間間隔をより長く設定しても、必要なデータが消失する可能性を充分に低く設定できる。したがって、制御装置の動作速度低下を、充分低いレベルに抑えることができる。
【００３２】
また、上記構成に加えて、上記バックアップ手段は、上記代替手段の代替領域の内容を不揮発性の記憶装置に書き込んでいる期間であるか否かに応じて、上記各デバイスのうち、予め定められたデバイスの状態を変更してもよい。
【００３３】
当該構成では、上記各デバイスのうち、予め定められたデバイスの状態は、上記代替手段の内容の書き込み期間中であるか否かに応じて変更されるので、上記制御手段は、当該デバイスの状態を取得し、当該取得した各デバイスの状態を表示する動作および当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作の少なくとも一方を行うことができる。この結果、制御装置は、書き込み期間中であるか否かに応じて、表示を変更したり各デバイスの制御動作を変更したりでき、より適切な動作を行うことができる。
【００３４】
一例として、制御装置は、書き込み期間中、電源を遮断しないように表示したりして、オペレータに通知できる。なお、上記のように、制御手段が画面データに基づいて動作している構成の場合、画面データの設計者は、書き込み期間中であるか否かに応じて上記各動作を変更するように画面データを設計できるので、より制御システムの実情に即した動作を制御装置に行わせることができる。
【００３５】
さらに、上記構成に加えて、上記第１トリガ設定手段は、上記バックアップ手段が状態を変更するデバイスの指定を受け付けると共に、当該指定されたデバイスの状態を変更するように上記バックアップ手段に設定してもよい。
【００３６】
ここで、バックアップ手段が状態を変更するデバイスの状態が固定されていると、変更可能な構成と比較して、制御手段に所望の動作を行わせる際に、制御手段の動作を変更する必要のある箇所が多くなる可能性がある。この場合、例えば、画面データの設計者が画面データの記述を変更したり、制御装置の製造者が制御手段のプログラム自体を変更したりすることが必要になり、制御手段の動作を変更する際に手間がかかる虞れがある。
【００３７】
これに対して、当該構成では、第１トリガ設定手段へ指示することによって、バックアップ手段が状態を変更するデバイスの状態を変更できる。この結果、当該デバイスが固定されている構成と比較して、制御手段の動作変更が必要な箇所の数を削減でき、制御装置の製造者、あるいは、画面データの設計者の手間を削減できる。
【００３８】
また、上記構成に加えて、上記不揮発性の記憶装置には、ファイルシステムを介してアクセスする第１領域と、当該ファイルシステムを介さずにアクセスする第２領域とが設けられており、上記バックアップ手段は、上記代替手段の代替領域の内容を当該第２領域に書き込んでもよい。なお、第２領域には、例えば、ＲＡＷデータ（生のデータ）などが書き込まれる。
【００３９】
ここで、比較例として、代替手段の内容をファイルシステムを介してアクセスされる第１領域に書き込む構成の場合、代替領域の内容だけではなく、ファイルシステムの管理情報も更新されるので、実際に不揮発性の記憶装置に書き込まれるデータ量が増大する虞れがある。また、例えば、不慮の電源断などによって、管理情報の更新に失敗すると、ファイルシステム全体が壊れて、ファイルシステム上に配置されたデータにアクセスできなくなる虞れがある。この場合は、電源断までの間に、一部のデータの書き込みに成功していたとしても、当該データにアクセスできなくなる虞れがある。
【００４０】
これに対して、上記構成では、代替手段の内容が第１領域ではなく、第２領域に書き込まれるので、第１領域に書き込む構成と比較して、実際に不揮発性の記憶装置に書き込まれるデータ量を抑制でき、代替手段の内容の書き込みに要する時間を短縮できる。また、代替手段の内容を書き込んでいる最中に不慮の電源断などが発生しても、管理情報の更新失敗に伴なうファイルシステムの破壊が発生しないので、電源断が発生するまでのデータには、何ら支障なくアクセスできる。この結果、必要なデータが消失する可能性を、さらに抑制できる。
【００４１】
ところで、上記制御装置は、ハードウェアで実現してもよいし、プログラムをコンピュータに実行させることによって実現してもよい。具体的には、本発明に係るプログラムは、上記いずれかの制御装置の各手段として、上記不揮発性の記憶装置および揮発性メモリを有するコンピュータを動作させるプログラムであり、本発明に係る記録媒体には、当該プログラムが記録されている。
【００４２】
これらのプログラムが上記コンピュータによって実行されると、当該コンピュータは、上記制御装置として動作する。したがって、上記制御装置と同様に、当該制御装置の動作速度を余り低下させずに、必要なデータが消失する可能性を抑制できる。
【発明の効果】
【００４３】
本発明に係る制御装置は、以上のように、上記制御装置の第１トリガ設定手段は、上記バックアップ手段のトリガの指定として、上記制御手段が状態を取得する各デバイスの状態または各デバイスの状態変化のうちの少なくとも１つの指定を受け付け、当該指定されたトリガを上記バックアップ手段のトリガとして設定する。したがって、バックアップ手段は、制御システムの実情に即したタイミングで代替手段の内容を不揮発性の記憶装置に書き込むことができ、制御装置の動作速度を余り低下させずに、必要なデータが消失する可能性を抑制できる。
【発明を実施するための最良の形態】
【００４４】
本発明の一実施形態について図１ないし図７に基づいて説明すると以下の通りである。すなわち、本実施形態に係る制御システムは、バッテリバックアップされたＳＲＡＭを有するプログラマブル表示器を、バッテリバックアップされたＳＲＡＭを有していないパネルコンピュータで代替しているにも拘わらず、パネルコンピュータの動作速度を余り低下させずに、必要なデータが消失する可能性を抑制可能な制御システムである。
【００４５】
以下では、パネルコンピュータの構成の詳細、特に、パネルコンピュータにおいて、揮発性のメインメモリを記憶媒体として使用して上記ＳＲＡＭを代替する擬似ＳＲＡＭ処理部の内容を、不揮発性の記憶装置にバックアップするタイミングについて説明する前に、制御システム全体の概略構成および動作について説明する。
【００４６】
すなわち、本実施形態に係る制御システム１は、図２に示すように、ターゲットシステム２のデバイス２ａを制御するためのシステムであって、例えば、ベルトコンベアー式の自動組付機などのデバイス２ａの制御に好適に用いられている。
【００４７】
上記制御システム１には、上記デバイス２ａを制御する制御装置としてのＰＬＣ（プログラマブル・ロジック・コントローラ）１１と、多くの場合、制御対象近傍に配されると共に、制御システム１のＨＭＩとして、デバイス２ａの状態を表示し、オペレータによるデバイス２ａへの操作を受け付けるプログラマブル表示器１３とを備えている。なお、当該プログラマブル表示器１３が特許請求の範囲に記載の「制御対象となる各デバイスの状態を取得して動作する特殊制御装置」に対応する。
【００４８】
本実施形態に係る制御システム１では、各プログラマブル表示器１３は、イーサネット（登録商標）などのＬＡＮ（ローカルエリアネットワーク）１５によって互いに接続されている。さらに、上記ＬＡＮ１５には、多くの場合、プログラマブル表示器１３よりも離れた場所から、制御システム１全体を管理する制御用ホストコンピュータ（データ生成装置）１７が接続されている。当該制御用ホストコンピュータ１７は、例えば、プログラマブル表示器１３あるいは後述するパネルコンピュータ４１など、ＬＡＮ１５に接続された機器と通信して、これらの機器１３・４１、あるいは、ターゲットシステム２やＰＬＣ１１を管理すると共に、それらの機器１３・４１、ターゲットシステム２あるいはＰＬＣ１１の状態を表示したり制御したりできる。
【００４９】
また、上記各プログラマブル表示器１３は、シリアルケーブルなどの通信路を介して、それぞれに対応するＰＬＣ１１と接続されている。なお、図２では、説明の便宜上、ＬＡＮ１５にプログラマブル表示器１３が２台接続されると共に、各プログラマブル表示器１３に１台ずつのＰＬＣ１１、各ＰＬＣ１１に１台ずつのデバイス２ａがそれぞれ接続されている場合を例示しているが、当然ながら、それぞれの接続台数は任意に設定できる。
【００５０】
また、デバイスは、デバイスアドレスにより特定可能で、しかも、状態を取得したり、制御（変更）したりできるものであれば、例えば、デバイス２ａ自体であってもよいし、例えば、ＰＬＣ１１やプログラマブル表示器１３の記憶装置など、制御システム１に設けられた記憶装置の一領域を示していてもよい。
【００５１】
ここで、上記制御システム１では、制御システム１に必須の構成であり、しかも、ＨＭＩとして動作するため、演算能力に余力のあるプログラマブル表示器１３が通信の大半を処理するように構成されている。さらに、各プログラマブル表示器１３は、自らに接続されているＰＬＣ１１の機種に固有の専用プロトコルと、ＬＡＮ１５での共通プロトコルとを変換して、他のプログラマブル表示器１３や制御用ホストコンピュータ１７と、ＰＬＣ１１との通信を中継する。なお、共通プロトコルと専用プロトコルとの間のプロトコル変換には、同じ指示に同じコードが割り当てられるように予め定められた共通のコマンドと上記共通のコマンドに対応するＰＬＣ１１固有のコマンドとの間の変換や、データやアドレスの表現方法の変換、デバイスアドレスと、当該デバイスアドレスに対応し、しかも、デバイスアドレスとは異なる値に設定可能な変数や変数の名称（変数名）との変換なども含まれる。
【００５２】
これにより、プログラマブル表示器１３および制御用ホストコンピュータ１７は、他のプログラマブル表示器１３に接続されているＰＬＣ１１の機種に拘らず、ＬＡＮ１５を介して共通のプロトコルで通信できる。この結果、互いに異なる機種のＰＬＣ１１の混在する制御システム１が比較的容易に実現されている。
【００５３】
上記プログラマブル表示器１３は、図３に示すように、ＣＰＵ（Central Processing Unit ）２１と、例えば、ハードディスクドライブ、フラッシュメモリあるいはＲＯＭ（Read Only Memory）などからなり、当該ＣＰＵ２１によって実行されるプログラムおよび当該ＣＰＵ２１によって参照されるデータ（例えば、フォントデータなど）が格納される不揮発性の記憶装置２２と、例えば、例えば、ＤＲＡＭ（Dynamic Randam Acess Memory ）などからなり、上記ＣＰＵ２１が上記プログラムを実行する際に、例えば、作業領域などとして使用される揮発性のメインメモリ２３とを備えている。
【００５４】
本実施形態では、上記不揮発性の記憶装置２２の一例として、上記ＣＰＵ２１に接続されたＲＯＭ２２ａと、Ｉ／Ｏ回路２４を介してＣＰＵ２１に接続されたフラッシュメモリ２２ｂとが採用されており、上記ＣＰＵ２１は、これらの記憶装置２２から、プログラムやデータなどを読み取ったり、プログラムおよびデータを更新したりできる。
【００５５】
さらに、上記プログラマブル表示器１３には、入出力装置として、液晶表示装置などの表示装置２５およびタッチパネル２６とを備えており、上記Ｉ／Ｏ回路２４は、上記ＣＰＵ２１の指示に応じて、表示装置２５およびタッチパネル２６を制御できる。
【００５６】
また、プログラマブル表示器１３は、ＲＳ−２３２Ｃなどの規格のシリアルポート２７ａを介して通信する通信回路２７も備えており、上記ＣＰＵ２１は、当該通信回路２７およびシリアルポート２７ａを介して、例えば、上述したＰＬＣ１１や後述する作画エディタ装置１９などの外部装置と通信できる。さらに、プログラマブル表示器１３には、図２に示すＬＡＮ１５と通信するためのネットワーク・インターフェース回路２８も設けられており、上記ＣＰＵ２１は、当該ネットワーク・インターフェース回路２８およびＬＡＮ１５を介して、上述した制御用ホストコンピュータ１７あるいは他のプログラマブル表示器１３と通信できる。
【００５７】
さらに、本実施形態に係るプログラマブル表示器１３には、不揮発性の記憶装置２２よりも高速に読み書き可能な不揮発性の半導体メモリ（不揮発性の特殊メモリ）として、バッテリバックアップされたＳＲＡＭ２９が設けられている。当該ＳＲＡＭ２９は、ＣＰＵ２１のアドレス空間にマップされており、ＣＰＵ２１は、予め設定されるベースアドレスを基準に、そのベースアドレスからのオフセットによって、上記ＳＲＡＭ２９の記憶領域のうちのアクセス対象とする記憶領域を指定し、当該記憶領域にアクセスすることができる。
【００５８】
上記ＳＲＡＭ２９は、不揮発性の記憶装置２２よりも高速に読み書き可能であり、しかも、不揮発性のメモリである。したがって、プログラマブル表示器１３は、重要なデータを当該ＳＲＡＭ２９に記憶させておくことによって、不所望な電源断などがあった場合でも、当該データの消失を防止できる。また、上記ＳＲＡＭ２９は、メインメモリ２３と同様に高速にランダムアクセスできる。さらに、上記ＳＲＡＭ２９は、ハードディスクドライブやフラッシュメモリなどと比較して、データの読み書きによるデバイスの劣化が発生しにくく、より確実にデータの消失を防止できる。
【００５９】
ここで、上記プログラムには、ハードウェアの制御処理、あるいは、文字や図形の表示処理やタッチパネルへの入力を受け付ける処理など、多くのプログラムで一般的に使用される処理を行うシステムプログラムと、予め定められた通信プロトコルで通信するためのプロトコルプログラムとが含まれている。また、本実施形態に係るプログラマブル表示器１３は、デバイスの状態を取得して表示する動作、および、受け付けた操作あるいは取得した他のデバイスの状態に応じてデバイスの状態を変更（制御）する動作を規定する画面データに基づいて、入力および画面表示を制御可能な表示器であって、上記プログラムには、さらに、プログラマブル表示器１３の表示／制御動作を規定する上記画面データと、例えば、当該画面データに基づいて上記システムプログラムを呼び出して、プログラマブル表示器１３の各ハードウェアに、画面データが示す表示／制御動作を行わせるアプリケーションプログラムなどの拡張プログラムとが含まれている。
【００６０】
上記ＣＰＵ２１が上記各プログラムを実行して上記各部材２１〜２４および２７〜２８を制御すると、プログラマブル表示器１３には、機能ブロックとして、図４に示すように、ＰＬＣ１１と通信するＰＬＣ・ＩＦ部３１と、上記ＬＡＮ１５に接続するためのＬＡＮ・ＩＦ部３２と、上記各部材３１・３２並びに表示装置２５およびタッチパネル２６を制御するＨＭＩ処理部（特殊制御手段）３３と、上記記憶装置２２、メインメモリ２３およびＳＲＡＭ２９のいずれかを記憶媒体として使用することによって実現され、上記画面データを記憶する画面データ記憶部３４と、上記記憶装置２２、メインメモリ２３およびＳＲＡＭ２９のいずれかを記憶媒体として使用することによって実現され、上記ＨＭＩ処理部３３が取得したデバイスの状態を記憶する状態記憶部３５と、上記ＳＲＡＭ２９の少なくとも一部を記憶媒体として使用することによって実現され、デバイスとして扱われる不揮発性記憶部３６とが形成される。
【００６１】
なお、上記各部材３１〜３６は、上記各プログラムを実行して上記各部材２１〜２４および２７〜２９を制御することによって実現される機能ブロックである。また、これらの部材のうち、上記各記憶部３４〜３６は、記憶装置自体であってもよい。したがって、これらの部材を有するコンピュータが、上記プログラムを記録した記録媒体（例えば、ＣＤ−ＲＯＭなど）を読み取り、当該プログラムを実行すれば、本実施形態に係るプログラマブル表示器１３を実現できる。なお、例えば、ＬＡＮ１５、あるいは、他の通信路を介してプログラムをダウンロードするためのプログラムが、上記コンピュータに予めインストールされていれば、これらの通信路を介して、上記コンピュータへ上記プログラムを配付することもできる。
【００６２】
一方、上記画面データは、上記プログラマブル表示器１３の上記各動作を規定するデータであれば、例えば、画面上の領域およびデバイスを特定するための属性を有し、当該領域への表示や入力に対応するオブジェクトを生成するためのデータなどから構成されていてもよいが、本実施形態に係る画面データは、画面上の領域と、当該領域への表示や入力に対応するデバイスとの対応関係を示すタグを組み合わせて構成されている。本実施形態では、ＨＭＩ処理部３３が複数の単位画面（ベース画面）を切り換え表示可能であり、上記タグは、当該タグが有効となる単位画面を示すファイル番号と、単位画面上で実行すべき動作内容を特定する事象名と、各事象毎に参照される参照情報とを含んでいる。
【００６３】
例えば、上記タグが所定の画面領域（表示座標範囲）へ所定のデバイスの状態に応じた部品図形を表示する表示タグの場合、上記参照情報には、表示座標範囲と、デバイスを特定可能な変数と、例えば、部品図形がスイッチの場合、ＯＮを示す図形のファイルおよびＯＦＦを示す図形のファイルなど、表示時に参照するファイル番号とが含まれる。さらに、タグが入力タグの場合、参照情報として、有効入力座標範囲と、入力結果が書き込まれるデバイスの変数とが含まれる。
【００６４】
また、状態記憶部３５には、各変数について、変数の名称（変数名）と、変数に対応するデバイス２ａまたは内部メモリを特定するための情報（例えば、アドレスなど）と、変数の内容との組み合わせが記憶されている。なお、本実施形態では、変数に対応するデバイス２ａの機種に拘わらず、変数の内容を格納する際の表現方法（例えば、ワード長や符号の有無、あるいは、ＢＣＤ／２進表記など）が予め定められた表現方法に統一されており、変数が実在のデバイス２ａに対応する場合、状態記憶部３５には、実際の機種での表現方法も格納されている。この場合、ＨＭＩ処理部３３は、ＰＬＣ・ＩＦ部３１を介してデバイス２ａの状態を取得あるいは制御する際、表現方法を形式変換して、格納時の表現方法を統一している。
【００６５】
一方、上記ＨＭＩ処理部３３は、所定の時間間隔で、画面データ記憶部３４に格納された画面データから、ベース画面のファイル番号が、現在表示中のベース画面である表示タグを抽出する。さらに、ＨＭＩ処理部３３は、状態記憶部３５に格納された変数を参照して、タグに対応する変数の内容を読み出し、内容に応じた部品図形を表示装置２５に表示する。ここで、ＰＬＣ・ＩＦ部３１に接続されたＰＬＣ１１により制御されるデバイス２ａに、上記変数が対応している場合、ＨＭＩ処理部３３は、ＰＬＣ・ＩＦ部３１によるＰＬＣ１１との通信によって、デバイス２ａの状態を取得し、上記変数の内容を当該状態に応じて更新している。これにより、表示装置２５には、デバイス２ａの状態を示す操作画面が表示される。
【００６６】
なお、変数が他のプログラマブル表示器１３に接続されたＰＬＣ１１によって制御されるデバイス２ａの場合、ＨＭＩ処理部３３は、ＬＡＮ・ＩＦ部３２、ＬＡＮ１５および他のプログラマブル表示器１３を介して当該ＰＬＣ１１と通信するなどして、デバイスの状態を取得し、それに応じて変数の内容を更新する。
【００６７】
一方、タッチパネル２６への押し操作など、オペレータの入力操作を受け付けると、ＨＭＩ処理部３３は、上記画面データから、現在表示中のベース画面に対応し、当該入力操作にマッチする入力タグを検索すると共に、入力結果に応じて、タグに対応する変数の内容を更新する。さらに、ＨＭＩ処理部３３は、デバイス２ａの状態を取得する場合と略同様に、ＰＬＣ１１やプログラマブル表示器１３と通信するなどして、上記変数の内容に応じて、デバイス２ａの状態を制御させる。ここで、入力操作の後も、ＨＭＩ処理部３３は、デバイス２ａの状態を画面表示するので、操作結果が画面表示に反映される。
【００６８】
なお、ＨＭＩ処理部３３は、例えば、他のプログラマブル表示器１３や制御用ホストコンピュータ１７など、ＬＡＮ１５に接続された機器から自らに接続されたＰＬＣ１１のデバイス２ａへの制御指示を受け取った場合や、これとは逆に、上記機器へ報告すべきデバイス２ａの状態を自らのＰＬＣ１１から受け取った場合には、上述したプロトコル変換によって、ＬＡＮ１５での通信とＰＬＣ１１相手の通信との間を中継できる。
【００６９】
ここで、本実施形態に係るＳＲＡＭ２９の記憶領域の少なくとも１部は、上述したように、デバイスとしても扱われる不揮発性記憶部３６を実現するために使用されており、例えば、上記画面データにおいて、外部のデバイス２ａを指定する場合と同様に、当該記憶領域を示すデバイスアドレス（例えば、”［＃ＩＮＴＥＲＮＡＬ］ＬＳ００００”）を指定した場合、プログラマブル表示器１３のＨＭＩ処理部３３は、当該記憶領域にアクセスできる。
【００７０】
これにより、プログラマブル表示器１３は、プログラマブル表示器１３の設計者によって予め重要と判断されたデータだけではなく、画面データによって指定されたデータ、すなわち、画面データの作成者（後述する作画エディタ装置１９のユーザ）が重要と判断して上記不揮発性記憶部３６に格納するように画面データに設定したデータも不揮発性記憶部３６（ＳＲＡＭ２９）に格納できる。したがって、不所望な電源断などがあった場合でも、画面データの作成者が重要と判断したデータの消失を防止できる。
【００７１】
より詳細には、本実施形態に係るＨＭＩ処理部３３としてＣＰＵ２１を動作させるプログラムにおいて、不揮発性記憶部３６の指定されたアドレスへアクセスするルーチンでは、例えば、不揮発性記憶部３６としてのＳＲＡＭ２９の先頭アドレスをベースアドレスに設定する手順、および、上記指定されたアドレスを、そのベースアドレスからのオフセットとして指定することによって、上記指定されたアドレスへアクセスする手順が記述されており、ＣＰＵ２１は、当該手順に従って、ベースアドレスを設定し、上記指定されたアドレスへアクセスしている。
【００７２】
一方、上記画面データをプログラマブル表示器１３に格納する際には、例えば、上記制御用ホストコンピュータ１７など、プログラマブル表示器１３と常時通信可能な装置が作画エディタ装置の機能を兼ね備え、例えば、ＬＡＮ１５などを介して、画面データをプログラマブル表示器１３にダウンロードしてもよいが、本実施形態に係る制御システム１では、図２に示すように、作画エディタ装置１９が別途設けられている。また、画面データをプログラマブル表示器１３に格納する場合は、例えば、プログラマブル表示器１３に作画エディタ装置１９を一時的に接続して画面データを転送したり、作画エディタ装置１９の生成した画面データを記録媒体（例えば、コンパクトフラッシュ（登録商標）など）に格納し、当該記録媒体の内容をプログラマブル表示器１３に読み取らせたりして、画面データをプログラマブル表示器１３に格納できる。
【００７３】
より詳細には、作画エディタ装置１９は、図５に示すように、ユーザの操作に応じて、予め格納された画面データを修正したり、新規作成したりして、表示画面を設計し、新たな画面データを生成する作画処理部９１と、上記作画処理部９１の生成した画面データを格納する記憶部９２とを備えている。また、図２に示す作画エディタ装置１９は、一例として、プログラマブル表示器１３、あるいは、それを代替するパネルコンピュータ４１（後述）と通信して画面データを伝送する構成であり、記憶部９２に格納された画面データを、これらプログラマブル表示器１３などの機器へ通信する通信処理部９３が設けられている。なお、記録媒体経由で画面データを格納する場合は、通信処理部９３に代えて／加えて記録媒体に記憶部９２に格納された画面データを書き込む記録装置を設ければよい。
【００７４】
なお、上記各部材９１〜９３は、ＣＰＵなどの演算手段が、ＲＯＭやＲＡＭなどの記憶手段に格納されたプログラムを実行し、タッチパネルや液晶表示装置などの入出力手段、あるいは、インターフェース回路などの通信回路を制御することによって実現される機能ブロックである。また、これらの部材のうち、各記憶部９１ａ・９２は、ＲＯＭやＲＡＭなどの記憶装置自体であってもよい。したがって、これらの手段を有するコンピュータが、上記プログラムを記録した記録媒体（例えば、ＣＤ−ＲＯＭなど）を読み取り、当該プログラムを実行するだけで、本実施形態に係る作画エディタ装置１９を実現できる。なお、例えば、ＬＡＮ１５、あるいは、他の通信路を介してプログラムをダウンロードするためのプログラムが、上記コンピュータに予めインストールされていれば、これらの通信路を介して、上記コンピュータへ上記プログラムを配付することもできる。
【００７５】
上記作画処理部９１は、画面データに対応する情報が一時的に格納される作業用の記憶部９１ａと、ユーザの指示を受け付けて、当該記憶部９１ａの内容を書き換える編集処理部９１ｂと、編集処理部９１ｂによって編集される記憶部９１ａの内容を図示しないディスプレイに表示させる表示処理部９１ｃと、上記記憶部９２に格納された画面データを当該記憶部９１ａに展開したり、編集後の記憶部９１ａの内容に応じた画面データを記憶部９２へ書き込むデータ入出力処理部９１ｄとを備えている。
【００７６】
ここで、上記画面データは、上述したように、画面上の領域と、当該領域への表示や入力に対応するデバイスを特定可能なアドレスとの対応関係を示すタグを組み合わせて構成されており、作画処理部９１の編集処理部９１ｂは、例えば、配置可能なタグの種類を示すパレットを表示し、パレット中のタグの種類を選択して画面上に所望の種類のタグを配置するようにユーザへ促す。また、編集処理部９１ｂは、ユーザによるタグの配置操作を受け付けると、当該操作に応じて、編集中の画面データが上記配置されたタグのデータを含むように、記憶部９１ａの内容を変更し、表示処理部９１ｃは、記憶部９１ａの内容に基づいて、当該タグを指定された座標に表示する。また、編集処理部９１ｂは、ユーザのドラッグ＆ドロップなどの操作に応じて記憶部９１ａの内容を変更して、当該タグの表示座標範囲の値を調整し、表示処理部９１ｃは、変更後の位置にタグを表示する。また、編集処理部９１ｂは、タグに関連するデバイスを特定するための情報としてアドレスや変数を入力するようにユーザへ促すと共に、入力されたアドレスや変数が当該タグに関連するように、記憶部９１ａの内容（より詳細には、タグのデバイスの変数の値）を変更し、表示処理部９１ｃは、ユーザの指示に応じて、各タグに関連つけられているアドレスや変数を表示する。さらに、編集処理部９１ｂは、変数に対するデバイスアドレスの入力操作を受け付け、入力されたアドレスを示すように、記憶部９１ａの内容（より詳細には、当該変数に関連付けて記憶されるデバイスアドレスの値）を変更し、表示処理部９１ｃは、ユーザの指示に応じて、各変数に関連付けられているアドレスを表示できる。
【００７７】
また、本実施形態に係る編集処理部９１ｂは、上述したように、タグの表示座標範囲の値として、タグを配置可能な領域の範囲を示す値を設定する操作を受け付けると共に、当該操作に応じて、記憶部９１ａの内容（より詳細には、タグの表示座標範囲の値）を変更できる。
【００７８】
なお、本実施形態に係るプログラマブル表示器１３は、複数の画面（操作画面）を切り換えて表示可能であり、上記編集処理部９１ｂは、操作画面の追加操作や、それぞれの操作画面に対する編集操作を受け付けると共に、例えば、タグのファイル番号の値を当該タグが配置された単位画面を示すように変更するなどして、各操作画面に関連付けて当該操作画面に配置された各タグのデータを、記憶部９１ａに格納できる。
【００７９】
一方、編集終了指示を受け付けると、データ入出力処理部９１ｄは、記憶部９１ａの内容に応じた画面データを生成して、記憶部９２に書き込む。これにより、編集されたタグを含む画面データを生成できる。
【００８０】
これらの結果、設計者は、作画エディタ装置１９を操作して、画面上の所望の位置にタグを配置すると共に、各タグと変数とを対応付け、変数とデバイスのアドレスとを対応付けるだけで、画面データを作成できる。したがって、プログラマブル表示器１３の表示プログラムを修正する場合に比べて容易に、各プログラマブル表示器１３の表示や操作を決定（変更）でき、制御システム１のユーザ（作画エディタ装置１９を操作する画面設計者）は、ターゲットシステム２の実情や、プログラマブル表示器１３のオペレータの習熟度、あるいは、ユーザの好みや判断基準に合わせることができる。この結果、プログラマブル表示器１３のオペレータは、当該画面データに基づいて表示された画面（操作画面）を確認することによって、デバイス２ａの状態を的確に把握して、デバイス２ａの状態変更の要否を判断できると共に、当該操作画面を操作することによって、デバイス２ａの状態変更指示を的確に入力することができる。
【００８１】
また、本実施形態に係るプログラマブル表示器１３のＨＭＩ処理部３３は、スクリプト（プログラム）によって指定された動作も実行できるように構成されており、上記画面データには、プログラマブル表示器１３が実行すべきスクリプトを示す情報（スクリプト情報）も含めることができる。ここで、スクリプト中では、式を評価する動作や、評価結果に応じて、スクリプトのうち、次に実行する部分を変更する動作を記述できるだけではなく、デバイスの状態を評価する動作や、デバイスの状態を評価結果に応じて変更する動作も記述できる。言い換えると、当該スクリプトには、動作を示す情報だけではなく、動作を示す情報に関連付けて、デバイスを特定するための情報も記述できる。
【００８２】
これに伴なって、上記作画エディタ装置１９の編集処理部９１ｂは、スクリプトの編集操作を受け付け、記憶部９１ａに格納されたスクリプト情報を、受け付けた編集操作に応じて更新できる。一方、表示処理部９１ｃは、更新されたスクリプト情報の示すスクリプトを表示できる。さらに、データ入出力処理部９１ｄは、画面データを生成する際、当該更新されたスクリプト情報を含めた画面データを生成できる。
【００８３】
また、本実施形態に係る編集処理部９１ｂは、上記スクリプトを表示すべき操作画面またはウィンドウに関連付ける操作を受け付けることができ、データ入出力処理部９１ｄは、操作画面またはウィンドウに関連付けたスクリプト情報を生成できる。一方、プログラマブル表示器１３の画面データにおいて、あるスクリプト情報が、ある操作画面またはウィンドウに関連付けられている場合、ＨＭＩ処理部３３は、当該操作画面またはウィンドウが表示されているときに当該スクリプトを実行できる。
【００８４】
これにより、スクリプトを実行するプログラマブル表示器１３は、デバイスの状態を、上記操作画面の設計者に指示された評価方法で評価し、それに応じて、デバイスの状態を変更することができる。
【００８５】
なお、プログラマブル表示器１３（より詳細には、ＨＭＩ処理部３３）は、テキストで表現されたスクリプトの構成要素（例えば、文や式など）を逐次変換（インタープリト）して実行してもよいし、スクリプトを、中間コードなどのコードに、予め翻訳（コンパイル）しておき、そのコードを実行してもよい。
【００８６】
ここで、上述したように、不揮発性記憶部３６はデバイスとして扱われる。したがって、上記作画エディタ装置１９のユーザは、重要なデータをＳＲＡＭ２９に格納するように設定する際、プログラマブル表示器１３外のデバイス２ａの状態を当該データの示す状態に制御する場合と同様に、当該データをデバイスに書き込むためのタグ（例えば、入力タグやスクリプトなど）を画面データに設定し、当該デバイスに対応する変数に、不揮発性記憶部３６の記憶領域を示すデバイスアドレス（例えば、”［＃ＩＮＴＥＲＮＡＬ］ＬＳ００００”）を設定するだけで、当該データをＳＲＡＭ２９に格納できる。
【００８７】
一方、ＨＭＩ処理部３３は、不慮の電源断などから復帰した場合、上記ＳＲＡＭ２９（不揮発性記憶部３６）に記憶されているデータを参照して、電源断の直前の状態へと速やかに復旧できる。
【００８８】
さらに、本実施形態に係る制御システム１には、図２に示すように、プログラマブル表示器１３を代替するパネルコンピュータ４１が設けられている。なお、パネルコンピュータ４１は、全てのプログラマブル表示器１３を代替してもよいが、図２では、一例として、プログラマブル表示器１３を代替したパネルコンピュータ４１と、パネルコンピュータ４１に代替される前のプログラマブル表示器１３とが混在した制御システム１を例示している。また、当該パネルコンピュータ４１が特許請求の範囲に記載の「特殊制御装置を代替する制御装置」に対応する。
【００８９】
上記パネルコンピュータ４１は、汎用のコンピュータを、入力装置としてタッチパネルを採用し、防水処理を施すなどして、耐環境性能を向上させたものであって、電気的、あるいは、ソフトウェアから見たときのハードウェア構成は、ＯＡ用途で使用されている汎用のコンピュータと略同一のものが使用されている。当該パネルコンピュータ４１の一例としては、例えば、ＯＳ（Operating System）として、Ｗｉｎｄｏｗｓ（登録商標）が動作するコンピュータなどが挙げられる。
【００９０】
具体的には、図６に示すように、本実施形態に係るパネルコンピュータ４１は、図３に示すプログラマブル表示器１３とＳＲＡＭ２９を除いて同様に、ＣＰＵ５１と、例えば、ハードディスクドライブ、フラッシュメモリあるいはＲＯＭなどからなり、当該ＣＰＵ５１によって実行されるプログラムおよび当該ＣＰＵ５１によって参照されるデータ（例えば、フォントデータなど）が格納される不揮発性の記憶装置５２と、例えば、例えば、ＤＲＡＭなどからなる揮発性のメインメモリ（揮発性メモリ）５３とを備えている。当該メインメモリ５３は、ＣＰＵ５１のアドレス空間にマップされており、ＣＰＵ５１は、上記プログラムを実行する際に、例えば、作業領域などとして、当該メインメモリ５３を使用できる。
【００９１】
本実施形態では、上記不揮発性の記憶装置５２の一例として、上記ＣＰＵ５１に接続されたＲＯＭ５２ａと、Ｉ／Ｏ回路５４を介してＣＰＵ５１に接続されたハードディスクドライブ５２ｂとが採用されており、上記ＣＰＵ５１は、これらの記憶装置５２から、プログラムやデータなどを読み取ったり、プログラムおよびデータを更新したりできる。
【００９２】
さらに、パネルコンピュータ４１には、プログラマブル表示器１３と同様に、入出力装置として、液晶表示装置などの表示装置５５およびタッチパネル５６とを備えており、上記Ｉ／Ｏ回路５４は、上記ＣＰＵ５１の指示に応じて、表示装置５５およびタッチパネル５６を制御できる。
【００９３】
また、パネルコンピュータ４１は、プログラマブル表示器１３と同様に、ＲＳ−２３２Ｃなどの規格のシリアルポート５７ａを介して通信する通信回路５７も備えており、上記ＣＰＵ５１は、当該通信回路５７およびシリアルポート５７ａを介して、例えば、上述したＰＬＣ１１や後述する作画エディタ装置１９などの外部装置と通信できる。さらに、パネルコンピュータ４１には、プログラマブル表示器１３と同様、図２に示すＬＡＮ１５と通信するためのネットワーク・インターフェース回路５８も設けられており、上記ＣＰＵ５１は、当該ネットワーク・インターフェース回路５８およびＬＡＮ１５を介して、上述した制御用ホストコンピュータ１７、プログラマブル表示器１３、あるいは、他のパネルコンピュータ４１と通信できる。
【００９４】
ただし、上記パネルコンピュータ４１には、プログラマブル表示器１３とは異なって、バッテリバックアップされたＳＲＡＭ２９が省略されており、詳細は後述するように、揮発性のメインメモリ５３と不揮発性の記憶装置５２とが協調して動作することによって、上記バッテリバックアップされたＳＲＡＭ２９を代替している。
【００９５】
具体的には、上記プログラマブル表示器１３と同様、パネルコンピュータ４１のＣＰＵ５１が不揮発性の記憶装置５２に格納されたプログラムを実行して上記各部材５１〜５４および５７〜５８のうちの必要な部材を制御すると、パネルコンピュータ４１には、機能ブロックとして、図１に示すように、ＰＬＣ１１と通信するＰＬＣ・ＩＦ部６１と、上記ＬＡＮ１５に接続するためのＬＡＮ・ＩＦ部６２と、上記各部材６１・６２並びに表示装置５５およびタッチパネル５６を制御するＨＭＩ処理部（制御手段）６３と、上記記憶装置５２およびメインメモリ５３のいずれかを記憶媒体として使用することによって実現され、上記画面データを記憶する画面データ記憶部６４と、上記記憶装置５２およびメインメモリ５３のいずれかを記憶媒体として使用することによって実現され、上記ＨＭＩ処理部６３が取得したデバイスの状態を記憶する状態記憶部６５とが形成される。
【００９６】
なお、ＨＭＩ処理部６３は、ＨＭＩ処理部３３と同様に、画面データに基づいて、デバイスの状態を取得して表示する動作、および、受け付けた操作あるいは取得した他のデバイスの状態に応じてデバイスの状態を変更（制御）する動作を行っており、ＨＭＩ処理部３３と同様に、スクリプト（プログラム）によって指定された動作も実行できる。さらに、ＨＭＩ処理部６３は、スクリプト内に、以下の検出結果に応じた動作、すなわち、ＨＭＩ処理部６３自体の起動／終了、各種エラーの発生、時間、画面切り替え、あるいは、ボタン押下などの検出結果に応じた動作も記述できるように構成されている。
【００９７】
ここで、ＯＡ用途などで使用される汎用のコンピュータであれば、各部材５１〜５４および５７〜５８を備えているので、これらの部材を有するコンピュータが、上記あるいは後述のプログラム、すなわち、上記各部材６１〜６５および７１〜７３（後述）を実現するためのプログラムを記録した記録媒体（例えば、ＣＤ−ＲＯＭなど）を読み取り、当該プログラムを実行するだけで、本実施形態に係るパネルコンピュータ４１を実現できる。なお、これらの部材のうち、各記憶部６４および６５は、記憶装置自体であってもよい。なお、例えば、ＬＡＮ１５、あるいは、他の通信路を介してプログラムをダウンロードするためのプログラムが、上記コンピュータに予めインストールされていれば、これらの通信路を介して、上記コンピュータへ上記プログラムを配付することもできる。
【００９８】
さらに、パネルコンピュータ４１には、メインメモリ５３の少なくとも一部を記憶媒体として使用する擬似ＳＲＡＭ処理部（代替手段）７１と、予め定められた事象（イベント）が発生した場合に、上記メインメモリ５３のうち、上記擬似ＳＲＡＭ処理部７１の記憶媒体として使用する記憶領域の内容をバックアップするバックアップ処理部（バックアップ手段）７２と、上記バックアップ処理部７２がバックアップするタイミングを設定するタイミング設定部（第１および第２トリガ設定手段）７３とが設けられている。
【００９９】
なお、これらの部材７１〜７３も、上記各部材６１〜６５と同様に、パネルコンピュータ４１のＣＰＵ５１が不揮発性の記憶装置５２に格納されたプログラムを実行して上記各部材５１〜５４および５７〜５８のうちの必要な部材を制御することによって実現される機能ブロックである。また、本実施形態では、一例として、上記各部材６１〜７３を実現するためのプログラムがＯＳ上で動作するアプリケーションプログラムとして実装されている。
【０１００】
上記擬似ＳＲＡＭ処理部７１は、ＳＲＡＭ２９を模擬するものであって、例えば、ＯＳのメモリ管理部へ依頼するなどして、メインメモリ５３の記憶領域のうち、模擬の対象するＳＲＡＭ２９と同じ広さの記憶領域を確保できる。また、擬似ＳＲＡＭ処理部７１は、問い合わせに応じて、当該記憶領域の先頭アドレスを返答できる。なお、以下では、当該記憶領域を、擬似ＳＲＡＭ処理部７１の記憶領域と称する。
【０１０１】
また、バックアップ処理部７２は、上記予め定められたイベントが発生したか否かを監視すると共に、当該イベントの発生を検出した場合、上記擬似ＳＲＡＭ処理部７１の記憶領域の内容を、不揮発性の記憶装置５２に書き込むことができる。さらに、例えば、パネルコンピュータ４１の電源投入時など、正常動作の再開時には、バックアップ処理部７２は、不揮発性の記憶装置５２に書き込んだ内容を、擬似ＳＲＡＭ処理部７１の記憶領域に書き込むことができる。
【０１０２】
なお、上述したように、本実施形態に係る擬似ＳＲＡＭ処理部７１の記憶領域は、擬似ＳＲＡＭ処理部７１が動作を開始する度（電源投入毎など）に確保されるので、その度に、記憶領域の位置が変化する可能性がある。したがって、バックアップ処理部７２は、例えば、擬似ＳＲＡＭ処理部７１が動作を開始する度（電源投入毎など）など、記憶領域の位置が変わる可能性があると予め定められたタイミングになる度に、擬似ＳＲＡＭ処理部７１へ問い合わせて、記憶領域の位置を取得している。
【０１０３】
また、本実施形態では、これらの部材７１〜７３を制御するためのＡＰＩ（Application Programming Interface ）として、バックアップ処理部７２へバックアップタイミングを設定するためのインターフェース、擬似ＳＲＡＭ処理部７１が代替するＳＲＡＭ２９のサイズを擬似ＳＲＡＭ処理部７１に設定するためのインターフェース、擬似ＳＲＡＭ処理部７１の内容のバックアップおよび不揮発性の記憶装置５２からのリカバリーをバックアップ処理部７２へ指示するためのインターフェース、あるいは、擬似ＳＲＡＭ処理部７１の内容を読み書きするためのインターフェースなども設定されている。これにより、上記ＨＭＩ処理部６３以外のアプリケーションからも、上記各部材７１〜７３を制御したり、擬似ＳＲＡＭ処理部７１の内容を読み書きしたりすることができる。
【０１０４】
ここで、本実施形態に係るタイミング設定部７３は、例えば、図７に示すように、バックアップ処理部７２の監視対象として、ＨＭＩ処理部６３が取得／制御可能なデバイスの状態を設定でき、バックアップ処理部７２は、監視対象としてデバイスの状態が設定された場合、予め定めれたタイミング（例えば、予め定められたスキャンタイム毎など）で、例えば、状態記憶部６５の記憶領域のうち、設定されたデバイスの状態が記憶された領域の内容を確認したり、ＰＬＣ１１との通信を監視したりして、設定されたデバイスの状態を監視できる。したがって、例えば、ＰＬＣ１１からのトリガ信号の内容、ＰＬＣ１１に接続されているデバイス２ａの信号（接点信号やアナログ信号）の内容をはじめとして、ＨＭＩ処理部６３が取得／制御可能なデバイスの状態を監視できる。また、タイミング設定部７３は、上記イベントとして、上記監視対象となるデバイスの内容変更時に発生するイベント、当該デバイスの内容が所定の値に設定されている場合に発生するイベントなどを設定でき、バックアップ処理部７２は、設定されたデバイスの状態を監視して、設定されたイベントが発生したか否かを判定できる。
【０１０５】
なお、本実施形態では、ＨＭＩ処理部６３は、画面を表示するために、上記デバイスの状態を取得しており、バックアップ処理部７２は、ＨＭＩ処理部６３によって取得されるデバイスの状態を監視している。これにより、バックアップ処理部７２において、デバイスの状態を取得するための構成の殆どは、ＨＭＩ処理部６３がデバイスの状態を取得するための構成と共有されている。
【０１０６】
また、本実施形態に係るタイミング設定部７３は、バックアップ処理部７２に対して周期的に書き込むように設定でき、バックアップ処理部７２は、周期的な書き込みが設定されている場合、前回のバックアップした時点から予め定められた時間が経過する度に、擬似ＳＲＡＭ処理部７１の記憶領域の内容を不揮発性の記憶装置５２に書き込むことができる。
【０１０７】
例えば、図７の例では、タイミング設定部７３は、バックアップのトリガとなるイベントを選択するセレクトボックスＢ１を表示して、上記デバイスの状態によって発生するイベントおよび上記周期的に発生するイベントのうち、いずれを選択するかの入力（監視すべきイベントの種類の入力）を促している。なお、図７では、一例として、上記セレクトボックスＢ１が、「周期的に発生するイベントと、デバイスとしてのビットデバイスの内容が変化したときに発生するイベントと、ビットデバイスがＯＮのときに発生するイベントとのいずれかが発生したときに、バックアップする」ように設定された状態を図示している。
【０１０８】
また、図７の例では、タイミング設定部７３は、上記セレクトボックスＢ１に加えて、周期の入力を促すテキストボックスＢ２を表示して、周期の入力を受け付けている。さらに、タイミング設定部７３は、監視対象とするデバイスを特定するための情報の入力を促す入力欄として、例えば、テキストボックスＢ３を表示して、当該情報の入力を受け付けている。
【０１０９】
さらに、タイミング設定部７３は、例えば、上記イベントの種類、デバイスを特定するための情報あるいは周期など、監視すべきイベントを特定するための情報の入力を受け付けると、当該イベントを監視するように、バックアップ処理部７２へ指示できる。
【０１１０】
ここで、本実施形態に係るタイミング設定部７３は、バックアップ処理部７２が監視対象とするデバイスを指定する際、作画エディタ装置１９にてデバイスを指定する際と同じ名称による指定を受け付けており、作画エディタ装置１９と、タイミング設定部７３とで、互い同じ名称でデバイスが指定された場合、タイミング設定部７３は、バックアップ処理部７２に対して、ＨＭＩ処理部６３が状態を取得したり制御するデバイスと同じデバイス、あるいは、それを代替するデバイスの状態を監視するように設定する。
【０１１１】
例えば、図７の例では、テキストボックスＢ３には、擬似ＳＲＡＭ処理部７１の記憶領域を示すデバイスアドレス（例えば、”［＃ＩＮＴＥＲＮＡＬ］ＬＳ００００”）が入力されている状態を示している。ここで、上述したように、”［＃ＩＮＴＥＲＮＡＬ］ＬＳ００００”は、作画エディタ装置１９でＳＲＡＭ２９の一部としてのデバイスを指定したときと同じ名称が使用されている。さらに、プログラマブル表示器１３では、ＳＲＡＭ２９の記憶領域の一部を示しているが、パネルコンピュータ４１では、擬似ＳＲＡＭ処理部７１の記憶領域の一部で代替されている。したがって、タイミング設定部７３において、”［＃ＩＮＴＥＲＮＡＬ］ＬＳ００００”と設定された場合、バックアップ処理部７２は、擬似ＳＲＡＭ処理部７１の記憶領域のうち、ＳＲＡＭ２９の”［＃ＩＮＴＥＲＮＡＬ］ＬＳ００００”で指定される記憶領域を代替する記憶領域の内容を監視する。
【０１１２】
なお、上記では、バックアップ処理部７２に設定可能なイベントが、デバイスの状態によって発生するイベントと、周期的に発生するイベントとである場合を例にして説明したが、他のイベントを設定可能に構成してもよい。例えば、タイミング設定部７３は、バックアップ処理部７２の監視対象としてＯＳからの通知も設定でき、バックアップ処理部７２は、ＯＳからの通知が設定されている場合、設定された通知を受け取った時点で、擬似ＳＲＡＭ処理部７１の記憶領域の内容を不揮発性の記憶装置５２に書き込んでもよい。なお、ＯＳからの通知としては、例えば、ＵＰＳ（Uninterrupted Power Supply）から電源断を報告する信号を受け取ったことの通知、レジューム状態に入ることまたはレジューム状態から復帰したことの通知、あるいは、ＯＳ上で動作しているプログラムまたはＯＳが開始／終了することの通知などが挙げられる。一例として、バックアップ処理部７２は、レジュームに入る時にＯＳから出される通知を受けて、擬似ＳＲＡＭ処理部７１の記憶領域の内容を不揮発性の記憶装置５２に書き込むことができる。また、他の例として、バックアップ処理部７２は、ＯＳまたはプログラムが終了すること（終了したこと）の通知をＯＳから受けて、擬似ＳＲＡＭ処理部７１の記憶領域の内容を不揮発性の記憶装置５２に書き込むことができる。
【０１１３】
また、本実施形態に係るバックアップ処理部７２は、上記記憶領域の内容を不揮発性の記憶装置５２に書き込む際、ＲＡＷデータの書き込みによって、上記記憶装置５２の予め定められた記憶領域に上記内容を書き込んでいる。
【０１１４】
ここで、当該記憶装置５２に構築されたファイルシステム経由で書き込む構成では、ファイルシステムには、データとは別に、当該データの格納場所を管理するための管理領域も設けられており、データの更新に伴なって、当該管理領域も更新される可能性がある。この場合、管理領域の更新中に予期しない電源断によって、管理領域の内容が破壊され、ファイルシステムが破壊されると、データ自体は正しく書き込めているにも拘わらず、管理領域の内容が破壊されているため、記憶装置５２のデータにアクセスできなく虞れがある。
【０１１５】
これに対して、本実施形態に係るバックアップ処理部７２は、ＲＡＷデータの書き込みによって、上記記憶装置５２の予め定められた記憶領域に、上記擬似ＳＲＡＭ処理部７１の記憶領域の内容を書き込んでいる。したがって、当該内容の書き込み中に不慮の電源断が発生しても、上述の不具合の発生を防止でき、正常動作の再開時において、バックアップ処理部７２は、電源断までに書き込んだところまでのデータを正しく読み出すことができる。
【０１１６】
加えて、本実施形態に係るタイミング設定部７３は、図７に示すように、バックアップ処理部７２に対して、自らの状態（書き込み中ステータス）に応じてデバイスの状態を変更するように設定できる。一方、バックアップ処理部７２は、当該設定がなされている場合、不揮発性の記憶装置５２に擬似ＳＲＡＭ処理部７１の記憶領域の内容を書き込んでいるか否かに応じて、設定されたデバイスの内容を変更できる。なお、本実施形態に係るバックアップ処理部７２は、例えば、上記状態記憶部３５の記憶領域のうち、上記設定されたデバイスの状態が格納される領域を変更して、当該デバイスの内容を変更している。
【０１１７】
例えば、図７の例では、タイミング設定部７３は、バックアップ処理部７２の状態に応じてデバイスの状態を変更するようにバックアップ処理部７２に指示するか否かの入力を促すチェックボックスＢ４を表示すると共に、バックアップ処理部７２の状態に応じて変更すべきデバイスを特定するための情報の入力を促す入力欄として、例えば、テキストボックスＢ５を表示している。さらに、タイミング設定部７３は、バックアップ処理部７２の状態に応じて状態を変更すべきデバイスの入力を受け付けると、バックアップ処理部７２に対して、自らの状態に応じて、上記デバイスの状態を変更するように指示する。
【０１１８】
これにより、バックアップ処理部７２は、不揮発性の記憶装置５２に擬似ＳＲＡＭ処理部７１の記憶領域の内容を書き込んでいる場合、上記デバイス（図の例では、”［＃ＩＮＴＥＲＮＡＬ］ＬＳ０００１”）の値を、書き込み中を示す値に設定する。また、バックアップ処理部７２は、書き込みが終了すると、当該デバイスの値を、書き込みしていないことを示す値に設定する。
【０１１９】
ここで、上記デバイスは、ＨＭＩ処理部６３が状態を把握可能なデバイスである。したがって、制御システム１のユーザ（作画エディタ装置１９を操作する画面設計者）は、ターゲットシステム２のデバイス２ａの状態を表示したり、状態に応じて他のデバイスの状態を変更するようにプログラマブル表示器１３（パネルコンピュータ４１）を設定する場合と同様に、作画エディタ装置１９を操作して画面データを変更することによって、上記バックアップ処理部７２によって変更されるデバイスの状態、上記バックアップ処理部７２の状態を表示したり、当該状態に応じて他のデバイスの状態を変更するように、パネルコンピュータ４１を設定できる。
【０１２０】
一方、上記プログラムのうち、部材６１〜６５を実現するためのプログラムは、プログラマブル表示器１３の各部材３１〜３５を実現するためのプログラムを、パネルコンピュータ４１でも動作するように移植したものであって、上記各部材６１〜６５は、基本的には、上記各部材３１〜３５と同様に動作する。
【０１２１】
これにより、パネルコンピュータ４１は、プログラマブル表示器１３と同様に、画面データ記憶部６４に格納された画面データに基づいて、デバイスの状態を取得して表示したり、受け付けた操作あるいは取得した他のデバイスの状態に応じてデバイスの状態を変更したりできる。なお、プログラマブル表示器１３のＨＭＩ処理部３３と同様、パネルコンピュータ４１のＨＭＩ処理部６３は、取得したデバイスの状態を状態記憶部６４に記憶し、デバイスの状態表示する際、あるいは、デバイスの状態を変更する際などに、上記画面データを参照している。
【０１２２】
ただし、上述したように、パネルコンピュータ４１には、プログラマブル表示器１３とは異なってＳＲＡＭ２９が設けられていない。したがって、上記ＨＭＩ処理部６３は、ＳＲＡＭ２９を記録媒体とする不揮発性記憶部３６へアクセスする代わりに、上記擬似ＳＲＡＭ処理部７１にアクセスするように変更されている。
【０１２３】
より詳細に説明すると、上述したように、本実施形態に係るＨＭＩ処理部３３としてＣＰＵ２１を動作させるプログラムにおいて、不揮発性記憶部３６の指定されたアドレスへアクセスするルーチンでは、例えば、不揮発性記憶部３６としてのＳＲＡＭ２９の先頭アドレスをベースアドレスに設定する手順、および、上記指定されたアドレスを、そのベースアドレスからのオフセットとして指定することによって、上記指定されたアドレスへアクセスする手順が記述されている。なお、１度ベースアドレスが設定されると、そのベースアドレスが他の用途のために変更されない限り、再度のベースアドレスの設定は不要である。したがって、一般には、不揮発性記憶部３６の指定されたアドレスへアクセスするルーチンでは、１度のベースアドレス設定に対して、各アドレスへのアクセスは、複数回行われている。
【０１２４】
これに対して、本実施形態に係るＨＭＩ処理部６３としてＣＰＵ５１を動作させるプログラムにおいて、上記擬似ＳＲＡＭ処理部７１の指定されたアドレスへアクセスするルーチンでは、不揮発性記憶部３６としてのＳＲＡＭ２９の先頭アドレスをベースアドレスに設定する手順に代えて、上記擬似ＳＲＡＭ処理部７１に、その記憶領域の先頭アドレスを問い合わせると共に返された値をベースアドレスに設定する手順が記述されている。なお、その後の手順、すなわち、各アドレスへアクセスする手順は、変更されていないが、当該手順は、ベースアドレスを基準にしたオフセットによって、アクセス対象とする記憶領域のアドレスを指定しているので、何ら支障なく、各アドレスへアクセスできる。
【０１２５】
ここで、比較例として、上記擬似ＳＲＡＭ処理部７１の記憶領域をファイル上に確保する構成では、上記各アドレスへアクセスする手順の全てを、ファイルに読み書きする手順に変更する必要がある。したがって、移植に手間がかかってしまう。
【０１２６】
これに対して、本実施形態に係る擬似ＳＲＡＭ処理部７１の記憶領域は、メインメモリ５３上に確保されている。したがって、ファイルに確保する構成と異なって、上記各アドレスへアクセスする手順は、何ら変更する必要がない。
【０１２７】
なお、上記擬似ＳＲＡＭ処理部７１の記憶領域は、メインメモリ５３上に確保されているので、ファイルに確保する構成とは異なって、ＳＲＡＭ２９にアクセスする場合と略同じ速度でアクセスできる。したがって、アクセスする際のタイミングを変更する必要もない。
【０１２８】
これらの結果、ＨＭＩ処理部３３として動作するプログラムを修正してＨＭＩ処理部６３として動作させるプログラムを作成する際、ファイルに格納する構成と比較して、プログラムの変更箇所の数を削減でき、移植時の手間を削減できる。
【０１２９】
一方、不慮の電源断などの後、電力供給が再開された場合、バックアップ処理部７２は、上記不揮発性の記憶装置５２の予め定められた記憶領域に書き込まれていた、上記擬似ＳＲＡＭ処理部７１の記憶領域の内容を読み出して、擬似ＳＲＡＭ処理部７１の記憶領域に書き込んで、擬似ＳＲＡＭ処理部７１の内容をリカバリーできる。さらに、ＨＭＩ処理部６３は、不慮の電源断などの後、電力供給が再開された場合、プログラマブル表示器１３のＨＭＩ処理部３３と同様に、上記擬似ＳＲＡＭ処理部７１に記憶されているデータを参照し、電源断の直前の状態へと速やかに復旧できる。
【０１３０】
以上のように、本実施形態に係るパネルコンピュータ４１は、バッテリバックアップされたＳＲＡＭ２９が設けられたプログラマブル表示器１３を代替しており、パネルコンピュータ４１のＨＭＩ処理部６３は、プログラマブル表示器１３のＨＭＩ処理部３３と同様、制御対象となる各デバイスの状態を取得する動作と、当該取得した各デバイスの状態を表示する動作と、当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作とを行っている。
【０１３１】
ここで、プログラマブル表示器１３には、ＳＲＡＭ２９が設けられており、上記ＨＭＩ処理部３３の取得したデバイスの状態変化に応じて内容が更新されるのに対して、パネルコンピュータ４１には、揮発性のメインメモリ５３と、それよりもアクセス速度の遅い不揮発性の記憶装置５２としか設けられていない。したがって、上記ＳＲＡＭ２９の更新タイミングと同様のタイミングで、常に、不揮発性の記憶装置５２の内容を更新すると、上記不揮発性の記憶装置５２のアクセス速度の遅さによって、パネルコンピュータ４１の動作速度が低下してしまう。一方、揮発性のメインメモリ５３は、不揮発性の記憶装置５２よりもアクセス速度が速いため、上記ＳＲＡＭ２９の更新タイミングと同様のタイミングで常時内容を更新しても、動作速度の低下が発生しない。ところが、不所望な電源断が発生すると、上記プログラマブル表示器１３のＳＲＡＭ２９とは異なって書き込んだ内容が失われてしまう。
【０１３２】
これに対して、上記構成では、パネルコンピュータ４１の擬似ＳＲＡＭ処理部７１が、上記揮発性のメインメモリ５３の記憶領域の少なくとも一部を上記ＳＲＡＭ２９の代替領域として使用して、上記ＳＲＡＭ２９を代替している。さらに、パネルコンピュータ４１のバックアップ処理部７２は、予め定められたトリガが発生すると、上記擬似ＳＲＡＭ処理部７１の内容を上記不揮発性の記憶装置５２に書き込んでいる。
【０１３３】
ここで、ＳＲＡＭ２９（あるいはそれを代替する擬似ＳＲＡＭ処理部７１）の内容が更新されるタイミングは、ＨＭＩ処理部３３（あるいは、それを代替するＨＭＩ処理部６３）の動作、あるいは、デバイスの種類などによって変化する。また、デバイスがＰＬＣ１１を介して上記パネルコンピュータ４１に接続されている場合は、ＰＬＣ１１の動作（ラダープログラムなどの制御プログラム）などによっても変化する。この結果、制御システム１毎に、上記擬似ＳＲＡＭ処理部７１の内容が更新されるタイミングも互いに異なっており、当該擬似ＳＲＡＭ処理部７１の内容を不揮発性の記憶装置５２に格納する際の適切なタイミングも、互いに異なってしまう。なお、不適切なタイミングで擬似ＳＲＡＭ処理部７１の内容を不揮発性の記憶装置５２に書き込むと、書き込み頻度が高過ぎてパネルコンピュータ４１の動作速度を低下させたり、書き込み頻度が低過ぎて不所望な電源断時に必要なデータを消失させてしまったりしてしまう。
【０１３４】
これに対して、上記パネルコンピュータ４１のタイミング設定部７３は、上記バックアップ処理部７２のトリガの指定として、上記ＨＭＩ処理部６３が状態を取得する各デバイスの状態または各デバイスの状態変化のうちの少なくとも１つの指定を受け付け、当該指定されたトリガを上記バックアップ処理部７２のトリガとして設定する。したがって、バックアップ処理部７２は、制御システム１の実情に即したタイミングで擬似ＳＲＡＭ処理部７１の内容を不揮発性の記憶装置５２に書き込むことができ、パネルコンピュータ４１の動作速度を余り低下させずに、必要なデータが消失する可能性を抑制できる。
【０１３５】
また、本実施形態では、上記ＨＭＩ処理部３３・６３は、上記制御対象となる各デバイスの状態を取得する動作と当該取得した各デバイスの状態を表示する動作と当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作とを規定する画面データであって、各動作を特定する情報と各デバイスを特定する情報との対応関係が記述された画面データに基づいて、上記取得動作、表示動作および制御動作を行っている。
【０１３６】
当該構成では、上記ＨＭＩ処理部３３・６３は、各動作を特定する情報と各デバイスを特定する情報との対応関係が記述された画面データに基づいて、上記取得動作、表示動作および制御動作を行っている。したがって、画面データの設計者は、制御システム１の実情に即して上記画面データに当該対応関係を記述するだけで、上記ＨＭＩ処理部３３・６３に上記取得動作、表示動作および制御動作を行わせることができ、各動作を全てをプログラムする構成よりも容易に、上記ＨＭＩ処理部３３・６３の動作を制御システム１の実情に合わせて設定できる。この結果、パネルコンピュータ４１は、パネルコンピュータ４１の製造者よりも制御システム１の運営者に近い者（例えば、運営者自体、あるいは、運営者からの委託を受けた設計者など）が設計した画面データに基づいて動作することによって、当該パネルコンピュータ４１が配備された制御システム１の実情に即した状態取得動作、表示動作および制御動作を行うことができる。
【０１３７】
ここで、上述したように、バックアップ処理部７２が擬似ＳＲＡＭ処理部７１の内容を不揮発性の記憶装置５２に格納する際の適切なタイミングは、ＨＭＩ処理部３３（あるいは、それを代替するＨＭＩ処理部６３）の動作によっても変化する。
【０１３８】
ところが、上記パネルコンピュータ４１では、タイミング設定部７３は、上記バックアップ処理部７２のトリガの指定として、上記ＨＭＩ処理部６３が状態を取得する各デバイスの状態または各デバイスの状態変化のうちの少なくとも１つの指定を受け付け、当該指定されたトリガを上記バックアップ処理部７２のトリガとして設定できる。したがって、例えば、上記画面データの設計者など、ＨＭＩ処理部３３（あるいは、それを代替するＨＭＩ処理部６３）の動作を把握している者が、タイミング設定部７３を操作することによって、制御システム１の実情にさらに即したトリガを上記バックアップ処理部７２に設定できる。この結果、バックアップ処理部７２は、制御システム１の実情に即したタイミングで擬似ＳＲＡＭ処理部７１の内容を不揮発性の記憶装置５２に書き込むことができ、パネルコンピュータ４１の動作速度を余り低下させずに、必要なデータが消失する可能性を抑制できる。
【０１３９】
さらに、本実施形態では、上記ＳＲＡＭ２９の記憶領域の一部の領域と、上記擬似ＳＲＡＭ処理部７１の記憶領域のうち、それに対応する領域とは、上記画面データにてデバイスとして記述可能である。
【０１４０】
上記構成では、上記ＳＲＡＭ２９の記憶領域の一部の領域と、上記擬似ＳＲＡＭ処理部７１の記憶領域のうち、それに対応する領域とは、上記画面データにてデバイスとして記述できる。したがって、画面データの設計者は、重要と判断したデータを当該領域に書き込むように、画面データを記述することによって、当該データが消失する可能性を低減できる。
【０１４１】
ここで、当該データがどの程度重要であるかは、画面データの設計者によって判断されるが、上記パネルコンピュータ４１では、上述したように、パネルコンピュータ４１のタイミング設定部７３の設定によって、バックアップ処理部７２のトリガを設定できる。したがって、例えば、画面データの設計者など、上記データの重要度を把握している者がタイミング設定部７３を操作することによって、制御システム１の実情にさらに即したトリガを上記バックアップ処理部７２に設定できる。この結果、バックアップ処理部７２は、制御システム１の実情に即したタイミングで擬似ＳＲＡＭ処理部７１の内容を不揮発性の記憶装置５２に書き込むことができ、パネルコンピュータ４１の動作速度を余り低下させずに、必要なデータが消失する可能性を抑制できる。
【０１４２】
また、本実施形態に係るタイミング設定部７３は、上記画面データを作成する作画エディタ装置１９が上記各動作に関連するデバイスの指定を受け付ける際の手順と同じ手順で、その状態または状態変化が上記バックアップ処理部７２のトリガとなるデバイスの指定を受け付けている。
【０１４３】
当該構成では、上記タイミング設定部７３は、上記画面データを作成する作画エディタ装置１９が上記各動作に関連するデバイスの指定を受け付ける際の手順と同じ手順で、その状態または状態変化が上記バックアップ処理部７２のトリガとなるデバイスの指定を受け付けることができるので、画面データの設計者は、作画エディタ装置１９を操作して、上記各動作に関連するデバイスを指定するときと同じ手順で、バックアップ処理部７２のトリガとなるデバイスを指定でき、パネルコンピュータ４１の操作性を向上できる。
【０１４４】
さらに、本実施形態に係るタイミング設定部７３は、予め定められた時間間隔で、上記バックアップ処理部７２が上記擬似ＳＲＡＭ処理部７１の内容を上記不揮発性の記憶装置５２に書き込むように設定できる。
【０１４５】
当該構成では、バックアップ処理部７２は、予め定められた時間間隔で、上記擬似ＳＲＡＭ処理部７１の内容を上記不揮発性の記憶装置５２に書き込むことができる。したがって、上記デバイスの状態に関連するトリガが発生しない場合でも、上記擬似ＳＲＡＭ処理部７１の内容は、上記不揮発性の記憶装置５２に格納される。この結果、必要なデータが消失する可能性を、さらに抑制できる。
【０１４６】
なお、この場合、上記擬似ＳＲＡＭ処理部７１の内容は、上記デバイスの状態に関連するトリガが発生した場合にも上記不揮発性の記憶装置５２に格納される。したがって、周期的なトリガの設定のみが可能な構成と比較すると、上記時間間隔をより長く設定しても、必要なデータが消失する可能性を充分に低く設定できる。このように、本実施形態に係るパネルコンピュータ４１では、イベントドリブンなトリガの設定と周期的な書き込みトリガの設定とを、制御システム１の実情に合わせて設定できるので、システムの仕様に影響させずに（必要なデータが電源断があっても保持されているのに）、パネルコンピュータ４１の動作速度低下を、充分低いレベルに抑えることができる。
【０１４７】
また、本実施形態に係るバックアップ処理部７２は、上記擬似ＳＲＡＭ処理部７１の内容を不揮発性の記憶装置５２に書き込んでいる期間であるか否かに応じて、上記各デバイスのうち、予め定められたデバイスの状態を変更している。
【０１４８】
当該構成では、上記各デバイスのうち、予め定められたデバイスの状態は、上記擬似ＳＲＡＭ処理部７１の内容の書き込み期間中であるか否かに応じて変更されるので、上記ＨＭＩ処理部６３は、当該デバイスの状態を取得し、当該取得した各デバイスの状態を表示する動作および当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作の少なくとも一方を行うことができる。この結果、パネルコンピュータ４１は、書き込み期間中であるか否かに応じて、表示を変更したり各デバイスの制御動作を変更したりでき、より適切な動作を行うことができる。
【０１４９】
一例として、パネルコンピュータ４１は、書き込み期間中、電源を遮断しないように表示したりして、オペレータに通知できる。なお、本実施形態では、ＨＭＩ処理部６３が画面データに基づいて動作しているので、画面データの設計者は、書き込み期間中であるか否かに応じて上記各動作を変更するように画面データを設計できる。したがって、より制御システム１の実情に即した動作をパネルコンピュータ４１に行わせることができる。
【０１５０】
さらに、本実施形態に係るタイミング設定部７３は、上記バックアップ処理部７２が状態を変更するデバイスの指定を受け付けると共に、当該指定されたデバイスの状態を変更するように上記バックアップ処理部７２に設定している。
【０１５１】
ここで、バックアップ処理部７２が状態を変更するデバイスの状態が固定されていると、変更可能な構成と比較して、ＨＭＩ処理部６３に所望の動作を行わせる際に、ＨＭＩ処理部６３の動作を変更する必要のある箇所が多くなる可能性がある。この場合、例えば、画面データの設計者が画面データの記述を変更したり、パネルコンピュータ４１の製造者がＨＭＩ処理部６３のプログラム自体を変更したりすることが必要になり、ＨＭＩ処理部６３の動作を変更する際に手間がかかる虞れがある。
【０１５２】
これに対して、本実施形態では、タイミング設定部７３へ指示することによって、バックアップ処理部７２が状態を変更するデバイスの状態を変更できる。この結果、当該デバイスが固定されている構成と比較して、ＨＭＩ処理部６３の動作変更が必要な箇所の数を削減でき、パネルコンピュータ４１の製造者（例えば、各部材６１〜７３としてコンピュータを動作させるプログラムの製作者など）、あるいは、画面データの設計者の手間を削減できる。
【０１５３】
本実施形態に係る不揮発性の記憶装置には、ファイルシステムを介してアクセスする第１領域と、当該ファイルシステムを介さずにアクセスする第２領域とが設けられており、上記バックアップ処理部７２は、上記擬似ＳＲＡＭ処理部７１の内容を当該第２領域に書き込んでいる。
【０１５４】
ここで、比較例として、擬似ＳＲＡＭ処理部７１の内容をファイルシステムを介してアクセスされる第１領域に書き込む構成の場合、擬似ＳＲＡＭ処理部７１の内容だけではなく、ファイルシステムの管理情報も更新される可能性がある。したがって、実際に不揮発性の記憶装置５２に書き込まれるデータ量が増大する虞れがある。また、例えば、不慮の電源断などによって、管理情報の更新に失敗すると、ファイルシステム全体が壊れて、ファイルシステム上に配置されたデータにアクセスできなくなる虞れがある。この場合は、電源断までの間に、一部のデータの書き込みに成功していたとしても、当該データにアクセスできなくなってしまい、復旧が困難になるだけではなく、完全な復旧ができなくことさえある。
【０１５５】
これに対して、本実施形態では、擬似ＳＲＡＭ処理部７１の内容が第１領域ではなく、第２領域に書き込まれるので、第１領域に書き込む構成と比較して、実際に不揮発性の記憶装置５２に書き込まれるデータ量を抑制でき、擬似ＳＲＡＭ処理部７１の内容の書き込みに要する時間を短縮できる。また、擬似ＳＲＡＭ処理部７１の内容を書き込んでいる最中に不慮の電源断などが発生しても、管理情報の更新失敗に伴なうファイルシステムの破壊が発生しないので、電源断が発生するまでのデータには、何ら支障なくアクセスできる。この結果、必要なデータが消失する可能性を、さらに抑制できる。
【０１５６】
なお、上記では、パネルコンピュータ４１およびプログラマブル表示器１３に、ＰＬＣ１１が外付けされる場合を例にして説明したが、これに限るものではない。パネルコンピュータ４１およびプログラマブル表示器１３が、ラダープログラムなどの制御プログラムを実行することによって、ＰＬＣ１１としても動作して、ターゲットシステム２のデバイスを直接制御してもよい。
【０１５７】
また、上記では、パネルコンピュータ４１およびプログラマブル表示器１３が、画面データに基づいて、制御対象となる各デバイスの状態を取得する動作と、当該取得した各デバイスの状態を表示する動作と、当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作とをの少なくとも一方とを行う場合について説明したが、これに限るものではない。制御対象となる各デバイスの状態を取得する動作と、当該取得した各デバイスの状態を表示する動作および当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作の少なくとも一方とを行う場合でも、上記タイミング設定部７３によって、バックアップ処理部７２は、制御システム１の実情に即したタイミングで擬似ＳＲＡＭ処理部７１の内容を不揮発性の記憶装置５２に書き込むことができるので、パネルコンピュータ４１の動作速度を余り低下させずに、必要なデータが消失する可能性を抑制できる。
【０１５８】
さらに、上記構成では、パネルコンピュータ４１がプログラマブル表示器１３を代替する構成について説明したが、これに限るものではない。パネルコンピュータ４１は、以下のような特殊な制御装置、すなわち、各デバイスの状態を取得する動作と、当該取得した各デバイスの状態を表示する動作および当該取得した各デバイスの状態に基づいて各デバイスの状態を制御する動作の少なくとも一方とを行うと共に、当該取得したデバイスの状態変化に応じて内容が更新される不揮発性の特殊メモリとを有する制御装置であれば、例えば、ＰＬＣ１１を代替してもよい。
【０１５９】
なお、この場合であっても、ＰＬＣ１１の特殊メモリを代替する擬似ＳＲＡＭ処理部の内容をバックアップする際の適切なタイミングは、ＰＬＣ１１がデバイスを制御する際の動作（例えば、ラダープログラムなどの制御プログラムなど）に大きく影響される。したがって、パネルコンピュータ４１にバックアップ処理部７２およびタイミング設定部７３を設け、各デバイスの状態または各デバイスの状態変化のうちの少なくとも１つの指定をタイミング設定部７３が受け付け、当該指定されたトリガを上記バックアップ処理部７２のトリガとして設定すれば、同様の効果が得られる。
【産業上の利用可能性】
【０１６０】
汎用のコンピュータによって実現され、プログラマブル表示器を代替可能なパネルコンピュータをはじめとして、特殊制御装置を代替する制御装置、より詳細には、不揮発性メモリを有する特殊制御装置であって、制御対象となる各デバイスの状態を取得して動作する特殊制御装置を代替する制御装置に広く適用できる。
【図面の簡単な説明】
【０１６１】
【図１】本発明の実施形態を示すものであり、パネルコンピュータの要部構成を示すブロック図である。
【図２】上記パネルコンピュータが設けられた制御システム全体の要部構成を示すブロック図である。
【図３】上記パネルコンピュータによって代替されるプログラマブル表示器のハードウェアの要部構成を示すブロック図である。
【図４】上記プログラマブル表示器に構成される機能ブロックの要部構成を示すブロック図である。
【図５】上記パネルコンピュータおよびプログラマブル表示器によって参照される画面データを生成する作画エディタ装置の要部構成を示すブロック図である。
【図６】上記パネルコンピュータのハードウェアの要部構成を示すブロック図である。
【図７】上記パネルコンピュータの表示画面例を示す図面である。
【符号の説明】
【０１６２】
２ａ  デバイス
１３    プログラマブル表示器（特殊制御装置）
２９    ＳＲＡＭ（不揮発性の特殊メモリ）
３３    ＨＭＩ処理部（特殊制御手段）
４１    パネルコンピュータ（制御装置）
５２    不揮発性の記憶装置
５３    メインメモリ（揮発性メモリ）
６３    ＨＭＩ処理部（制御手段）
７１    擬似ＳＲＡＭ処理部（代替手段）
７２    バックアップ処理部（バックアップ手段）
７３    タイミング設定部（第１および第２トリガ設定手段）
【図１】
0004684848.tif 000002
【図２】
0004684848.tif 000003
【図３】
0004684848.tif 000004
【図４】
0004684848.tif 000005
【図５】
0004684848.tif 000006
【図６】
0004684848.tif 000007
【図７】
0004684848.tif 000008