(57)【要約】  検索キーの回路を指定する検索キー回路指定部（２２２）と、検索キーの回路と類似する回路を検索する検索範囲を指定する検索範囲指定部（２２３）と、検索キーの回路との類似度を算出する処理における指標を指定する検索指標指定部（２２４）と、検索範囲指定部（２２３）によって指定された検索範囲に含まれる各回路について、検索キー回路指定部（２２２）によって指定された検索キーの回路との類似度を、検索指標指定部（２２４）によって指定された指標に基づいて算出する類似度算出部（２２５）と、類似度算出部（２２５）が類似度を算出した各回路について、類似度が所定の閾値以上であるか否かを判定する検索対象部品判定部（２２６）と、類似度が所定の閾値以上であると検索対象部品判定部（２２６）が判定した回路を検索結果表示用画面に表示させる検索結果表示用画面表示部（２２８）とを備える。
2013140497.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの構成要素をエディタ画面上に図的に配置することによりシーケンスプログラムを作成するシーケンスプログラム作成装置であって、
検索キーの回路を指定する検索キー回路指定部と、
前記検索キーの回路と類似する回路を検索する検索範囲を指定する検索範囲指定部と、
前記検索キーの回路との類似度を算出する処理における指標として、前記検索キーの回路との図的な類似度、前記検索キーの回路との論理的な類似度及び前記検索キーの回路に関連付けられたキーワードの類似度の少なくとも一つを指定する検索指標指定部と、
前記検索範囲指定部によって指定された前記検索範囲に含まれる各回路について、前記検索キー回路指定部によって指定された前記検索キーの回路との類似度を、前記検索指標指定部によって指定された前記指標に基づいて算出する類似度算出部と、
前記類似度算出部が前記類似度を算出した前記各回路について、前記類似度が所定の閾値以上であるか否かを判定する検索対象部品判定部と、
前記類似度が前記所定の閾値以上であると前記検索対象部品判定部が判定した前記回路を検索結果表示用画面に表示させる検索結果表示用画面表示部とを備えることを特徴とするシーケンスプログラム作成装置。
【請求項２】
前記検索範囲指定部は、前記エディタ画面で作成中の前記シーケンスプログラムの一部及び作成済みのプログラム部品の少なくとも一方を前記検索範囲として指定することを特徴とする請求項１に記載のシーケンスプログラム作成装置。
【請求項３】
前記検索範囲指定部が、作成済みのプログラム部品を前記検索範囲として指定した場合に、前記類似度が前記所定の閾値以上であると前記検索対象部品判定部が判定した前記回路を含む前記作成済みのプログラム部品リストを生成する検索結果リスト生成部を備え、
前記検索結果表示用画面表示部は、前記検索結果リスト生成部が生成したリストを前記検索結果表示用画面に表示させることを特徴とする請求項２に記載のシーケンスプログラム作成装置。
【請求項４】
前記検索結果表示用画面に表示された前記リストから選択した前記回路を前記エディタ画面に配置可能であることを特徴とする請求項３に記載のシーケンスプログラム作成装置。
【請求項５】
プログラムの構成要素を図的に配置することにより回路を作成する検索キー入力画面を表示させる検索キー入力画面表示部を備え、
前記検索キー回路指定部は、作成済みのプログラム部品、前記エディタ画面で作成中の前記シーケンスプログラム及び前記検索キー入力画面に形成された回路のいずれかを前記検索キーの回路として指定することを特徴とする請求項１から４のいずれか１項に記載のシーケンスプログラム作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンスプログラム作成装置に関する。
【背景技術】
【０００２】
シーケンスプログラムは、一般にプログラムエディタを用いてプログラムの構成要素をエディタ画面上に図的に配置することにより作成される。特に、シーケンスプログラムの一つであるラダープログラムは、回路ブロックで構成され、回路ブロックはその構成要素である回路要素（接点、コイル、命令、ファンクションブロック等）を、プログラムエディタのエディタ画面上に配置することによって作成される。【０００３】
プログラムエディタでのラダープログラムの編集時には、検索キーを指定した上でメニューから類似部品検索を選択することにより、検索キーに類似するプログラム部品を検索表示用画面に表示できる。表示された検索結果の中からユーザが目的のプログラム部品を選択してエディタ画面にドラッグ＆ドロップすることにより、プログラム部品をラダープログラムに配置する。【０００４】
特許文献１には、同一回路内に指定した全ての回路要素と条件とを満たす回路を特定し、特定した回路を表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０５−０６１５０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術では、論理的・図的に類似しているか否かを考慮して検索を行わないため、指定した全ての回路要素及び条件を満たすものの論理的・図的には全く異なる回路が検索結果として表示される場合がある。逆に、指定した全ての回路要素及び条件を満たさないものの論理的・図的には類似する回路は検索結果として表示されない。よって、従来の技術では、様々な状況での効率的なプログラミング環境の提供は困難であった。【０００７】
本発明は、上記に鑑みてなされたものであって、論理的・図的な類似度を考慮してプログラム部品の検索を行えるシーケンスプログラム作成装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、プログラムの構成要素をエディタ画面上に図的に配置することによりシーケンスプログラムを作成するシーケンスプログラム作成装置であって、検索キーの回路を指定する検索キー回路指定部と、検索キーの回路と類似する回路を検索する検索範囲を指定する検索範囲指定部と、検索キーの回路との類似度を算出する処理における指標として、検索キーの回路との図的な類似度、検索キーの回路との論理的な類似度及び検索キーの回路に関連付けられたキーワードの類似度の少なくとも一つを指定する検索指標指定部と、検索範囲指定部によって指定された検索範囲に含まれる各回路について、検索キー回路指定部によって指定された検索キーの回路との類似度を、検索指標指定部によって指定された指標に基づいて算出する類似度算出部と、類似度算出部が類似度を算出した各回路について、類似度が所定の閾値以上であるか否かを判定する検索対象部品判定部と、類似度が所定の閾値以上であると検索対象部品判定部が判定した回路を検索結果表示用画面に表示させる検索結果表示用画面表示部とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明にかかるシーケンスプログラム作成装置は、論理的・図的な類似度を考慮してプログラム部品の検索を行えるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明にかかるシーケンスプログラム作成装置の実施の形態の構成を示す図である。
【図２】図２は、プログラムエディタの機能構成を示すブロック図である。
【図３】図３は、検索キーの回路の一例を示す図である。
【図４】図４は、検索対象の回路の一例を示す図である。
【図５】図５は、検索対象の回路の別の一例を示す図である。
【図６】図６は、実施の形態にかかるシーケンスプログラム作成装置による類似部品検索処理の流れを示すフローチャートである。
【図７】図７は、類似部品検索処理中に表示部に表示される画面の一例を示す図である。
【図８】図８は、類似部品検索画面の一例を示す図である。
【図９】図９は、検索結果表示用画面の一例を示す図である。
【図１０】図１０は、実施の形態にかかるシーケンスプログラム作成装置の類似部品検索及び検索結果の表示の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、本発明にかかるシーケンスプログラム作成装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態．
図１は、本発明にかかるシーケンスプログラム作成装置の実施の形態の構成を示す図である。実施の形態にかかるシーケンスプログラム作成装置１００は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、通信部１４、入力部１５、記憶部１６及び表示部１７を有するコンピュータ１０がソフトウェアを実行して、ＣＰＵ１１上にプログラムエディタ２０を形成することによって構成される。ＣＰＵ１１は、ＲＯＭ１２や記憶部１６に記憶されているプログラムを、ＲＡＭ１３をワークエリアとして実行する。通信部１４は、外部の装置とデータを授受するための通信インタフェースであり、作成したシーケンスプログラムを送信してＰＬＣに書き込む際に用いられる。入力部１５は、キーボードやポインティングデバイスなどのユーザインタフェースである。記憶部１６は、情報を不揮発に格納する記憶装置であり、ＨＤＤ（Hard Disk Drive）や半導体メモリなどを適用できる。表示部１７は、シーケンスプログラムの作成作業中に各種画面（エディタ画面や検索結果表示画面など）を表示する装置であり、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electro-Luminescence）ディスプレイなどを適用可能である。
【００１３】
図２は、プログラムエディタの機能構成を示すブロック図である。プログラムエディタ２０は、エディタ基本動作部２１と類似部品検索処理部２２とを備える。類似部品検索処理部２２は、検索キー入力画面表示部２２１、検索キー回路指定部２２２、検索範囲指定部２２３、検索指標指定部２２４、類似度算出部２２５、検索対象部品判定部２２６、検索結果リスト生成部２２７及び検索結果表示用画面表示部２２８を備える。プログラムエディタ２０の各機能部（エディタ基本動作部２１及び類似部品検索処理部２２）は、ソフトウェア処理によってＣＰＵ１１上に実現される。エディタ基本動作部２１は、一般的なプログラムエディタと同様の機能を備えており、エディタ画面を表示部１７に表示させる。表示部１７に表示されたエディタ画面において、入力部１５に対する操作で回路要素を図的に配置することにより、シーケンスプログラムが作成される。
【００１４】
検索キー入力画面表示部２２１は、検索キー入力画面を表示部１７に表示させる。検索キー入力画面は、通常のエディタ画面と同様にグリッド上に回路要素を配置することが可能な画面であり、ユーザが入力部１５に対して行った操作によってグリッド上に配置された回路要素で構成される回路が検索キーの回路となる。なお、ここでの「回路」とは、プログラムの少なくとも一部分であり、少なくとも一つの回路要素を含む。回路は、プログラム部品のように意味をもつ纏まりである必要はない。ただし、プログラム部品自体を検索キーの回路とすることもできる。検索キー回路指定部２２２は、エディタ画面上にすでに配置されている作成中のシーケンスプログラム２１１の一部、記憶部１６に記憶されている既存のプログラム部品１６１、及び検索キー入力画面表示部２２１が表示部１７に表示させた検索キー入力画面において編集された回路のいずれを検索キーの回路とするかを指定する。検索範囲指定部２２３は、記憶部１６に記憶されている既存のプログラム部品１６１から検索するか、作成途中のプログラム（エディタ基本動作部２１が保持している作成中のシーケンスプログラム２１１）から検索するかを指定する。
【００１５】
検索指標指定部２２４は、検索キーの回路に類似する回路を検索範囲から検索する際に、用いる指標（図的な類似度、論理構成の類似度（論理的な類似度）、キーワードの類似度）を指定する。図的な類似度、論理的な類似度、キーワードの類似度の定義については後段で説明する。なお、検索指標指定部２２４は、複数の指標を指定することも可能である。類似度算出部２２５は、検索範囲指定部２２３が指定する検索範囲（記憶部１６に記憶されているプログラム部品１６１又はエディタ基本動作部２１が保持している作成中のシーケンスプログラム２１１について、検索キーの回路との類似度を算出する。なお、類似度算出部２２５は、検索指標指定部２２４によって複数の検索指標が指定されている場合には、各指標に応じた類似度が合算して検索対象の部品の類似度を算出する。
【００１６】
検索対象部品判定部２２６は、検索キーの回路との類似度が所定の閾値以上であるか否かを判定し、類似度が所定の閾値以上の回路を抽出する。検索結果リスト生成部２２７は、検索範囲として記憶部１６に記憶されている既存のプログラム部品１６１から検索することが指定されている場合には、検索対象部品判定部２２６が抽出した回路を含むプログラム部品のリストを生成する。検索結果表示用画面表示部２２８は、検索結果リスト生成部２２７が生成したプログラム部品のリストを、検索結果表示画面として表示部１７に表示させる。
【００１７】
検索指標について説明する。図的類似度とは、回路要素間の図的配置（上下左右の相対位置関係）、接続関係（直接接続の有無）、距離（間にある回路要素の数）等を数値化したものである。論理的な類似度とは、回路要素に含まれる命令、ラベル、デバイスアドレス等の出現順を数値化したものであり、正規化することにより論理的に回路については同じ値となる。キーワードの類似度とは、検索キーの回路に登録されているキーワードと、検索対象の回路に登録されているキーワードとで一致するものの数の多さ（割合）を数値化したものである。
【００１８】
ここで、類似度算出部２２５が図的な類似度・論理的な類似度を算出する手順について説明する。図３は、検索キーの回路の一例を示す図である。図４は、検索対象の回路の一例を示す図である。まず、類似度算出部２２５が、検索キーの回路３０と、検索対象の回路４０との図的な類似度を算出する処理について説明する。
【００１９】
検索キーの回路３０は、要素として、二つのＡ接点（要素Ａ、Ｂ）、一つのＢ接点（要素Ｃ）、及び二つのコイル（要素Ｄ、Ｅ）を要素として備えている。あるＡ接点（要素Ａ）の右隣には別のＡ接点（要素Ｂ）が配置されている。また、ある左隣に別のＡ接点（要素Ａ）が配置されたＡ接点（要素Ｂ）の下隣にはＢ接点（要素Ｃ）が配置されている。さらに、あるコイル（要素Ｄ）の下隣には別のコイル（要素Ｅ）が配置されている。また、結線による直接接続の形態として、要素Ａと要素Ｂとが接続されている。また、要素Ａと要素Ｃとが接続されている。また、要素Ｂと要素Ｄとが接続されている。また、要素Ｂと要素Ｅとが接続されている。また、要素Ｃと要素Ｄとが接続されている。また、要素Ｃと要素Ｅとが接続されている。
【００２０】
検索対象の回路４０は、要素として、三つのＡ接点（要素Ａ、Ｂ、Ｆ）、一つのＢ接点（要素Ｃ）、及び二つのコイル（要素Ｄ、Ｅ）を要素として備えている。あるＡ接点（要素Ｆ）の右隣には別のＡ接点（要素Ａ）が配置されている。また、ある左隣に別のＡ接点（要素Ｆ）が配置されたＡ接点（要素Ａ）の右隣にはさらに別のＡ接点（要素Ｂ）が配置されている。また、ある左隣に二つのＡ接点（要素Ｆ、Ａ）が配置されたＡ接点（要素Ｂ）の下隣にはＢ接点（要素Ｃ）が配置されている。さらに、あるコイル（要素Ｄ）の下隣には別のコイル（要素Ｅ）が配置されている。また、結線による直接接続の形態として、要素Ａと要素Ｂとが接続されている。また、要素Ａと要素Ｃとが接続されている。また、要素Ｂと要素Ｄとが接続されている。また、要素Ｂと要素Ｅとが接続されている。また、要素Ｃと要素Ｄとが接続されている。また、要素Ｃと要素Ｅとが接続されている。また、要素Ｆと要素Ａとが接続されている。
【００２１】
検索キーの回路３０の５要素（要素Ａ、Ｂ、Ｃ、Ｄ、Ｅ）は全てが検索対象の回路４０の６要素（要素Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ）と一致している。このため、類似度算出部２２５は、要素の存在に関する類似度として５／６を算出する。
【００２２】
また、検索キーの回路３０における隣り合う要素の位置関係（要素Ａの右隣に要素Ｂ、要素Ｂの下隣に要素Ｃ、要素Ｄの下隣に要素Ｅ）は全てが検索対象の回路４０における隣り合う要素の位置関係（要素Ｆの右隣に要素Ａ、要素Ａの右隣に要素Ｂ、要素Ｂの下隣に要素Ｃ、要素Ｄの下隣に要素Ｅ）と一致している。このため類似度算出部２２５は、隣り合う要素の位置関係に関する類似度として、３／４を算出する。
【００２３】
また、検索キーの回路３０における結線による直接接続の関係（要素Ａ−要素Ｂ、要素Ａ−要素Ｃ、要素Ｂ−要素Ｄ、要素Ｂ−要素Ｅ、要素Ｃ−要素Ｄ、要素Ｃ−要素Ｅ）は全てが検索対象の回路４０における結線による直接接続の関係（要素Ａ−要素Ｂ、要素Ａ−要素Ｃ、要素Ｂ−要素Ｄ、要素Ｂ−要素Ｅ、要素Ｃ−要素Ｄ、要素Ｃ−要素Ｅ、要素Ｆ−要素Ａ）と一致している。このため、類似度算出部２２５は、結線による直接接続の関係に関する類似度として、６／７を算出する。
【００２４】
類似度算出部２２５は、要素の存在に関する類似度、隣り合う要素の位置関係に関する類似度、及び結線による直接接続の関係に関する類似度を乗じて、総合的な図的な類似度を算出する。上記の例では、５／６×３／４×６／７＝１５／２８≒０．５４により、検索キーの回路３０と検索対象の回路４０との図的な類似度は０．５４と算出される。
【００２５】
上記の例は、図的な類似度を算出する方法の一例であり、例とは異なる基準（例えば各回路要素間の距離の違い）を図的な類似度の算出に用いることが可能である。
【００２６】
次に、類似度算出部２２５が、検索キーの回路３０と、検索対象の回路４０との論理的な類似度を算出する処理について説明する。図５は、検索対象の回路の別の一例を示す図である。検索対象の回路５０は、要素として、二つのＡ接点（要素Ａ、Ｂ）、一つのＢ接点（要素Ｃ）、及び二つのコイル（要素Ｄ、Ｅ）を要素として備えている。あるＡ接点（要素Ｂ）の右隣には別のＡ接点（要素Ａ）が配置されている。また、ある右隣に別のＡ接点（要素Ａ）が配置されたＡ接点（要素Ｂ）の下隣にはＢ接点（要素Ｃ）が配置されている。さらに、あるコイル（要素Ｄ）の下隣には別のコイル（要素Ｅ）が配置されている。また、結線による直接接続の形態として、要素Ｂと要素Ａとが接続されている。また、要素Ｃと要素Ａとが接続されている。また、要素Ａと要素Ｄとが接続されている。また、要素Ａと要素Ｅとが接続されている。
【００２７】
検索対象の回路５０における各回路要素の出現順は、ＢＣＡＤＥである。一方、検索キーの回路３０における各回路要素の出現順は、ＡＢＣＤＥである。五つの回路要素のうちの二つ（Ｄ、Ｅ）の出現順が一致するため、単純に比較した場合論理的な類似度は、２／５＝０．４０となる。ただし、類似度算出部２２５は、回路を正規化する機能を備えている。検索対象の回路５０において、要素Ｂ、Ｃの並列部分と要素Ａとの順序を入れ替えても論理的には等価である。従って、類似度算出部２２５は、要素Ｂ、Ｃの並列部分と要素Ａとの順序を入れ替えて論理的な類似度を算出する。要素Ｂ、Ｃの並列部分と要素Ａとの順序を入れ替えた回路における回路要素の出現順は、ＡＢＣＤＥとなり、検索キーの回路３０における回路要素の出現順と一致する。したがって、正規化の処理を行った場合は、論理的な類似度を５／５＝１．０と算出する。
【００２８】
実施の形態にかかるシーケンスプログラム作成装置の動作について説明する。図６は、実施の形態にかかるシーケンスプログラム作成装置による類似部品検索処理の流れを示すフローチャートである。図７は、類似部品検索処理中に表示部に表示される画面の一例を示す図である。まず、ユーザは、入力部１５に対する操作を行って、検索キーの回路を指定する（ステップＳ１０１）。この際に、作成中のプログラムの一部を検索キーとするのであれば、作成したプログラムの一部をエディタ画面上で選択して指定する。例えば、図７に示すように、グリッド状のエディタ画面８０に表示されているラダープログラムの少なくとも一部を入力部１５に対する操作で選択する。なお、図７では、入力部１５に対する操作によって選択された部分を網掛けで示している。また、記憶部１６に記憶されているプログラム部品を検索キーの回路とするのであれば、過去に作成したプログラム部品のリストから、目的のプログラム部品に類似するものを入力部１５に対する操作で選択する。さらに、検索キー入力画面表示部２２１が表示部１７に表示させた検索キー入力画面において編集された回路を検索キーの回路とするのであれば、検索キー入力画面で検索キーの回路を編集する操作を入力部１５に対して行う。
【００２９】
次に、ユーザは、入力部１５に対する操作（例えば図７に示すように、メニュー５１から類似部品検索を選択する）を行って類似部品検索画面を表示部１７に表示させる（ステップＳ１０２）。図８は、類似部品検索画面の一例を示す図である。類似部品検索画面６０は、検索範囲指定欄６１と検索指標指定欄６２とを備えている。そして、ユーザは入力部１５に対する操作により、類似部品検索画面６０上の検索範囲指定欄６１において検索範囲を指定する（ステップＳ１０３）。さらに、ユーザは入力部１５に対する操作により、類似部品検索画面６０上の検索指標指定欄６２において検索指標を指定する（ステップＳ１０４）。検索指標が指定された後、ユーザが入力部１５に対する操作を行って類似部品検索画面６０上で検索実行ボタン６３を押下すると、類似部品検索処理部２１は、類似部品検索を実行し（ステップＳ１０５）、検索結果を表示部１７に表示させ（ステップＳ１０６）、処理を終了する。図９は、検索結果表示用画面の一例を示す図であり、検索範囲として記憶部１６に記憶されている既存のプログラム部品１６１から検索することが指定されている場合の画面例である。検索結果表示用画面７０には、検索キーの回路との類似度が閾値以上の回路を含むプログラム部品の一覧７１が表示されている。なお、検索結果表示用画面７０に、各プログラム部品に含まれる回路の類似度の値を合わせて表示するようにしても良い。検索結果表示用画面７０に類似度を合わせて表示することにより、ユーザは検索結果のプログラム部品を流用するか否かを判断する基準として利用することが可能となる。
【００３０】
図１０は、実施の形態にかかるシーケンスプログラム作成装置の類似部品検索及び検索結果の表示の処理の流れを示すフローチャートである。図１０に示すフローチャートは、図６のステップＳ１０５、Ｓ１０６での処理の詳細を示している。検索結果リスト生成部２２７は、検索結果リストを初期化する（ステップＳ２０１）。その後、類似部品検索処理部２１は、検索対象の回路全てに対して下記のループ処理を行う。
【００３１】
類似度算出部２２５は、検索対象の回路について、検索キーの回路との類似度を、検索指標指定部２２４によって指定された検索指標を用いて算出する（ステップＳ２０２）。検索対象部品判定部２２６は、類似度算出部２２５が算出した類似度が、閾値以上であるか否かを判定する（ステップＳ２０３）。類似度が閾値以上であれば（ステップＳ２０３／Ｙｅｓ）、検索対象部品判定部２２６は、検索対象の回路を検索結果リスト生成部２２７に通知する。検索結果リスト生成部２２７は、検索対象の回路を含むプログラム部品を検索結果リストに追加する（ステップＳ２０４）。類似度が閾値未満であれば（ステップＳ２０３／Ｎｏ）、何も行わない。
【００３２】
全ての検索対象の回路に対してループ処理が終了したら、検索結果表示用画面表示部２２８は、検索結果リストを表示部１７に表示させる（ステップＳ２０５）。この際、検索結果リストに含まれるプログラム部品を検索対象の部品の類似度の順（降順）で表示する。この際、検索条件（検索範囲及び検索指標）を検索結果リストと共に表示することで、所望の検索結果が得られなかった場合に、検索条件が適切であったか否かをユーザが容易に判断できる。
【００３３】
なお、上記の実施の形態では、ラダープログラムを例としたが、ＳＴ（Structured Text）やＦＢＤ（Function Block Diagram）などの他のプログラミング言語でシーケンスプログラムを作成する場合でも本発明は適用可能である。なお、ＳＴの場合には、図的な類似度については検索指標としての指定はできないようにし、論理的な類似度及びキーワードの類似度を指標として指定できるようにすればよい。
【００３４】
本実施の形態によれば、プログラムの構造、利用されている部品等の傾向に基づき、回路の類似度を機械的に算出するため、流用したいプログラム部品を複雑な検索キーを指定することなく検索できる。すなわち、図的・論理的に類似しているか否かを考慮してプログラム部品を検索できるため、様々な状況での効率的なプログラミング環境を提供できる。
【産業上の利用可能性】
【００３５】
以上のように、本発明にかかるシーケンスプログラム作成装置は、機種や仕様に応じて一部が図的・論理的に異なるプログラム部品を流用することが容易である点で有用である。
【符号の説明】
【００３６】
１０  コンピュータ
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  通信部
１５  入力部
１６  記憶部
１７  表示部
２０  プログラムエディタ
２１  エディタ基本動作部
２２  類似部品検索処理部
３０  検索キーの回路
４０、５０  検索対象の回路
５１  メニュー
６０  類似部品検索画面
６１  検索範囲指定欄
６２  検索指標指定欄
６３  検索実行ボタン
７０  検索結果表示用画面
７１  プログラム部品の一覧
８０  エディタ画面
１６１  プログラム部品
２１１  作成中のシーケンスプログラム
２２１  検索キー入力画面表示部
２２２  検索キー回路指定部
２２３  検索範囲指定部
２２４  検索指標指定部
２２５  類似度算出部
２２６  検索対象部品判定部
２２７  検索結果リスト生成部
２２８  検索結果表示用画面表示部
【図１】
2013140497.tif 000003
【図２】
2013140497.tif 000004
【図３】
2013140497.tif 000005
【図４】
2013140497.tif 000006
【図５】
2013140497.tif 000007
【図６】
2013140497.tif 000008
【図７】
2013140497.tif 000009
【図８】
2013140497.tif 000010
【図９】
2013140497.tif 000011
【図１０】
2013140497.tif 000012
【手続補正書】
【提出日】平成26年8月1日(2014.8.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラムの構成要素をエディタ画面上に図的に配置することによりシーケンスプログラムを作成するシーケンスプログラム作成装置であって、
検索キーの回路を指定する検索キー回路指定部と、
前記検索キーの回路と類似する回路を検索する検索範囲を指定する検索範囲指定部と、
前記検索キーの回路との類似度を算出する処理における指標として、前記検索キーの回路との図的な類似度及び前記検索キーの回路との論理的な類似度の少なくとも一方を指定する検索指標指定部と、
前記検索範囲指定部によって指定された前記検索範囲に含まれる各回路について、前記検索キー回路指定部によって指定された前記検索キーの回路との類似度を、前記検索指標指定部によって指定された前記指標に基づいて算出する類似度算出部と、
前記類似度算出部が前記類似度を算出した前記各回路について、前記類似度が所定の閾値以上であるか否かを判定する検索対象部品判定部と、
前記類似度が前記所定の閾値以上であると前記検索対象部品判定部が判定した前記回路を検索結果表示用画面に表示させる検索結果表示用画面表示部とを備えることを特徴とするシーケンスプログラム作成装置。
【請求項２】
前記検索指標指定部は、前記検索キーの回路との類似度を算出する処理における指標として、前記検索キーの回路に関連付けられたキーワードの類似度をさらに指定可能であることを特徴とする請求項１に記載のシーケンスプログラム作成装置。
【請求項３】
前記検索範囲指定部は、前記エディタ画面で作成中の前記シーケンスプログラムの一部及び作成済みのプログラム部品の少なくとも一方を前記検索範囲として指定することを特徴とする請求項１又は２に記載のシーケンスプログラム作成装置。
【請求項４】
前記検索範囲指定部が、作成済みのプログラム部品を前記検索範囲として指定した場合に、前記類似度が前記所定の閾値以上であると前記検索対象部品判定部が判定した前記回路を含む前記作成済みのプログラム部品のリストを生成する検索結果リスト生成部を備え、
前記検索結果表示用画面表示部は、前記検索結果リスト生成部が生成したリストを前記検索結果表示用画面に表示させることを特徴とする請求項３に記載のシーケンスプログラム作成装置。
【請求項５】
前記検索結果表示用画面に表示された前記リストから選択した前記回路を前記エディタ画面に配置可能であることを特徴とする請求項４に記載のシーケンスプログラム作成装置。
【請求項６】
プログラムの構成要素を図的に配置することにより回路を作成する検索キー入力画面を表示させる検索キー入力画面表示部を備え、
前記検索キー回路指定部は、作成済みのプログラム部品、前記エディタ画面で作成中の前記シーケンスプログラム及び前記検索キー入力画面に形成された回路のいずれかを前記検索キーの回路として指定することを特徴とする請求項１から５のいずれか１項に記載のシーケンスプログラム作成装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
検索指標指定部２２４は、検索キーの回路に類似する回路を検索範囲から検索する際に、用いる指標（図的な類似度、論理構成の類似度（論理的な類似度）、キーワードの類似度）を指定する。図的な類似度、論理的な類似度、キーワードの類似度の定義については後段で説明する。なお、検索指標指定部２２４は、複数の指標を指定することも可能である。類似度算出部２２５は、検索範囲指定部２２３が指定する検索範囲（記憶部１６に記憶されているプログラム部品１６１又はエディタ基本動作部２１が保持している作成中のシーケンスプログラム２１１）について、検索キーの回路との類似度を算出する。なお、類似度算出部２２５は、検索指標指定部２２４によって複数の検索指標が指定されている場合には、各指標に応じた類似度を合算して検索対象の部品の類似度を算出する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
次に、ユーザは、入力部１５に対する操作（例えば図７に示すように、メニュー５１から類似部品検索を選択する）を行って類似部品検索画面を表示部１７に表示させる（ステップＳ１０２）。図８は、類似部品検索画面の一例を示す図である。類似部品検索画面６０は、検索範囲指定欄６１と検索指標指定欄６２とを備えている。そして、ユーザは入力部１５に対する操作により、類似部品検索画面６０上の検索範囲指定欄６１において検索範囲を指定する（ステップＳ１０３）。さらに、ユーザは入力部１５に対する操作により、類似部品検索画面６０上の検索指標指定欄６２において検索指標を指定する（ステップＳ１０４）。検索指標が指定された後、ユーザが入力部１５に対する操作を行って類似部品検索画面６０上で検索実行ボタン６３を押下すると、類似部品検索処理部２２は、類似部品検索を実行し（ステップＳ１０５）、検索結果を表示部１７に表示させ（ステップＳ１０６）、処理を終了する。図９は、検索結果表示用画面の一例を示す図であり、検索範囲として記憶部１６に記憶されている既存のプログラム部品１６１から検索することが指定されている場合の画面例である。検索結果表示用画面７０には、検索キーの回路との類似度が閾値以上の回路を含むプログラム部品の一覧７１が表示されている。なお、検索結果表示用画面７０に、各プログラム部品に含まれる回路の類似度の値を合わせて表示するようにしても良い。検索結果表示用画面７０に類似度を合わせて表示することにより、ユーザは検索結果のプログラム部品を流用するか否かを判断する基準として利用することが可能となる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
図１０は、実施の形態にかかるシーケンスプログラム作成装置の類似部品検索及び検索結果の表示の処理の流れを示すフローチャートである。図１０に示すフローチャートは、図６のステップＳ１０５、Ｓ１０６での処理の詳細を示している。検索結果リスト生成部２２７は、検索結果リストを初期化する（ステップＳ２０１）。その後、類似部品検索処理部２２は、検索対象の回路全てに対して下記のループ処理を行う。
【国際調査報告】
2013140497.tif 000013
2013140497.tif 000014
2013140497.tif 000015
2013140497.tif 000016