(57)【要約】【課題】  複数の設定ソフトウェアで共有する制御機器の共有データの変更の通知を簡便に行なえる共有データ管理システムを提供すること【解決手段】  制御機器３１を設定する複数の設定ソフトウェアＡ，Ｂと、その設定ソフトウェアとデータの送受をする管理サーバ２０とを備える。設定ソフトウェアと管理サーバとは、通信単位を管理するコネクションＩＤ（ＣＩＤ）を用いて接続する。管理サーバは、設定ソフトウェアが制御機器にアクセスする変数データを一意に特定するデータＩＤと、そのデータＩＤを格納する制御機器のアドレス情報と、その変数データを利用する設定ソフトウェアのコネクションＩＤと、を関連付けた通知管理テーブル２１と、設定ソフトウェアからの通知に基づき、通知管理テーブルに格納されたアドレス情報を変更する変更手段（制御部２２）と、通知管理テーブルに格納された変数データに関する情報を、その変数データに関連付けられた接続ＩＤを持つ設定ソフトウェアに通知する通知手段（制御部２２）と、を備えた。【選択図】        図１
2007249471.tif 000002
【特許請求の範囲】
【請求項１】
制御機器を設定する複数の設定ソフトウェアと、その設定ソフトウェアとデータの送受をする管理サーバとを備え、前記設定ソフトウェアと前記管理サーバとは、通信単位を管理する接続ＩＤを用いて接続する共有データ管理システムであって、
前記管理サーバは、
前記設定ソフトウェアが前記制御機器にアクセスする変数データを前記共有データ管理システム上で一意に特定するデータＩＤと、そのデータＩＤを格納する前記制御機器のアドレス情報と、その変数データを利用する設定ソフトウェアの接続ＩＤと、を関連付けた通知管理テーブルと、
前記設定ソフトウェアからの通知に基づき、前記通知管理テーブルに格納されたアドレス情報を変更する変更手段と、
前記通知管理テーブルに格納された変数データに関する情報を、その変数データに関連付けられた接続ＩＤを持つ設定ソフトウェアに通知する通知手段と、
を備えたことを特徴とする共有データ管理システム。
【請求項２】
前記通知手段は、前記通知管理テーブルに格納された情報が変更された際に、その変更された変数データに関連付けられた接続ＩＤを持つ設定ソフトウェアに通知するものであることを特徴とする請求項１に記載の共有データ管理システム。
【請求項３】
前記通知手段は、前記設定ソフトウェアからの要求に基づき、要求のあった変数データについての情報を通知するものであることを特徴とする請求項１に記載の共有データ管理システム。
【請求項４】
前記管理サーバは、複数の変数データを階層化した階層化情報を保持するとともに、その階層化されたグループに設定されたデータＩＤを前記通信管理テーブルに格納し、
その通信管理テーブルに格納されたデータＩＤを用いて階層化されたグループの変更通知をすることを特徴とする請求項１から３のいずれか１項に記載の共有データ管理システム。
【請求項５】
制御機器を設定する複数の設定ソフトウェアと、通信単位を管理する接続ＩＤを用いて接続する管理サーバであって、
前記設定ソフトウェアが前記制御機器にアクセスする変数データを前記共有データ管理システム上で一意に特定するデータＩＤと、そのデータＩＤを格納する前記制御機器のアドレス情報と、その変数データを利用する設定ソフトウェアの接続ＩＤと、を関連付けた通知管理テーブルと、
前記設定ソフトウェアからの通知に基づき、前記通知管理テーブルに格納されたアドレス情報を変更する変更手段と、
前記通知管理テーブルに格納された変数データに関する情報を、その変数データに関連付けられた接続ＩＤを持つ設定ソフトウェアに通知する通知手段と、
を備えたことを特徴とする管理サーバ。
【請求項６】
前記通知手段は、前記通知管理テーブルに格納された情報が変更された際に、その変更された変数データに関連付けられた接続ＩＤを持つ設定ソフトウェアに通知するものであることを特徴とする請求項１に記載の共有データ管理システム。
【請求項７】
制御機器を設定する複数の設定ソフトウェアと、その設定ソフトウェアとデータの送受をする管理サーバとを備え、前記設定ソフトウェアと前記管理サーバとは、通信単位を管理する接続ＩＤを用いて接続する共有データ管理システムにおける共有データの管理方法であって、
前記管理サーバは、前記設定ソフトウェアが前記制御機器にアクセスする変数データを前記共有データ管理システム上で一意に特定するデータＩＤと、そのデータＩＤを格納する前記制御機器のアドレス情報と、その変数データを利用する設定ソフトウェアの接続ＩＤと、を関連付けた通知管理テーブルを保持し、
前記設定ソフトウェアは、前記管理サーバに対し、変更した変数データのアドレス情報をその変数データのデータＩＤとともに通知し、
前記管理サーバは、前記設定ソフトウェアからの通知に基づき、前記通知管理テーブルをアクセスし、受信したデータＩＤが前記通知管理テーブルに格納されているか否かを判断し、格納されている場合に該当するアドレス情報を変更し、
前記管理サーバは、前記通知管理テーブルに格納された変数データに関する情報を、その変数データに関連付けられた接続ＩＤを持つ設定ソフトウェアに通知することを特徴とする共有データ管理方法。
【請求項８】
前記管理サーバは、前記設定ソフトウェアからの通知に基づき前記通知管理テーブルに格納されたアドレス情報を変更した場合、その変更された変数データに関連付けられた接続ＩＤを持つ他の設定ソフトウェアに変更したアドレス情報を通知する処理を実行することを特徴とする請求項７に記載の共有データ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、共有データ管理システムおよび管理サーバ並びに共有データ管理方法に関するものである。
【背景技術】
【０００２】
ＦＡ（Factory Automation）におけるネットワークシステムは、生産設備の制御を司るＰＬＣ（Programmable Logic Controller）と、そのＰＬＣにより動作が制御される機器とが、制御系のネットワークに接続される。それらＰＬＣと機器は、その制御系のネットワークを介してサイクリックに通信を行なうことで、ＩＯデータの送受を行ない、生産設備を制御する。
【０００３】
係るシステムを構成するＰＬＣや表示器（ＰＴ）などの各機器を動作させるために必要なプログラムを作成したり、作成したプログラムをＰＬＣや機器にダウンロードしたり、ＰＬＣや機器にパラメータを設定したりする場合、ユーザは、それぞれ専用のツール（設定ソフトウェア）により行なう。すなわち、ユーザは、ＰＬＣ用のツールや、各機器用のツールを用いて処理をする。
【０００４】
係るＰＬＣは、制御処理に使用する変数データをメモリに記憶する。メモリには記憶領域があって、記憶するデータを物理アドレスに割り当てて、ある物理アドレスには定まったデータ対象が記憶されるようになっている。ツールやＰＬＣ間で、変数データを記憶する物理アドレスを共有する仕組みとして、「タグ共有」の機能がある。このタグ共有は、複数の変数データまたはメモリ上のアドレスのそれぞれに、別々の「タグ」を１つずつ対応させて、タグを複数のツールやＰＬＣで共有するものである。なお、タグは、人間が認識できる文字列であり、シンボルとか論理名とか変数名と呼ばれることがある。複数のツールは、タグと物理アドレスとの対応付け情報を都度に更新し、その情報を共有すれば、データを格納するＰＬＣの物理エリアのアドレスを変更しても、タグを介して、タグ共有の情報からデータが記憶されているメモリの物理アドレスを把握できる。しかし、タグと物理アドレスとの対応付け情報が変化したときに更新するのを忘れたり、更新しなかったりすると、間違った対応付け情報に基づいてデータを扱うこととなり、意図しないデータをツールに取り込んでしまう事象が起こる可能性があり、安全性に問題がある。そこで、特許文献１に開示された発明のように、変更を通知する機能を備えたシステムが提案されている。
【特許文献１】ＷＯ２００２／０４２８５３
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この特許文献１に開示された発明では、変更の通知はツール単位で設定している。そのため、その発明では、通知の単位が大きく、各ツールに変更の通知をする際のデータ量が大きく、実用的でない。
【０００６】
この発明の目的は、複数の設定ソフトウェア（ツール）で共有する制御機器の共有データの変更の通知を簡便に行なえる共有データ管理システムおよび管理サーバ並びに共有データ管理方法を提供することにある。
【課題を解決するための手段】
【０００７】
この発明による共有データ管理システムは、制御機器を設定する複数の設定ソフトウェアと、その設定ソフトウェアとデータの送受をする管理サーバとを備え、前記設定ソフトウェアと前記管理サーバとは、通信単位を管理する接続ＩＤを用いて接続する共有データ管理システムである。管理サーバは、設定ソフトウェアが制御機器にアクセスする変数データを共有データ管理システム上で一意に特定するデータＩＤと、そのデータＩＤを格納する前記制御機器のアドレス情報と、その変数データを利用する設定ソフトウェアの接続ＩＤと、を関連付けた通知管理テーブルを持つ。さらに、管理サーバは、前記設定ソフトウェアからの通知に基づき、前記通知管理テーブルに格納されたアドレス情報を変更する変更手段と、前記通知管理テーブルに格納された変数データに関する情報を、その変数データに関連付けられた接続ＩＤを持つ設定ソフトウェアに通知する通知手段と、を備える。
【０００８】
接続ＩＤは、実施形態ではコネクションＩＤに対応する。また、実施形態では、複数の設定ソフトウェアと、管理サーバとは、それぞれ別々の装置（コンピュータ）により構成されているが、複数の設定ソフトウェア同士を同一のコンピュータに実装しても良いし、設定ソフトウェアと管理サーバとを同一のコンピュータに実装しても良い。変更手段並びに通知手段は、実施形態では制御部２２により実現される。
【０００９】
通知手段は、通知管理テーブルに格納された情報が変更された際に、その変更された変数データに関連付けられた接続ＩＤを持つ設定ソフトウェアに通知する機能を備える。また、通知手段は、設定ソフトウェアからの要求に基づき、要求のあった変数データについての情報を通知する機能を備えることもできる。
【００１０】
管理サーバは、複数の変数データを階層化した階層化情報を保持するとともに、その階層化されたグループに設定されたデータＩＤ（最上位の変数データのデータＩＤを用いても良いし、グループに新たに設定したＩＤでもよい）を通信管理テーブルに格納し、その通信管理テーブルに格納されたデータＩＤを用いて階層化されたグループの変更通知をすることもできる。
【００１１】
本発明の管理サーバは、制御機器を設定する複数の設定ソフトウェアと、通信単位を管理する接続ＩＤを用いて接続する管理サーバであって、設定ソフトウェアが制御機器にアクセスする変数データを共有データ管理システム上で一意に特定するデータＩＤと、そのデータＩＤを格納する前記制御機器のアドレス情報と、その変数データを利用する設定ソフトウェアの接続ＩＤと、を関連付けた“通知管理テーブル”と、設定ソフトウェアからの通知に基づき、通知管理テーブルに格納されたアドレス情報を変更する“変更手段”と、通知管理テーブルに格納された変数データに関する情報を、その変数データに関連付けられた接続ＩＤを持つ設定ソフトウェアに通知する“通知手段”と、を備えて構成する。
【００１２】
そして、通知手段は、通知管理テーブルに格納された情報が変更された際に、その変更された変数データに関連付けられた接続ＩＤを持つ設定ソフトウェアに通知する機能を備えると良い。
【００１３】
本発明に係る共有データ管理方法は、制御機器を設定する複数の設定ソフトウェアと、その設定ソフトウェアとデータの送受をする管理サーバとを備え、設定ソフトウェアと前記管理サーバとは、通信単位を管理する接続ＩＤを用いて接続する共有データ管理システムにおける管理方法である。そして、管理サーバは、設定ソフトウェアが前記制御機器にアクセスする変数データを前記共有データ管理システム上で一意に特定するデータＩＤと、そのデータＩＤを格納する前記制御機器のアドレス情報と、その変数データを利用する設定ソフトウェアの接続ＩＤと、を関連付けた通知管理テーブルを保持し、設定ソフトウェアは、管理サーバに対し、変更した変数データのアドレス情報をその変数データのデータＩＤとともに通知し、その通知を受けた管理サーバは、設定ソフトウェアからの通知に基づき、通知管理テーブルをアクセスし、受信したデータＩＤが前記通知管理テーブルに格納されているか否かを判断し、格納されている場合に該当するアドレス情報を変更する。さらに、管理サーバは、通知管理テーブルに格納された変数データに関する情報を、その変数データに関連付けられた接続ＩＤを持つ設定ソフトウェアに通知する。
【００１４】
管理サーバは、設定ソフトウェアからの通知に基づき前記通知管理テーブルに格納されたアドレス情報を変更した場合、その変更された変数データに関連付けられた接続ＩＤを持つ他の設定ソフトウェアに変更したアドレス情報を通知する処理を実行するようにするとよい。
【発明の効果】
【００１５】
本発明では、管理サーバが設定アプリケーションに対してデータＩＤで特定される変数データ或いはグループ単位で変更の通知を行なう。よって、通知の際のデータ量が小さく、複数の設定ソフトウェアで共有する制御機器の共有データの変更の通知が、簡便に行なえる。
【発明を実施するための最良の形態】
【００１６】
複数のツール１０と、管理サーバ２０とが、ネットワーク３０を介して接続されている。さらに、このネットワーク３０には、ツール１０の設定／情報収集対象であるＰＬＣ等の制御機器３１が接続される。
【００１７】
ツール１０は、ＰＬＣ等の制御機器３１や図示省略する表示器等のＦＡネットワークシステムを構成する機器に対して、プログラミングや、パラメータの設定等をするためのソフトウェア（アプリケーションプログラム）である。複数のツール１０は、例えば、それぞれ異なる制御機器・機器に対して設定を行なうためのものである。また、複数のツール１０は、同一の制御機器・機器に対して、異なるプログラムをダウンロードしたり、その異なるプログラム用のパラメータの設定をしたりするためのものもある。それら複数のツール１０は、それぞれを別のコンピュータにインストールされても良いし、同一のコンピュータにインストールされても良い。前者の場合、複数のツール１０は、同一の制御機器・機器のメモリに対して共通にアクセスする。
【００１８】
本実施形態では、複数のツール１０は、共通の制御機器３１のメモリにアクセスし、データの書き込みおよびまたは読み出しをする機能を有するソフトウェア（設定ソフトウェアＡ，Ｂ）をそれぞれ備えている。
【００１９】
設定ソフトウェアＡ，Ｂは、制御機器３１にアクセスするための制御機器変数データを作成し、記憶部１０ａに格納する。制御機器変数データは、図２に示すように、データを一意に表すことができるＩＤと、アクセスする制御機器３１のメモリアドレスと、それを論理的に表す名前（変数名）と、コメントと、データサイズと、データの種別（ビット，ワード等）とからなる。設定ソフトウェアＡ，Ｂは、ＴＣＰ／ＩＰプロトコルに準拠した接続インタフェース１０ｂを備え、ネットワーク３０を介して管理サーバ２０とデータの送受をする。各接続インタフェース１０ｂごとに、コネクションＩＤ（ＣＩＤ）が設定される。
【００２０】
図３は、ツール１０を構成する設定ソフトウェアをインストールするコンピュータのハードウェア構成を示している。演算部１１は、ＯＳを含めたそれぞれの設定ソフトウェアを実行制御する。ＲＯＭもしくはＨＤＤ等の記憶部１２には、それぞれの設定ソフトウェアの実行モジュールが格納される。ＲＡＭ１３は、それぞれの設定ソフトウェアが実行される際に必要とするワークメモリとして使用される。通信制御部１４は、インターネット等のネットワークを介した通信を制御するのに使用される。制御機器変数データを格納する記憶部１０ａは、記憶部１２により実現できる。
【００２１】
管理サーバ２０は、システム上で単一に存在する。この管理サーバ２０は、各設定ソフトウェアが作成した制御機器３１の物理アドレスに論理的名前を対応付けた情報を管理する。管理サーバ２０は、係る情報を記憶する通知管理テーブル記憶部２１を備える。通知管理テーブルは、属性と、アドレスと、コネクションＩＤとを関連付けたテーブルである。なお、属性には、図２に示す制御機器変数データのうち、少なくともＩＤを含む。さらに、管理サーバ２０は、設定ソフトウェアと通信し、通知管理テーブル記憶部２１に記憶するデータの更新をしたり、所定の設定ソフトウェアに対して他の設定ソフトウェアと共有するデータが更新されたことを通知したりする制御部２２を備えている。
【００２２】
図３では、設定ソフトウェアＡは、制御機器変数データとして、制御機器３１の共有メモリのＤ１００のアドレスに格納されるデータ（データＡ）を記憶部１０ａに保持する。この設定ソフトウェアＡは、“コネクションＩＤ＝１”を用いて管理サーバ２０と通信する。設定ソフトウェアＢは、制御機器変数データとして、制御機器３１の共有メモリのＤ１００のアドレスに格納されるデータ（データＡ）と、共有メモリのＤ１０１のアドレスに格納されるデータ（データＢ）と、共有メモリのＤ２００のアドレスに格納されるデータ（データＣ）と、を記憶部１０ａに保持する。この設定ソフトウェアＢは、データＡとデータＢについては“コネクションＩＤ＝２”を用いて管理サーバ２０と通信し、データＣについては“コネクションＩＤ＝３”を用いて管理サーバ２０と通信する。ここで、データＡ，Ｂ，Ｃ，……は、図２に示す制御機器変数データを代表して示しており、少なくとも、データを一意に特定するＩＤと、データを格納する制御機器３１のメモリアドレスとを含む。
【００２３】
管理サーバ２０の通知管理テーブル記憶部２１には、それらデータＡ〜Ｃについての情報が格納される。なお、図示省略するが、このデータＡ〜Ｃは、それらのデータが格納されるアドレス情報も関連づけて共有データテーブル記憶部２３に格納されている。図示するように、通知管理テーブル記憶部２１には、設定ソフトウェアＡと設定ソフトウェアＢとで共有するデータＡについてのコネクションＩＤとして、各設定ソフトウェアの番号（１，２）が格納される。このように、通知管理テーブルのコネクションＩＤの欄に複数の番号が登録されている場合、管理サーバ２０は、対応するデータが複数の設定ソフトウェアに共有されていることを認識する。よって、管理サーバ２０は、１つの設定ソフトウェアがこの共有するデータについてのアドレスの変更の通知を受け取った場合、共有する他の設定ソフトウェアに当該変更を通知する。管理サーバ２０から当該変更の通知を受信した設定ソフトウェアは、自己の制御機器変数データ記憶部１０ａに格納されたアドレスを更新する。これにより、データを共有する全ての設定ソフトウェアは、共有するデータのアドレスが、意図せずに各設定ソフトウェア間で異なることを防止できる。
【００２４】
以下、管理サーバ２０の制御部２２と、ツール１０を構成する設定ソフトウェアとの機能を、具体的なデータの送受を示しながら説明する。
【００２５】
＜データ共有処理＞
図４，図５は、データ共有手順処理を示している。まず、ユーザは、初期設定として、設定ソフトウェアに管理サーバ２０のＩＰアドレス等を設定しておく。図４（ａ）に示すように、設定ソフトウェアは、設定された管理サーバ２０のＩＰアドレス宛に接続コマンドを送信する（Ｓ１）ことで、管理サーバ２０に接続する。
【００２６】
設定ソフトウェアからの接続コマンドを受信した管理サーバ２０は、接続を管理するコネクションＩＤを保持する（Ｓ２）。図４（ａ）では、管理サーバ２０は、設定ソフトウェアＡのコネクションＩＤ（１）と、設定ソフトウェアＢのコネクションＩＤ（２）とを保持する。
【００２７】
設定ソフトウェアは、管理サーバ２０のＩＰアドレス宛に、データ登録コマンドおよび制御機器変数データを送信する（Ｓ３）。図４（ｂ）では、設定ソフトウェアＡはデータＡ（ＩＤ，アドレス等）を送信し、設定ソフトウェアＢはデータＡ（ＩＤ，アドレス等）とデータＢ（ＩＤ，アドレス等）とを送信している。
【００２８】
管理サーバ２０は、設定ソフトウェアから送られてきた制御機器変数データを共有データテーブル記憶部２３に保持する。このデータは、データ読み込みコマンドや書き込みコマンドで複数の設定ソフトウェアから共有可能となる（Ｓ４）。図４（ｂ）の場合、共有データテーブル記憶部２３に保持されたデータＡ，Ｂのうち、データＡは、設定ソフトウェアＡと設定ソフトウェアＢの双方から参照されているので、共有されている状態となる。
【００２９】
＜通知登録処理＞
図６，図７は、制御機器変数データを通知管理テーブルに登録する処理を示している。設定ソフトウェアは、管理サーバ２０に対して制御機器変数データを共有するために、通知登録する。すなわち、設定ソフトウェアは、変更通知を行ないたい制御機器変数データを、通知登録コマンドにて管理サーバ２０へ送信する（Ｓ１１）。
【００３０】
係る通知登録コマンドを受信した管理サーバ２０は、受信した制御機器変数データが共有データテーブル上に存在するか否かを判断する（Ｓ１２）。そして、存在しない場合、管理サーバ２０は、通知登録コマンドを発行した設定ソフトウェアに対してエラーを返し、終了する（Ｓ１３）。一方、共有データテーブル上に存在する場合、管理サーバ２０は、受信した制御機器変数データ（ＩＤ，アドレス等）と、その通知登録コマンドを発行した設定ソフトウェアの接続ＩＦのコネクションＩＤとを関連づけて通知管理テーブルに格納する（Ｓ１４）。これにより、管理サーバ２０は、設定ソフトウェアを管理するのではなく、その論理接続であるコネクションＩＤを管理することで、後述する細かな通知制御を行なうことができる。
【００３１】
この通知登録処理を実行することで、図６の場合、設定ソフトウェアＡと設定ソフトウェアＢとから、それぞれの制御機器変数データについての通知登録の要求がなされる。この例では、要求されたデータ（データＡ，Ｂ）は共有データテーブルに保持されているため、通知管理テーブルに格納される。そして、データＡは両方の設定ソフトウェアＡ，Ｂから通知登録の要求がされたため、それぞれのコネクションＩＤ（１，２）が登録される。
【００３２】
＜変化の検知と通知の生成処理＞
図８，図９は、設定ソフトウェアが制御機器変数データを変更した場合の処理を示している。設定ソフトウェアが制御機器変数データ（例えば、アドレス）を変更した場合、設定ソフトウェアは、その変更を管理サーバに通知する。この通知により、管理サーバ２０の共有データテーブル記憶部２３に格納されている共有データが変更される（Ｓ２１）。これに伴い、対応する通知管理テーブル記憶部２１の内容が更新される。
【００３３】
管理サーバ２０は、変更通知を受けた共有データのＩＤをキーにして通知管理テーブル記憶部２１をアクセスし（Ｓ２２）、同一ＩＤを持つデータが通知管理テーブル上に存在するか否かを判断する（Ｓ２３）。そして、通知管理テーブルに存在しない場合、管理サーバ２０は、何もせずに終了する（Ｓ２４）。同一ＩＤを持つデータが存在した場合、そのデータに対応するコネクションＩＤで示される設定ソフトウェアの接続に対して、変更された制御機器変数データを送信する（Ｓ２５）。
【００３４】
図８の場合、設定ソフトウェアＢが、データＡのアドレスをＤ１００からＤ１０１に変更したのを受けて、管理サーバ２０は、そのデータＡのＩＤから通知管理テーブル記憶部２１をアクセスし、対応するコネクションＩＤとして“１”と“２”があることを認識する（図８（ａ）参照）。そして、コネクションＩＤ＝２については変更通知を受けた設定ソフトウェアＢのコネクションＩＤのものであるため、管理サーバ２０は、残りのコネクションＩＤ＝１の設定ソフトウェアＡに対してデータＡについての変更通知をする（図８（ｂ）参照）。
【００３５】
なお、本実施形態では、この変更通知を受信した設定ソフトウェアは、後述するように直ちに自己の制御機器変数データテーブルを変更するのではなく、一旦変更通知を受けた内容を表示画面に表示し、確認の上、更新するようにしている。これにより、他の設定ソフトウェアの利用者が、不用意にアドレス等が変更されたり、すでに使用しているアドレスと重複してしまい誤動作することなどを防止できる。
【００３６】
図９に示すフローチャートは、ある設定ソフトウェアから変更通知を受けた管理サーバ２０が、関連する他の設定ソフトウェアに当該変更を通知するようにしたが、本発明はこれに限ることはなく、各設定ソフトウェアが自発的に管理サーバ２０に対して変更の有無を確認するようにしてもよい。具体的には、図１０に示すフローチャートを実行するようにする。
【００３７】
まず、設定ソフトウェアは、接続ＩＦ１０ｂにて変更問い合わせタイマーをスタートさせる（Ｓ３１）。タイマーの時間は、タイマーのスタート時に設定ソフトウェアが設定する。変更問い合わせタイマーがタイムアップするのを待ち（Ｓ３２）、タイムアップしたならば、確認するデータのＩＤと共に変更問い合わせコマンドを送信する（Ｓ３３）。
【００３８】
変更問い合わせコマンドを受信した管理サーバ２０は、問い合わせを受けた共有データのＩＤをキーにして通知管理テーブル記憶部２１をアクセスし（Ｓ３４）、同一ＩＤを持つデータが通知管理テーブル上に存在するか否かを判断する（Ｓ３５）。そして、存在しない場合、管理サーバ２０は、何もせずに終了する（Ｓ３６）。同一ＩＤを持つデータが存在した場合、問い合わせをした接続ＩＦ１０ｂのコネクションＩＤに対して、変更された制御機器変数データを返送する（Ｓ３７）。これにより、係る返送を受信した設定ソフトウェアは、返送されてきた制御機器変数データと自己が記憶するデータとを比較することで、変更の有無を知ることができる。
【００３９】
変更の通知を上述したいずれを採るかにより、機器のＣＰＵ負荷率を調整することが可能となる。
【００４０】
＜変化通知受信後の処理＞
図１１，図１２は、設定ソフトウェアが変更通知を受信した後の処理を示している。変更通知を受信した設定ソフトウェアは、変更通知に基づき操作者に対して変更された変数の情報を画面表示などにより通知する。操作者は、その画面表示された情報を確認し、必要に応じて、その変更された内容を承諾したり（図１１（ｂ）参照）、その変更された変数を再度上書きしたり（図１１（ａ）参照）、無視したりするなど、操作者の意図に応じた処理を行う。
【００４１】
具体的には、図１２に示すフローチャートを実行する。すなわち、設定ソフトウェアが制御機器変数データの変更通知を受信する（Ｓ４１）と、その設定ソフトウェアは、「共有データに変更があり、取得するか、上書きするか、無視するか」を選択するための画面を表示装置に表示する（Ｓ４２）。
【００４２】
操作者が変更データを取得することを選択した場合（Ｓ４３でＹｅｓ）、設定ソフトウェアは、管理サーバ２０に対して共有データ取得コマンドを発行し、変更データを取得する（Ｓ４４：図１１（ｂ））。
【００４３】
また、操作者が変更データを上書きすることを選択した場合（Ｓ４５でＹｅｓ）、設定ソフトウェアは、管理サーバ２０に対して共有データ書き込みコマンドを発行する（Ｓ４６：図１１（ａ））。つまり、設定ソフトウェアは、自己の制御機器変数データ記憶部に格納され保持しているデータ（変更前のデータ）を送信する。このコマンドを受信した管理サーバ２０は、変更通知を受けた場合と同様に、該当する通知管理テーブルを更新し、関連する他の設定ソフトウェアに変更を通知する。
【００４４】
操作者が何もしないを選択した場合、処理ステップＳ４３，Ｓ４５の分岐判断がいずれもＮｏとなるので、そのまま処理を終了する（Ｓ４７）。
【００４５】
＜共有・通知解除処理＞
設定ソフトウェアは、データを共有する必要がなくなった場合、共有データを管理サーバから削除する。そのとき、通知管理テーブル上のデータも削除される。また、データは共有するが、通知が必要でなくなった場合、設定ソフトウェアは管理サーバに対し、変更通知を停止するコマンドを送信する。管理サーバ２０は、通知管理テーブル上のデータを削除する。設定ソフトウェアが管理サーバと切断する場合、管理サーバは、通知管理テーブルに保持されている接続を終了して利用されなくなったコネクションＩＤを持つデータを全て削除する。
【００４６】
この共有・通知解除処理は、図１３に示すように、解除コマンドと共に解除するデータを指定することでデータ単位で解除する場合と、図１４に示すように設定ソフトウェア単位で一括して解除する場合がある。そして、図１３（ａ）は共有解除を示し、図１３（ｂ）は通知解除を示す。また、図１３（ａ）に示すように、他の設定ソフトウェアが利用していないデータ（データＢ）について解除指示が発せられた場合、管理サーバ２０は、通知管理テーブルから該当するデータ（データＢ）を削除する。また、図１３（ｂ）に示すように、他に共有する設定ソフトウェアが存在する場合、管理サーバ２０は、通知管理テーブルから該当するコネクションＩＤ（１）を削除する。図１４に示すように、一括して解除指示、つまり、切断コマンドが発せられた場合、各データごとに上記の処理（データ自体の削除／コネクションＩＤの削除）がなされる。
【００４７】
係る処理は、設定ソフトウェア並びに管理サーバが、図１５〜図１７に示すフローチャートを実行する機能を備えることで実現される。まず、図１５は、ある制御機器変数データについての共有解除処理を実行するためのフローチャートである。図示するように、設定ソフトウェアは、共有を止めたい制御機器変数データを削除コマンドにて管理サーバに送信する（Ｓ５１）。係る削除コマンドを受信した管理サーバ２０は、取得した制御機器変数データが共有データテーブル上に存在するか否かを判断する（Ｓ５２）。そして、存在しない場合にはエラーを返して終了し（Ｓ５３）、存在する場合には、共有データテーブルから制御機器変数データを削除し、制御機器変数データおよびコネクションＩＤを通知管理テーブルから削除する（Ｓ５４）。なお、処理対象の制御機器変数データについて他のコネクションＩＤが存在する場合には、コネクションＩＤのみを削除する。
【００４８】
図１６は、ある制御機器変数データについての通知解除処理を実行するためのフローチャートである。図示するように、設定ソフトウェアは、変更通知を止めたい制御機器変数データを通知解除コマンドにて管理サーバに発行する（Ｓ５５）。係る通知解除コマンドを受信した管理サーバ２０は、取得した制御機器変数データが共有データテーブル上に存在するか否かを判断する（Ｓ５６）。そして、存在しない場合にはエラーを返して終了し（Ｓ５７）、存在する場合には、制御機器変数データおよび、コネクションＩＤを通知管理テーブルから削除する（Ｓ５８）。なお、処理対象の制御機器変数データについて他のコネクションＩＤが存在する場合には、コネクションＩＤのみを削除する。
【００４９】
図１７は、ある設定ソフトウェアが、管理サーバ２０との接続を解除、つまり、切断処理を実行するためのフローチャートである。管理サーバ２０との接続を解除する設定ソフトウェアは、切断コマンドを発行する。そこで、管理サーバ２０は、設定ソフトウェアが管理サーバとの接続を切断したことを認識すると（Ｓ６１)、切断されたコネクションＩＤをもつデータが通知管理テーブルに存在するか否かを判断する（Ｓ６２）。存在する場合、管理サーバ２０は、制御機器変数データおよびコネクションＩＤを通知管理テーブルから削除する（Ｓ６３）。
【００５０】
＜階層化されたデータの通知処理＞
図１８，図１９に示すように、本実施形態では、通知データを階層化することができる。図１８に示す例では、設定ソフトウェアＡは、「データＡがＸ，Ｙ，Ｚの親データ属性を持つ」ものとして管理サーバにデータ共有並びにデータ通知登録をする。これにより、管理サーバ２０の共有データテーブルには、データＸ，Ｙ，ＺがデータＡの子として関連付けられて登録される。また、管理サーバ２０の通知管理テーブルには、データＡが登録される。
【００５１】
この状態において、図１９（ａ）に示すように、設定ソフトウェアＢからデータＸとデータＺについての変更通知コマンドが発行されたとする。係る場合、管理サーバ２０は、共有データテーブルをアクセスし、通知管理テーブルに登録されているデータＡとデータＸ，Ｚの関係を検索する。データＡがＸ，Ｚの親データ属性を持っていることが認識した管理サーバ２０は、通知管理テーブル記憶部２１に格納されたデータＡのコネクションＩＤを取得し、係るデータＡの変化通知をコネクションＩＤ＝１に対して発行する。このように、データＸ，Ｚが通知登録されていない場合でも、親を登録しておくことで効率の良い変化通知を発生させることができる。つまり、通知データが階層化した場合、その一番上位の階層を登録しておくことで、複数のデータに変化があった場合でも通知を一つにすることが可能となる。
【００５２】
上述した処理は、図２０に示すフローチャートを実行することで行なう。すなわち、管理サーバ２０は、設定ソフトウェアから共有データの変更通知コマンドを受信する（Ｓ７１）と、取得した共有データのＩＤに基づき通知管理テーブル上のデータを検索し（Ｓ７２）、同一のＩＤを持つデータが通知管理テーブル上に存在するか否かを判断する（Ｓ７３）。そして、存在する場合には、コネクションＩＤで示される設定ソフトウェアの接続に対し、変更された制御機器変数データを送信する（Ｓ７４）。一方、存在しない場合には、ＩＤを持つデータの親が通知管理テーブル上に存在するか否かを判断する（Ｓ７５）。そして、存在する場合には、コネクションＩＤで示される設定ソフトウェアの接続ＩＦに対して変更された制御機器変数データおよび、その親データを送信する（Ｓ７６）。
【００５３】
本実施形態では、制御機器をアクセスするための変数データを共有する際に、アプリケーション単位で通知データを登録するのではなく、通信接続単位に登録することにより、通知の頻度を下げ、効率よく通知を行なうことができる。また、通信接続単位に通知データを登録したため、管理サーバがどこで稼動してもよく、設定ソフトウェアからは常に同じＩ／Ｆを用いて通知データの登録、通知の受信を行なうことができる。さらに、通知データを階層化して管理することができるため、複数の通知をまとめ、上位階層の通知として処理できるので、通知の頻度を下げることができ、効率的となる。
【図面の簡単な説明】
【００５４】
【図１】本発明の好適な一実施形態を示す図である。
【図２】制御機器変数データのデータ構造の一例を示す図である。
【図３】設定アプリケーションを実装する装置の内部構造を示す図である。
【図４】本実施形態の機能を説明する図である。
【図５】本実施形態の機能を説明するフローチャートである。
【図６】本実施形態の機能を説明する図である。
【図７】本実施形態の機能を説明するフローチャートである。
【図８】本実施形態の機能を説明する図である。
【図９】本実施形態の機能を説明するフローチャートである。
【図１０】本実施形態の機能を説明するフローチャートである。
【図１１】本実施形態の機能を説明する図である。
【図１２】本実施形態の機能を説明するフローチャートである。
【図１３】本実施形態の機能を説明する図である。
【図１４】本実施形態の機能を説明する図である。
【図１５】本実施形態の機能を説明するフローチャートである。
【図１６】本実施形態の機能を説明するフローチャートである。
【図１７】本実施形態の機能を説明するフローチャートである。
【図１８】本実施形態の機能を説明する図である。
【図１９】本実施形態の機能を説明する図である。
【図２０】本実施形態の機能を説明するフローチャートである。
【符号の説明】
【００５５】
１０  設定ツール（設定ソフトウェア）
１０ａ  制御機器変数データ記憶部
１０ｂ  接続Ｉ／Ｆ
１１  演算部
１２  記憶部
１３  ＲＡＭ
１４  通信制御部
２０  管理サーバ
２１  通信管理テーブル記憶部
２２  制御部（変更手段，通知手段）
２３  共有データテーブル記憶部
３０  ネットワーク
３１  制御機器
【図１】
2007249471.tif 000003
【図２】
2007249471.tif 000004
【図３】
2007249471.tif 000005
【図４】
2007249471.tif 000006
【図５】
2007249471.tif 000007
【図６】
2007249471.tif 000008
【図７】
2007249471.tif 000009
【図８】
2007249471.tif 000010
【図９】
2007249471.tif 000011
【図１０】
2007249471.tif 000012
【図１１】
2007249471.tif 000013
【図１２】
2007249471.tif 000014
【図１３】
2007249471.tif 000015
【図１４】
2007249471.tif 000016
【図１５】
2007249471.tif 000017
【図１６】
2007249471.tif 000018
【図１７】
2007249471.tif 000019
【図１８】
2007249471.tif 000020
【図１９】
2007249471.tif 000021
【図２０】
2007249471.tif 000022