図1に示すように、制御システム設定装置10と、制御装置1は、ネットワーク2に接続され、そのネットワーク2を介してデータの送受が行なわれる。制御装置1は、PLC,ロボットコントローラ,CNC(Computerized Numerical Controller)等がある。なお、図示省略するが、制御システムは、制御装置1に対して直接或いはネットワークを介してセンサや、各種のI/Oその他の機器が接続される。
制御システム設定装置10は、FAネットワークのネットワーク構成図を作成したり、ネットワークを構成する装置・機器に対し、パラメータの設定を行なったり、プログラムのダウンロードを行なったりするものである。この制御システム設定装置10は、上記の処理を実施するためのアプリケーションプログラムや設定データをインストールしたパーソナルコンピュータである。本実施形態では、制御システム設定装置10はネットワークを介して各装置・機器に接続するようにしたが、RS−232C等のシリアルインタフェースを用いて各装置・機器に直接接続するようにしても良い。
制御システム設定装置10のソフトウェア構成は、アプリケーション層と、ミドルウェア層とを備える。ミドルウェア層には、ネットワーク2に接続された他の制御機器1等と通信をする通信ミドルウェア14と、ストレージ5にアクセスしてデータの読み書きを行なうデータ保存部(データベースミドルウェア)15と、を備える。また、アプリケーション層には、制御機器システムの構成を管理するための構成管理アプリケーション11と、構成管理アプリケーション11と通信ミドルウェア14との間の通信を行なう通信インタフェース12と、構成管理アプリケーション11とデータ保存部15との間の通信を行なうデータベースインタフェース13と、を備える。
各インタフェース12,13は、アプリケーションの要求に従い、下位層ソフトウェア(ミドルウェア)に対して動作要求を発行し、その結果を付け取るものである。
データ保存部15は、RAM上で動作するもので、各アプリケーションが動作する際のワークメモリとしての機能を有する。データベースはアクセスインタフェース部であるデータベースインタフェース13とデータ保存部15とから成り立つ(以後、データベースは、データベースインタフェース13およびデータ保存部15の両方を示す)。データ保存部15は、上記アプリケーションの下位で動作し、制御機器やネットワークの、型式、通信設定、ネットワーク番号、ノード番号、ユニット番号などのデータを保存するものである。
ストレージ5は、データ保存部15に格納されたデータ(アプリケーションファイルおよび、データベースファイル)を保存するための記憶装置で、パーソナルコンピュータの内部ハードディスクや、外付けのリムーバブルディスクなどにより構成される。
図2は、制御システム設定装置10のハードウェア構成を示す。制御システム設定装置10は、内部装置として、CPU10aと、RAM/HDD10bと、ROM/HDD10cと、通信制御部10dとを備える。それらの内部装置は、バス10eに接続され、バス10eを介して必要なデータを送受する。CPU10aは、インストールされたアプリケーションプログラムを実行するプロセッサである。RAM/HDD10bは、一時記憶手段であり、例えば、CPU10aの演算実行の際にワーク領域(IPアドレスワークテーブル等)として使用される。ROM/HDD10cは、記憶装置を構成し、上記のアプリケーションプログラム(ソフトウェアの実行モジュール)は、この記憶装置に格納される。また、データベースが設定されるメインメモリは、RAM/HDD10bに対応する。そして、データベースは、装置の非稼働時にはHDDに保存し、装置の稼働時にRAMに展開されて使用される。通信制御部10dは、インターネット等のネットワークを介した通信を制御するのに使用する。これは一般的なPCのハードウェア構成と同じである。
以下、実際の各種の処理を実行する手順を説明しつつ、各処理部の機能を説明する。まず、図3〜図7に基づいて、データベースエントリ作成の起動側処理を説明する。図3中、符号Wは、制御システム設定装置10の表示装置に表示される表示画面であり、構成管理アプリケーション11の実行によりネットワーク構成図が作成された状態を示している。以下の(1)から(7)の処理は、それぞれ図3中の同一番号に対応する。
また、データ保存部15には、データの情報をグループ管理するためのプロジェクトがある。このプロジェクトは、例えば、1つのネットワーク構成図ごとに作成され、その下位にそのネットワーク構成図を構成するデバイスとネットワークが連携される。プロジェクト、デバイス、ネットワークは、それぞれフォルダとして作成され、そのプロパティ(属性)をXMLとしてファイルに保持する(図5,図6参照)。データ保存部15は、図4に示すように、各フォルダをメモリ上にツリー構造として保存し、プロジェクト保存時にファイルに書き込む。
(1)ユーザYは、制御機器システムの構成を管理するための構成管理アプリケーション11を起動する。この起動処理は、通常のパーソナルコンピュータにおけるアプリケーションソフトの起動と同様の処理(アイコンをクリック等)により実現される。
(2)起動された構成管理アプリケーション11は、データベースインタフェース13を介して、データ保存部15に接続する(図7(a):S1)。構成管理アプリケーション11は、ユーザから入力された処理対象のプロジェクトを特定するプロジェクト名を指定する。つまり、構成管理アプリケーション11は、プロジェクト名をデータベース保存部15に渡す(図7(a):S2)。なお、ユーザは、構成管理アプリケーション11がインストールされたパーソナルコンピュータが持つキーボードやポインティングデバイスなどの入力装置を操作してプロジェクト名を入力することになる。
データ保存部15は、構成管理アプリケーション11からプロジェクト名を取得すると(図7(b):S3)、データ保存部15内に取得したプロジェクト名のプロジェクトが存在するか否かを判断する(図7(b):S4)。データ保存部15は、指定されたプロジェクトが存在する場合には、当該プロジェクトを開き(図7(b):S6)、存在しない場合には新規プロジェクトを作成する(図7(b):S5)。
(3)ユーザは、構成管理アプリケーション11を使用して、制御システムを構成する制御機器やネットワークの仮想アイコンIから構成されるネットワーク構成図を、パーソナルコンピュータの表示装置の表示画面上に作成する。このネットワーク構成図を作成するための構成管理アプリケーション11の機能は、例えば特開2003−288458号公報に開示された発明を用いることができる。すなわち、表示画面に作成された構成図は、単なるイメージデータで構成されているのではなく、各デバイスや各ネットワークを示すパーツがそれぞれ仮想アイコンIを構成する。そして、その仮想アイコンIが選択(クリック等)されると、そのデバイス,ネットワークの設定・記憶を行なったり、設定されたデータを読み出したりする処理が実行可能となる。具体的な処理は、以下の通りである。
(4)ユーザは、構成管理アプリケーション11上で仮想アイコンIを選択し、制御機器やネットワークの設定を行なったり、もしくは情報収集を行うツール(以下、専用ツール)を起動させるメニューを選択する。仮想アイコンIの選択は、例えば、構成管理アプリケーション11がインストールされたパーソナルコンピュータの入力装置(ポインティングデバイス等)を操作し、表示画面に表示されたポインタを目的の仮想アイコンI上に合わせた状態で、ポインティングデバイスをクリックすることにより行なう。そして、係るクリックをすることで、構成管理アプリケーション11は、メニューリストを表示する。また、構成管理アプリケーション11は、仮想アイコンIが選択されたことを認識することで、ユーザが指定したデバイス(ネットワークを含む)を取得する(図7(c):S7)。図3は、デバイス名が「デバイス1」の仮想アイコンIが選択され、専用ツールが起動された状態を示す。
(5)構成管理アプリケーション11は、データベースインタフェース13に対して、選択された仮想アイコンに関連する制御機器或いはネットワークのエントリ作成を依頼(デバイス接続要求)する(図7(c):S8)。エントリには、型式、通信設定、ネットワーク番号、ノード番号、ユニット番号が含まれる。データベースインタフェース13は、データ保存部15に上記のエントリを作成する。
(6)データベースインタフェース13は、取得したデバイスが新規なデバイスの場合、処理(5)で作成したエントリにユニークなID(図3では「ID1」)を付け、データ保存部15に保存する。
(7)データベースインタフェース13は、接続要求のあったデバイスに付与されたID(デバイスID)を構成管理アプリケーション11に返す。構成管理アプリケーション11は、保持するデバイスインタフェース13から返信されてきたデバイスIDを、対応するデバイスのデバイス名と関連付けてデバイス管理テーブルに格納する。実際には、構成管理アプリケーション11は、ネットワーク構成図の作成(処理(3))において仮想アイコンが配置されてデバイス名が設定された際に、係るデバイス名をデバイス管理テーブルに登録し、後でデバイスIDを追加するようにしても良いし、デバイスIDを取得した際にそのデバイスIDとそれに関連するデバイス名とを合わせてデバイス管理テーブルに格納するようにしても良い。図3では、構成管理アプリケーションが設定したデバイス名の「デバイス1」と、データベースインタフェース13が生成したデバイスIDの「ID1」とが関連づけられてデバイス管理テーブルに格納されている。このデータ管理テーブルは、例えばRAM/HDD10cに設けられたワークメモリに格納される。
上記の(5)から(7)の処理を実行するためのデータベース側の機能は、図7(d)に示すフローチャートの通りである。デバイスインタフェース13が、構成管理アプリケーション11から接続対象のデバイス名を取得すると(図7(d):S9)、データ保存部15に該当するデバイスが存在するか否かを判断する(図7(d):S10)。データ保存部15にデバイスが存在しない場合には、データベースはデータ保存部15のプロジェクト内に新規デバイスを作成すると共に、ユニークなデバイスIDを生成し、その生成したデバイスIDを新規デバイスに格納するとともに構成管理アプリケーション11に返す(図7(d):S11)。一方、データ保存部15にすでにデバイスが存在している場合には、そのデバイスのデバイスIDを取得し、その取得したデバイスIDを構成管理アプリケーション11に返す(図7(d):S12)。
図6に示すデータ保存部15に格納されたXMLで記述されたデバイスのデータベーススキーマでは、そのデバイスを作成したアプリケーションとして、“CX-Integrator”(ツール名)が登録され、デバイスID(key)として“214430303031”が登録され、デバイス名(name)として“C1”が登録されている。このように、ユニークなデバイスIDを設定することで、ネットワーク構成図中において当該デバイスを一意に特定することができると共に、デバイス名を設定することでユーザが理解しやすくなる。なお、図5に示すように、各プロジェクトについても、ユニークに設定されるプロジェクトキー(215030303031)とプロジェクト名(新規プロジェクト1)と、が格納され、プロジェクトキーにより当該プロジェクトを一意に特定すると共に、プロジェクト名によりユーザが認識しやすくなる。
次に、図8から図10に基づき、専用ツールが起動された場合の被起動側の処理について説明する。以下の(1)から(3)の処理は、それぞれ図8中の同一番号に対応する。
(1)ユーザにより構成管理アプリケーション11の作業ウインドウW上に表示された仮想アイコンIについての起動メニューMが選択されると、構成管理アプリケーション11はその仮想アイコンIについてのプロジェクト名およびデバイスIDを専用ツールに渡し、専用ツールを起動する。
(2)起動された専用ツールは、構成管理アプリケーション11から受け取ったプロジェクト名およびデバイスIDを用いて、データベースインタフェース13を介して、データ保存部15に接続する。
(3)データベースインタフェース13は、接続要求と共に渡されたプロジェクト名やデバイスIDがデータ保存部15内にあるか否かを判断し、その判断結果を専用ツールに返す。
上記の被起動側の(1)から(3)の処理を実行するための専用ツールとデータベースの機能は、図9,図10に示すフローチャートの通りである。いずれの図においても、(a)が専用ツールの機能であり、(b)がデータベースの機能である。
起動された専用ツールは、構成管理アプリケーション11からプロジェクト名とデバイスIDを受け取る(図9(a):S15)。すると、専用ツールは、まず受け取ったプロジェクト名をデータベースインタフェース13に渡し、プロジェクトの接続要求をする(図9(a):S16)。そして、専用ツールは、データベースインタフェース13からの返答を待ち、その返答がエラーか否かを判断する(図9(a):S17)。エラーの場合には、起動エラー処理を実行する(図9(a):S18)。この起動エラー処理は、例えば、専用ツールの作業ウインドウW1上にエラーメッセージを表示することなどがある。一方、データベースインタフェース13からエラーが返されてこなかったならば、次の処理へ移行する。ここでは、図10(a)のフローチャートを実行する。
この図9(a)に示すプロジェクト接続要求を受けたデータベースインタフェース13は、図9(b)に示すフローチャートを実行する。すなわち、データベースインタフェース13は、プロジェクト名を専用ツールから取得し(図9(b):S20)、取得したプロジェクト名を持つプロジェクトがデータ保存部15に存在されているか否かを判断する(図9(a):S21)。そしてデータベース15に該当するプロジェクトが存在しない場合、データベースインタフェース13は専用ツールに対してエラーの旨を通知する(図9(b):S23)。一方、データベース15に該当するプロジェクトが存在する場合、データベースインタフェース13は、当該プロジェクトを開く(図9(b):S22)。
処理ステップS17の分岐判断でNoとなった場合、専用ツールは、デバイスIDをデータベースインタフェース13に渡し、デバイスの接続要求をする(図10(a):S24)。専用ツールは、データベースインタフェース13からの返答を待ち、その返答がエラーか否かを判断する(図10(a):S25)。エラーの場合には、起動エラー処理を実行する(図10(a):S26)。この起動エラー処理は、例えば、専用ツールの作業ウインドウW1上にエラーメッセージを表示することなどがある。一方、データベースインタフェース13からエラーが返されてこなかったならば、次の処理へ移行する。
この図10(a)に示すデバイス接続要求を受けたデータベースインタフェース13は、図10(b)に示すフローチャートを実行する。すなわち、データベースインタフェース13は、デバイスIDを専用ツールから取得し(図10(b):S27)、取得したデバイスIDを持つデバイスがデータ保存部15(S22で開かれたプロジェクト)に存在されているか否かを判断する(図10(a):S28)。そしてデータベース15に該当するデバイスIDが存在しない場合、データベースインタフェース13は専用ツールに対してエラーの旨を通知する(図10(b):S30)。一方、データ保存部15に該当するデバイスIDが存在する場合、データベースインタフェース13は、専用ツールに対して接続成功を返す(図10(b):S29)。
次に、図11,図12を用いて被起動側の保存処理について説明する。以下の(1)から(4)の処理は、それぞれ図11中の同一番号に対応する。
(1)ユーザは、専用ツール上で設定ファイルの保存を選択し、ファイルを保存する。保存するファイルには、デバイス管理テーブルが含まれる。ユーザにファイル名および保存位置を問い合わせるダイアログDを表示する。ユーザは、このダイアログDを用いてファイル名および保存場所を入力する。
(2)専用ツールは、データベースインタフェース13にダイアログDを介して入力されたファイル名(保存場所を含む)と、保存対象のデバイスIDを渡す。
(3)データベースインタフェース13は、データ保存部15に渡されたデバイスIDで示される制御機器かネットワークのID(図では、“ID1”)の下にファイル名(保存場所を含む:例ではc:¥temp¥file1.cxp)を作成する。このとき、保存場所と同じくマスタフラグ(デフォルトの起動ファイルとするためのフラグ)をセットする(MASTER=ON)。
(4)専用ツールは、プロジェクト名(保存場所)をファイルに保存する(例:c:¥Project¥Project1.cop)とともにユーザは専用ツールを終了する。
上記の被起動側の(1)から(4)の処理を実行するための専用ツールとデータベースの機能は、図12に示すフローチャートの通りである。図において、(a)が専用ツールの機能であり、(b)がデータベースの機能である。
専用ツールは、ユーザが指定したファイル保存位置情報をデバイスIDと共にデータベースインタフェース13に渡す(S31)。専用ツールは、データベースインタフェース13からの返答を待ち、その返答がエラーか否かを判断する(S32)。エラーの場合には、保存エラー処理を実行する(S33)。この保存エラー処理は、例えば、専用ツールの作業ウインドウW1上にエラーメッセージを表示することなどがある。一方、データベースインタフェース13からエラーが返されてこなかったならば、保存処理を終了する(S34)。
データベースインタフェース13は、専用ツールからファイル保存位置とデバイスIDを取得し(S35)、取得したデバイスIDがデータ保存部15に存在されているか否かを判断する(S36)。そしてデータベース15に該当するデバイスIDが存在しない場合、データベースインタフェース13は専用ツールに対してエラーの旨を通知する(S38)。一方、データ保存部15に該当するデバイスIDが存在する場合、データベースインタフェース13は、当該デバイスIDにファイル保存情報を付加する(S37)。
次に、図13,図14を用いて起動側の保存・終了処理について説明する。以下の(1)から(9)の処理は、それぞれ図13中の同一番号に対応する。
(1)ユーザは、構成管理アプリケーション11を終了する。この終了処理は、図示するように、プルダウンリストからなる起動メニューの「終了」の欄をクリックしたり、作業ウインドウWの右上の「×」をクリックするなど、ソフトウェアの通常の終了処理により実行される。このユーザが実行した終了処理を認識した構成管理アプリケーション11は、データベースインタフェース13に終了依頼を行なう。
(2)終了依頼を受けたデータベースインタフェース13は、ユーザに保存場所を尋ねる。すなわち、保存場所を入力するダイアログDを表示する。
(3)ユーザは、このダイアログDを用いてファイル名および保存場所(図13では、「c:¥temp¥project.cxp」)を入力する。
(4)データベースインタフェース13は、データ保存部15のプロジェクトデータの保存場所情報(図5)に、処理(3)で入力された保存場所を追加する。
(5)データベースインタフェース13は、データ保存部15のデータをストレージ5上にフォルダおよびXMLファイルとして書き出す。
(6)データベースインタフェース13は、上記フォルダおよびファイルを圧縮してひとつのファイルとする。
(7)データベースインタフェース13は、処理(4)で追加された保存場所にデータベース圧縮ファイルをプロジェクトと同名で保存する。
(8)データベースインタフェース13は、データベース圧縮ファイルのサマリ(図14)を保持するXMLファイルを作成し、圧縮ファイルと同じ場所にプロジェクトと同名で保存する。サマリは、圧縮ファイルの中身を解凍することなく理解できるようにするための情報からなり、少なくともプロジェクト名とプロジェクトキーを含むものである。
(9)データベースインタフェース13は、ストレージ5に記憶されている圧縮前のフォルダおよびXMLファイルを削除する。
次に、図15,図16を用いて再起動処理について説明する。以下の(1)から(5)の処理は、それぞれ図15中の同一番号に対応する。
(1)ユーザは、再び構成管理アプリケーション11にて先ほどの制御機器もしくはネットワークの仮想アイコンIを選択(図では、「デバイス1:ID1」を選択)し、関連付けされたファイル(以下、関連ファイル)を起動させるメニューを選択する(図では「専用ツール起動」をクリック)。
(2)構成管理アプリケーション11は、関連付けられたデバイスID(ID1)をデータベースインタフェース13に渡し、関連ファイルのファイル名(保存場所を含む)の検索依頼をする。
(3)データベースインタフェース13は、データ保存部15にアクセスしファイル名を検索し、検出した関連ファイルのファイル名(保存場所を含む(図では“c:¥temp¥file.cxp”)を構成管理アプリケーション11に返す。
(4)構成管理アプリケーション11は、プロジェクト名、デバイスIDおよび、関連ファイル名(保存場所を含む)を専用ツールに渡し、専用ツールを起動する。
(5)関連ファイル名にて専用ツールが起動する。すなわち、専用ツールは、取得した関連ファイル名から保存場所を認識し、その認識した保存場所の情報に基づいてストレージ5にアクセスし、当該デバイスIDについての情報を読み込む。
この構成管理アプリケーション並びに専用ツールの処理機能は、図16に示すフローチャートを実行するようになる。すなわち、構成管理アプリケーション11は、プロジェクト名をデータベースインタフェースに渡し(S40)、次いで、デバイスIDをデータベースインタフェースに渡す(S42)。構成管理アプリケーション11は、各処理を実行するごとにエラーの有無を判断し(S41,S43)、エラーがあった場合には起動エラー処理を実行する(S42,S44)。構成管理アプリケーション11は、各データをデータインタフェースに渡した後、その各データにより特定されるデバイスについてのファイル位置情報をデータベースインタフェースから取得する(S46)。構成管理アプリケーション11は、この取得が失敗した場合(S47がYes)、起動エラー処理を実行し(S48)、成功した場合には専用ツールにプロジェクト名、デバイス名およびファイル位置情報を渡す(S49)。
専用ツールは、構成管理アプリケーション11からプロジェクト名およびデバイスIDおよびファイル位置情報(保存場所)を受け取り(S151)、受け取った情報に基づきストレージにアクセスし、ファイル保存位置に格納されたファイルを読み込む(S152)。専用ツールは、該当するファイルが無かったり、壊れていたりするなどのエラーの有無を判断し(S153)、エラーがあった場合には、起動エラー処理を実行する(S154)。専用ツールは、正常に読み込んだファイルを開き、画面に表示する(S155)。
次に、図17から図19を用いて起動ファイル切り替え処理について説明する。以下の(1)から(9)の処理は、それぞれ図17中の同一番号に対応する。上述した再起動処理(図15,図16)で説明したとおり、制御機器もしくはネットワークの仮想アイコンIを選択し、関連ファイルを起動させることができる。係る仮想アイコンの関連ファイル(バージョン1)を読み出して修正し、その修正した関連ファイル(バージョン2)を保存するに際し、修正前の関連ファイル(バージョン1)も保存したい場合がある。そこで本実施形態では、同一の仮想アイコンIに対する関連ファイルを複数種保存することを許容する。このように複数種類の関連ファイルを保存した場合、仮想アイコンIを選択して再起動処理を実行した際に起動される関連ファイルは、1つに特定する必要がある。具体的には、各ファイル名にマスタフラグを設定し、同一の仮想アイコンに関連する複数の関連ファイルが存在する場合には、その中の1つの関連ファイルのマスタフラグをONにし、他の関連ファイルのマスタフラグをOFFにする。そして、仮想アイコンが選択されて再起動処理が実行された場合、構成管理アプリケーション11は、マスタフラグがONの関連ファイルを起動する。起動ファイル切り替え処理は、係るマスタフラグの管理をし、起動する関連ファイル(起動ファイル)の切り替えを制御するものである。具体的には、以下の通りである。
(1)ユーザは、再び、構成管理アプリケーション11にて制御機器もしくはネットワークの仮想アイコンIを選択(図では、「デバイス1:ID1」を選択)し、関連ファイルを取得もしくは切り替えるメニューを選択する。
(2)構成管理アプリケーション11は、処理(1)で選択されたメニューの内容に従い、選択された仮想アイコンIのデバイスIDをデータベースインタフェース13に渡し、関連ファイルのファイル名(保存場所を含む)をすべて取得する要求を発行する。
(3)データベースインタフェース13は、データ保存部15から関連ファイルのファイル名(保存場所を含む)一覧を取得し、それを構成管理アプリケーション11へ返す。
(4)構成管理アプリケーション11は、ユーザに関連ファイル一覧を示す。この例では、構成アプリケーション11の作業ウインドウWとは別の「ファイル一覧ダイアログ」として重ねて出力表示している。
(5)ユーザは、関連ファイル一覧から、起動したいファイルを選択する。この選択は、例えば、ユーザが構成管理アプリケーション11が実装されたパソコンのポインティングデバイスを操作し、ファイル一覧ダイアログ中にリストアップされたファイルのうちの1つをクリックすることで行なう。図17では、「c:¥temp¥file2.cxp」が選択されている。
(6)構成管理アプリケーション11は、データベースインタフェース13に対し、マスタファイル切り替え要求を(5)の処理により選択されたファイルのファイル名(保存場所を含む)とともに発行する。
(7)データベースインタフェース13は、データ保存部15に保存されている保存場所の渡されたファイル名のマスタフラグをONにし、もともとONになっていたファイル名のマスタフラグをOFFにする。これにより、以後の起動はマスタフラグONのファイルが起動される。図17では、「c:¥temp¥file2.cxp」のマスタフラグがONになり、「c:¥temp¥file.cxp」のマスタフラグがOFFになる。
(8)構成管理アプリケーション11は、選択された仮想アイコンのデバイスIDおよび、選択された関連ファイル名を専用ツールに渡し、専用ツールを起動する。
(9)専用ツールは、取得した関連ファイル名を起動する。
上記の(1)から(9)の処理を実行するための構成管理アプリケーションとデータベースの機能は、図18,図19に示すフローチャートの通りである。各図において、(a)が専用ツールの機能であり、(b)がデータベースの機能である。
構成管理アプリケーション11は、ユーザが選択した仮想アイコンIのデバイス名を取得する(図18(a):S51)。ついで、構成管理アプリケーション11は、デバイス管理テーブルを参照してデバイス名に対応するデバイスIDを取得し、取得したデバイスIDとともに情報一覧取得要求をデータベースインタフェース13に渡す(図18(a):S52)。
データベースインタフェース13は、構成管理アプリケーションからデバイスIDとともに情報一覧取得要求を受け取る(図18(b):S53)と、そのデバイスIDがデータ保存部15に存在するか否かを判断する(図18(b):S54)。受け付けたデバイスIDがデータ保存部15に存在する場合、データベースインタフェース13は、構成管理アプリケーション11に、そのデバイスIDに付加されているファイルの情報一覧を返す(図18(b):S55)。受け付けたデバイスIDがデータ保存部15に存在しない場合、データベースインタフェース13は、構成管理アプリケーション11にエラーを返す(図18(b):S56)。
構成管理アプリケーション11は、データベースインタフェース13から情報一覧が返されて来た場合、その一覧を表示し、ユーザから指定されたファイル位置情報を取得する(図19(a):S61)。のマスタフラグをONにする。構成管理アプリケーション11は、データベースインタフェース13に、デバイスIDと取得したファイル位置情報を渡すと共に、マスタファイル切り替え要求を発行する(図19(a):S62)。
データベースインタフェース13は、デバイスIDとともにマスタファイル切り替え要求を取得すると(図19(b):S63)、そのデバイスIDがデータベース保存部15にあるか否かを判断する(図19(b):S64)。デバイスIDがデータベース保存部15に存在する場合、データベースインタフェース13は、そのデバイスIDについて現在マスタフラグがONになっているファイルのファイル位置情報中のマスタフラグをOFFにし(図19(b):S65)、受け取ったファイル位置情報中のマスタフラグをONにする(図19(b):S67)。受け付けたデバイスIDがデータ保存部15に存在しない場合、データベースインタフェース13は、構成管理アプリケーション11にエラーを返す(図19(b):S66)。
次に、図20,図21を用いてデバイス削除処理について説明する。以下の(1)から(5)の処理は、それぞれ図20中の同一番号に対応する。
(1)ユーザは、構成管理アプリケーション11にて作成済みの制御機器もしくはネットワークの仮想アイコンIを選択し、削除する。この削除処理は、構成管理アプリケーション11が実装されたパソコンの入力装置(ポインティングデバイス)をユーザが操作し、ポインタを該当する仮想アイコンの上に重ねた状態でクリックして仮想アイコンを選択した後、ディレートキーを押下することなどにより行なう。
(2)上記のユーザが実行した削除処理を認識した構成管理アプリケーション11は、データベースインタフェース13に削除依頼を行なう。つまり、構成管理アプリケーション11は、選択された仮想アイコンに対応するデバイスIDをデータベースインタフェース13に渡すとともに、ファイル削除要求をデータベースインタフェース13に発行する。
(3)データベースインタフェース13は、データ保存部15に保存されているデバイスIDのファイル位置保存情報に従い、ファイルを削除する。
(4)データベースインタフェース13は、受け取ったデバイスIDのデバイスをデータ保存部15から削除する。
(5)構成管理アプリケーション11は、デバイス管理テーブルからデバイス名とデバイスIDを削除し、デバイス名とデバイスの関連付けを外す。
上記の(1)から(5)の処理を実行するための構成管理アプリケーションとデータベースの機能は、図21に示すフローチャートの通りである。図において、(a)が構成管理アプリケーションの機能であり、(b)がデータベースの機能である。
構成管理アプリケーション11は、ユーザが選択した仮想アイコンのデバイス名を取得する(S71)。ついで、構成管理アプリケーション11は、デバイス管理テーブルを参照してデバイス名に対応するデバイスIDを取得し、取得したデバイスIDとともにファイル位置情報削除要求をデータベースインタフェース13に渡す(S72)。
データベースインタフェース13は、構成管理アプリケーションからデバイスIDとともに削除要求を受け取る(S73)と、そのデバイスIDがデータ保存部15に存在するか否かを判断する(S74)。受け付けたデバイスIDがデータ保存部15に存在する場合、データベースインタフェース13は、そのデバイスIDに付加されているファイル位置情報を削除する(S75)。受け付けたデバイスIDがデータ保存部15に存在しない場合、データベースインタフェース13は、構成管理アプリケーション11にエラーを返す(S76)。
次に、図22,図23を用いてデバイスコピー処理について説明する。以下の(1)から(6)の処理は、それぞれ図22中の同一番号に対応する。
(1)ユーザは、構成管理アプリケーション11にて作成済みの制御機器もしくはネットワークの仮想アイコンIを選択し、コピーする。コピー処理は、例えば上記の削除処理における仮想アイコンの選択と同様の処理を行ない、コピー元の仮想アイコンIを選択し、次いで、予め定めたコマンドを入力することなどにより行なう。ユーザは、コピーされたデバイスに名前をつける。図22では、コピーされたデバイスに「デバイス2」と言うデバイス名を付けている。
(2)構成管理アプリケーション11は、選択したコピー元デバイスのデバイスID(図22では「ID1」)およびユーザが命名したコピー先デバイスの名前(図22では「デバイス2」)をデータベースインタフェース13に渡し、デバイスコピー要求を発行する。
(3)データベースインタフェース13は、データ保存部15に格納された取得したデバイスID上にあるファイル位置保存情報に従い、そのファイルをコピーする。図22の例では、データベースインタフェース13は、デバイスIDがID1のファイル位置保存情報として「c:¥temp¥file2.cxp」を取得し、それに基づいてストレージ5に格納された該当するファイルをコピーする。これにより、「c:¥temp¥copy of file2.cxp」が作成される。
(4)データベースインタフェース13は、コピー先デバイス名(デバイス2)により新規デバイスのエントリをデータ保存部15に作成する。データベースインタフェース13は、新しいデバイスIDを付与する(図22では「ID2」)。新規デバイス上のファイル位置保存情報は処理(3)でコピーしたファイルの保存位置情報(図22では「c:¥temp¥copy of file2.cxp」)で更新する。
(5)データベースインタフェース13は、構成管理アプリケーション11に新しいデバイスID(図22では「ID2」)を返す。
(6)構成管理アプリケーション11は、デバイス管理テーブルを更新する。つまり、構成管理アプリケーション11は、コピーにより生成された仮想アイコンに関連する「デバイス名とデバイスID」をデバイス管理テーブルに追加する。
上記の(1)から(6)の処理を実行するための構成管理アプリケーション11とデータベースの機能は、図23に示すフローチャートの通りである。図において、(a)が構成管理アプリケーションの機能であり、(b)がデータベースの機能である。
ユーザは、仮想アイコンをコピーする(S81)。すなわち、構成管理アプリケーション11は、ユーザが選択した仮想アイコンのコピーを作成し、作業ウインドウ中の所定位置に表示する。構成管理アプリケーション11は、ユーザが指定したコピー前の仮想アイコンに関連づけられたデバイス名と、コピー後の仮想アイコンに対して設定されたデバイス名を取得する(S82)。構成管理アプリケーション11は、デバイス管理テーブルを参照し、コピー前の仮想アイコンのデバイス名に対応するデバイスIDを取得し、取得したデバイスIDとともにデバイス複製情報をデータベースインタフェース13に渡す(S83)。
データベースインタフェース13は、構成管理アプリケーション11からデバイスIDとともに複製情報を受け取る(S84)と、そのデバイスIDがデータ保存部15に存在するか否かを判断する(S85)。受け付けたデバイスIDがデータ保存部15に存在しない場合、データベースインタフェース13は、構成管理アプリケーション11にエラーを返す(S86)。受け付けたデバイスIDがデータ保存部15に存在する場合、データベースインタフェース13は、そのデバイスIDに付加されているデバイス情報をコピーする(S87)。データベースインタフェース15は、ファイルの位置情報にあるステージ5中のファイルの複製を、そのステージ5上に作成し(S88)、ファイルの位置情報をコピーしたファイル名で更新する(S89)。
次に、図24〜図26を用いてダブルクリック起動処理について説明する。このダブルクリック起動処理は、起動される側の専用ツールをダイレクトで起動可能とするためのものである。つまり、上述した各処理では、構成管理アプリケーション11が選択された仮想アイコンにしたがって必要な専用ツールを起動するようにしたが、このダブルクリック起動処理により、ユーザが処理対象のデバイス等のための専用ツールを起動する機能を実現した。以下の(1)から(8)の処理は、それぞれ図24中の同一番号に対応する。
(1)ユーザは、保存されている専用ツールのファイルをダブルクリックする。図24では、例えばエクスプローラ等によりリストアップされたファイルの中から、「c:¥temp¥file3.cxp」をダブルクリックする。
(2)専用ツールは、保存してあるプロジェクト名にてサマリファイルをストレージ5上で検索する。プロジェクト名にはパス情報を含んでいる。
(3)専用ツールは、XMLのサマリファイルからプロジェクト名を取り出す。
(4)専用ツールは、サマリファイルから取り出したプロジェクト名にてデータベースインタフェース13に接続要求を出す。
(5)データベースインタフェース13は、接続要求を受け取り、データベース圧縮ファイルを展開し、データ保存部15を利用可能な状態にする。
(6)専用ツールは、保持しているデバイスID(例えば「ID1」)をデータベースインタフェース13に渡し、データ保存部15上のデバイスに接続する。
(7)専用ツールは、自身のファイル名をデータベースインタフェース13に渡し、データベース上に登録されたファイルかどうか検索する。
(8)ファイルがあれば、プロジェクトに登録されたファイルとみなし、起動完了とする。ファイルがなければ起動失敗とし、専用ツールの画面にメッセージを表示することにより、データベースで管理されていないファイルをオープンしようとしていることをユーザに通知する。
上記の(1)から(8)の処理を実行するための専用ツールとデータベースの機能は、図25,図26に示すフローチャートの通りである。各図において、(a)が専用ツールの機能であり、(b)がデータベースの機能である。
ユーザが専用ツールのファイル(図24では「c:¥temp¥file3.cxp」)をダブルクリックすると、当該専用ツールが起動する(S91)。専用ツールは、ツールファイルに保持しているプロジェクト名でデータベースに接続する(S92)。つまり、専用ツールが、上記の(2),(3)の処理を実行してプロジェクト名を取得し、(4)の処理を実行する。この処理を実行すると、データベースインタフェース13が、データベース圧縮ファイルをデータ保存部15に展開する。
次いで、専用ツールは、デバイス管理テーブルにアクセスしてデバイス名に対応するデバイスIDを取得し、そのデバイスIDをデータベースインタフェース13に渡すとともにデバイス接続要求を行なう(S93)。これが、上記の(6)の処理に対応する。
一方、デバイスインタフェース13は、専用ツールからデバイスIDとともにデバイス接続要求を受ける(S94)と、そのデバイスIDがデータ保存部15に存在するか否かを判断する(S95)。受け付けたデバイスIDがデータ保存部15に存在しない場合、データベースインタフェース13は、専用ツールにエラーを返す(S86)。受け付けたデバイスIDがデータ保存部15に存在する場合、データベースインタフェース13は、専用ツールに成功を返す(S97)。
S97の実行によりデータベースインタフェース13からデバイス接続の成功を受信した専用ツールは、デバイスIDとファイル名とでファイル検索要求をデータベースインタフェース13に行なう(S101)。後述するように、この検索要求に対するレスポンス(成功/エラー)がデータベースインタフェース13から返ってくるので、専用ツールはレスポンスが成功か否かを判断し(S102)、エラーの場合には起動失敗の処理(エラーメッセージの出力等)を行ない(S103)、成功の場合には起動処理を完了する(S104)。
データベースインタフェース13は、専用ツール(アプリケーション)からデバイスIDとファイル名とともにファイル接続要求を受け取ると(S105)、そのデバイスIDがデータ保存部15に存在するか否かを判断する(S106)。受け付けたデバイスIDがデータ保存部15に存在しない場合、データベースインタフェース13は、専用ツールにエラーを返す(S107)。受け付けたデバイスIDがデータ保存部15に存在する場合、受け付けたファイル名が検出したデバイスID以下に存在するか否かを判断する(S108)。受け付けたファイル名がデバイスID以下に存在しない場合、データベースインタフェース13は、専用ツールにエラーを返す(S107)。受け付けたファイル名がデバイスIDに存在する場合、データベースインタフェース13は、専用ツールに成功を返す(S109)。
次に、図27〜図30を用いてインポート処理について説明する。以下の(1)から(11)の処理は、それぞれ図27中の同一番号に対応する。
(1)ユーザは構成管理アプリケーション11にて作成済みの制御機器もしくはネットワークの仮想アイコンIを選択し、関連ファイルをインポートするメニューを選択する。すなわち、係る選択処理は、例えば仮想アイコンIをポインティングデバイスの右クリックで指定すると、プルダウンメニューにより実行する処理の一覧(コピー,削除,インポート,……)が表示されるように設定しておき、係るメニューの中から「インポート」を選択することで実行できる。
(2)構成管理アプリケーション11は、ユーザにインポートするファイルの一覧(ダイアログD)を示す。
(3)ユーザは、ダイアログDで表示されたファイルの一覧の中から、インポートするファイルを選択する。図27では、「c:¥temp¥file5.cxp」が選択されている。このときにインポートするファイルが既にデータベースに記録されている場合は、インポートを中止する。
(4)構成管理アプリケーション11は、デバイス管理テーブルを参照して仮想アイコンIに関連付けられたデバイスIDを取得し、その取得したデバイスIDをデータベースインタフェース13に渡し、デバイス接続要求を発行する。
(5)構成管理アプリケーション11は、プロジェクト名、デバイスIDおよびインポートされるファイル名(例:c:¥temp¥file5.cxp)を専用ツールに渡し、専用ツールを起動する。
(6)専用ツールは、指定されたファイルを起動する。
(7)専用ツールは、プロジェクト名およびデバイスIDをデータベースインタフェース13に渡し、データベース接続要求を発行する。
(8)ユーザは、専用ツール上で設定ファイルの保存を選択し、ファイルを保存する(例:c:¥temp¥file6.cxp)。ファイルにはデバイス管理テーブルが含まれる。
(9)専用ツールは、データベースインタフェース13にファイル名(保存場所を含む)およびIDを渡す。
(10)データベースインタフェース13は、データ保存部にIDで示される制御機器かネットワークのIDの下にファイル名(保存場所を含む)を作成する。このとき、保存場所と同じくマスタフラグ(デフォルトの起動ファイルとするためのフラグ)をセットする。(MASTER=ON)
(11)ユーザは、専用ツールを終了する。
上記の(1)から(11)の処理を実行するための専用ツールとデータベースの機能は、図28から図30に示すフローチャートの通りである。各図において、(a)が構成管理アプリケーション,専用ツールの機能であり、(b)がデータベースの機能である。
ユーザがツールファイル(図27では「c:¥temp¥file5.cxp」)をダブルクリックすると、当該専用ツールが起動する(S111)。専用ツールは、ツールファイルに保持しているプロジェクト名でデータベースに接続する(S112)。
次いで、専用ツールは、デバイス管理テーブルにアクセスしてデバイス名に対応するデバイスIDを取得し、そのデバイスIDをデータベースインタフェース13に渡すとともにデバイス接続要求を行なう(S113)。
一方、デバイスインタフェース13は、デバイスIDとともにデバイス接続要求を受ける(S114)と、そのデバイスIDがデータ保存部15に存在するか否かを判断する(S115)。受け付けたデバイスIDがデータ保存部15に存在しない場合、データベースインタフェース13は、専用ツールにエラーを返す(S116)。受け付けたデバイスIDがデータ保存部15に存在する場合、データベースインタフェース13は、専用ツールに成功を返す(S117)。
構成管理アプリケーション11は、ユーザがインポート処理を選択したことを認識する(S120)と、ユーザに任意のフォルダ以下のファイル一覧をダイアログで示す(S121)。構成管理アプリケーションは、ユーザがファイルを選択するのを待つ(S122,S123)。ファイルが選択された場合、構成管理アプリケーション11は、ファイル一覧ダイアログを閉じる(S124)。このとき、構成管理アプリケーション11は、ユーザが選択したファイル位置情報を記憶する。
データベースインタフェース13は、アプリケーションからデバイスIDとファイル名とともにファイル接続要求を受け取ると(S125)、そのデバイスIDがデータ保存部15に存在するか否かを判断する(S126)。受け付けたデバイスIDがデータ保存部15に存在しない場合、データベースインタフェース13は、アプリケーションにエラーを返す(S127)。受け付けたデバイスIDがデータ保存部15に存在する場合、受け付けたファイル名が検出したデバイスID以下に存在するか否かを判断する(S128)。受け付けたファイル名がデバイスID以下に存在しない場合、データベースインタフェース13は、アプリケーションにエラーを返す(S127)。受け付けたファイル名がデバイスIDに存在する場合、データベースインタフェース13は、デバイスIDにファイル保存位置情報を付加する。
構成管理アプリケーション11は、デバイス管理テーブルからデバイスIDを取得し、データベースに接続する(S131)。構成管理アプリケーション11は、データベースインタフェース13からの返答を待ち、その返答がエラーか否かを判断する(S132)。エラーの場合には、エラー処理を実行する(S133)。このエラー処理は、例えば、作業ウインドウ上にエラーメッセージを表示することなどがある。一方、データベースインタフェース13からエラーが返されてこなかったならば、構成管理アプリケーション11は、プロジェクト名,デバイスIDおよび覚えておいたファイル位置情報を専用ツールに渡す(S134)。
専用ツールは、構成管理アプリケーション11からプロジェクト名,デバイスIDおよびファイル位置情報を取得し(S135)、取得したファイル位置情報のファイルを開く(S136)。そして専用ツールは、ストレージに該当するファイル位置情報のファイルが無い場合、スラー処理をする(S138)。一方、ストレージに該当するファイルが存在する場合、当該ファイルを開く(S139)。