(57)【特許請求の範囲】
【請求項１】
クラス／インスタンス型のパーツの作成後このパーツとこのパーツに対応するクラスデータとのリンクを希薄とするリンク希薄手段と、
前記クラス／インスタンス型のパーツを利用して作成された制御ロジック図において、利用者からの指示に応じて、前記クラス／インスタンス型のパーツのインスタンスデータとそのパーツに対応するクラスデータとの整合性をチェックする整合性チェック手段と、
この整合性チェック手段によるチェック結果が不整合であった場合、利用者からの指示に応じて、それまで希薄とされていた前記クラス／インスタンス型のパーツとこのパーツに対応するクラスデータとのリンクを強固とし、前記クラス／インスタンス型のパーツのインスタンスデータをこのパーツに対応するクラスデータに整合させる整合手段と
を備えたことを特徴とする制御設計用コンフィギュレーションツール。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、画面上での制御系の設計（制御ロジック図の作成）を支援する制御設計用コンフィギュレーションツールに関し、殊にバージョンの異なる制御設計用コンフィギュレーションツールや環境の異なる制御設計用コンフィギュレーションツールで作成された再利用部品（クラス／インスタンス型のパーツあるいはそのパーツを含むソフトウェア部品）を有効に利用することのできる制御設計用コンフィギュレーションツールに関するものである。
【０００２】
【従来の技術】
図４は従来の制御設計用コンフィギュレーションツール（以下、コンフツールと呼ぶ）の機能ブロック図である。コンフツール１は、ワークステーション２のアプリケーションツールとして用いられ、設計部１−１と、設計情報格納部１−２と、部品登録／検索部１−３と、部品格納部１−４とを備えている。なお、部品登録／検索部１−３および部品格納部１−４はネットワーク接続された他のワークステーション上で動作することもある。
【０００３】
コンフツール１を用いてワークステーション２の画面上で制御ロジック図を作成する。この場合、その編集画面Ｇ１（図５参照）上のツールバーＴＢから所望のパーツを選択し、すなわちツールバーＴＢ中に一覧表示されている所望のパーツのアイコンにポインタを位置させてマウスクリックし、続いて編集画面Ｇ１中の任意の位置をマウスクリックすることにより、選択したパーツを編集画面Ｇ１中に出現させる。ここで、ツールバーＴＢには、非クラス／インスタンス型の各種パーツとして「√」，「結線」，「ＡＮＤ」，「ＰＩＤ」，「Σ」，「ＡＩ」，「ＡＯ」，「ＳＧ」等のパーツと合わせて、クラス／インスタンス型パーツの外枠を示すアイコンＴＢ１が表示されている。
【０００４】
例えば、今、図６に示すような制御ロジック図を編集画面Ｇ１上で作るものとする。この場合、ツールバーＴＢ中のアイコンＴＢ１をマウスクリックし、続いて編集画面Ｇ１中の任意の位置をマウスクリックすることにより、編集画面Ｇ１中にクラス／インスタンス型パーツの外枠Ｆを表示させる。この外枠Ｆにはクラスが指定されていない。この外枠ＦをダブルクリックするとダイアログＤが出現する。このダイアログＤ上でクラスを指定する。ここでは、外枠Ｆに対するクラスとして、「Ｃ／Ｓ操作型」を指定する。
【０００５】
すると、図７（ｂ）に示すように、ダイアログＤ中に「Ｃ／Ｓ操作型」の固有のデータの入力および編集を可能とする以降のページが現れる。これらのページには「Ｃ／Ｓ操作型」に対する各種のデータ（パラメータの内容）が定義されている。この定義データを必要に応じて変更する。また、操作端名を「ＦＲ００１」と入力する。
【０００６】
図８（ｂ）に設計情報格納部１−２中のクラスデータ管理部１−２１に格納されているクラスデータの構造を示す。この場合、クラスデータは、「クラス名」，「構造」，「ふるまい」の各データに分類されている。このクラスデータは編集画面Ｇ１上の外枠Ｆに反映される。この場合、「Ｃ／Ｓ操作型」のクラスデータが取り出され、「ふるまい」データによって、クラス名である「Ｃ／Ｓ操作型」が外枠Ｆ中の上段に、操作端名である「ＦＲ００１」が外枠Ｆ中の下段に表示される。また、「構造」データによって定義されるポート数や「ふるまい」データによって定義されるパーツの表示形態などによって、外枠Ｆの形状や外枠Ｆに付加する入出力端子（ポート）の数や位置などが定められる。
【０００７】
このようにして、クラスデータを参照として、クラス／インスタンス型のパーツＰ１が編集画面Ｇ１上に作られる。この編集画面Ｇ１上のクラス／インスタンス型のパーツＰ１のデータ（固有データ＋クラスデータ（共通データ））は「Ｃ／Ｓ操作型−ＦＲ００１」のインスタンスデータとして、設計情報格納部１−２中のクラスデータ管理部１−２１とは別の領域に格納される。
【０００８】
次に、ツールバーＴＢ中の図示されていない「√」パーツおよび「ＳＧ」パーツのアイコンを選択し、外枠Ｆと同様にして、そのパーツＰ２およびＰ３を編集画面Ｇ１中に表示させる（図６）。但し、このパーツＰ２およびＰ３は、クラス／インスタンス型のパーツＰ１とは異なり、対応するクラスデータは存在せず、そのパーツ中の上段にアルゴリズムが、下段にパーツ名が示される。そして、このパーツＰ２およびＰ３とクラス／インスタンス型のパーツＰ１とをツールバーＴＢ中からの「結線」パーツＬ１，Ｌ２で結び、所要の制御ロジック図を得る。
【０００９】
この例では、制御ロジック図をクラス／インスタンス型のパーツＰ１とパーツＰ２およびＰ３との組み合わせとしたが、実際には各種のクラス／インスタンス型のパーツと各種のパーツとを組み合わせて所望の制御ロジック図を編集画面Ｇ１上で作成して行く。外枠Ｆに指定し得るクラスとしては、「Ｃ／Ｓ操作型」の他、「二重計装切替」，「Ｃ／Ｓ設定型」，「Ｃ／Ｓ指示型」等があり、これらのクラスについても「Ｃ／Ｓ操作型」の場合と同様にして、そのクラスデータがクラスデータ管理部１−２１に格納されている（図８参照）。
【００１０】
この制御ロジック図の作成に際し、例えば図６に示した制御ロジック図を１つの部品ＰＡとして登録しておけば、すなわち部品登録／検索部１−３を介して部品格納部１−４に格納しておけば、この部品格納部１−４に格納された部品ＰＡを部品登録／検索部１−３を介して編集画面Ｇ１上に読み出すことによって再利用することができる。これにより、制御ロジック図の作成業務を省力化することができる。なお、再利用する部品は、画面Ｇ１上で作成したクラス／インスタンス型のパーツ単体としてもよい。すなわち、クラス／インスタンス型のパーツＰ１を部品ＰＢとして登録しておき、必要に応じて編集画面Ｇ１上に読み出して再利用するようにしてもよい。
【００１１】
クラス／インスタンス型のパーツを利用することによって、クラスデータを変更するのみで、そのクラスデータに対応するクラス／インスタンス型のパーツの内容を一挙に変更することができる。これにより、クラス／インスタンス型のパーツの内容を個々に変更する必要がなくなり、手間を省くことができる。
【００１２】
なお、クラスデータの入力および編集は、次のようにして行うことができる。例えば、クラスデータのパラメータの内容を変更する場合、先ず、図９（ａ）に示すように、メニューバーのマネージャよりクラス編集を選択する。そして、これによって出現するクラス一覧（図９（ｂ））より、所望のクラスの名称を選択する。そして、この選択したクラスの編集ダイアログを出現させ（図９（ｃ））、この編集ダイアログにおいて所望のパラメータを選択する。そして、これにより出現するパラメータ編集ダイアログ（図９（ｄ））中で、そのパラメータの内容を変更する。
【００１３】
図９（ｃ）に示した編集ダイアログでは、パラメータの新規登録、削除等を行うこともできる。すなわち、「新規定義」により、パラメータ名の定義、そのパラメータのデータタイプ、パラメータ値の最大／最少値、ポートの有無等の設定を行ったり、「削除」により、定義されているパラメータを削除することができる。新しいクラスを登録する場合、図９（ｂ）のクラス一覧中、新規定義ボタンをクリックして、現れる図９（ｃ）のダイアログでクラスＩＤとクラス名称を入力し、同時にそこにある新規定義ボタンをクリックしてパラメータを作成する。作成されたパラメータは図９（ｃ）の左下にあるリストボックスで名称を一覧することができる。
【００１４】
【発明が解決しようとする課題】
しかしながら、従来においては、編集画面Ｇ１上の制御ロジック図中のクラス／インスタンス型のパーツが、クラスデータ管理部１−２１中の対応するクラスデータと強固にリンクされている。すなわち、クラスデータの内容を変更すると、その変更内容が対応するクラス／インスタンス型のパーツのインスタンスデータに即座に反映される。このため、例えばコンフツール１がバージョンアップされていて、再利用部品中のクラス／インスタンス型のパーツのインスタンスデータとクラスデータ管理部１−２１における対応するクラスデータとが異なる場合、再利用部品を編集画面Ｇ１上に読み出す（貼り付ける）と、再利用部品中のクラス／インスタンス型のパーツのインスタンスデータがクラスデータ管理部１−２１中の対応するクラスデータに書き替えられてしまい、すなわち再利用部品中のクラス／インスタンス型のパーツのインスタンスデータが自動的に構造変化（変質）してしまい、再利用部品を作成した人の意図が利用者に伝わりにくく、再利用部品を有効に利用することができないという問題があった。このような問題は、コンフツール１の再利用部品を環境の異なるコンフツールで使用した場合にも、同様にして生じる。
【００１５】
本発明はこのような課題を解決するためになされたもので、その目的とするところは、バージョンの異なるコンフツールや環境の異なるコンフツールで作成された再利用部品を有効に利用することのできるコンフツールを提供することにある。
【００１６】
【課題を解決するための手段】
このような目的を達成するために、第１発明（請求項１に係る発明）は、クラス／インスタンス型のパーツの作成後このパーツとこのパーツに対応するクラスデータとのリンクを希薄とするリンク希薄手段と、クラス／インスタンス型のパーツを利用して作成された制御ロジック図において、利用者からの指示に応じて、クラス／インスタンス型のパーツのインスタンスデータとそのパーツに対応するクラスデータとの整合性をチェックする整合性チェック手段と、この整合性チェック手段によるチェック結果が不整合であった場合、利用者からの指示に応じて、それまで希薄とされていたクラス／インスタンス型のパーツとこのパーツに対応するクラスデータとのリンクを強固とし、クラス／インスタンス型のパーツのインスタンスデータをこのパーツに対応するクラスデータに整合させる整合手段とを設けたものである。
この発明によれば、バージョンの異なるコンフツールや環境の異なるコンフツールで作成された再利用部品（クラス／インスタンス型のパーツあるいはそのパーツを含むソフトウェア部品）を読み出した場合、その再利用部品中のクラス／インスタンス型のパーツとそのパーツに対応するクラスデータとのリンクが希薄であるため（例えば、「ふるまい」データのみのリンクが確立される）、再利用部品中のクラス／インスタンス型のパーツのインスタンスデータの全てあるいは大部分は存在し続ける。ここで、読み出した再利用部品中のクラス／インスタンス型のパーツのインスタンスデータがそのパーツに対応するクラスデータと整合しているか否かは、利用者からの指示によってチェックすることができる。また、この整合性のチェック結果が不整合であった場合、利用者からの指示によって、それまで希薄とされていた再利用部品中のクラス／インスタンス型のパーツとそのパーツに対応するクラスデータとのリンクを強固とし、再利用部品中のクラス／インスタンス型のパーツのインスタンスデータをそのパーツに対応するクラスデータに強制的に整合させることができる。
【００１８】
【発明の実施の形態】
以下、本発明を実施の形態に基づき詳細に説明する。本実施の形態のコンフツールは、図４に示した従来のコンフツール１に対し、その設計部１−１の機能が異なっている。従来のコンフツールと区別するため本実施の形態のコンフツールを符号１’とする。
【００１９】
このコンフツール１’を用いて、ワークステーション２の画面上で図１（ａ）に示すような制御ロジック図を作るものとする。この場合、従来と同様にして、ツールバーＴＢ（図２）中のアイコンＴＢ１をマウスクリックし、続いて編集画面Ｇ１中の任意の位置をマウスクリックすることにより、編集画面Ｇ１中にクラス／インスタンス型パーツの外枠Ｆを表示させる。この外枠Ｆにはクラスが指定されていない。この編集画面Ｇ１中に表示された外枠ＦをダブルクリックするとダイアログＤが出現する。このダイアログＤ上でクラスを指定する。ここでは、外枠Ｆに対するクラスとして、「Ｃ／Ｓ操作型」を指定する。
【００２０】
すると、図７（ｂ）に示すように、ダイアログＤ中に「Ｃ／Ｓ操作型」の固有のデータの入力および編集を可能とする以降のページが現れる。これらのページには「Ｃ／Ｓ操作型」に対する各種のデータ（パラメータ）が定義されている。この定義データを必要に応じて変更する。また、操作端名を「ＦＲ００３」と入力する。
【００２１】
クラスデータ管理部１−２１に格納されているクラスデータの構造は、「クラス名」，「構造」，「ふるまい」の各データに分類されている。このクラスデータは編集画面Ｇ１上の外枠Ｆに反映される。この場合、「Ｃ／Ｓ操作型」のクラスデータが取り出され、「ふるまい」データによって、クラス名である「Ｃ／Ｓ操作型」が外枠Ｆ中の上段に、操作端名である「ＦＲ００３」が外枠Ｆ中の下段に表示される。また、「構造」データによって定義されるポート数や「ふるまい」データによって定義されるパーツの表示形態などによって、外枠Ｆの形状や外枠Ｆに付加する入出力端子（ポート）の数や位置などが定められる。
【００２２】
このようにして、クラスデータを参照として、クラス／インスタンス型のパーツＰ１’が編集画面Ｇ１上に作られる。この編集画面Ｇ１上のクラス／インスタンス型のパーツＰ１’のデータ（固有データ＋クラスデータ）は「Ｃ／Ｓ操作型−ＦＲ００３」のインスタンスデータとして、設計情報格納部１−２中のクラスデータ管理部１−２１とは別の領域に格納される。
【００２３】
ここで、従来はクラス／インスタンス型のパーツＰ１’が作られると、このクラス／インスタンス型のパーツＰ１’とこのクラス／インスタンス型のパーツＰ１’に対応するクラスデータ管理部１−２１中のクラスデータとは強固にリンクされていた。すなわち、クラスデータ管理部１−２１中のクラス／インスタンス型のパーツＰ１’と対応するクラスデータを変更すると、この変更が編集画面Ｇ１上のクラス／インスタンス型のパーツＰ１’のインスタンスデータに即座に反映されていた。
【００２４】
これに対し、本実施の形態では、クラス／インスタンス型のパーツＰ１’が作られると、このクラス／インスタンス型のパーツＰ１’とこのクラス／インスタンス型のパーツＰ１’に対応するクラスデータ管理部１−２１中のクラスデータとのリンクは希薄とされる。この例では、クラスデータ中、「ふるまい」データ（パーツ表面の表示情報等）とのリンクのみが確立される。すなわち、クラスデータ管理部１−２１中のクラス／インスタンス型のパーツＰ１’と対応するクラスデータの「構造」データを変更しても、この変更は編集画面Ｇ１上のクラス／インスタンス型のパーツＰ１’のインスタンスデータには反映されず、「ふるまい」データの変更のみが反映される。
【００２５】
次に、ツールバーＴＢ中の図示されていない「√」パーツ，「ＳＧ」パーツおよび「ＡＮＤ」パーツのアイコンを選択し、外枠Ｆと同様にして、そのパーツＰ２，Ｐ３およびＰ４を編集画面Ｇ１中に表示させる（図１（ａ））。但し、このパーツＰ２，Ｐ３およびＰ４は、クラス／インスタンス型のパーツＰ１’とは異なり、対応するクラスデータは存在せず、そのパーツ中の上段にアルゴリズムが、下段にパーツ名が示される。そして、このパーツＰ２，Ｐ３およびＰ４とクラス／インスタンス型のパーツＰ１’とをツールバーＴＢ中からの「結線」パーツＬ１，Ｌ２およびＬ３で結び、所要の制御ロジック図を得る。
【００２６】
この例では、制御ロジック図をクラス／インスタンス型のパーツＰ１’とパーツＰ２，Ｐ３およびＰ４との組み合わせとしたが、実際には各種のクラス／インスタンス型のパーツと各種のパーツとを組み合わせて所望の制御ロジック図を編集画面Ｇ１上で作成して行く。外枠Ｆに指定し得るクラスとしては、「Ｃ／Ｓ操作型」の他、「二重計装切替」，「Ｃ／Ｓ設定型」，「Ｃ／Ｓ指示型」等があり、これらのクラスについても「Ｃ／Ｓ操作型」の場合と同様にして、そのクラスデータがクラスデータ管理部１−２１に格納されている。これらについても、そのクラス／インスタンス型のパーツとクラスデータ管理部１−２１中の対応するクラスデータとのリンクは、「ふるまい」データのみとされる。
【００２７】
この制御ロジック図の作成に際し、例えば図１（ａ）に示した制御ロジック図を１つの部品ＰＣとして登録しておけば、すなわち部品登録／検索部１−３を介して部品格納部１−４に格納しておけば、この部品格納部１−４に格納された部品ＰＣを部品登録／検索部１−３を介して編集画面Ｇ１上に読み出すことによって再利用することができる。なお、再利用する部品は、画面Ｇ１上で作成したクラス／インスタンス型のパーツ単体としてもよい。すなわち、クラス／インスタンス型のパーツＰ１’を部品ＰＤとして登録しておき、必要に応じて編集画面Ｇ１上に読み出して再利用するようにしてもよい。
【００２８】
ここで、コンフツール１’がバージョンアップされていて、再利用部品ＰＣ中のクラス／インスタンス型のパーツＰ１’のインスタンスデータとクラスデータ管理部１−２１における対応するクラスデータとが異なっているものとする。
【００２９】
この場合、再利用部品ＰＣを編集画面Ｇ１に読み出すと、従来は再利用部品ＰＣ中のクラス／インスタンス型のパーツＰ１’とクラスデータ管理部１−２１中の対応するクラスデータとが強固にリンクされていたため、再利用部品ＰＣ中のクラス／インスタンス型のパーツＰ１’のインスタンスデータがクラスデータ管理部１−２１中の対応するクラスデータに書き替えられてしまっていた。すなわち、クラス／インスタンス型のパーツＰ１’のインスタンスデータが変質してしまい、例えば再利用先のＣ／Ｓ操作型のクラスデータとしてポートＳ０が定義されていない場合、図１（ｃ）に示すように、ポートＳ０とそこからパーツＰ４への結線Ｌ３が削除されてしまう。このため、ポートＳ０の接続に関する再利用部品ＰＣの作成者の意図を得ることができない。
【００３０】
これに対して、本実施の形態では、再利用部品ＰＣを編集画面Ｇ１に読み出しても、クラス／インスタンス型のパーツＰ１’とクラスデータ管理部１−２１中の対応するクラスデータとのリンクは希薄とされているので、すなわちクラスデータ中「ふるまい」データとのリンクのみが確立されるので、クラスデータ中の「構造」データの相異はクラス／インスタンス型のパーツＰ１’のインスタンスデータに反映されない。このため、図１（ｂ）に示すように、ポートＳ０とそこからパーツＰ４への結線Ｌ３が削除されてしまうことがなく、ポートＳ０の接続に関する再利用部品ＰＣの作成者の意図を得ることができる。
【００３１】
各種の再利用部品を編集画面Ｇ１に読み出した後、メニューバーのマネージャよりクラス整合チェックを選択し（図３（ａ））、これによって出現する整合チェック画面Ｇ２中のチェックボタンＢＴ１をマウスクリックすることによって、編集画面Ｇ１上に読み出されている各種の再利用部品中のクラス／インスタンス型のパーツのインスタンスデータとクラスデータ管理部１−２１中の対応するクラスデータとが整合しているか否かを、クラス／インスタンス型のパーツ毎に知ることができる。この場合、その整合性のチェックはクラスデータ中の「ふるまい」データと「構造」データについて行われ、不整合箇所が整合チェック画面Ｇ２中に文字表示される。また、クラス／インスタンス型のパーツの操作端名がＩＤとして表示され、不整合箇所が整合チェック画面Ｇ２中に文字表示される。
【００３２】
不整合であった場合、整合チェック画面Ｇ２中の整合取りボタンＢＴ２をマウスクリックすることによって、編集画面Ｇ１上に読み出されている各種の再利用部品中のクラス／インスタンス型のパーツのインスタンスデータをクラスデータ管理部１−２１中の対応するクラスデータに強制的に整合させることができる。なお、整合チェック画面Ｇ２において、整合取りボタンＢＴ２は不整合があった場合にのみ有効表示となる。この場合の整合取りは、指摘されたクラス／インスタンス型のパーツの全てについて一挙に行われるが、クラス／インスタンス型のパーツを指定して個々に行うようにしてもよい。
【００３４】
【発明の効果】
以上説明したことから明らかなように本発明によれば、バージョンの異なるコンフツールや環境の異なるコンフツールで作成された再利用部品を読み出した場合、第１発明では、その再利用部品中のクラス／インスタンス型のパーツとそのパーツに対応するクラスデータとのリンクが希薄であるため、再利用部品中のクラス／インスタンス型のパーツのインスタンスデータの全てあるいは大部分が存在し続け、第２発明では、その再利用部品中のクラス／インスタンス型のパーツとそのパーツに対応するクラスデータとのリンクが切り離されているため、再利用部品中のクラス／インスタンス型のパーツのインスタンスデータの全てが存在し続け、再利用部品を作成した人の意図を得ることが可能となる。また、読み出した再利用部品中のクラス／インスタンス型のパーツのインスタンスデータがそのパーツに対応するクラスデータと整合しているか否かのチェックや強制的な整合取りも可能であり、バージョンの異なるコンフツールや環境の異なるコンフツールで作成された再利用部品を有効に利用することができるようになる。
【図面の簡単な説明】
【図１】本発明に係る制御設計用コンフィギュレーションツールを用いた場合の再利用部品の編集画面上への読み出し（貼り付け）状況を従来と比較して示す図である。
【図２】編集画面上でのクラス／インスタンス型のパーツの作成方法を説明する図である。
【図３】編集画面上のクラス／インスタンス型のパーツに対する整合チェック画面を示す図である。
【図４】従来の制御設計用コンフィギュレーションツールの機能ブロック図である。
【図５】編集画面上でのクラス／インスタンス型のパーツの作成方法を説明する図である。
【図６】編集画面上で作ろうとする制御ロジック図（再利用部品）の一例を示す図である。
【図７】クラス／インスタンス型パーツに対する固有データの入力および編集を説明する図である。
【図８】クラス／インスタンス型のパーツとこのパーツに対応するクラスデータの構造を示す図である。
【図９】クラスデータの変更方法や定義方法を説明する図である。
【符号の説明】
１’…制御設計用コンフィギュレーションツール（コンフツール）、１−１…設計部、１−２…設計情報格納部、１−２１…クラスデータ管理部、１−３…部品登録／検索部、１−４…部品格納部、２…ワークステーション、Ｇ１…編集画面、Ｐ１’…クラス／インスタンス型パーツ、Ｐ２，Ｐ３，Ｐ４…パーツ、Ｌ１，Ｌ２，Ｌ３…結線、ＰＣ，ＰＤ…再利用部品、Ｇ２…整合チェック画面、ＢＴ１…チェックボタン、ＢＴ２…整合取りボタン。
【図１】
0003557896.tif 000002
【図２】
0003557896.tif 000003
【図３】
0003557896.tif 000004
【図４】
0003557896.tif 000005
【図５】
0003557896.tif 000006
【図６】
0003557896.tif 000007
【図７】
0003557896.tif 000008
【図８】
0003557896.tif 000009
【図９】
0003557896.tif 000010