(57)【特許請求の範囲】
【請求項１】
シーケンスプログラム内の回路全体から共通のロジック部分を検索するとともに、前記共通のロジック部分に配置されている回路パターンに共通して現れるロジックのパターンを共通回路パターンとして抽出する検索ステップと、
抽出した共通回路パターンをプログラム部品の候補として表示する部品候補表示ステップと、
前記プログラム部品の候補の中からユーザによって選択された共通回路パターンをプログラム部品として登録する部品登録設定ステップと、
前記シーケンスプログラム内の前記共通のロジック部分を、前記プログラム部品で置き換える置換ステップと、
をコンピュータに実行させ、
前記検索ステップでは、ユーザによって指定された第１の回路ブロック数を検索単位として、前記共通のロジック部分が検索されることを特徴とするシーケンスプログラム部品作成プログラム。
【請求項２】
前記検索ステップでは、回路図が同じロジック部分を前記共通のロジック部分として検索することを特徴とする請求項１に記載のシーケンスプログラム部品作成プログラム。
【請求項３】
前記検索ステップでは、回路図の論理が同じロジック部分を前記共通のロジック部分として検索することを特徴とする請求項１に記載のシーケンスプログラム部品作成プログラム。
【請求項４】
第２の回路ブロック数を検索単位とした検索処理を行った後に前記第２の回路ブロック数の共通回路パターンをプログラム部品に設定する処理を、前記第２の回路ブロック数を１つずつ増やしながら前記第２の回路ブロック数が前記第１の回路ブロック数となるまで順番に繰り返すことを特徴とする請求項１に記載のシーケンスプログラム部品作成プログラム。
【請求項５】
前記第１の回路ブロック数を検索単位とした検索処理を行った後に前記第１の回路ブロック数の共通回路パターンをプログラム部品に設定する処理を、前記第１の回路ブロック数を１つずつ減らしながら前記第１の回路ブロック数が所定の回路ブロック数となるまで順番に繰り返すことを特徴とする請求項１に記載のシーケンスプログラム部品作成プログラム。
【請求項６】
前記部品候補表示ステップでは、前記共通回路パターンの有している前記共通のロジック部分の数が、ユーザによって指定された数よりも多い共通回路パターンを、プログラム部品の候補として表示することを特徴とする請求項１〜５のいずれか１つに記載のシーケンスプログラム部品作成プログラム。
【請求項７】
シーケンスプログラム内の回路全体から共通のロジック部分を検索するとともに、前記共通のロジック部分に配置されている回路パターンに共通して現れるロジックのパターンを共通回路パターンとして抽出する検索部と、
抽出した共通回路パターンをプログラム部品の候補として表示する部品候補表示部と、
前記プログラム部品の候補の中からユーザによって選択された共通回路パターンをプログラム部品に登録する部品登録部と、
前記シーケンスプログラム内の前記共通のロジック部分を、前記プログラム部品で置き換える置換部と、
を備え、
前記検索部は、ユーザによって指定された第１の回路ブロック数を検索単位として、前記共通のロジック部分を検索することを特徴とするシーケンスプログラム部品作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンスプログラムからプログラム部品を作成するシーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置に関する。
【背景技術】
【０００２】
シーケンスプログラムは、効率良く作成することが望まれている。このため、シーケンスプログラム内の共通のロジック部分を切り出して、プログラム部品として登録し（部品化）、そのプログラム部分を複数のシーケンスプログラムで再利用することが行われている（例えば、特許文献１，２参照）。シーケンスプログラムのプログラム部品の例としては、ファンクションブロック（ＦＢ）がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３５７００５号公報
【特許文献２】特開２００９−１１６４２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術では、編集対象となるシーケンスプログラムの編集を行なう前に、既存のシーケンスプログラムから共通のロジック部分（プログラム部分）を見つけて部品化を行なっておく必要があった。このため、部品化作業には、長時間を要するという問題があった。【０００５】
本発明は、上記に鑑みてなされたものであって、容易かつ短時間でシーケンスプログラムを部品化することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、シーケンスプログラム内の回路全体から共通のロジック部分を検索するとともに、前記共通のロジック部分に配置されている回路パターンに共通して現れるロジックのパターンを共通回路パターンとして抽出する検索ステップと、抽出した共通回路パターンをプログラム部品の候補として表示する部品候補表示ステップと、前記プログラム部品の候補の中からユーザによって選択された共通回路パターンをプログラム部品として登録する部品登録設定ステップと、前記シーケンスプログラム内の前記共通のロジック部分を、前記プログラム部品で置き換える置換ステップと、をコンピュータに実行させ、前記検索ステップでは、ユーザによって指定された第１の回路ブロック数を検索単位として、前記共通のロジック部分が検索されることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、容易かつ短時間でシーケンスプログラムを部品化することが可能になるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態１に係るプログラム部品化処理の概念を説明するための図である。
【図２】図２は、実施の形態１に係るプログラム部品作成装置の構成を示す図である。
【図３】図３は、実施の形態１に係るプログラム部品化処理の処理手順を示すフローチャートである。
【図４】図４は、実施の形態２に係るプログラム部品作成装置の構成を示す図である。
【図５】図５は、図的に共通なロジック部分を説明するための図である。
【図６】図６は、論理的に共通なロジック部分を説明するための図である。
【図７】図７は、実施の形態４に係るプログラム部品化処理の処理手順を示すフローチャートである。
【図８】図８は、検索単位の回路ブロック数を増やしながら共通回路パターンを抽出する処理を説明するための図である。
【図９】図９は、実施の形態５に係るプログラム部品化処理の処理手順を示すフローチャートである。
【図１０】図１０は、検索単位の回路ブロック数を減らしながら共通回路パターンを抽出する処理を説明するための図である。
【図１１】図１１は、抽出される共通回路パターンの一例を示す図である。
【図１２】図１２は、プログラム部品作成装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本発明の実施の形態に係るシーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
【００１０】
実施の形態１．
まず、本実施の形態に係るプログラム部品化処理の概念について説明する。なお、本実施の形態では、「共通回路パターンＧ」と「共通のロジック部分Ｈ」とを以下のように区別して用いる。
・共通回路パターンＧ：シーケンスプログラムに共通して現れるロジックのパターン。
・共通のロジック部分Ｈ：共通回路パターンＧが現れるシーケンスプログラムの箇所（領域）。
【００１１】
図１は、実施の形態１に係るプログラム部品化処理の概念を説明するための図である。プログラム部品作成装置（後述するプログラム部品作成装置１Ａ，１Ｂ）は、シーケンスプログラム（ラダープログラム）からプログラム部品を作成するコンピュータなどの装置である。
【００１２】
プログラム部品作成装置１Ａ，１Ｂは、シーケンスプログラム内から部品化できる共通のロジック部分（プログラム部分）Ｈを自動的に判定して抽出する。プログラム部品作成装置１Ａ，１Ｂは、少なくとも以下に示す２つの機能を有している。
【００１３】
第１の機能は、シーケンスプログラムの回路全体から部品化可能な共通のロジック部分Ｈを検索して表示する機能である。シーケンスプログラムであるラダープログラムは、接点／コイル相当命令で構成されている。したがって、プログラム部品作成装置１Ａ，１Ｂは、接点相当命令およびコイル相当命令のロジックのみで共通している共通回路パターンＧと、プログラム箇所（共通のロジック部分Ｈ）とを検索し表示する。検索された共通回路パターンＧが、プログラム部品（マクロ、サブルーチンなど）の候補である。
【００１４】
第２の機能は、第１の機能で検索した共通回路パターンＧの何れかがユーザによって選択されると、選択された共通回路パターンＧをプログラム部品に変換（部品化を実行）して登録する機能である。また、第２の機能は、第１の機能で検索した共通のロジック部分Ｈを、登録したプログラム部品のインスタンスで置き換えることで、シーケンスプログラムを自動的に部品化する。
【００１５】
図１のフェーズ（Ａ）に示すように、プログラム部品作成装置１Ａ，１Ｂは、シーケンスプログラム内から共通のロジック部分Ｈを抽出する。共通ロジック部分の例として、図５で図的に共通なロジック部分を、図６で論理的に共通な部分を示している。ここでのプログラム部品作成装置１Ａ，１Ｂは、回路ブロック２ａ〜４ａの配置されているブロックを共通のロジック部分Ｈとして抽出する。
【００１６】
さらに、図１のフェーズ（Ｂ）に示すように、プログラム部品作成装置１Ａ，１Ｂは、回路ブロック２ａ〜４ａのロジックに基づいて、部品化可能な共通回路パターンＧを設定する。換言すると、プログラム部品作成装置１Ａ，１Ｂは、回路ブロック２ａ〜４ａに共通なロジックを共通回路パターンＧに設定する。これにより、プログラム部品作成装置１Ａ，１Ｂは、回路ブロック２ａ〜４ａを共通回路パターンＧとして扱う。
【００１７】
そして、図１のフェーズ（Ｃ）に示すように、プログラム部品作成装置１Ａ，１Ｂは、共通回路パターンＧをプログラム部品ＦＢ１として登録する。さらに、プログラム部品作成装置１Ａ，１Ｂは、回路ブロック２ａ〜４ａを、プログラム部品ＦＢ１で置換する。
【００１８】
これにより、回路ブロック２ａは、プログラム部品ＦＢ１（インスタンス１）で置換されて回路ブロック２ｂとなる。同様に、回路ブロック３ａは、プログラム部品ＦＢ１（インスタンス２）で置換されて回路ブロック３ｂとなり、回路ブロック４ａは、プログラム部品ＦＢ１（インスタンス３）で置換されて回路ブロック４ｂとなる。
【００１９】
プログラム部品作成装置１Ａ，１Ｂは、プログラム部品ＦＢ１で置換されたシーケンスプログラムと、プログラム部品ＦＢ１の回路パターンと、を記憶しておく。この後、ユーザからの指示に従って、プログラム部品ＦＢ１で置換されたシーケンスプログラムと、プログラム部品ＦＢ１の回路パターンと、を用いたプログラム編集が行われる。
【００２０】
図２は、実施の形態１に係るプログラム部品作成装置の構成を示す図である。プログラム編集システム１００Ａは、シーケンスプログラム作成装置２と、プログラム部品作成装置１Ａと、表示装置５と、シーケンスプログラム編集装置３とを有している。
【００２１】
シーケンスプログラム作成装置２は、ＰＬＣ（Programmable  Logic  Controller）（シーケンサ）システムなどで動作させるシーケンスプログラムを作成する装置である。シーケンスプログラム作成装置２は、作成したシーケンスプログラムをプログラム部品作成装置１Ａに入力する。
【００２２】
シーケンスプログラム編集装置３は、プログラム部品作成装置１Ａでプログラム部品に置き換えられたシーケンスプログラムを用いてシーケンスプログラムの編集を行う装置である。表示装置５は、液晶モニタなどであり、プログラム部品作成装置１Ａからの指示に従って、シーケンスプログラム、共通回路パターンＧ、プログラム部品などを表示する。
【００２３】
プログラム部品作成装置１Ａは、エンジニアリングツールとして、プログラム格納部１２と、共通判定部（検索部）１３Ａと、検索結果記憶部１４と、検索結果表示処理部（部品候補表示部）１５と、プログラム部品登録部（部品設定部）１７と、プログラム部品格納部１８と、部品化処理部（置換部）１９とを備えている。また、プログラム部品作成装置１Ａは、プログラム入力部１１と、指示入力部１６と、出力部２０と、を備えている。
【００２４】
エンジニアリングツールは、シーケンスプログラムからプログラム部品を作成するツールである。エンジニアリングツールは、例えばＰＣ（Personal  Computer）上のＳ／Ｗ（ソフトウェア）として実現できる。
【００２５】
プログラム入力部１１は、シーケンスプログラムを入力してプログラム格納部１２に送る。プログラム格納部１２は、共通のロジック部分Ｈが検索されるシーケンスプログラム（部品化対象のプログラム）を記憶しておくメモリなどである。プログラム格納部１２は、シーケンスプログラムが部品化された後は、部品化されたシーケンスプログラムを記憶しておく。プログラム格納部１２は、例えば、エンジニアリングツールで作成するプロジェクトの中のプログラムファイルなどに相当する。
【００２６】
共通判定部１３Ａは、プログラム格納部１２に格納されているシーケンスプログラムを読み込んで、その中に共通のロジック部分Ｈがあるか否かを判定する。共通判定部１３Ａは、共通のロジック部分Ｈがある場合、共通のロジック部分Ｈにおける共通のロジックを共通回路パターンＧとして抽出する。換言すると、共通判定部１３Ａは、共通のロジック部分Ｈに配置されている回路パターンに共通して現れるロジックのパターンを共通回路パターンＧとして抽出する。なお、プログラム部品作成装置１Ａには、共通ロジック部分Ｈを判定する具体的手段として、コードクーロン検出手法などを利用できる。検索結果記憶部１４は、共通判定部１３Ａが抽出した共通回路パターンＧを、検索結果として記憶しておくメモリなどである。
【００２７】
検索結果表示処理部１５は、検索結果記憶部１４内の検索結果一覧を表示装置５に表示させる。検索結果表示処理部１５は、表示中の検索結果内からユーザによって部品化する共通回路パターンＧが選択されると、選択された共通回路パターンＧをプログラム部品登録部１７に送る。
【００２８】
このように、本実施の形態では、共通判定部１３Ａで抽出された共通回路パターンＧの一覧（検索結果一覧）を、検索結果表示処理部１５が表示装置５に表示させ、部品化したい共通回路パターンＧをユーザに選択させている。これにより、プログラム部品作成装置１Ａは、シーケンスプログラム部品の作成支援を行う。
【００２９】
指示入力部１６は、ユーザからの指示を入力して、検索結果表示処理部１５などに送る。ユーザからの指示は、検索に関する指示（検索指示）、部品化に関する指示（部品指定指示）、または出力に関する指示（出力指示）などである。
【００３０】
検索指示は、シーケンスプログラム内から共通回路パターンＧを検索させる指示であり、指示入力部１６から共通判定部１３Ａに送られる。部品指定指示は、検索結果の中から部品化する共通回路パターンＧを指定する指示であり、指示入力部１６から検索結果表示処理部１５に送られる。出力指示は、シーケンスプログラムを外部装置などに出力させる指示であり、指示入力部１６から出力部２０に送られる。
【００３１】
プログラム部品登録部１７は、選択された共通回路パターンＧが検索結果表示処理部１５から送られてくると、選択された共通回路パターンＧをプログラム部品に変換して、プログラム部品格納部１８に登録する。
【００３２】
プログラム部品格納部１８は、プログラム部品登録部１７からの指示に従ってプログラム部品を格納するメモリなどである。部品化処理部１９は、プログラム格納部１２に格納されているシーケンスプログラムの中の共通のロジック部分Ｈを、プログラム部品格納部１８内のプログラム部品に置き換える。部品化処理部１９は、置換後のシーケンスプログラムをプログラム格納部１２に記憶させる。
【００３３】
出力部２０は、指示入力部１６から出力指示が送られてきた場合には、出力指示で指定されたシーケンスプログラムをプログラム格納部１２から抽出して外部装置などに出力する。
【００３４】
図３は、実施の形態１に係るプログラム部品化処理の処理手順を示すフローチャートである。シーケンスプログラムは、予めシーケンスプログラム作成装置２で作成されて、プログラム部品作成装置１Ａのプログラム入力部１１に送られる。プログラム入力部１１は、送られてきたシーケンスプログラムをプログラム格納部１２に記憶させる。
【００３５】
（ユーザ操作１）
ユーザによって、指示入力部１６から共通回路パターンＧ（共通のロジック部分）の検索指示が入力されると、検索指示は、指示入力部１６から共通判定部１３Ａに送られる。これにより、プログラム部品化処理が開始される（ステップＳ１０）。
【００３６】
（処理１）
共通判定部１３Ａは、プログラム格納部１２に格納（蓄積）されているシーケンスプログラムから共通回路パターンＧを抽出する。共通判定部１３Ａは、例えば、シーケンスプログラムから共通のロジック部分Ｈを抽出し、この共通のロジック部分Ｈに配置されている回路ブロック（回路ブロック２ａ〜４ａなど）から共通回路パターンＧを抽出する（ステップＳ２０）。
【００３７】
（処理２）
共通判定部１３Ａは、共通のロジック部分Ｈから抽出した共通回路パターンＧと、この共通回路パターンＧの件数とを対応付けして検索結果記憶部１４に格納する（ステップＳ３０）。
【００３８】
また、共通判定部１３Ａは、共通のロジック部分Ｈの場所（たとえば、ラダープログラムの行番号）と、共通のロジック部分Ｈが抽出されたシーケンスプログラムを識別する情報（プログラム識別情報）とを対応付けして部品化処理部１９に送る。
【００３９】
（処理３）
検索結果表示処理部１５は、検索結果記憶部１４に格納されている共通回路パターンＧおよび件数を表示装置５に一覧表示させる。表示装置５は、例えば、図１に示した共通回路パターンＧと、その件数（図１では３件）を表示する（ステップＳ４０）。
【００４０】
（ユーザ操作２）
この後、ユーザによって、部品化する共通回路パターンＧが選択される。ユーザによって、指示入力部１６から何れかの共通回路パターンＧを指定した部品指定指示が入力されると、部品指定指示が検索結果表示処理部１５に送られる（ステップＳ５０）。検索結果表示処理部１５は、部品指定指示に対応する共通回路パターンＧを、プログラム部品登録部１７に送る。
【００４１】
（処理４，５）
プログラム部品登録部１７は、選択された共通回路パターンＧのロジックをプログラム部品に変換する（ステップＳ６０）。プログラム部品登録部１７は、変換したプログラム部品をプログラム部品格納部１８に格納する（ステップＳ７０）。このように、ユーザによって選択された共通回路パターンＧが、プログラム部品としてプログラム部品格納部１８に格納される。
【００４２】
（処理６）
部品化処理部１９は、プログラム格納部１２のシーケンスプログラムの中にある共通のロジック部分Ｈを、プログラム部品格納部１８に格納したプログラム部品で置き換える（ステップＳ８０）。部品化処理部１９は、共通のロジック部分Ｈをプログラム部品で置き換える際に、置き換えたプログラム部品の入出力変数の割付を行う。
【００４３】
部品化処理部１９は、共通判定部１３Ａで共通回路パターンＧが抽出されたシーケンスプログラムに対して、プログラム部品による置き換えを行なう。具体的には、部品化処理部１９は、プログラム識別情報に基づいて、プログラム格納部１２内から部品化対象のシーケンスプログラムを抽出する。そして、部品化処理部１９は、抽出したシーケンスプログラムの共通のロジック部分Ｈにある回路パターンを、プログラム部品格納部１８内のプログラム部品で置き換える。
【００４４】
シーケンスプログラムの少なくとも一部がプログラム部品によって置き換えられた後、置換後のシーケンスプログラムは、プログラム格納部１２に格納される。この後、ユーザが指示入力部１６に出力指示を入力すると、この出力指示は指示入力部１６から出力部２０に送られる。出力部２０は、出力指示で指定されたシーケンスプログラムをプログラム格納部１２から抽出してシーケンスプログラム編集装置３に送る。これにより、シーケンスプログラム編集装置３では、ユーザの指示に従ってシーケンスプログラムの編集が行われる。
【００４５】
なお、本実施の形態では、ユーザによって指定された共通回路パターンＧを部品化したが、プログラム部品登録部１７は、抽出された全ての共通回路パターンＧを部品化してもよい。
【００４６】
このように、プログラム部品作成装置１Ａは、シーケンスプログラムの中から共通回路パターンＧを自動的に検索して表示するので、プログラム部品の候補を探す作業の手数を削減できる。したがって、プログラム部品候補の検索操作数を低減できる。
【００４７】
また、ユーザが部品化候補を選択するだけでプログラム部品の作成およびインスタンスの作成ができるので、入出力変数への割付作業の操作数を削減できる。したがって、シーケンスプログラム内をプログラム部品で置き換える操作数を低減できる。
【００４８】
また、プログラム部品の候補を表示する処理と、プログラム部品の作成およびインスタンスの作成とを連続して行えるので、重複部分の少ないラダープログラムを効率良く作成できる。
【００４９】
このように、プログラム部品作成装置１Ａは、予め登録されているプログラム部品を検索するものではなく、シーケンスプログラムから抽出した共通回路パターンＧを部品化する。このため、プログラム部品作成装置１Ａは、予め既存のシーケンスプログラムからプログラム部品を登録しておくことなく、共通回路パターンＧを用いてシーケンスプログラムを編集（プログラム部品への置換）できる。
【００５０】
このように実施の形態１によれば、シーケンスプログラムから抽出した共通回路パターンＧをプログラム部品に置き換えるので、容易かつ短時間でシーケンスプログラムの部品化を実行することが可能になる。
【００５１】
実施の形態２．
つぎに、図４〜図６を用いてこの発明の実施の形態２について説明する。実施の形態２では、共通回路パターンＧを抽出する際に、図的に共通なロジック部分（回路図が同じロジック部分）の判定、または論理的（意味的）に共通なロジック部分（回路図の論理が同じロジック部分）の判定を行う。
【００５２】
図４は、実施の形態２に係るプログラム部品作成装置の構成を示す図である。図４の各構成要素のうち図２に示す実施の形態１のプログラム編集システム１００Ａと同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
【００５３】
プログラム編集システム１００Ｂは、シーケンスプログラム作成装置２と、プログラム部品作成装置１Ｂと、シーケンスプログラム編集装置３とを有している。プログラム部品作成装置１Ｂは、プログラム部品作成装置１Ａと比較して、共通判定部１３Ａの代わりに共通判定部１３Ｂを備えている。
【００５４】
共通判定部１３Ｂは、図的共通判定部２５Ｂと論理的共通判定部２６Ｂとを具備している。図的共通判定部２５Ｂは、プログラム格納部１２に格納されているシーケンスプログラム内から図的に共通なロジック部分があるか否かを判定する。図的に共通なロジック部分とは、電子回路図の回路記号の配置が同じ回路のことである。図的共通判定部２５Ｂは、図的に共通なロジック部分がある場合、図的に共通なロジック部分をシーケンスプログラムから抽出する。
【００５５】
論理的共通判定部２６Ｂは、プログラム格納部１２に格納されているシーケンスプログラム内から論理的に共通なロジック部分があるか否かを判定する。論理的に共通なロジック部分とは、図的に回路記号の配置が異なるが、ロジックとしての動作が同じ回路のことである。
【００５６】
図５は、図的に共通なロジック部分を説明するための図である。図５に示す回路ブロックＬ０と回路ブロックＬ１とは、電子回路図の回路記号の配置が同じである。したがって、本実施の形態の共通判定部１３Ｂは、回路ブロックＬ０と回路ブロックＬ１とは、図的に共通な回路であると判定する。
【００５７】
一方、回路ブロックＬ０と回路ブロックＬ２とは、電子回路図の回路記号の配置が異なる。したがって、本実施の形態の共通判定部１３Ｂは、回路ブロックＬ２は、回路ブロックＬ０に対して図的に共通でないと判定する。
【００５８】
図６は、論理的に共通なロジック部分を説明するための図である。図６に示す回路ブロックＰと回路ブロックＱとは、図的に回路記号の配置が異なっているが、ロジックとしては同じ動作を行う。したがって、本実施の形態の論理的共通判定部２６Ｂは、回路ブロックＰと回路ブロックＱとは、論理的に共通なロジック部分であると判定する。
【００５９】
共通判定部１３Ｂは、図的共通判定部２５Ｂおよび論理的共通判定部２６Ｂの両方を用いて共通のロジック部分Ｈ（共通の回路ブロック）を抽出する。共通判定部１３Ｂは、図的共通判定部２５Ｂおよび論理的共通判定部２６Ｂが抽出した共通のロジック部分Ｈを検索結果記憶部１４に記憶させる。
【００６０】
なお、共通判定部１３Ｂは、ユーザからの指示に従って図的共通判定部２５Ｂおよび論理的共通判定部２６Ｂの何れか一方を用いて共通のロジック部分Ｈを抽出してもよい。この場合、ユーザは、図的共通判定部２５Ｂおよび論理的共通判定部２６Ｂの何れを用いるかを指定した指示を指示入力部１６へ入力する。共通判定部１３Ｂは、ユーザよる指定に基づいて、図的共通判定部２５Ｂおよび論理的共通判定部２６Ｂの何れか一方を用いる。
【００６１】
図的共通判定部２５Ｂが共通のロジック部分Ｈを検索する場合、容易に共通のロジック部分Ｈを検索することができる。また、論理的共通判定部２６Ｂが共通のロジック部分Ｈを検索する場合、共通のロジック部分Ｈを多数検索することができる。この場合、多くの共通回路パターンＧをプログラム部品で置き換えることができるので、効率良くシーケンスプログラムを編集することができる。
【００６２】
このように実施の形態２によれば、図的共通判定部２５Ｂが共通のロジック部分Ｈを検索するので、容易に共通のロジック部分Ｈを検索することができる。また、論理的共通判定部２６Ｂが共通のロジック部分Ｈを検索するので、共通のロジック部分Ｈを多数検索することができる。
【００６３】
実施の形態３．
つぎに、この発明の実施の形態３について説明する。実施の形態３では、抽出する共通回路パターンＧの大きさ（回路ブロック数）をユーザに指定された大きさとする。なお、本実施の形態に係るプログラム部品化処理は、プログラム部品作成装置１Ａが行ってもよいし、プログラム部品作成装置１Ｂが行ってもよい。プログラム部品作成装置１Ａおよびプログラム部品作成装置１Ｂによるプログラム部品化処理は、同様であるので、以下では、プログラム部品作成装置１Ａが本実施の形態に係るプログラム部品化処理を行う場合について説明する。
【００６４】
指示入力部１６へは、ユーザによって、抽出する共通回路パターンＧの大きさを指定する指示（ブロック数指定指示）を入力される。ブロック数指定指示は、共通のロジック部分Ｈを検索する単位（回路ブロック単位）である。ここでの回路ブロックは、電気回路が成立する最小のロジックの単位である。
【００６５】
プログラム部品作成装置１Ａは、ブロック数指定指示で指定された回路ブロック数を検索単位に設定して共通回路パターンＧを抽出する。例えば、ブロック数指定指示として、回路ブロック数Ｎｘ＝３が入力されると、プログラム部品作成装置１Ａは、連続する３つの回路ブロックが他の連続する３つの回路ブロックと共通している回路ブロックを抽出し、これらの回路ブロックから共通回路パターンＧを抽出する。
【００６６】
つぎに、実施の形態３に係るプログラム部品化処理の処理手順について説明する。なお、実施の形態１に係るプログラム部品化処理と同様の処理についてはその説明を省略する。
【００６７】
指示入力部１６へは、ユーザによって、抽出する共通回路パターンＧの大きさを指定するブロック数指定指示と、検索指示とが入力される。ブロック数指定指示および検索指示は、指示入力部１６から共通判定部１３Ａへ送られる。
【００６８】
共通判定部１３Ａは、ブロック数指定指示で指定された回路ブロック数を検索単位に設定して共通回路パターンＧを抽出する。具体的には、共通判定部１３Ａは、シーケンスプログラムから、ブロック数指定指示で指定された回路ブロック数の共通回路パターンＧを抽出する。このように、共通判定部１３Ａは、連続するＮｘ（Ｎｘは自然数）個の回路ブロックを対象として共通のロジック部分Ｈを検索する。
【００６９】
この後、実施の形態１，２と同様の処理手順によって、共通回路パターンＧがプログラム部品に変換され、シーケンスプログラムの中にある共通のロジック部分Ｈがプログラム部品で置き換えられる。
【００７０】
なお、本実施の形態では、抽出する共通回路パターンＧの大きさをユーザに指定された大きさとしたが、共通判定部１３Ａは、共通判定部１３Ａに初期設定されている大きさの共通回路パターンＧを抽出してもよい。
【００７１】
このように実施の形態３によれば、部品化候補となる共通回路パターンＧを絞り込むことができるので、部品化する作業を効率化できる。例えば、ブロック数指定指示として、回路ブロック数Ｎｘ＝３が入力されると、回路ブロック数Ｎｘ＝１，２の共通回路パターンＧは抽出されないので、部品化候補となる共通回路パターンＧの数を減らすことができる。
【００７２】
実施の形態４．
つぎに、図７および図８を用いてこの発明の実施の形態４について説明する。実施の形態４では、共通回路パターンＧの検索単位（回路ブロック数）の上限値をユーザに指定された大きさとし、かつ検索単位の回路ブロック数を増やしながら共通回路パターンＧを抽出する。
【００７３】
なお、本実施の形態に係るプログラム部品化処理は、プログラム部品作成装置１Ａが行ってもよいし、プログラム部品作成装置１Ｂが行ってもよい。プログラム部品作成装置１Ａおよびプログラム部品作成装置１Ｂによるプログラム部品化処理は、同様であるので、以下では、プログラム部品作成装置１Ａが本実施の形態に係るプログラム部品化処理を行う場合について説明する。
【００７４】
プログラム部品作成装置１Ａは、ブロック数指定指示で指定された回路ブロック数よりも少ない回路ブロック数を検索単位に設定して共通回路パターンＧを抽出する。例えば、ブロック数指定指示として、最大回路ブロック数Ｎｙ＝３が入力されると、プログラム部品作成装置１Ａは、回路ブロック数が１〜３個の回路ブロックに対して、共通回路パターンＧを抽出する。
【００７５】
つぎに、実施の形態４に係るプログラム部品化処理の処理手順について説明する。図７は、実施の形態４に係るプログラム部品化処理の処理手順を示すフローチャートである。なお、実施の形態１に係るプログラム部品化処理と同様の処理についてはその説明を省略する。
【００７６】
指示入力部１６へは、ユーザによって、抽出する共通回路パターンＧの大きさを指定するブロック数指定指示と、検索指示とが入力される。本実施の形態のブロック数指定指示は、検索単位の最大回路ブロック数Ｎｙ（Ｎｙは自然数）である。換言すると、検索単位の上限値が指示入力部１６に入力される（ステップＳ１１０）。
【００７７】
ブロック数指定指示（最大回路ブロック数Ｎｙ）および検索指示は、指示入力部１６から共通判定部１３Ａへ送られる。共通判定部１３Ａは、ブロック数指定指示で指定された最大回路ブロック数Ｎｙよりも回路ブロック数の少ない回路パターンを検索単位に設定して共通回路パターンＧを抽出する。
【００７８】
具体的には、共通判定部１３Ａは、共通回路パターンＧの検索単位ｎにｎ＝１を設定する（ステップＳ１２０）。そして、共通判定部１３Ａは、１つの回路ブロックが他の１つの回路ブロックと共通している回路ブロックを抽出し、抽出した回路ブロックから共通回路パターンＧを抽出する。
【００７９】
そして、実施の形態１，２と同様の処理手順によって、シーケンスプログラムの部品化処理が行われる（ステップＳ１３０）。ここでのステップＳ１３０の処理は、図３のステップＳ２０〜Ｓ８０に対応する処理である。すなわち、抽出された１つの回路ブロックからなる共通回路パターンＧがプログラム部品に変換され、シーケンスプログラムの中にある共通のロジック部分Ｈがプログラム部品で置き換えられる。
【００８０】
この後、共通判定部１３Ａは、共通回路パターンＧの検索単位ｎにｎ＝ｎ＋１を設定する（ステップＳ１４０）。そして、共通判定部１３Ａは、ｎ≦Ｎｙであるか否かを判定する（ステップＳ１５０）。
【００８１】
ｎ≦Ｎｙであれば（ステップＳ１５０、Ｙｅｓ）、共通判定部１３Ａは、共通回路パターンＧの抽出処理を繰り返す。具体的には、共通判定部１３Ａは、ステップＳ１３０〜Ｓ１５０の処理を繰り返す。ここでの共通判定部１３Ａは、連続した２つの回路ブロックが他の連続した２つの回路ブロックと共通している回路ブロックを抽出し、抽出した回路ブロックから共通回路パターンＧを抽出する。そして、実施の形態１，２と同様の処理手順によって、シーケンスプログラムの部品化処理が行われる（ステップＳ１３０）。
【００８２】
この後、共通判定部１３Ａは、共通回路パターンＧの検索単位ｎにｎ＝ｎ＋１を設定する（ステップＳ１４０）。そして、共通判定部１３Ａは、ｎ≦Ｎｙであるか否かを判定する（ステップＳ１５０）。このように、共通判定部１３Ａは、ｎ＝１〜Ｎｙまで順番に共通回路パターンＧの検索単位を変更しながら共通回路パターンＧの抽出処理を繰り返す。ｎ＞Ｎｙであれば（ステップＳ１５０、Ｎｏ）、共通判定部１３Ａは、共通回路パターンＧの抽出処理を終了する。
【００８３】
図８は、検索単位の回路ブロック数を増やしながら共通回路パターンを抽出する処理を説明するための図である。図８では、最大回路ブロック数Ｎｙ＝２が指定された場合の処理手順を示している。
【００８４】
図８のフェーズ（Ｄ）に示すように、ユーザによって、検索単位の最大回路ブロック数Ｎｙ＝２が指定されると、共通判定部１３Ａは、共通回路パターンＧの検索単位ｎにｎ＝１を設定する（ＳＴ１）。そして、共通判定部１３Ａは、１つの回路ブロック同士が共通している回路ブロックの組を抽出し、抽出した回路ブロックの組から共通回路パターンＧを抽出する。図８では、３つの回路パターンＡ１と２つの回路パターンＡ２が、共通回路パターンＧ３１として抽出された場合を示している。
【００８５】
図８のフェーズ（Ｅ）に示すように、プログラム部品登録部１７は、抽出された回路パターンＡ１をプログラム部品ＦＢ１に変換してプログラム部品格納部１８に登録する。また、プログラム部品登録部１７は、抽出された回路パターンＡ２をプログラム部品ＦＢ２に変換してプログラム部品格納部１８に登録する（ＳＴ２）。
【００８６】
そして、部品化処理部１９は、プログラム格納部１２のシーケンスプログラムの中の共通のロジック部分Ｈ（回路パターンＡ１）に対応する箇所を、プログラム部品格納部１８に登録されたプログラム部品ＦＢ１に置き換える。
【００８７】
同様に、部品化処理部１９は、プログラム格納部１２のシーケンスプログラムの中の共通のロジック部分Ｈ（回路パターンＡ２）に対応する箇所を、プログラム部品格納部１８に登録されたプログラム部品ＦＢ２に置き換える（ＳＴ３）。
【００８８】
この後、共通判定部１３Ａは、共通回路パターンＧの検索単位ｎにｎ＝２を設定する（ＳＴ４）。そして、共通判定部１３Ａは、２つの回路ブロック同士が共通している回路ブロックの組を抽出し、抽出した回路ブロックの組から共通回路パターンＧを抽出する。図８では、２つの回路パターンＡ３が、共通回路パターンＧ３３として抽出された場合を示している。回路パターンＡ３は、２つの連続した回路ブロックである。
【００８９】
図８のフェーズ（Ｆ）に示すように、プログラム部品登録部１７は、抽出された回路パターンＡ３をプログラム部品ＦＢ３に変換してプログラム部品格納部１８に登録する（ＳＴ５）。そして、部品化処理部１９は、プログラム格納部１２のシーケンスプログラムの中の共通のロジック部分Ｈ（回路パターンＡ３）に対応する箇所を、プログラム部品格納部１８に登録されたプログラム部品ＦＢ３に置き換える（ＳＴ６）。
【００９０】
このように実施の形態４によれば、検索単位の回路ブロック数を増やしながら共通回路パターンＧを抽出してプログラム部品化処理を繰り返すので、広い範囲のプログラム部品を作成することが可能となる。
【００９１】
実施の形態５．
つぎに、図９〜図１１を用いてこの発明の実施の形態５について説明する。実施の形態５では、共通回路パターンＧの検索単位（回路ブロック数）の上限値をユーザに指定された大きさとし、かつ検索単位の回路ブロック数を減らしながら共通回路パターンＧを抽出する。
【００９２】
なお、本実施の形態に係るプログラム部品化処理は、プログラム部品作成装置１Ａが行ってもよいし、プログラム部品作成装置１Ｂが行ってもよい。プログラム部品作成装置１Ａおよびプログラム部品作成装置１Ｂによるプログラム部品化処理は、同様であるので、以下では、プログラム部品作成装置１Ａが本実施の形態に係るプログラム部品化処理を行う場合について説明する。
【００９３】
プログラム部品作成装置１Ａは、ブロック数指定指示で指定された回路ブロック数よりも少ない回路ブロック数を検索単位に設定して共通回路パターンＧを抽出する。例えば、ブロック数指定指示として、最大回路ブロック数Ｎｙ＝３が入力されると、プログラム部品作成装置１Ａは、回路ブロック数が１〜３個の回路ブロックから共通回路パターンＧを抽出する。
【００９４】
つぎに、実施の形態５に係るプログラム部品化処理の処理手順について説明する。図９は、実施の形態５に係るプログラム部品化処理の処理手順を示すフローチャートである。なお、実施の形態１に係るプログラム部品化処理と同様の処理についてはその説明を省略する。
【００９５】
指示入力部１６へは、ユーザによって、抽出する共通回路パターンＧの大きさを指定するブロック数指定指示と、検索指示とが入力される。本実施の形態のブロック数指定指示は、検索単位の最大回路ブロック数Ｎｙである。換言すると、検索単位の上限値が指示入力部１６に入力される（ステップＳ２１０）。
【００９６】
ブロック数指定指示（最大回路ブロック数Ｎｙ）および検索指示は、指示入力部１６から共通判定部１３Ａへ送られる。共通判定部１３Ａは、ブロック数指定指示で指定された最大回路ブロック数Ｎｙよりも回路ブロック数の少ない回路パターンを検索単位に設定して共通回路パターンＧを抽出する。
【００９７】
具体的には、共通判定部１３Ａは、共通回路パターンＧの検索単位ｎにｎ＝Ｎｙを設定する（ステップＳ２２０）。そして、共通判定部１３Ａは、連続したＮｙ個の回路ブロックが他の連続したＮｙ個の回路ブロックと共通している場合に、これらの回路ブロックから共通回路パターンＧを抽出する。
【００９８】
そして、実施の形態１，２と同様の処理手順によって、シーケンスプログラムの部品化処理が行われる（ステップＳ２３０）。すなわち、抽出されたＮｙ個の回路ブロックからなる共通回路パターンＧがプログラム部品に変換され、シーケンスプログラムの中にある共通のロジック部分Ｈがプログラム部品で置き換えられる。
【００９９】
この後、共通判定部１３Ａは、共通回路パターンＧの検索単位ｎにｎ＝ｎ−１を設定する（ステップＳ２４０）。そして、共通判定部１３Ａは、ｎ≧１であるか否かを判定する（ステップＳ２５０）。
【０１００】
ｎ≧１であれば（ステップＳ２５０、Ｙｅｓ）、共通判定部１３Ａは、共通回路パターンＧの抽出処理を繰り返す。具体的には、共通判定部１３Ａは、ステップＳ２３０〜Ｓ２５０の処理を繰り返す。ここでの共通判定部１３Ａは、連続した（Ｎｙ−１）個の回路ブロックが他の連続した（Ｎｙ−１）個の回路ブロックと共通している場合に、これらの回路ブロックから共通回路パターンＧを抽出する。そして、実施の形態１，２と同様の処理手順によって、シーケンスプログラムの部品化処理が行われる（ステップＳ２３０）。
【０１０１】
この後、共通判定部１３Ａは、共通回路パターンＧの検索単位ｎにｎ＝ｎ−１を設定する（ステップＳ２４０）。そして、共通判定部１３Ａは、ｎ≧１であるか否かを判定する（ステップＳ２５０）。このように、共通判定部１３Ａは、ｎ＝Ｎｙ〜１まで順番に共通回路パターンＧの検索単位を変更しながら共通回路パターンＧの抽出処理を繰り返す。ｎ≧１であれば（ステップＳ２５０、Ｎｏ）、共通判定部１３Ａは、共通回路パターンＧの抽出処理を終了する。
【０１０２】
図１０は、検索単位の回路ブロック数を減らしながら共通回路パターンを抽出する処理を説明するための図である。図１０では、最大回路ブロック数Ｎｙ＝２が指定された場合の処理手順を示している。
【０１０３】
図１０のフェーズ（Ｇ）に示すように、ユーザによって、検索単位の最大回路ブロック数Ｎｙ＝２が指定されると、共通判定部１３Ａは、共通回路パターンＧの検索単位ｎにｎ＝２を設定する（ＳＴ１１）。そして、共通判定部１３Ａは、２つの回路ブロック同士が共通している回路ブロックの組を抽出し、抽出した回路ブロックの組から共通回路パターンＧを抽出する。図１０では、２つの回路パターンＡ１０が、共通回路パターンＧ４１として抽出された場合を示している。回路パターンＡ１０は、２つの連続した回路ブロックである。
【０１０４】
図１０のフェーズ（Ｈ）に示すように、プログラム部品登録部１７は、抽出された回路パターンＡ１０をプログラム部品ＦＢ１０に変換してプログラム部品格納部１８に登録する（ＳＴ１２）。そして、部品化処理部１９は、プログラム格納部１２のシーケンスプログラムの中の共通のロジック部分Ｈ（回路パターンＡ１０）に対応する箇所を、プログラム部品格納部１８に登録されたプログラム部品ＦＢ１０に置き換える（ＳＴ１３）。
【０１０５】
この後、共通判定部１３Ａは、共通回路パターンＧの検索単位ｎにｎ＝１を設定する（ＳＴ１４）。そして、共通判定部１３Ａは、１つの回路ブロック同士が共通している回路ブロックの組を抽出し、抽出した回路ブロックの組から共通回路パターンＧを抽出する。図１０では、２つの回路パターンＡ１１が、共通回路パターンＧ４３として抽出された場合を示している。
【０１０６】
図１０のフェーズ（Ｉ）に示すように、プログラム部品登録部１７は、抽出された回路パターンＡ１１をプログラム部品ＦＢ１１に変換してプログラム部品格納部１８に登録する（ＳＴ１５）。そして、部品化処理部１９は、プログラム格納部１２のシーケンスプログラムの中の共通のロジック部分Ｈ（回路パターンＡ１１）に対応する箇所を、プログラム部品格納部１８に登録されたプログラム部品ＦＢ１１に置き換える（ＳＴ１６）。
【０１０７】
図１１は、抽出される共通回路パターンの一例を示す図である。図１１では、最大回路ブロック数Ｎｙ＝３が指定された場合に抽出される共通回路パターンの一例を示している。指示入力部１６へは、ユーザによって、抽出する共通回路パターンＧの大きさを指定するブロック数指定指示（最大回路ブロック数Ｎｙ＝３）と、検索指示とが入力される。
【０１０８】
例えば、図１１のフェーズ（Ｊ）に示すように、３つの連続した回路ブロックで構成された回路パターン５１と３つの連続した回路ブロックで構成された回路パターン５２とが共通している場合、共通判定部１３Ａは、回路パターン５１，５２を抽出する。
【０１０９】
さらに、図１１のフェーズ（Ｋ）に示すように、共通判定部１３Ａは、回路パターン５１，５２に共通して現れるロジックのパターンを共通回路パターンＧとして抽出する。図１１では、回路パターン５１，５２に対応する共通回路パターンＧとして共通回路パターンＧ５０が抽出された場合を示している。検索結果表示処理部１５は、共通回路パターンＧ５０を表示装置５に表示させる。
【０１１０】
なお、プログラム部品作成装置１Ａは、最大回路ブロック数Ｎｙとともに最小回路ブロック数Ｎｚを設定してもよい。換言すると、共通回路パターンＧの検索単位（回路ブロック数）の下限値をユーザに指定させてもよい。最小回路ブロック数Ｎｚは、検索の閾値であり、検索される回路ブロックの最小値である。この場合、ユーザに指定された下限値以上かつ上限値以下の回路ブロック数を共通回路パターンＧの検索単位とする。
【０１１１】
具体的には、共通判定部１３Ａは、Ｎｚ〜Ｎｙ個の回路ブロックで構成された共通回路パターンＧを抽出する。この場合において、共通判定部１３Ａは、回路ブロック数を増やしながら部品化を繰り返してもよいし、回路ブロック数を減らしながら部品化を繰り返してもよい。
【０１１２】
例えば、最小回路ブロック数Ｎｚ＝３および最大回路ブロック数Ｎｙ＝６が指定された場合、共通判定部１３Ａは、３〜６個の回路ブロックで構成された共通回路パターンＧを抽出する。
【０１１３】
また、プログラム部品作成装置１Ａは、実施の形態１〜５で説明した方法によって共通回路パターンＧを抽出し、抽出した共通回路パターンＧの中で最小回路ブロック数Ｎｚよりも回路ブロック数の多い共通回路パターンＧのみを抽出して一覧表示してもよい。
【０１１４】
また、プログラム部品作成装置１Ａは、実施の形態１〜５で説明した方法によって共通回路パターンＧを抽出し、抽出した共通回路パターンＧの中で最大回路ブロック数Ｎｙよりも回路ブロック数の少ない共通回路パターンＧのみを抽出して一覧表示してもよい。
【０１１５】
また、プログラム部品作成装置１Ａは、最小回路ブロック数Ｎｚのみを設定してもよい。例えば、ブロック数指定指示として、最小回路ブロック数Ｎｚ＝３が入力されると、プログラム部品作成装置１Ａは、回路ブロック数が４個以上の回路ブロックを共通回路パターンＧとして抽出する。最小回路ブロック数Ｎｚは、検索の閾値であり、検索される回路ブロックの最小値である。
【０１１６】
また、この場合において、共通判定部１３Ａは、回路ブロック数を増やしながら部品化を繰り返してもよいし、回路ブロック数を減らしながら部品化を繰り返してもよい。例えば、シーケンスプログラムの回路ブロック数がＮａ（Ｎａは自然数）個であった場合、共通判定部１３Ａは、回路ブロック数をＮａ個から順番にＮｚ個まで減らしながら部品化を繰り返す。また、シーケンスプログラムの回路ブロック数がＮａ個であった場合、共通判定部１３Ａは、回路ブロック数をＮｚ個からＮａ個まで順番に増やしながら部品化を繰り返してもよい。
【０１１７】
このように実施の形態５によれば、検索単位の回路ブロック数を減らしながら共通回路パターンＧを抽出してプログラム部品化処理を繰り返すので、作成するプログラム部品の数を削減することができる。
【０１１８】
実施の形態６．
つぎに、この発明の実施の形態６について説明する。実施の形態６では、共通回路パターンＧのうち、共通のロジック部分Ｈの数がユーザに指定された数（閾値）よりも多い共通回路パターンＧをプログラム部品の候補として表示させる。換言すると、所定数よりも多くの共通のロジック部分Ｈが抽出された共通回路パターンＧのみを表示させる。
【０１１９】
なお、本実施の形態に係るプログラム部品化処理は、プログラム部品作成装置１Ａが行ってもよいし、プログラム部品作成装置１Ｂが行ってもよい。プログラム部品作成装置１Ａおよびプログラム部品作成装置１Ｂによるプログラム部品化処理は、同様であるので、以下では、プログラム部品作成装置１Ａが本実施の形態に係るプログラム部品化処理を行う場合について説明する。
【０１２０】
共通回路パターンＧ毎に共通のロジック部分Ｈの数（以下、共通数という）が異なる。本実施の形態の指示入力部１６へは、ユーザによって、共通数の下限値（表示の閾値）が入力される。共通数の下限値は、プログラム部品の候補として表示させる共通回路パターンＧが有しておくべき共通のロジック部分Ｈの数（下限値）である。
【０１２１】
共通数は、指示入力部１６から共通判定部１３Ａへ送られる。共通判定部１３Ａは、検索結果記憶部１４内の共通回路パターンＧの中から、共通数よりも多くの共通のロジック部分Ｈを有している共通回路パターンＧを抽出する。
【０１２２】
つぎに、プログラム部品作成装置１Ａ，１Ｂのハードウェア構成について説明する。なお、プログラム部品作成装置１Ａ，１Ｂは、同様のハードウェア構成を有しているので、ここではプログラム部品作成装置１Ａのハードウェア構成について説明する。
【０１２３】
図１２は、プログラム部品作成装置のハードウェア構成を示す図である。プログラム部品作成装置１Ａは、ＣＰＵ（Central  Processing  Unit）９１、ＲＯＭ（Read  Only  Memory）９２、ＲＡＭ（Random  Access  Memory）９３、入力部９５を有している。プログラム部品作成装置１Ａでは、これらのＣＰＵ９１、ＲＯＭ９２、ＲＡＭ９３、入力部９５がバスラインＢを介して接続されている。
【０１２４】
ＣＰＵ９１は、コンピュータプログラムである部品化処理プログラム（シーケンスプログラム部品作成プログラム）９０を用いてパターンの判定を行う。入力部９５は、マウスやキーボードを備えて構成され、使用者から外部入力される指示情報（プログラム部品化処理に必要なパラメータ等）を入力する。入力部９５へ入力された指示情報は、ＣＰＵ９１へ送られる。
【０１２５】
部品化処理プログラム９０は、ＲＯＭ９２内に格納されており、バスラインＢを介してＲＡＭ９３へロードされる。ＣＰＵ９１はＲＡＭ９３内にロードされた部品化処理プログラム９０を実行する。具体的には、プログラム部品作成装置１Ａでは、使用者による入力部９５からの指示入力に従って、ＣＰＵ９１がＲＯＭ９２内から部品化処理プログラム９０を読み出してＲＡＭ９３内のプログラム格納領域に展開して各種処理を実行する。ＣＰＵ９１は、この各種処理に際して生じる各種データをＲＡＭ９３内に形成されるデータ格納領域に一時的に記憶させておく。
【０１２６】
プログラム部品作成装置１Ａで実行される部品化処理プログラム９０は、共通判定部１３Ａと、検索結果記憶部１４と、検索結果表示処理部１５と、プログラム部品登録部１７と、プログラム部品格納部１８と、部品化処理部１９を含むモジュール構成となっており、これらが主記憶装置上にロードされ、これらが主記憶装置上に生成される。
【０１２７】
このように実施の形態６によれば、流用性の高い回路パターンに絞り込んでプログラム部品の候補（共通回路パターンＧを）を表示できるので、ユーザは部品化候補を容易に選択することが可能となる。
【産業上の利用可能性】
【０１２８】
以上のように、本発明に係るシーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置は、プログラム部品の作成に適している。
【符号の説明】
【０１２９】
１Ａ，１Ｂ  プログラム部品作成装置、２ａ〜４ａ  回路ブロック、１１  プログラム入力部、１２  プログラム格納部、１３Ａ，１３Ｂ  共通判定部、１４  検索結果記憶部、１５  検索結果表示処理部、１６  指示入力部、１７  プログラム部品登録部、１８  プログラム部品格納部、１９  部品化処理部、２０  出力部、２５Ｂ  図的共通判定部、２６Ｂ  論理的共通判定部、９０  部品化処理プログラム、１００Ａ，１００Ｂ  プログラム編集システム、Ｌ０〜Ｌ２，Ｐ，Ｑ  回路ブロック。
【図１】
0005769900.tif 000002
【図２】
0005769900.tif 000003
【図３】
0005769900.tif 000004
【図４】
0005769900.tif 000005
【図５】
0005769900.tif 000006
【図６】
0005769900.tif 000007
【図７】
0005769900.tif 000008
【図８】
0005769900.tif 000009
【図９】
0005769900.tif 000010
【図１０】
0005769900.tif 000011
【図１１】
0005769900.tif 000012
【図１２】
0005769900.tif 000013