(57)【特許請求の範囲】
【請求項１】
設計支援装置によって実行される設計支援方法であって、
前記設計支援装置は、
出力装置と、
制御装置と、
制御内容を規定している制御ロジック部品で構成される制御ロジック図を格納するための記憶装置とを備え、
前記制御ロジック図は、過去に作成された制御ロジック図である複数の参照図と、編集対象の制御ロジック図である編集対象図とを含み、
前記設計支援方法は、
前記制御装置が、前記記憶装置から前記制御ロジック図を取得するステップと、
前記制御装置が、制御ロジック図に含まれる制御ロジック部品を解析するための複数の解析ルールの各々を前記複数の参照図の各々と前記編集対象図とに適用し、前記制御装置が、前記複数の参照図の各々と前記編集対象図とに含まれる制御ロジック部品を解析するステップをさらに備え、
前記複数の解析ルールの各々は、階層化されており、上位の階層レベルの解析ルールに対応する制御ロジック部品が下位の階層レベルの解析ルールに対応する制御ロジック部品を包含する関係を有し、
前記設計支援方法は、
前記制御装置が、前記解析するステップでの解析結果に基づいて、前記複数の参照図の中から、前記編集対象図に含まれる制御ロジック部品と共通する制御ロジック部品を含む参照図を類似図として特定するステップと、
前記制御装置が、前記類似図に含まれる制御ロジック部品の内、前記共通する制御ロジック部品と階層関係にある制御ロジック部品を前記出力装置上で提示するステップとをさらに備える、設計支援方法。
【請求項２】
前記提示するステップで提示される制御ロジック部品は、前記類似図に含まれる制御ロジック部品の内の、前記共通する制御ロジック部品よりも上位の階層レベルの制御ロジック部品を含む、請求項１に記載の設計支援方法。
【請求項３】
前記提示するステップで提示される制御ロジック部品は、前記類似図に含まれる制御ロジック部品の内の最上位の階層レベルの制御ロジック部品を含む、請求項１または請求項２に記載の設計支援方法。
【請求項４】
前記特定するステップは、
前記制御装置が、前記複数の参照図の各々について、当該参照図に含まれる制御ロジック部品と前記編集対象図に含まれる制御ロジック部品とを対応する階層レベルごとに比較し、前記複数の参照図の各々について前記編集対象図との類似度を算出するステップと、
前記制御装置が、前記類似度が予め定められた値よりも高い参照図を前記類似図として特定するステップとを含む、請求項１〜請求項３のいずれか１項に記載の設計支援方法。
【請求項５】
前記制御装置は、前記算出するステップで、前記複数の参照図の各々に含まれる制御ロジック部品と前記編集対象図に含まれる制御ロジック部品とを対応する階層レベルごとに比較する際、階層レベルが上位である制御ロジック部品の比較結果ほど重みを大きくした上で、前記類似度を算出する、請求項４に記載の設計支援方法。
【請求項６】
前記提示するステップは、前記制御装置が、提示する制御ロジック部品の属性情報をさらに提示するステップを含む、請求項１〜請求項５のいずれか１項に記載の設計支援方法。
【請求項７】
制御内容を規定している制御ロジック部品で構成される制御ロジック図を格納するための記憶部を備え、
前記制御ロジック図は、過去に作成された制御ロジック図である複数の参照図と、編集対象の制御ロジック図である編集対象図とを含み、
制御ロジック図に含まれる制御ロジック部品を解析するための複数の解析ルールの各々を前記複数の参照図の各々と前記編集対象図とに適用し、前記複数の参照図の各々と前記編集対象図とに含まれる制御ロジック部品を解析するための解析部をさらに備え、
前記複数の解析ルールの各々は、階層化されており、上位の階層レベルの解析ルールに対応する制御ロジック部品が下位の階層レベルの解析ルールに対応する制御ロジック部品を包含する関係を有し、
前記解析部による解析結果に基づいて、前記複数の参照図の中から、前記編集対象図に含まれる制御ロジック部品と共通する制御ロジック部品を含む参照図を類似図として特定するための特定部と、
前記類似図に含まれる制御ロジック部品の内、前記共通する制御ロジック部品と階層関係にある制御ロジック部品を提示するための提示部とをさらに備える、設計支援装置。
【請求項８】
コンピュータによって実行される設計支援プログラムであって、
前記設計支援プログラムは、前記コンピュータに、制御内容を規定している制御ロジック部品で構成される制御ロジック図を取得するステップを実行させ、
前記制御ロジック図は、過去に作成された制御ロジック図である複数の参照図と、編集対象の制御ロジック図である編集対象図とを含み、
前記設計支援プログラムは、前記コンピュータに、制御ロジック図に含まれる制御ロジック部品を解析するための複数の解析ルールの各々を前記複数の参照図の各々と前記編集対象図とに適用し、前記複数の参照図の各々と前記編集対象図とに含まれる制御ロジック部品を解析するステップをさらに実行させ、
前記複数の解析ルールの各々は、階層化されており、上位の階層レベルの解析ルールに対応する制御ロジック部品が下位の階層レベルの解析ルールに対応する制御ロジック部品を包含する関係を有し、
前記設計支援プログラムは、前記コンピュータに、
前記解析するステップでの解析結果に基づいて、前記複数の参照図の中から、前記編集対象図に含まれる制御ロジック部品と共通する制御ロジック部品を含む参照図を類似図として特定するステップと、
前記類似図に含まれる制御ロジック部品の内、前記共通する制御ロジック部品と階層関係にある制御ロジック部品を提示するステップとをさらに実行させる、設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御ロジック図の作成を支援するための技術に関する。
【背景技術】
【０００２】
電力系統の監視制御システムや上下水道のプラントの開発では、設備の運転仕様を定めた運転方案をフローチャートと論理演算とで記述した制御ロジック図を用いることがある。これらの開発の規模によっては制御ロジック図が数百枚程度必要とされる場合もあり、制御ロジック図を効率的に作成することが望まれている。【０００３】
たとえば、特許文献１（特開２０１２−１８１８２１号公報）に開示されるロジック図面検索装置は、制御ロジック図中の信号または演算素子の、論理的な接続情報または位置情報を利用することによって、ある制御ロジック図面に記載されたロジックについて他の制御ロジック図に含まれる類似ロジックを検索できる。これにより、記述される頻度の高いロジックを部品化することで、必要となる制御ロジック図の数を減らすことが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１８１８２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に示される技術では、検索可能な類似ロジックは、基準となるロジックに一致するものであるため、基準となるロジックとは全体のうち一部が異なっているようなロジックを検索することができないという問題があった。たとえば、プラント処理の場合では正常処理に対する例外処理などが付加されていることが多く、十分に制御ロジック図作成の効率を高めることができなかった。【０００６】
本開示は、上記のような問題に鑑みてなされたものであって、ある局面における目的は、制御ロジック図を効率的に作成することが可能な設計支援方法を提供することである。他の局面における目的は、制御ロジック図を効率的に作成することが可能な設計支援装置を提供することである。他の局面における目的は、制御ロジック図を効率的に作成することが可能な設計支援プログラムを提供することである。
【課題を解決するための手段】
【０００７】
ある局面に従うと、設計支援方法は、制御内容を規定している制御ロジック部品で構成される制御ロジック図を取得するステップを備える。上記制御ロジック図は、過去に作成された制御ロジック図である複数の参照図と、編集対象の制御ロジック図である編集対象図とを含む。上記設計支援方法は、制御ロジック図に含まれる制御ロジック部品を解析するための複数の解析ルールの各々を上記複数の参照図の各々と上記編集対象図とに適用し、上記複数の参照図の各々と上記編集対象図とに含まれる制御ロジック部品を解析するステップをさらに備える。上記複数の解析ルールの各々は、階層化されており、上位の階層レベルの解析ルールに対応する制御ロジック部品が下位の階層レベルの解析ルールに対応する制御ロジック部品を包含する関係を有する。上記設計支援方法は、上記解析するステップでの解析結果に基づいて、上記複数の参照図の中から、上記編集対象図に含まれる制御ロジック部品と共通する制御ロジック部品を含む参照図を類似図として特定するステップと、上記類似図に含まれる制御ロジック部品の内、上記共通する制御ロジック部品と階層関係にある制御ロジック部品を提示するステップとをさらに備える。【０００８】
他の局面に従うと、設計支援装置は、制御内容を規定している制御ロジック部品で構成される制御ロジック図を格納するための記憶部を備える。上記制御ロジック図は、過去に作成された制御ロジック図である複数の参照図と、編集対象の制御ロジック図である編集対象図とを含む。設計支援装置は、制御ロジック図に含まれる制御ロジック部品を解析するための複数の解析ルールの各々を上記複数の参照図の各々と上記編集対象図とに適用し、上記複数の参照図の各々と上記編集対象図とに含まれる制御ロジック部品を解析するための解析部をさらに備える。上記複数の解析ルールの各々は、階層化されており、上位の階層レベルの解析ルールに対応する制御ロジック部品が下位の階層レベルの解析ルールに対応する制御ロジック部品を包含する関係を有する。上記設計支援装置は、上記解析部による解析結果に基づいて、上記複数の参照図の中から、上記編集対象図に含まれる制御ロジック部品と共通する制御ロジック部品を含む参照図を類似図として特定するための特定部と、上記類似図に含まれる制御ロジック部品の内、上記共通する制御ロジック部品と階層関係にある制御ロジック部品を提示するための提示部とをさらに備える。【０００９】
他の局面に従うと、設計支援プログラムは、コンピュータに、制御内容を規定している制御ロジック部品で構成される制御ロジック図を取得するステップを実行させる。上記制御ロジック図は、過去に作成された制御ロジック図である複数の参照図と、編集対象の制御ロジック図である編集対象図とを含む。上記設計支援プログラムは、上記コンピュータに、制御ロジック図に含まれる制御ロジック部品を解析するための複数の解析ルールの各々を上記複数の参照図の各々と上記編集対象図とに適用し、上記複数の参照図の各々と上記編集対象図とに含まれる制御ロジック部品を解析するステップをさらに実行させる。上記複数の解析ルールの各々は、階層化されており、上位の階層レベルの解析ルールに対応する制御ロジック部品が下位の階層レベルの解析ルールに対応する制御ロジック部品を包含する関係を有する。上記設計支援プログラムは、上記コンピュータに、上記解析するステップでの解析結果に基づいて、上記複数の参照図の中から、上記編集対象図に含まれる制御ロジック部品と共通する制御ロジック部品を含む参照図を類似図として特定するステップと、上記類似図に含まれる制御ロジック部品の内、上記共通する制御ロジック部品と階層関係にある制御ロジック部品を提示するステップとをさらに実行させる、設計支援プログラム。
【発明の効果】
【００１０】
ある局面において、制御ロジック図を効率的に作成することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に従う設計支援装置の主要なハードウェア構成の一例を示す図である。
【図２】実施の形態１に従う設計支援装置の機能構成の一例を示す図である。
【図３】制御ロジック図の一例を示す図である。
【図４】解析ルールＤＢ（Data Base）に含まれる解析ルールの具体例を示す図である。
【図５】階層化解析ルールの一例を示す図である。
【図６】実施の形態１に従う設定部の動作を示すフローチャートである。
【図７】実施の形態１に従う編集部の動作を示すフローチャートである。
【図８】実施の形態１に従う解析部の動作を示すフローチャートである。
【図９】図８に示されるステップＳ５６５の処理を表わすフローチャートである。
【図１０】制御ロジック図ＤＢのデータ構造の一例を示す図である。
【図１１】実施の形態１に従う解析部による解析結果を視覚的に表した図である。
【図１２】実施の形態１に従う特定部の動作を示すフローチャートである。
【図１３】実施の形態１に従う提示部の動作を示すフローチャートである。
【図１４】推奨対象の制御ロジック部品が表示された設計画面の一例示す図である。
【図１５】実施の形態２に従う設計支援装置の機能構成の一例を示す図である。
【図１６】実施の形態２に従う提示部の動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１３】
実施の形態１．
＜Ａ．設計支援装置１００のハードウェア構成＞
図１を参照して、本実施の形態に従う設計支援装置１００のハードウェア構成について説明する。図１は、設計支援装置１００の主要なハードウェア構成の一例を示す図である。
【００１４】
設計支援装置１００は、たとえば、ＰＣ（Personal Computer）、タブレット端末、スマートフォン、またはその他の計算機器である。設計支援装置１００には、電力系統の監視制御システムや上下水道のプラントの開発などを支援するための開発支援ツールが予めインストールされている。典型的には、当該開発支援ツールは、ＦＢＤ（Function Block Diagram）言語、ＳＦＣ（Sequential Function Chart）言語などで制御ロジック図を設計することが可能なアプリケーションである。
【００１５】
設計支援装置１００は、主要なハードウェア構成として、演算処理を行うＣＰＵ（Central Processing Unit）２と、情報を記憶するための記憶装置３と、情報の入力を受け付ける入力装置４と、設計支援画面などを表示する出力装置５とを含む。
【００１６】
制御装置２、たとえば、少なくとも１つの集積回路によって構成される。集積回路は、たとえば、少なくとも１つのＣＰＵ（Central Processing Unit）、少なくとも１つのＡＳＩＣ（Application Specific Integrated Circuit）、少なくとも１つのＦＰＧＡ（Field Programmable Gate Array）、またはそれらの組み合わせなどによって構成される。
【００１７】
記憶装置３は、たとえば、ＨＤＤ（Hard  Disk  Drive）、ＲＡＭ（Random  Access  Memory）およびＲＯＭ（Read  Only  Memory）、またはその他のメモリである。記憶装置３は、設計支援装置１００と一体的に構成されてもよいし、設計支援装置１００と別に構成されてもよい。
【００１８】
入力装置４は、たとえば、マウス、キーボード、タッチパネル、またはユーザ操作の入力を受け付けることが可能なその他の操作機器である。入力装置４は、設計支援装置１００と一体的に構成されてもよいし、設計支援装置１００と別に構成されてもよい。
【００１９】
出力装置５は、たとえば、液晶ディスプレイ、有機ＥＬディスプレイ、またはその他の表示機器である。出力装置５は、設計支援装置１００と一体的に構成されてもよいし、設計支援装置１００と別に構成されてもよい。
【００２０】
＜Ｂ．設計支援装置１００による設計支援方法＞
引き続き図１を参照して、設計支援装置１００による設計支援方法の概要について説明する。
【００２１】
記憶装置３には、ユーザによって過去に作成された制御ロジック図が制御ロジック図ＤＢ２０として格納されている。以下では、ユーザによって過去に作成された制御ロジック図を「参照図」ともいう。図１の例では、制御ロジック図ＤＢ２０には、参照図２１Ａ，２１Ｂが含まれている。また、参照図２１Ａ，２１Ｂを総称して参照図２１ともいう。これに対して、ユーザによる編集対象の制御ロジック図を「編集対象図」ともいう。図１の例では、編集対象図１０が編集中の制御ロジック図として出力装置５に表示されている。
【００２２】
制御ロジック図は、予め部品化された種々の制御ロジック部品を組み合わせることで構成される。各制御ロジック部品は、制御ロジック図を構成する部分的な処理を表わし、論理演算子や、論理演算子間の信号線などの組み合わせによって規定される。
【００２３】
記憶装置３には、さらに、制御ロジック図に含まれる制御ロジック部品の内容を解析するための解析ルールが解析ルールＤＢ３０として格納されている。各解析ルールは、階層化されている。以下では、階層化されている解析ルールを「階層化解析ルール」ともいう。解析ルールＤＢ３０には、１つ以上の階層化解析ルールが含まれる。図１の例では、解析ルールＤＢ３０には、階層化解析ルール３０Ａが含まれている。階層化解析ルール３０Ａは、たとえば、解析ルール１Ａ，２Ａ，２Ｂ，３Ａ〜３Ｄで構成される。
【００２４】
典型的には、各解析ルールには、制御ロジック部品が対応付けられている。すなわち、各解析ルールには、論理演算子や信号線などの組み合わせが対応付けられている。上位の階層レベルの制御ロジック部品は、下位の階層レベルの制御ロジック部品を包含する関係を有する。図１の例では、解析ルール１Ａは、解析ルール２Ａ，２Ｂの上位階層に位置し、解析ルール１Ａに対応する制御ロジック部品７Ａは、解析ルール２Ａ，２Ｂに対応する制御ロジック部品８Ａ，８Ｂを包含する。解析ルール２Ａは、解析ルール３Ａ，３Ｂの上位階層に位置し、解析ルール２Ａに対応する制御ロジック部品８Ａは、解析ルール３Ａ，３Ｂに対応する制御ロジック部品９Ａ，９Ｂを包含する。解析ルール２Ｂは、解析ルール３Ｃ，３Ｄの上位階層に位置し、解析ルール２Ｂに対応する制御ロジック部品８Ｂは、解析ルール３Ｃ，３Ｄに対応する制御ロジック部品９Ｃ，９Ｄを包含する。
【００２５】
各解析ルールに対応する制御ロジック部品の内容や各解析ルールの階層レベルは、予め設定されていてもよいし、ユーザによって任意に設定されてもよい。
【００２６】
本実施の形態に従う設計支援装置１００は、編集対象図１０での編集中の制御ロジック部品に適合する最適な制御ロジック部品をユーザに推奨する。より具体的には、制御装置２は、編集対象図１０および参照図２１を取得する（ステップＳ１参照）。その後、制御装置２は、解析ルールＤＢ３０に含まれる各解析ルールを編集対象図１０と参照図２１に適用し、各制御ロジック図に含まれる制御ロジック部品の内容を解析する（ステップＳ２参照）。これにより、制御装置２は、各制御ロジック図内において解析ルールとの合致箇所を特定する。図１の例では、編集対象図１０は、解析ルール３Ａと合致しており、解析ルール３Ａに対応する制御ロジック部品９Ａを含むことを示す。参照図２１Ａは、解析ルール２Ａ，３Ａと合致しており、解析ルール２Ａ，３Ａに対応する制御ロジック部品８Ａ，９Ａを含むことを示す。参照図２１Ｂは、解析ルール２Ｂ，３Ｃと合致しており、解析ルール２Ｂ，３Ｃに対応する制御ロジック部品８Ｂ，９Ｃを含むことを示す。
【００２７】
制御装置２は、上記解析結果に基づいて、参照図２１の中から、編集対象図１０に含まれる制御ロジック部品と共通する制御ロジック部品を含む参照図を類似図として特定する（ステップＳ３参照）。図１の例では、編集対象図１０および参照図２１Ａは、共に、制御ロジック部品９Ａを含むので、参照図２１Ａが編集対象図１０の類似図として特定される。なお、本明細書で用いられる「共通する」との用語は、完全に一致するという意味の他に、略一致（すなわち、類似）するという意味も有する。
【００２８】
制御装置２は、類似図としての参照図２１Ａに含まれる制御ロジック部品８Ａ，９Ａの内、編集対象図１０と共通する制御ロジック部品８Ａと階層関係にある制御ロジック部品８Ａ，９Ａの少なくとも１つを推奨対象として提示する（ステップＳ４参照）。図１の例では、制御ロジック部品８Ａが推奨対象として提示されている。ユーザは、提示された制御ロジック部品８Ａを入力装置４で指定することで、制御ロジック部品８Ａを編集対象図１０に反映することができる。
【００２９】
このように、制御装置２は、階層関係にある解析ルールを用いて編集対象図１０と参照図２１との類似性を解析することで、制御ロジック図の局所的な類似性ではなく、全体的な類似性に着目して制御ロジックを推奨することができる。これにより、制御ロジック部品の種類が多い場合であっても、適切な制御ロジック部品が提示され、ユーザの設計効率が改善される。
【００３０】
好ましくは、制御装置２は、類似図としての参照図２１Ａに含まれる制御ロジック部品８Ａ，９Ａの内の、編集対象図１０と共通する制御ロジック部品９Ａよりも上位の階層レベルの制御ロジック部品８Ａを推奨対象として提示する。典型的には、制御装置２は、類似図としての参照図２１Ａに含まれる制御ロジック部品８Ａ，９Ａの内の、最上位の階層レベルの制御ロジック部品８Ａを推奨対象として提示する。これにより、制御装置２は、制御ロジック部品９Ａの次に設計される可能性が高いより上位の制御ロジック部品を提示することができる。その結果、制御装置２は、ユーザの設計思想に合わせて制御ロジック部品を推奨することができ、ユーザの設計効率がさらに改善される。
【００３１】
なお、推奨対象として提示される制御ロジック部品は、１つに限定されず、複数提示されてもよい。たとえば、類似図と編集対象図との共通の制御ロジック部品よりも上位の制御ロジック部品が類似図において複数含まれている場合、当該複数の制御ロジック部品の全てが提示されてもよい。また、類似図と編集対象図との共通の制御ロジック部品よりも上位の制御ロジック部品が必ずしも提示される必要はなく、当該共通の制御ロジック部品と同じ階層レベルの制御ロジック部品が提示されてもよいし、当該共通の制御ロジック部品よりも下位の階層レベルの制御ロジック部品が提示されてもよい。
【００３２】
＜Ｃ．設計支援装置１００の機能構成＞
図２を参照して、設計支援装置１００の機能について説明する。図２は、設計支援装置１００の機能構成の一例を示す図である。
【００３３】
図１に示されるように、設計支援装置１００は、上述の解析ルールＤＢ３０に対する設定を行うための設定部１１と、制御ロジックを編集するための編集部１２と、制御ロジック図に含まれる制御ロジック部品を抽出するための解析部１５と、参照図２１から編集対象図１０に類似するものを特定するための特定部１６と、推奨される制御ロジック部品を提示するための提示部１８とを含む。
【００３４】
設定部１１は、上述の解析ルールＤＢ３０に含まれる解析ルールに関する設定を受け付ける。一例として、設定部１１によって受け付けられる設定は、各解析ルールに対応付ける制御ロジック部品の設定、各解析ルールの階層レベルの設定、各解析ルール間の接続関係の設定などを含む。
【００３５】
編集部１２は、制御ロジック図面を編集するための設計画面（ユーザインターフェイス）を提供する。ユーザは、上述の入力装置４を用いて当該設計画面を操作することで、制御ロジック図を編集することができる。また、編集部１２は、保存操作を受け付けると、設計画面における編集中の制御ロジック図を制御ロジック図ＤＢ２０に格納する。
【００３６】
解析部１５は、設計画面上で表示されている編集中の制御ロジック図（すなわち、上述の編集対象図１０）を取得するとともに、制御ロジック図ＤＢ２０から過去に作成された制御ロジック図（すなわち、上述の参照図２１）を取得する。その後、解析部１５は、取得した各制御ロジック図に解析ルールＤＢ３０に含まれる各解析ルールを適用し、各制御ロジック図に含まれる制御ロジック部品の内容を解析する。これにより、解析部１５は、各制御ロジック図内において解析ルールとの合致箇所を特定する。解析部１５による解析結果は、特定部１６に出力される。
【００３７】
特定部１６は、解析部１５による解析結果に基づいて、過去に作成された制御ロジック図（すなわち、上述の参照図２１）の中から、編集対象図１０に含まれる制御ロジック部品と共通する制御ロジック部品を含む制御ロジック図を類似図として特定する。特定された類似図は、提示部１８に出力される。
【００３８】
提示部１８は、類似図に含まれる制御ロジック部品の内、編集対象図１０と共通する制御ロジック部品と階層関係にある制御ロジック部品を推奨対象として提示する。典型的には、提示部１８は、類似図に含まれる制御ロジック部品の内、編集対象図１０と共通する制御ロジック部品よりも上位の制御ロジック部品を推奨対象として提示する。当該推奨対象は、編集部１２に出力される。
【００３９】
＜Ｄ．制御ロジック図＞
図３を参照して、制御対象の機器に対する処理を規定する制御ロジック図について説明する。図３は、制御ロジック図の一例を示す図である。
【００４０】
図３には、制御ロジック図の一例として、制御ロジック図４０が示されている。制御ロジック図４０においては、論理演算素子がＭＩＬ論理記号で示されている。また、制御ロジック図４０においては、制御権切替装置、ローカル制御装置およびリモート制御装置などの機器部品５０、または、インターロックおよび軽故障などの処理５１の、入力信号および出力信号のつながりが接続線５２で示されている。また、制御ロジック図４０においては、信号の向きが矢印で示されている。信号が分岐する場合は、分岐点５６を用いて示される。なお、論理演算素子には、たとえば、論理和演算子５３、論理積演算子５４または否定演算子５５などがあり、その他に、排他的論理和演算子などがある。
【００４１】
なお、制御ロジック図４０は、図３の例に限られず、ＩＥＣ  ６１１３１−３で規定されているＦＢＤ言語（Function Block Diagram）またはＳＦＣ言語（Sequential Function chart）などの、処理に対する入力および出力信号と論理演算子との関係性が分かる記法で示されるものであればよい。
【００４２】
＜Ｅ．解析ルール＞
図４および図５を参照して、上述の解析ルールＤＢ３０（図１参照）に含まれる解析ルールについて説明する。
【００４３】
図４は、解析ルールＤＢ３０に含まれる解析ルールの具体例を示す図である。上述したように、解析ルールは、制御ロジック図から制御ロジック部品を抽出するためのルールである。
【００４４】
図４の例では、「Ｂａｓｉｃ処理ルールＮｏ．１」と、「事前条件ルールＮｏ．１」と、「遠隔監視機能ルールＮｏ．１」との３つの解析ルールが示されている。解析ルールは、工程部品８０と論理演算子部品とから構成される。論理演算子部品には、論理積演算子部品８１、否定演算子部品８２または論理和演算子部品８３などがある。
【００４５】
解析部１５は、解析ルール内の工程部品８０および論理演算子部品に合致する箇所を検索する。合致する箇所を検索する際、工程部品８０の内部に対応する制御ロジック図中の要素は、単一の信号などであってもよいし、複数の装置または複数の処理が論理演算子で結ばれたものなどであってもよい。
【００４６】
図４における「Ｂａｓｉｃ処理ルールＮｏ．１」は、工程部品８０に含まれる入力部の出力と工程部品８０に含まれる事前条件部の出力とがともに真（ｔｒｕｅ）であれば、工程部品８０に含まれる出力部を実行することを示す。これは、事前条件部が成立している段階で入力部に入力があった場合に、出力することを示す。
【００４７】
また、図４における「事前条件ルールＮｏ．１」は、工程部品８０に含まれるインターロック部の出力が真（ｔｒｕｅ）であり、工程部品８０に含まれる故障判定部の出力が偽（ｆａｌｓｅ）である場合に、ルール全体の出力が真（ｔｒｕｅ）であることを示す。これは、インターロック部が起動しておらず、すなわち、正常な動作が行われていて、故障していない場合に、事前条件が成立していることを示す。
【００４８】
また、図４における「遠隔監視機能ルールＮｏ．１」は、工程部品８０に含まれるＬｏｃａｌ／Ｒｅｍｏｔｅ判定部でＬｏｃａｌ制御かＲｅｍｏｔｅ制御かを判定し、Ｌｏｃａｌ制御である場合は、工程部品８０に含まれるＬｏｃａｌ処理部でＬｏｃａｌ制御を実行し、Ｒｅｍｏｔｅ制御である場合は、工程部品８０に含まれるＲｅｍｏｔｅ処理部でＲｅｍｏｔｅ制御を実行することを示す。工程部品８０に含まれる出力部には、Ｌｏｃａｌ制御の結果またはＲｅｍｏｔｅ制御の結果が出力される。
【００４９】
図５は、設定部１１で解析ルールを階層化した場合の、階層化解析ルールの一例を示す図である。階層化解析ルールは、個々の解析ルールを、機器構成レベルＬ１、Ｂａｓｉｃ処理レベルＬ２、Ｂａｓｉｃ処理部品レベルＬ３、などの各レベルに階層化したものである。
【００５０】
各階層レベルは、上位の階層レベルの解析ルールが下位の階層レベルの解析ルールを包含する関係にある。Ｂａｓｉｃ処理部品レベルＬ３は、Ｂａｓｉｃ処理レベルに相当するＢａｓｉｃ処理ルール中の工程部品８０の中身を指定する。図５では、Ｂａｓｉｃ処理部品レベルＬ３の「事前条件ルールＮｏ．１」の上位に、Ｂａｓｉｃ処理レベルＬ２の「Ｂａｓｉｃ処理ルールＮｏ．１」が位置している。この場合、図４中の「Ｂａｓｉｃ処理ルールＮｏ．１」の工程部品８０に含まれる事前条件部の詳細が「事前条件ルールＮｏ．１」となる。また、図５では、Ｂａｓｉｃ処理レベルＬ２の「Ｂａｓｉｃ処理ルールＮｏ．１」の上位に、機器構成レベルＬ１の「遠隔監視機能ルールＮｏ．１」が位置している。この場合、「遠隔監視機能ルールＮｏ．１」の工程部品８０の詳細が「Ｂａｓｉｃ処理ルールＮｏ．１」となる。このように、解析ルールが階層化されることで、各制御ロジック図の詳細が容易に切り替えられる。
【００５１】
＜Ｆ．設計支援装置１００の制御構造＞
図２で説明したように、設計支援装置１００は、機能構成として、設定部１１と、編集部１２と、解析部１５と、特定部１６と、提示部１８とを含む。これらの機能構成によって実現される各処理は、制御装置２がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【００５２】
以下では、図６〜図１３を参照して、図２に示される各機能構成の制御フローについて順に説明する。
【００５３】
［Ｆ１．設定部１１の制御フロー］
まず、図６を参照して、設定部１１の制御フローについて説明する。図６は、設定部１１の動作を示すフローチャートである。
【００５４】
ステップＳ４５０において、設定部１１は、階層化解析ルールの各階層レベルとその階層関係とを設定する。当該設定は、たとえば、ユーザによって設定される。
【００５５】
ステップＳ４５１において、設定部１１は、階層化解析ルールの中に未処理の解析ルールがあるか否かを判断する。設定部１１は、階層化解析ルールの中に未処理の解析ルールがあると判断した場合（ステップＳ４５１においてＹＥＳ）、制御をステップＳ４５２に切り替える。そうでない場合には（ステップＳ４５１においてＮＯ）、制御装置２は、制御をステップＳ４５５に切り替える。
【００５６】
ステップＳ４５２において、設定部１１は、上述の解析ルールＤＢ３０から未処理の解析ルールを１つ取得する。
【００５７】
ステップＳ４５３において、設定部１１は、未処理の解析ルールに階層化解析ルールの階層レベルを設定する。当該設定は、たとえば、ユーザによって設定される。
【００５８】
ステップＳ４５４において、設定部１１は、当該解析ルールに階層関係を設定する。当該設定は、たとえば、ユーザによって設定される。
【００５９】
ステップＳ４５５において、設定部１１は、処理された階層化解析ルールを解析ルールＤＢ３０に記憶し、図６に示される処理を終了する。
【００６０】
［Ｆ２．編集部１２の制御フロー］
次に、図７を参照して、編集部１２の制御フローについて説明する。図７は、編集部１２の動作を示すフローチャートである。
【００６１】
図７に示されるステップＳ５０１，Ｓ５０３，Ｓ５０５の処理は、順次繰り返し実行される。
【００６２】
ステップＳ５０１において、編集部１２は、制御ロジック図の設計画面においてシンボル部品の配置を検知したか否かを判断する。シンボル部品とは、たとえば、制御ロジック部品、論理演算子、信号の向きを表わす矢印などである。検知対象のシンボル部品は、予め登録されている。編集部１２は、制御ロジック図の設計画面においてシンボル部品の配置を検知したと判断した場合（ステップＳ５０１においてＹＥＳ）、制御をステップＳ５０２に切り替える。そうでない場合には（ステップＳ５０１においてＮＯ）、編集部１２は、制御を開始位置に戻す。
【００６３】
ステップＳ５０２において、編集部１２は、現在編集中の制御ロジック図（すなわち、編集対象図１０）を上述の解析部１５に出力する。
【００６４】
ステップＳ５０３において、編集部１２は、推奨対象の制御ロジック部品を上述の提示部１８から受け付けたか否かを判断する。編集部１２は、推奨対象の制御ロジック部品を上述の提示部１８から受け付けたと判断した場合（ステップＳ５０３においてＹＥＳ）、制御をステップＳ５０４に切り替える。そうでない場合には（ステップＳ５０３においてＮＯ）、編集部１２は、制御を開始位置に戻す。
【００６５】
ステップＳ５０４において、編集部１２は、制御ロジック図の設計画面に推奨対象の制御ロジック部品を設計支援装置１００の出力装置５に表示する。
【００６６】
ステップＳ５０５において、編集部１２は、ユーザから終了操作を受け付けたか否かを判断する。当該終了操作は、たとえば、制御ロジック図の保存操作である。編集部１２は、ユーザから終了操作を受け付けたと判断した場合（ステップＳ５０５においてＹＥＳ）、制御をステップＳ５０６に切り替える。そうでない場合には（ステップＳ５０５においてＮＯ）、編集部１２は、制御を開始位置に戻す。
【００６７】
ステップＳ５０６において、編集部１２は、設計画面において編集中の制御ロジック図を上述の制御ロジック図ＤＢ２０に格納する。
【００６８】
［Ｆ３．解析部１５の制御フロー］
次に、図８〜図１１を参照して、解析部１５の制御フローについて説明する。図８は、解析部１５の動作を示すフローチャートである。
【００６９】
ステップＳ５６０において、解析部１５は、解析ルールＤＢ３０から階層化解析ルールの１つを取得する。典型的には、解析部１５は、未処理の階層化解析ルールを１つ取得する。
【００７０】
ステップＳ５６１において、解析部１５は、階層化解析ルールの葉である階層化レベル（すなわち、最下位の階層レベル）を取得し、当該階層レベルを現在の階層レベル（以下、「現在レベル」ともいう。）に設定する。現在レベルとは、階層化解析ルールの木構造において現在着目している階層レベルのことである。
【００７１】
ステップＳ５６２において、解析部１５は、現在レベルよりも上位の階層レベルがステップＳ５６０で取得した階層化解析ルール中に存在するか否かを判断する。解析部１５は、現在レベルよりも上位の階層レベルが当該階層化解析ルール中に存在すると判断した場合（ステップＳ５６２においてＹＥＳ）、制御をステップＳ５６３に切り替える。そうでない場合には（ステップＳ５６２においてＮＯ）、解析部１５は、制御をステップＳ５６６に切り替える。
【００７２】
ステップＳ５６３において、解析部１５は、現在レベルの次に上位の階層レベルを取得する。より具体的には、解析部１５は、現在レベルよりも上位である階層レベルの内で最も下位の階層レベルを取得する。解析部１５は、取得した階層レベルを現在レベルに設定する。
【００７３】
ステップＳ５６５において、解析部１５は、ステップＳ５６４で取得した解析ルールを制御ロジック図に適用する。ステップＳ５６５の処理の詳細については図９において説明する。
【００７４】
ステップＳ５６６において、解析部１５は、制御ロジック図内の各解析ルールとの合致箇所に含まれる制御ロジック部品を特定部１６に出力する。
【００７５】
図９は、図８に示されるステップＳ５６５の処理を表わすフローチャートである。以下では、図９を参照して、ステップＳ５６５の処理についてさらに説明する。
【００７６】
ステップＳ５７０において、解析部１５は、現在レベルの解析ルールを１つ取得する。典型的には、解析部１５は、現在レベルにおける未処理の解析ルールを１つ取得する。
【００７７】
ステップＳ５７１において、解析部１５は、ステップＳ５７０において解析ルールを取得できたか否かを判断する。解析ルールを取得できなかったということは、全解析ルールについての処理が完了したことを意味する。解析部１５は、ステップＳ５７０において解析ルールを取得できたと判断した場合（ステップＳ５７１においてＹＥＳ）、制御をステップＳ５７２に切り替える。そうでない場合には（ステップＳ５７１においてＮＯ）、解析部１５は、ステップＳ５６５の処理を終了する。
【００７８】
ステップＳ５７２において、解析部１５は、ステップＳ５７０で取得した解析ルールを制御ロジック図に適用し、当該制御ロジック図から当該解析ルールに合致する箇所を検索する。合致したか否かは、たとえば、検索対象の制御ロジック図に含まれる制御ロジック部品と、解析ルールによって示される制御ロジック部品との類似度に基づいて判断される。典型的には、当該類似度は、制御ロジック図および解析ルール間における演算素子および信号線のうちの、対応付けられた演算素子および信号線の度合いに基づいて算出される。一例として、当該類似度を算出するための関数は、制御ロジック図および解析ルール間で対応する演算素子・信号線の数の増加関数であり、かつ、対応しない演算素子・信号線の数の減少関数であることが好ましい。当該関数は、たとえば、下記式（１）によって示される。
【００７９】
ｓ１＝２＊｛αＮａ＋（１−α）Ｌａ｝／｛（α（Ｎ０＋Ｎ１）＋（１−α）（Ｌ０＋Ｌ１）｝・・・（１）
【００８０】
式（１）に示される「ｓ１」は、算出結果としての類似度を表わす。式（１）に示される「Ｎａ」は、制御ロジック図と解析ルールとの間で対応する演算素子の数を表わす。式（１）に示される「Ｌａ」は、制御ロジック図と解析ルールとの間で対応する信号線の数を表わす。式（１）に示される「Ｎ０」は、制御ロジック図に含まれる演算素子の数を表わす。「Ｌ０」は、制御ロジック図に含まれる信号線の数を表わす。式（１）に示される「Ｎ１」は、適用対象の解析ルールに対応する制御ロジック部品に含まれる演算素子の数を表わす。「Ｌ１」は、適用対象の解析ルールに対応する制御ロジック部品に含まれる信号線の数を表わす。式（１）に示される「α」は、０以上１以下のパラメータである。
【００８１】
好ましくは、解析部１５は、適用される解析ルールの階層レベルに応じで類似度を重み付けする。一例として、重み付けされた類似度は、下記式（２）に基づいて算出される。
ｓ２＝ｗ＊ｓ１・・・（２）
【００８２】
式（２）に示される「ｓ２」は、重み付けされた類似度を表わす。式（２）に示される「ｗ」は、重みを表わす。適用される解析ルールが上位レベルであるほど、重み「ｗ」が大きくなるように設定される。式（２）に示される「ｓ１」は、式（１）に示される類似度「ｓ１」を表わす。
【００８３】
なお、類似度の算出方法は上記式（１），（２）に限られず、制御ロジック図と解析ルールとの類似度を算出することが可能な任意の演算方法が採用され得る。
【００８４】
ステップＳ５７３において、解析部１５は、制御ロジック図から解析ルールとの合致箇所を検索できたか否かを判断する。一例として、解析部１５は、ステップＳ５７２で算出された類似度が予め定められた閾値を超えている場合に、制御ロジック図から解析ルールとの合致箇所を検索できたと判断する。解析部１５は、制御ロジック図から解析ルールとの合致箇所を検索できたと判断した場合（ステップＳ５７３においてＹＥＳ）、制御をステップＳ５７４に切り替える。そうでない場合には（ステップＳ５７３においてＮＯ）、解析部１５は、図９に示される処理を終了する。
【００８５】
ステップＳ５７４において、解析部１５は、解析ルールの工程部品８０の内部に対応する制御ロジック図中の要素を特定部１６に出力する。一例として、当該要素は、単一の信号、または、複数の装置または複数の処理が論理演算子で結ばれたものなどを含む。
【００８６】
図１０は、図１および図２に示される制御ロジック図ＤＢ２０のデータ構造の一例を示す図である。図８および図９の処理が実行されることにより得られた解析結果は、制御ロジック図ＤＢ２０に書き込まれる。すなわち、制御ロジック図ＤＢ２０は、過去に作成された制御ロジック図を格納するだけでなく、各制御ロジック図に適用可能な階層化解析ルールと、当該階層化解析ルールの各階層レベルにおける合致箇所とを含む。
【００８７】
より具体的には、制御ロジック図ＤＢ２０は、制御ロジック図を識別するための制御ロジック図ＩＤ（Identification）２２と、解析部１５による解析結果２３とを含む。解析結果２３は、適用可能な階層化解析ルールを識別するための階層化解析ルールＩＤ２４と、適用可能な解析ルールの階層レベルを示す階層レベル２５と、当該解析ルールに対応する制御ロジック部品を識別するための制御ロジック部品ＩＤ２６とを含む。階層レベル２５および制御ロジック部品ＩＤ２６は、適用可能な解析ルールの数の分だけ保持される。複数の階層化解析ルールが適用可能な場合には、適用可能な階層化解析ルールの数に合わせて制御ロジック図ＤＢ２０の行が追加される。
【００８８】
図１０の例では、制御ロジック図ＩＤ「Ｄ１」に対応する制御ロジック図には、階層化解析ルールＩＤ「Ｒ１」に対応する階層化解析ルールが適用され得、階層レベル「Ｂａｓｉｃ処理部品レベル」の制御ロジック部品ＩＤ「Ｌ３Ａ」に対応する制御ロジック部品と、階層レベル「Ｂａｓｉｃ処理レベル」の制御ロジック部品ＩＤ「Ｌ２Ａ」に対応する制御ロジック部品とが適用され得る。同様に、制御ロジック図ＩＤ「Ｄ２」に対応する制御ロジック図には、階層化解析ルールＩＤ「Ｒ２」に対応する階層化解析ルールが適用され得、階層レベル「Ｂａｓｉｃ処理部品レベル」の制御ロジック部品ＩＤ「Ｌ３Ｂ」に対応する制御ロジック部品と、階層レベル「Ｂａｓｉｃ処理レベル」の制御ロジック部品ＩＤ「Ｌ２Ｂ」に対応する制御ロジック部品とが適用され得る。制御ロジック図ＩＤ「Ｄ３」に対応する制御ロジック図には、階層化解析ルールＩＤ「Ｒ３」に対応する階層化解析ルールが適用され得、階層レベル「Ｂａｓｉｃ処理部品レベル」の制御ロジック部品ＩＤ「Ｌ３Ｃ」に対応する制御ロジック部品が適用され得る。
【００８９】
図１１は、解析部１５による解析結果を視覚的に表した図である。図１１には、制御ロジック図の一例として、制御ロジック図４０が示されている。図１１の例では、制御ロジック図４０が制御ロジック部品ＩＤ「Ｌ１Ａ」〜「Ｌ３Ａ」に対応する制御ロジック部品を含むことが示されている。
【００９０】
［Ｆ４．特定部１６の制御フロー］
次に、図１２を参照して、特定部１６の制御フローについて説明する。図１２は、特定部１６の動作を示すフローチャートである。
【００９１】
ステップＳ５８０において、特定部１６は、制御ロジック図の編集画面から現在編集中の制御ロジック図（すなわち、編集対象図）を取得する。
【００９２】
ステップＳ５８２において、特定部１６は、制御ロジック図ＤＢ２０から制御ロジック図（すなわち、参照図）を１つ取得する。
【００９３】
ステップＳ５９０において、特定部１６は、ステップＳ５８２で参照図が取得できたか否かを判断する。参照図を取得できなかったということは、全参照図についての処理が完了したことを意味する。特定部１６は、ステップＳ５８２で参照図が取得できたと判断した場合（ステップＳ５９０においてＹＥＳ）、制御をステップＳ５９２に切り替える。そうでない場合には（ステップＳ５９０においてＮＯ）、特定部１６は、制御をステップＳ６１０に切り替える。
【００９４】
ステップＳ５９２において、特定部１６は、ステップＳ５８２で取得した参照図に適用可能な解析ルールを制御ロジック図ＤＢ２０（図１０参照）から取得する。
【００９５】
ステップＳ６００において、特定部１６は、ステップＳ５９２で適用可能な解析ルールが取得できたか否かを判断する。特定部１６は、ステップＳ５９２で適用可能な解析ルールが取得できたと判断した場合（ステップＳ６００においてＹＥＳ）、制御をステップＳ６０４に切り替える。そうでない場合には（ステップＳ６００においてＮＯ）、特定部１６は、制御をステップＳ６０２に切り替える。
【００９６】
ステップＳ６０２において、特定部１６は、上述の解析ルールＤＢ３０に含まれる各解析ルールを、ステップＳ５８２で取得した参照図に適用し、当該適用結果を制御ロジック図ＤＢ２０に格納する。解析ルールの適用方法については図８および図９で説明した通りであるので、その説明については繰り返さない。
【００９７】
ステップＳ６０４において、特定部１６は、ステップＳ５８０で取得した編集対象図に含まれる制御ロジック部品と、ステップＳ５８２で取得した参照図に含まれる制御ロジック部品との類似度を、対応する階層レベルごとに算出する。当該類似度は、当該類似度は、両制御ロジック部品間における演算素子および信号線のうちの、対応付けられた演算素子および信号線の度合いに基づいて算出される。一例として、当該類似度を算出するための関数は、両制御ロジック部品で対応する演算素子・信号線の数の増加関数であり、かつ、対応しない演算素子・信号線の数の減少関数であることが好ましい。当該関数は、たとえば、下記式（３）によって示される。
【００９８】
ｓ３＝２＊｛βＮｂ＋（１−β）Ｌｂ｝／｛（β（Ｎ２＋Ｎ３）＋（１−β）（Ｌ２＋Ｌ３）｝・・・（３）
【００９９】
式（３）に示される「ｓ３」は、編集対象図と参照図とに含まれる制御ロジック部品間の類似度を表わす。式（３）に示される「Ｎｂ」は、両制御ロジック部品間で対応する演算素子の数を表わす。式（３）に示される「Ｌｂ」は、両制御ロジック部品間で対応する信号線の数を表わす。式（３）に示される「Ｎ２」は、解析ルールとの合致箇所において編集対象図に含まれる演算素子の数を表わす。「Ｌ２」は、解析ルールとの合致箇所において編集対象図に含まれる信号線の数を表わす。式（３）に示される「Ｎ３」は、解析ルールとの合致箇所において類似図に含まれる演算素子の数を表わす。「Ｌ３」は、解析ルールとの合致箇所において類似図に含まれる信号線の数を表わす。式（３）に示される「β」は、０以上１以下のパラメータである。
【０１００】
ステップＳ６０６において、特定部１６は、ステップＳ６０４で算出された各類似度に階層レベルに応じた重みを乗算する。このとき、適用される解析ルールが上位レベルであるほど、乗算する重みは、大きくする。その結果、編集対象図および参照図間で上位の階層レベルでの制御ロジック部品が類似するほど、当該参照図についての類似度が大きくなる。その後、特定部１６は、重み付けされた各類似度を積算する。当該演算は、たとえば、下記式（４）に基づいて算出される。
ｓ４＝ｗ３＊ｓ３ａ＋ｗ２＊ｓ３ｂ＋ｗ１＊ｓ３ｃ（ｗ３＜ｗ２＜ｗ１）・・・（４）
【０１０１】
式（４）に示される「ｗ１」〜「ｗ３」は、重みを表わす。「ｗ３」は、最下層の階層レベルに対応する重みである。一例として、「ｗ３」の値は１である。「ｗ２」は、最下層の１つ上位の階層レベルに対応する重みである。一例として、「ｗ２」の値は１０である。「ｗ１」は、最下層の２つ上位の階層レベルに対応する重みである。「ｗ１」の値は１００である。式（４）に示される「ｓ３ａ」〜「ｓ３ｃ」は、それぞれ、対応する階層について算出された上記式（３）の類似度「ｓ３」に対応する。
【０１０２】
なお、上記式（４）においては、項数が３つである例が示されているが、上記式（４）の項数は、合致した解析ルールの数に応じて調整される。また、編集対象図と参照図との類似度の算出方法は上記式（３），（４）に限られず、編集対象図と参照図との類似度を算出することが可能な任意の演算方法が採用され得る。
【０１０３】
特定部１６は、式（４）の積算処理で得られた積算値を記憶する。当該積算値の記憶先は、設計支援装置１００の記憶装置３であってもよいし、サーバなどの外部記憶装置であってもよい。
【０１０４】
ステップＳ６１０において、特定部１６は、ステップＳ６０６で記憶された各参照図についての積算値「ｓ４」に基づいて、編集対象図１０に類似する参照図を類似図として特定する。一例として、特定部１６は、積算値「ｓ４」が最大となった参照図を類似図として特定する。あるいは、特定部１６は、積算値「ｓ４」が予め定められた閾値を超えた参照図を類似図として特定する。当該類似図は、提示部１８に出力される。
【０１０５】
［Ｆ５．提示部１８の制御フロー］
次に、図１３および図１４を参照して、提示部１８の制御フローについて説明する。図１３は、提示部１８の動作を示すフローチャートである。
【０１０６】
ステップＳ７００において、提示部１８は、特定部１６によって特定された類似図を取得する。
【０１０７】
ステップＳ７０１において、提示部１８は、類似図に含まれる制御ロジック部品の内、編集対象図と共通する制御ロジック部品と階層関係にある制御ロジック部品を推奨対象として特定する。典型的には、提示部１８は、類似図に含まれる制御ロジック部品の内、編集対象図１０と共通する制御ロジック部品よりも上位の制御ロジック部品を推奨対象として特定する。当該推奨対象の制御ロジック部品は、編集部１２に出力される。
【０１０８】
＜Ｇ．制御ロジック部品の提示態様＞
図１４は、推奨対象の制御ロジック部品が表示された設計画面の一例示す図である。図１４の例では、編集中の制御ロジック図において、制御ロジック部品ＩＤ「Ｌ２Ａ」，「Ｌ３Ａ」に対応する制御ロジック部品が編集対象として表示されている。
【０１０９】
また、当該制御ロジック部品に対応する推奨対象として制御ロジック部品ＩＤ「Ｌ１Ａ」の制御ロジック部品が推奨対象として表示されている。ユーザは、当該推奨対象の制御ロジック部品を指定することで、当該推奨対象の制御ロジック部品を設計画面に反映することができる。
【０１１０】
＜Ｈ．利点＞
以上のようにして、本実施の形態に従う設計支援装置１００は、階層関係にある解析ルールを用いて編集対象図１０と参照図２１との類似性を解析することで、制御ロジック図の局所的な類似性ではなく、全体的な類似性に着目して制御ロジックを推奨することができる。これにより、制御ロジック部品の種類が多い場合であっても、適切な制御ロジック部品が提示され、ユーザの設計効率が改善される。
【０１１１】
実施の形態２．
＜Ｉ．概要＞
図１５を参照して、実施の形態２に従う設計支援装置１００の機能について説明する。図１５は、実施の形態２に従う設計支援装置１００の機能構成の一例を示す図である。
【０１１２】
実施の形態１に従う設計支援装置１００は、推奨対象の制御ロジック部品を特定し、当該制御ロジック部品をユーザに提示していた。これに対して、実施の形態２に従う設計支援装置１００は、推奨対象の制御ロジック部品を提示するだけでなく、当該制御ロジック部品の属性情報を推奨理由として表示する。
【０１１３】
より具体的には、実施の形態２に従う設計支援装置１００は、推奨対象の制御ロジック部品を提示するための提示部１８の代わりに、推奨対象の制御ロジック部品と当該制御ロジック部品の属性情報とを提示するための提示部１８Ａを含む。当該属性情報は、推奨対象の制御ロジック部品に関する情報である。属性情報が推奨理由として提示されることで、ユーザは、適切な制御ロジック部品を選択しやすくなり、制御ロジック図の設計効率がさらに改善される。
【０１１４】
その他の点については実施の形態１に従う設計支援装置１００と同じであるので、以下ではそれらの説明については繰り返さない。
【０１１５】
＜Ｊ．提示部１８Ａの制御フロー＞
図１６を参照して、提示部１８Ａの制御フローについて説明する。図１６は、提示部１８Ａの動作を示すフローチャートである。
【０１１６】
ステップＳ７００において、提示部１８Ａは、編集対象図と類似する制御ロジック図（すなわち、類似図）を上述の特定部１６から取得する。
【０１１７】
ステップＳ７０１において、提示部１８Ａは、類似図に含まれる制御ロジック部品の内、編集対象図と共通する制御ロジック部品と階層関係にある制御ロジック部品を推奨対象として特定する。典型的には、提示部１８Ａは、類似図に含まれる制御ロジック部品の内、編集対象図１０と共通する制御ロジック部品よりも上位の制御ロジック部品を推奨対象として特定する。当該推奨対象の制御ロジック部品は、編集部１２に出力される。
【０１１８】
ステップＳ７０２において、提示部１８Ａは、推奨対象の制御ロジック部品の属性情報を取得する。当該属性情報は、たとえば、上述の制御ロジック図ＤＢ２０や上述の解析ルールＤＢ３０などから取得される。一例として、当該属性情報は、推奨対象の制御ロジック部品に適用された解析ルール、当該解析ルールの階層レベル、推奨対象の制御ロジック部品の名称などを含む。
【０１１９】
＜Ｋ．利点＞
以上のようにして、本実施の形態に従う設計支援装置１００は、推奨対象の制御ロジック部品を提示するだけでなく、当該制御ロジック部品の属性情報を推奨理由として表示する。これにより、ユーザは、適切な制御ロジック部品をさらに選択しやすくなり、制御ロジック図の設計効率がさらに改善される。
【０１２０】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１２１】
１Ａ，２Ａ，２Ｂ，３Ａ，３Ｂ，３Ｃ，３Ｄ  解析ルール、２  制御装置、３  記憶装置、４  入力装置、５  出力装置、７Ａ，８Ａ，８Ｂ，９Ａ，９Ｂ，９Ｃ，９Ｄ  制御ロジック部品、１０  編集対象図、１１  設定部、１２  編集部、１５  解析部、１６  特定部、１８，１８Ａ  提示部、２０  制御ロジック図ＤＢ、２１，２１Ａ，２１Ｂ  参照図、２３  解析結果、２４  階層化解析ルールＩＤ、２５  階層レベル、２６  制御ロジック部品ＩＤ、３０  解析ルールＤＢ、３０Ａ  階層化解析ルール、４０  制御ロジック図、５０  機器部品、５１  処理、５２  接続線、５３  論理和演算子、５４  論理積演算子、５５  否定演算子、５６  分岐点、８０  工程部品、８１  論理積演算子部品、８２  否定演算子部品、８３  論理和演算子部品、１００  設計支援装置。
【要約】
設計支援方法は、過去に作成された制御ロジック図である複数の参照図と、編集対象の制御ロジック図である編集対象図とを取得するステップ（Ｓ１）と、複数の解析ルールの各々を各制御ロジック図に適用し、各制御ロジック図に含まれる制御ロジック部品を解析するステップ（Ｓ２）とを備える。複数の解析ルールの各々は、階層化されており、上位の階層レベルの解析ルールに対応する制御ロジック部品が下位の階層レベルの解析ルールに対応する制御ロジック部品を包含する関係を有する。設計支援方法は、ステップ（Ｓ２）での解析結果に基づいて、複数の参照図の中から、編集対象図に含まれる制御ロジック部品と共通する制御ロジック部品を含む参照図を類似図として特定するステップ（Ｓ３）と、類似図に含まれる制御ロジック部品の内、当該共通する制御ロジック部品と階層関係にある制御ロジック部品を提示するステップ（Ｓ４）とをさらに備える。【図１】
0006297235.tif 000002
【図２】
0006297235.tif 000003
【図３】
0006297235.tif 000004
【図４】
0006297235.tif 000005
【図５】
0006297235.tif 000006
【図６】
0006297235.tif 000007
【図７】
0006297235.tif 000008
【図８】
0006297235.tif 000009
【図９】
0006297235.tif 000010
【図１０】
0006297235.tif 000011
【図１１】
0006297235.tif 000012
【図１２】
0006297235.tif 000013
【図１３】
0006297235.tif 000014
【図１４】
0006297235.tif 000015
【図１５】
0006297235.tif 000016
【図１６】
0006297235.tif 000017