(57)【特許請求の範囲】
【請求項１】
ラダー図プログラムの作成編集にかかる入力を受け付ける入力部と、
前記ラダー図プログラムに挿入するラダー回路のコマンド名を前記入力部が受け付けると、入力されたコマンド名のラダー回路に対応する部分回路を検索し抽出する部分回路検索部と、
前記部分回路検索部によって抽出された前記部分回路に対応する入力候補を出力する入力候補出力部と、
前記入力候補出力部が出力した前記入力候補の選択を受け付けると、前記入力部においてコマンド名が入力されたラダー回路を、選択された前記入力候補に置き換える置換処理部と、を備えたラダー図プログラム作成支援装置。
【請求項２】
前記部分回路検索部は、コマンド名が前記入力部において入力されたコマンド名と同じラダー回路を含む部分回路を抽出する、請求項１に記載のラダー図プログラム作成支援装置。
【請求項３】
前記部分回路検索部は、作成編集中の前記ラダー図プログラムにおいて、コマンド名が前記入力部において入力されたコマンド名と同じラダー回路であって、所定回数以上繰り返し出現しているラダー回路を検索し、検索されたラダー回路に応じた部分回路を抽出する、請求項１、または２に記載のラダー図プログラム作成支援装置。
【請求項４】
前記部分回路検索部によって抽出された前記部分回路の変数を設定する変数設定部を備え、
前記入力候補出力部は、前記変数設定部によって変数が設定された部分回路を入力候補として出力する、請求項１〜３のいずれかに記載のラダー図プログラム作成支援装置。
【請求項５】
前記変数設定部は、作成編集中の前記ラダー図プログラムにおいて、コマンド名が前記入力部において入力されたコマンド名と同じラダー回路であって、複数回繰り返し出現している前記ラダー回路の変数に応じて、前記部分回路検索部によって抽出された前記部分回路の変数を設定する、請求項４に記載のラダー図プログラム作成支援装置。
【請求項６】
ラダー図プログラムの作成編集にかかる入力を受け付ける入力部と、
前記ラダー図プログラムに挿入するラダー回路の変数名を前記入力部が受け付けると、入力された変数名のラダー回路に対応する部分回路を検索し抽出する部分回路検索部と、
前記部分回路検索部によって抽出された前記部分回路に対応する入力候補を出力する入力候補出力部と、
前記入力候補出力部が出力した前記入力候補の選択を受け付けると、前記入力部において変数名が入力されたラダー回路を、選択された前記入力候補に置き換える置換処理部と、を備えたラダー図プログラム作成支援装置。
【請求項７】
ラダー図プログラムの作成編集にかかる入力を受け付ける入力部が、ラダー図プログラムに挿入するラダー回路のコマンド名を受け付けると、入力されたコマンド名のラダー回路に対応する部分回路を検索し抽出する部分回路検索ステップと、
前記部分回路検索ステップによって抽出された前記部分回路に対応する入力候補を出力する入力候補出力ステップと、
前記入力候補出力ステップが出力した前記入力候補の選択を受け付けると、前記入力部においてコマンド名が入力されたラダー回路を、選択された前記入力候補に置き換える置換処理ステップと、をコンピュータが実行するラダー図プログラム作成支援方法。
【請求項８】
ラダー図プログラムの作成編集にかかる入力を受け付ける入力部が、ラダー図プログラムに挿入するラダー回路の変数名を受け付けると、入力された変数名のラダー回路に対応する部分回路を検索し抽出する部分回路検索ステップと、
前記部分回路検索ステップによって抽出された前記部分回路に対応する入力候補を出力する入力候補出力ステップと、
前記入力候補出力ステップが出力した前記入力候補の選択を受け付けると、前記入力部において変数名が入力されたラダー回路を、選択された前記入力候補に置き換える置換処理ステップと、をコンピュータが実行するラダー図プログラム作成支援方法。
【請求項９】
ラダー図プログラムの作成編集にかかる入力を受け付ける入力部が、ラダー図プログラムに挿入するラダー回路のコマンド名を受け付けると、入力されたコマンド名のラダー回路に対応する部分回路を検索し抽出する部分回路検索ステップと、
前記部分回路検索ステップによって抽出された前記部分回路に対応する入力候補を出力する入力候補出力ステップと、
前記入力候補出力ステップが出力した前記入力候補の選択を受け付けると、前記入力部においてコマンド名が入力されたラダー回路を、選択された前記入力候補に置き換える置換処理ステップと、をコンピュータに実行させるラダー図プログラム作成支援プログラム。
【請求項１０】
ラダー図プログラムの作成編集にかかる入力を受け付ける入力部が、ラダー図プログラムに挿入するラダー回路の変数名を受け付けると、入力された変数名のラダー回路に対応する部分回路を検索し抽出する部分回路検索ステップと、
前記部分回路検索ステップによって抽出された前記部分回路に対応する入力候補を出力する入力候補出力ステップと、
前記入力候補出力ステップが出力した前記入力候補の選択を受け付けると、前記入力部において変数名が入力されたラダー回路を、選択された前記入力候補に置き換える置換処理ステップと、をコンピュータに実行させるラダー図プログラム作成支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＰＬＣ（プログラマブルコントローラ）等で実行させるラダー図プログラムの作成編集を支援する技術に関する。
【背景技術】
【０００２】
従来、ＰＬＣ（プログラマブルコントローラ）で実行させるラダー図プログラムは、パーソナルコンピュータ等の汎用コンピュータで作成し、ＰＬＣにアップロードしているケースが多い。汎用コンピュータには、ラダー図プログラムを作成編集する作成編集機能、ラダー図プログラムをＰＬＣへアップロードするアップロード機能、ラダー図プログラムをＰＬＣからダウンロードするダウンロード機能等を実行させるためのプログラムがインストールされている。
【０００３】
また、ラダー図プログラムの作成を支援する装置として、例えば特許文献１に記載されたものがある。この特許文献１は、コマンド（命令）のオペランドとして記述する変数名の入力を容易にするものである。特に、複数の変数が、同じ文字列の末尾に付した数字や記号等で異ならせた変数名である場合に、変数名の入力を容易にするものである。
【０００４】
具体的には、特許文献１は、変数名を構成する文字列の１文字が入力されると、それまでに確定した文字列（確定文字列）および今回入力された１文字からなる文字列と前方一致するすべての変数名を変数テーブルから抽出する。この特許文献１は、抽出した変数名が単一であれば、その変数名をオペランドとして確定し、抽出した変数名が複数であれば、抽出したすべての変数名について互いに前方一致する部分の文字列を確定文字列にする。そして、特許文献１は、この確定文字列につづく１文字の入力を再度受け付け、上記の動作を繰り返す。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２３８２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１は、コマンドのオペランドとして記述する変数名の入力を容易にするものではあるが、同じラダー回路や、類似するラダー回路が繰り返し出現するラダー図プログラムの作成編集作業の効率を向上させるものではなかった。具体的に言うと、オペレータが作成編集しているラダー図プログラムにおいて、繰り返し出現する同じラダー回路や、類似するラダー回路の入力操作を簡単にするものではなかった。
【０００７】
ここで言うラダー回路とは、論理的な意味を持つ回路であり、ファンクションブロック（ＦＢ）や、接点等である。また、類似するラダー回路とは、論理的な意味は同じであるが、入力変数が異なる回路である。
【０００８】
なお、ラダー図プログラムの作成において、同じ部分回路や、類似する部分回路を繰り返し入力する操作は、オペレータにとって単調で煩雑な操作であり、入力ミスをまねきやすい。
【０００９】
この発明の目的は、同じラダー回路や、類似するラダー回路が繰り返し出現するラダー図プログラムの作成編集効率を向上させる技術を提供することにある。
【課題を解決するための手段】
【００１０】
この発明のラダー図プログラム作成支援装置は、上記目的を達するために以下のように構成している。
【００１１】
入力部が、ラダー図プログラムの作成編集にかかる入力を受け付ける。部分回路検索部は、ラダー図プログラムに挿入するラダー回路のコマンド名を入力部が受け付けると、入力されたコマンド名のラダー回路に対応する部分回路を検索し抽出する。例えば、部分回路検索部は、コマンド名が入力されたコマンド名と同じラダー回路を含む部分回路を抽出する。ここで言う部分回路は、論理的な意味を持つ単一のラダー回路であってもよいし、論理的な意味を持つ複数のラダー回路で構成されるものであってもよい。
【００１２】
入力候補出力部が、部分回路検索部によって抽出された部分回路に対応する入力候補を出力する。そして、置換処理部が、入力候補出力部が出力した入力候補の選択を受け付けると、入力部においてコマンド名が入力されたラダー回路を、選択された入力候補に置き換える。
【００１３】
このため、オペレータは、作成編集しているラダー図プログラムにおいて、繰り返し出現する同じラダー回路や、類似するラダー回路の入力操作を、ラダー回路のコマンド名を入力し、出力された入力候補を選択するという簡単な操作で行うことができる。したがって、同じラダー回路や、類似するラダー回路が繰り返し出現するラダー図プログラムの作成編集効率を向上させることができる。
【００１４】
また、部分回路検索部は、作成編集中のラダー図プログラムにおいて、コマンド名が入力部において入力されたコマンド名と同じラダー回路であって、所定回数以上繰り返し出現しているラダー回路を検索し、検索されたラダー回路に応じた部分回路を抽出する構成にするのが好ましい。このように構成すれば、出力する入力候補が、オペレータが入力するためにコマンド名を入力したラダー回路を含む部分回路である精度を高められる。
【００１５】
また、部分回路検索部によって抽出された部分回路の変数を設定する変数設定部を備え、入力候補出力部が、変数設定部によって変数が設定された部分回路を入力候補として出力する構成にしてもよい。この変数設定部は、例えば、作成編集中のラダー図プログラムにおいて、コマンド名が入力部において入力されたコマンド名と同じラダー回路であって、複数回繰り返し出現しているラダー回路の変数に応じて、部分回路検索部によって抽出された部分回路の変数を設定する構成にすればよい。
【００１６】
このように構成すれば、変数の設定にかかる手間も削減できるので、同じラダー回路や、類似するラダー回路が繰り返し出現するラダー図プログラムの作成編集効率を一層向上させることができる。
【００１７】
また、部分回路検索部を、ラダー図プログラムに挿入するラダー回路の変数名を入力部が受け付けると、入力された変数名のラダー回路に対応する部分回路を検索し抽出する、構成にしてもよい。入力候補出力部が部分回路検索部によって抽出された部分回路に対応する入力候補を出力する。そして、置換処理部が、この入力候補出力部が出力した入力候補の選択を受け付けると、変数名が入力されたラダー回路を、選択された入力候補に置き換える。この構成でも、同じラダー回路や、類似するラダー回路が繰り返し出現するラダー図プログラムの作成編集効率を向上させることができる。
【発明の効果】
【００１８】
この発明によれば、同じラダー回路や、類似するラダー回路が繰り返し出現するラダー図プログラムの作成編集効率を向上させることができる。
【図面の簡単な説明】
【００１９】
【図１】ラダー図プログラム作成支援装置の主要部の構成を示すブロック図である。
【図２】制御部の機能構成を示すブロック図である。
【図３】ラダー図プログラム作成支援装置の動作を示すフローチャートである。
【図４】図４（Ａ）は、ＦＢのコマンド名が入力される前の表示デバイスの画面表示を示し、図４（Ｂ）は、ＦＢのコマンド名が入力された後の表示デバイスの画面表示を示す図である。
【図５】入力候補が選択された後の表示デバイスの画面表示を示す図である。
【図６】ＦＢのコマンド名が入力される前の表示デバイスの画面表示を示す図である。
【図７】ＦＢのコマンド名が入力された後の表示デバイスの画面表示を示す図である。
【図８】入力候補が選択された後の表示デバイスの画面表示を示す図である。
【図９】図９（Ａ）は、ＦＢのコマンド名が入力される前の表示デバイスの画面表示を示し、図９（Ｂ）は、ＦＢのコマンド名が入力された後の表示デバイスの画面表示を示す図である。
【図１０】入力候補が選択された後の表示デバイスの画面表示を示す図である。
【図１１】図１１（Ａ）は、ＦＢのコマンド名が入力される前の表示デバイスの画面表示を示し、図１１（Ｂ）は、ＦＢのコマンド名が入力された後の表示デバイスの画面表示を示す図である。
【図１２】入力候補が選択された後の表示デバイスの画面表示を示す図である。
【図１３】別の例にかかるラダー図プログラム作成支援装置の動作を示すフローチャートである。
【図１４】図１４（Ａ）は、ラダー回路の回路要素の変数名が入力される前の表示デバイスの画面表示を示し、図１４（Ｂ）は、ラダー回路の回路要素の変数名が入力された後の表示デバイスの画面表示を示す図であり、図１４（Ｃ）は、入力候補が選択された後の表示デバイスの画面表示を示す図である。
【発明を実施するための形態】
【００２０】
以下、この発明の実施形態であるラダー図プログラム作成支援装置について説明する。
【００２１】
図１は、この例にかかるラダー図プログラム作成支援装置の主要部の構成を示すブロック図である。この例のラダー図プログラム作成支援装置１は、制御部２と、入力操作部３と、表示部４と、記憶部５と、入出力部６と、を備えている。このラダー図プログラム作成支援装置１は、ラダー図プログラムを作成編集する作成編集機能、ラダー図プログラムをＰＬＣへアップロードするアップロード機能、ラダー図プログラムをＰＬＣからダウンロードするダウンロード機能等を実行させるためのプログラムをインストールした汎用のコンピュータで実現できる。このコンピュータが、この発明にかかるラダー図プログラム作成支援方法を実行する。また、この発明にかかるラダー図プログラム作成支援プログラムは、このコンピュータにインストールされる。
【００２２】
制御部２は、ラダー図プログラム作成支援装置１本体各部の動作を制御する。
【００２３】
入力操作部３は、キーボードやマウス等の入力デバイスを有し、オペレータによる入力デバイスの操作に応じた入力を受け付ける。入力操作部３が、この発明で言う入力部に相当する。
【００２４】
表示部４は、表示器等の表示デバイスを有し、表示デバイスにおける画面表示を制御する。表示部４は、その時点で作成編集しているラダー図プログラムや、その時点におけるラダー図プログラム作成支援装置１本体の状態等を表示器に表示させる。表示部４が、この発明で言う入力候補出力部に相当する。
【００２５】
記憶部５は、ハードディスクやメモリ等の記憶媒体を有し、ラダー図プログラム作成支援装置１本体の動作に必要なプログラム、データ、ラダー図プログラム等を記憶する。
【００２６】
入出力部６は、図示していないＰＬＣ（プログラマブルコントローラ）との間で、ラダー図プログラムの入出力（ラダー図プログラムのアップロードや、ダウンロード）等を行う。
【００２７】
図２は、制御部の機能構成を示すブロック図である。制御部２は、部分回路検索部２１と、変数設定部２２と、置換処理部２３とを備えている。図２に示すラダー図プログラム２０は、その時点で作成編集処理しているプログラムであり、制御部２において展開されている。
【００２８】
部分回路検索部２１は、オペレータが入力操作部３を操作して、その時点で処理しているラダー図プログラム２０に対して入力されたラダー回路にかかるファンクションブロック（ＦＢ）のコマンド名に対応する部分回路を検索する。ここで言うラダー回路とは、論理的な意味を持つ回路であり、ＦＢだけでなく、接点等の回路要素も含んでいる。また、ここで言う部分回路は、論理的な意味を持つ単一のラダー回路であってもよいし、論理的な意味を持つ複数のラダー回路で構成されるものであってもよい。
【００２９】
部分回路検索部２１は、その時点で処理しているラダー図プログラム２０に対して部分回路の検索を行う（部分回路検索部２１は、記憶部５等に記憶している他のラダー図プログラムに対して部分回路の検索を行わない。）。部分回路検索部２１は、その時点で処理しているラダー図プログラム２０に対して、コマンド名が入力されたコマンド名と同じであるＦＢを検索し、このＦＢを含む部分回路を抽出する。この例では、部分回路検索部２１は、その時点で処理しているラダー図プログラム２０において、コマンド名が入力されたコマンド名と同じであり、且つこのラダー図プログラム２０において、すでに所定回数（この例では、２回、３回等の複数回）以上繰り返し出現しているＦＢを検索する。
【００３０】
変数設定部２２は、部分回路検索部２１が抽出した部分回路に変数を設定する。変数設定部２２は、部分回路検索部２１によって検索された複数の部分回路の変数に応じて、部分回路検索部２１が今回抽出した部分回路に変数を設定する。変数設定部２２は、例えば、部分回路検索部２１によって検索された複数の部分回路の変数が一定であれば、同じ値の変数を設定する。また、変数設定部２２は、部分回路検索部２１によって検索された複数の部分回路の変数が規則的に変化していれば、その規則に基づいて変数を推定し設定する。また、変数設定部２２は、変数が構造体であると、部分回路検索部２１によって検索された複数の部分回路の変数に基づいて推定した、型が合う変数に設定する。また、変数設定部２２は、変数が末尾等に数字等の記号を付した変数名であれば、部分回路検索部２１によって検索された複数の部分回路の変数に基づいて末尾の記号を推定し設定する。変数設定部２２によって変数が設定された部分回路が入力候補として出力される。具体的には、表示部４が、変数設定部２２によって変数が設定された部分回路を入力候補として表示デバイスに表示する。
【００３１】
置換処理部２３は、出力した入力候補が選択されると、その時点で処理しているラダー図プログラム２０に対して今回コマンド名が入力されたＦＢを、選択された入力候補（変数設定部２２が変数を設定した部分回路）に置き換える。
【００３２】
以下、この例にかかるラダー図プログラム作成支援装置１の動作について説明する。
【００３３】
図３は、この例にかかるラダー図プログラム作成支援装置１の動作を示すフローチャートである。ラダー図プログラム作成支援装置１は、その時点で作成編集しているラダー図プログラム２０を制御部２において展開している。オペレータは、入力操作部３において、ラダー図プログラム２０の作成編集にかかる入力操作を行う。
【００３４】
ラダー図プログラム作成支援装置１は、その時点で作成編集しているラダー図プログラム２０に挿入するラダー回路にかかるＦＢのコマンド名の入力を受け付けると（ｓ１）、部分回路検索部２１が部分回路を検索し抽出する（ｓ２）。部分回路検索部２１が部分回路を検索する検索範囲は、その時点で作成編集しているラダー図プログラム２０の１行目から、今回コマンド名が入力されたＦＢを追加する行までの範囲である。部分回路検索部２１は、ラダー図プログラム２０の検索範囲において、すでに所定回数（この例では、２回、３回等の複数回）以上繰り返し出現している、コマンド名が今回入力されたコマンド名と同じであるＦＢを検索する。部分回路検索部２１は、上記条件に合致するＦＢを検索できなければ、今回コマンド名の入力を受け付けたＦＢに対応する部分回路無し、と判定する。
【００３５】
また、部分回路検索部２１は、上記条件に合致するＦＢを検索できると、検索できたＦＢ間で、そのＦＢに接続されている他のラダー回路が共通していると、検索できたＦＢおよび共通している他のラダー回路からなる回路を部分回路として抽出する。言い換えれば、部分回路検索部２１は、上記条件に合致するＦＢを検索できると、検索できたＦＢ間で、そのＦＢに接続されている他のラダー回路が共通していなければ、検索できたＦＢを部分回路として抽出する。
【００３６】
ラダー図プログラム作成支援装置１は、ｓ２で部分回路が抽出できなければ、今回コマンド名が入力されたＦＢにかかる変数等の入力を受け付け（ｓ３、ｓ８）、ｓ１に戻る。
【００３７】
また、ラダー図プログラム作成支援装置１は、ｓ２で部分回路が抽出できると、変数設定部２２が抽出された部分回路に対する変数の設定を行う（ｓ３、ｓ４）。ｓ４では、ｓ２で検索したラダー回路、すなわちその時点で作成編集しているラダー図プログラム２０において、すでに出現しているコマンド名が同じであるＦＢを含む部分回路（ｓ２で抽出された部分回路）の変数に応じて、今回入力候補とする部分回路の変数を設定する。変数設定部２２は、例えば、部分回路検索部２１によって検索された複数の部分回路の変数が一定であれば、今回入力候補とする部分回路の変数を同じ値に設定する。また、変数設定部２２は、部分回路検索部２１によって検索された複数の部分回路の変数が規則的に変化していれば、今回入力候補とする部分回路の変数を、その規則に基づいて推定し設定する。また、変数設定部２２は、変数が構造体であると、今回入力候補とする部分回路の変数を、部分回路検索部２１によって検索された複数の部分回路の変数に基づいて推定した型が合う変数に設定する。また、変数設定部２２は、変数が末尾等に数字等の記号を付した変数名であれば、今回入力候補とする部分回路の変数を、部分回路検索部２１によって検索された複数の部分回路の変数に基づいて末尾の記号を推定し設定する。
【００３８】
したがって、ｓ２で抽出された部分回路の個数が多いほど、ｓ４における変数の設定精度が高くなる。
【００３９】
ラダー図プログラム作成支援装置１は、ｓ４で変数を設定した部分回路を入力候補として出力する（ｓ５）。表示部４が、入力候補を表示デバイスに表示する。オペレータは、表示デバイスに表示された入力候補が所望の部分回路であれば、入力操作部３において、この入力候補を選択する操作を行う。ラダー図プログラム作成支援装置１は、入力候補が選択されると、置換処理部２３が今回コマンド名が入力されたＦＢを、選択された入力候補である部分回路に置き換え（ｓ６、ｓ７）、ｓ１に戻る。
【００４０】
また、ラダー図プログラム作成支援装置１は、オペレータが、入力候補を選択せず、今回コマンド名が入力されたＦＢに対する変数等の入力にかかる操作を行うと、このオペレータの操作を受け付け（ｓ６、ｓ８）、ｓ１に戻る。ｓ８では、オペレータの入力操作に応じた変数の設定等を行う。
【００４１】
このように、この例にかかるラダー図プログラム作成支援装置１では、オペレータは、作成編集しているラダー図プログラムにおいて、繰り返し出現する同じラダー回路（ＦＢを含むラダー回路）や、類似するラダー回路（ＦＢを含むラダー回路）の入力操作を、ＦＢのコマンド名を入力し、出力された入力候補を選択するという簡単な操作で行える。したがって、同じラダー回路（ＦＢを含むラダー回路）や、類似するラダー回路（ＦＢを含むラダー回路）が繰り返し出現するラダー図プログラムの作成編集効率を向上させることができる。
【００４２】
また、変数を自動的に設定する構成にしているので、同じ部分回路（ＦＢを含むラダー回路）が繰り返し出現するラダー図プログラムの作成効率を一層向上させることができる。
【００４３】
以下、図３に示した処理を、ラダー図プログラム２０の作成編集過程を例示しながら、より具体的に説明する。
【００４４】
図４（Ａ）は、ＦＢのコマンド名が入力される前の表示デバイスの画面表示を示し、図４（Ｂ）は、ＦＢのコマンド名が入力された後の表示デバイスの画面表示を示し、図５は、入力候補が選択された後の表示デバイスの画面表示を示す図である。
【００４５】
図４（Ａ）に示すように、この例のラダー図プログラムは、コマンド名がＭＯＶＥであるＦＢが、すでに２つ出現している。オペレータが、図４（Ｂ）に示すように、ラダー図プログラムに挿入するＦＢのコマンド名（ＭＯＶＥ）を入力すると、入力候補である部分回路が表示デバイスに表示される。また、入力候補である部分回路の入力変数は、すでに出現しているコマンド名がＭＯＶＥである２つのＦＢの入力変数が、０、１であることから、２と推定されている。また、入力候補である部分回路の出力変数は、すでに出現しているコマンド名がＭＯＶＥである２つのＦＢの出力変数が、ともにｘであることから、ｘと推定されている。
【００４６】
なお、図４（Ａ）、（Ｂ）、および図５に示すＹは、コイルである。
【００４７】
そして、オペレータが、表示デバイスに表示されている入力候補を選択する入力操作を行うと、図５に示すように、コマンド名が入力されたＦＢが、選択された入力候補である部分回路に置換される。
【００４８】
図６は、ＦＢのコマンド名が入力される前の表示デバイスの画面表示を示し、図７は、ＦＢのコマンド名が入力された後の表示デバイスの画面表示を示し、図８は、入力候補が選択された後の表示デバイスの画面表示を示す図である。
【００４９】
図６に示すように、この例のラダー図プログラムは、コマンド名がＴｉｍｅｒであるＦＢが、すでに２つ出現している。オペレータが、図７に示すように、ラダー図プログラムに挿入するＦＢのコマンド名（Ｔｉｍｅｒ）を入力すると、入力候補である部分回路が表示デバイスに表示される。また、入力候補である部分回路の入力変数は、すでに出現しているコマンド名がＴｉｍｅｒである２つのＦＢの入力変数が、［Ｘ０，Ｔ０］、［Ｘ１，Ｔ１］であることから、［Ｘ２，Ｔ２］と推定されている。また、入力候補である部分回路の出力変数は、すでに出現しているコマンド名がＴｉｍｅｒである２つのＦＢの出力変数が、［Ｙ０，Ｔ０］、［Ｙ１，Ｔ１］であることから、［Ｙ２，Ｔ２］と推定されている。
【００５０】
そして、オペレータが、表示デバイスに表示されている入力候補を選択する入力操作を行うと、図８に示すように、コマンド名が入力されたラダー回路が、選択された入力候補である部分回路に置換される。
【００５１】
なお、図６、図７、および図８に示すＡ１、Ａ２は、コイルである。
【００５２】
図９（Ａ）は、ＦＢのコマンド名が入力される前の表示デバイスの画面表示を示し、図９（Ｂ）は、ＦＢのコマンド名が入力された後の表示デバイスの画面表示を示し、図１０は、入力候補が選択された後の表示デバイスの画面表示を示す図である。
【００５３】
図９（Ａ）に示すように、この例のラダー図プログラムは、コマンド名がＡＤＤであるＦＢが、すでに２つ出現している。オペレータが、図９（Ｂ）に示すように、ラダー図プログラムに挿入するＦＢのコマンド名（ＡＤＤ）を入力すると、入力候補である部分回路が表示デバイスに表示される。また、入力候補である部分回路の入力変数は、すでに出現しているコマンド名がＡＤＤである２つのＦＢの入力変数が、［Ｄ１，ｓ］、［Ｄ２，ｓ］であることから、［Ｄ３，ｓ］と推定されている。また、入力候補である部分回路の出力変数は、すでに出現しているコマンド名がＡＤＤである２つのＦＢの出力変数が、［Ｄ１］、［Ｄ２］であることから、［Ｄ３］と推定されている。
【００５４】
そして、オペレータが、表示デバイスに表示されている入力候補を選択する入力操作を行うと、図１０に示すように、コマンド名が入力されたＦＢが、選択された入力候補である部分回路に置換される。
【００５５】
図１１（Ａ）は、ラダー回路のコマンド名が入力される前の表示デバイスの画面表示を示し、図１１（Ｂ）は、ラダー回路のコマンド名が入力された後の表示デバイスの画面表示を示し、図１２は、入力候補が選択された後の表示デバイスの画面表示を示す図である。
【００５６】
図１１（Ａ）に示すように、この例のラダー図プログラムは、コマンド名がＥＱであるラダー回路が、すでに２つ出現している。オペレータが、図１１（Ｂ）に示すように、ラダー図プログラムに挿入するラダー回路のコマンド名（ＥＱ）を入力すると、入力候補である部分回路が表示デバイスに表示される。この例では、３つの接点ａ、ｂ、ｃを互いに並列に接続した接点回路、および、この接点回路に接続したコイルが共通する回路である。したがって、この例では、３つの接点ａ、ｂ、ｃを互いに並列に接続した接点回路、および、この接点回路に接続したコイルを含む部分回路が入力候補として出力される。
【００５７】
また、入力候補である部分回路の入力変数は、すでに出現しているコマンド名がＥＱである２つのラダー回路の入力変数が、［Ｘ，Ｙ１］、［Ｘ，Ｙ２］であることから、［Ｘ，Ｙ３］と推定されている。また、３つの接点ａ、ｂ、ｃを互いに並列に接続した接点回路に接続されているコイルがＡ１、Ａ２であることから、入力候補である部分回路のコイルはＡ３と推定されている。
【００５８】
そして、オペレータが、表示デバイスに表示されている入力候補を選択する入力操作を行うと、図１２に示すように、コマンド名が入力されたラダー回路が、選択された入力候補である部分回路に置換される。
【００５９】
なお、上記の例では、入力候補として出力する部分回路を１つとしたが、入力候補として出力する部分回路の個数は２つ以上であってもよい。
【００６０】
また、別の例について説明する。上記の例は、ＦＢのコマンド名が入力されたときに、その時点で作成編集しているラダー図プログラム２０の１行目から、今回コマンド名が入力されたＦＢを追加する行までの範囲を検索し、すでに所定回数以上繰り返し出現している、コマンド名が今回入力されたコマンド名と同じであるＦＢを検索し、部分回路を抽出する構成である。この別の例では、ラダー回路の回路要素である接点、コイル等の変数名が入力されたときに、その時点で作成編集しているラダー図プログラム２０の１行目から、今回変数名が入力された回路要素を追加する行までの範囲を検索し、すでに所定回数以上繰り返し出現している、変数名が今回入力された変数名と同じである回路要素を検索し、部分回路を抽出する構成である。この例にかかるラダー図プログラム作成支援装置１は、変数設定部２２を備えていない点で、上記の例と異なる（その他の構成については、上記の例と同じである。）。
【００６１】
図１３は、この例にかかるラダー図プログラム作成支援装置の動作を示すフローチャートである。ラダー図プログラム作成支援装置１は、その時点で作成編集しているラダー図プログラム２０に挿入するラダー回路にかかる回路要素の変数名の入力を受け付けると（ｓ１１）、部分回路検索部２１が部分回路を検索し抽出する（ｓ１２）。部分回路検索部２１が部分回路を検索する検索範囲は、上記の例と同様に、その時点で作成編集しているラダー図プログラム２０の１行目から、今回変数名が入力された回路要素を追加する行までの範囲である。部分回路検索部２１は、ラダー図プログラム２０の検索範囲において、すでに所定回数（この例では、２回、３回等の複数回）以上繰り返し出現している、変数名が今回入力された変数名と同じである回路要素を検索する。部分回路検索部２１は、上記条件に合致する回路要素を検索できなければ、今回変数名の入力を受け付けた回路要素に対応する部分回路無し、と判定する。
【００６２】
また、部分回路検索部２１は、上記条件に合致する回路要素を検索できると、検索できた回路要素間で、その回路要素に接続されている他のラダー回路が共通していると、検索できた回路要素および共通している他のラダー回路からなる回路を部分回路として抽出する。この例にかかる部分回路検索部２１は、上記条件に合致する回路要素を検索できても、検索できた回路要素間で、その回路要素に接続されている他のラダー回路が共通していなければ、今回変数名の入力を受け付けた回路要素に対応する部分回路無し、と判定する。
【００６３】
ラダー図プログラム作成支援装置１は、部分回路が抽出できなければ（部分回路無しと判定した場合、）、今回変数名が入力された回路要素に接続されるラダー回路等の入力を受け付け（ｓ１３、ｓ１７）、ｓ１１に戻る。
【００６４】
また、ラダー図プログラム作成支援装置１は、部分回路が抽出できると、抽出した部分回路を入力候補として出力する（ｓ１３、ｓ１４）。表示部４が、入力候補を表示デバイスに表示する。オペレータは、表示デバイスに表示された入力候補が所望の部分回路であれば、入力操作部３において、この入力候補を選択する操作を行う。ラダー図プログラム作成支援装置１は、入力候補が選択されると、置換処理部２３が今回変数名が入力された回路要素を、選択された入力候補である部分回路に置き換え（ｓ１５、ｓ１６）、ｓ１１に戻る。
【００６５】
また、ラダー図プログラム作成支援装置１は、オペレータが、入力候補を選択せず、今回変数名が入力された回路要素に接続されるラダー回路等の入力にかかる操作を行うと、このオペレータの操作を受け付け（ｓ１５、ｓ１７）、ｓ１１に戻る。ｓ１７では、オペレータの入力操作に応じたラダー回路等を、今回変数名が入力された回路要素に接続する。
【００６６】
このように、この例にかかるラダー図プログラム作成支援装置１では、オペレータは、作成編集しているラダー図プログラムにおいて、複数の回路要素によって構成されるラダー回路（ＦＢを含まないラダー回路）が部分回路として繰り返し出現する場合、その部分回路にかかる入力操作を、当該部分回路に属する１つの回路要素について変数名を入力し、出力された入力候補（部分回路）を選択するという簡単な操作で行える。したがって、複数の回路要素によって構成される部分回路が繰り返し出現するラダー図プログラムの作成編集効率を向上させることができる。
【００６７】
図１４（Ａ）は、ラダー回路の回路要素の変数名が入力される前の表示デバイスの画面表示を示し、図１４（Ｂ）は、ラダー回路の回路要素の変数名が入力された後の表示デバイスの画面表示を示す図であり、図１４（Ｃ）は、入力候補が選択された後の表示デバイスの画面表示を示す図である。
【００６８】
図１４（Ａ）に示すように、この例のラダー図プログラムは、２つの接点ａ、ｂを互いに並列に接続したラダー回路が、すでに２つ出現している。オペレータが、図１４（Ｂ）に示すように、ラダー図プログラムに挿入するラダー回路の接点ａを入力すると、入力候補である部分回路が表示デバイスに表示される。この例では、２つの接点ａ、ｂを並列に接続した部分回路が入力候補として出力される。
【００６９】
そして、オペレータが、表示デバイスに表示されている入力候補を選択する入力操作を行うと、図１４（Ｃ）に示すように、コマンド名が入力されたラダー回路が、選択された入力候補である部分回路に置換される。
【００７０】
なお、この例でも、入力候補として出力する部分回路の個数は１つに限らず、２つ以上であってもよい。
【符号の説明】
【００７１】
１…ラダー図プログラム作成支援装置
２…制御部
３…入力操作部
４…表示部
５…記憶部
６…入出力部
２０…ラダー図プログラム
２１…部分回路検索部
２２…変数設定部
２３…置換処理部
【図１】
0006988597.tif 000002
【図２】
0006988597.tif 000003
【図３】
0006988597.tif 000004
【図４】
0006988597.tif 000005
【図５】
0006988597.tif 000006
【図６】
0006988597.tif 000007
【図７】
0006988597.tif 000008
【図８】
0006988597.tif 000009
【図９】
0006988597.tif 000010
【図１０】
0006988597.tif 000011
【図１１】
0006988597.tif 000012
【図１２】
0006988597.tif 000013
【図１３】
0006988597.tif 000014
【図１４】
0006988597.tif 000015