(57)【特許請求の範囲】
【請求項１】
複数のプログラム要素を含むラダーチャートを表示するラダーチャート表示部と、
前記ラダーチャートに含まれる一のプログラム要素を特定し、該一のプログラム要素に含まれる変数を指定する変数指定部と、
前記ラダーチャート中において前記変数指定部が指定した変数が存在するプログラム要素を検索するプログラム要素検索部と、
前記プログラム要素検索部により検索されたプログラム要素の一覧を、検索結果として表示する検索結果表示部と、
少なくとも前記プログラム要素検索部による検索履歴を記憶する検索結果記憶部と、
前記検索履歴に基いて、次に前記検索結果表示部に表示させる検索結果を選択することが可能な検索結果選択部と、
前記検索履歴に含まれる検索の一覧を表示する検索履歴表示部を有し、
前記検索結果選択部は、前記リスト表示された検索から１の検索を選択することで、前記検索結果を選択可能であり、
前記検索結果表示部による前記検索結果の表示と、前記検索履歴表示部による検索の一覧の表示は同時になされる、
ラダープログラム作成装置。
【請求項２】
前記検索履歴表示部は、前記検索結果表示部により表示されている検索結果より前に検索された検索と、該表示されている検索結果よりも後に検索された検索とを含む検索履歴を表示するように構成される請求項１に記載のラダープログラム作成装置。
【請求項３】
前記検索履歴表示部は、一覧表示させている検索のうち、該検索により得られる検索結果に含まれるプログラム要素の全てが前記ラダーチャート表示部に表示された検索を、他の検索と区別して表示する
請求項１又は２に記載のラダープログラム作成装置。
【請求項４】
前記検索結果表示部は、前記変数指定部により特定されたプログラム要素を、前記検索結果に含まれる他のプログラム要素と区別して表示する請求項１〜３のいずれか１項に記載のラダープログラム作成装置。
【請求項５】
前記ラダーチャート表示部は、前記検索結果表示部が検索結果を表示する際に、前記変数指定部により特定されたプログラム要素を、前記検索結果に含まれる他のプログラム要素と区別して表示する請求項１〜４のいずれか１項に記載のラダープログラム作成装置。
【請求項６】
前記検索結果表示部に表示された検索結果に含まれる一のプログラム要素を選択し、前記ラダーチャート表示部に少なくとも当該一のプログラム要素を表示させるプログラム要素選択部を有する請求項１〜５のいずれか１項に記載のラダープログラム作成装置。
【請求項７】
前記検索結果選択部は、前記検索履歴に基いて前記ラダーチャート表示部及び前記検索結果表示部の少なくともいずれかによる表示を進め又は戻す選択をする表示進退選択部を有する請求項１〜６のいずれか１項に記載のラダープログラム作成装置。
【請求項８】
前記表示進退選択部は、前記検索結果を進め又は戻すことができる場合には前記ラダーチャート表示部及び前記検索結果表示部による表示を進め又は戻し、前記検索結果を進め又は戻すことができない場合には前記ラダーチャート表示部による表示を進め又は戻す請求項７に記載のラダープログラム作成装置。
【請求項９】
前記表示進退選択部は、前記ラダーチャート表示部及び前記検索結果表示部による表示を交互に進め又は戻す請求項７に記載のラダープログラム作成装置。
【請求項１０】
前記検索結果に含まれるプログラム要素ごとに前記プログラム要素選択部による選択の有無である選択結果を記憶する選択結果記憶部と、
前記検索結果に含まれるプログラム要素に対応づけて前記選択結果を表示する選択履歴表示部と、
前記選択結果を選択無しに変更する選択結果変更部を有する
請求項１〜９のいずれか１項に記載のラダープログラム作成装置。
【請求項１１】
前記選択結果変更部は、さらに、前記選択結果を選択有りに変更可能である
請求項１０に記載のラダープログラム作成装置。
【請求項１２】
前記検索履歴表示部は、前記プログラム要素検索部による検索履歴に含まれる検索をパンくずリストとして表示する、
請求項１〜１１のいずれか１項に記載のラダープログラム作成装置。
【請求項１３】
前記プログラム要素検索部は、前記ラダーチャートに含まれる検索対象となる変数に書き込むプログラム要素のみを検索可能である請求項１〜１２のいずれか１項に記載のラダープログラム作成装置。
【請求項１４】
前記検索履歴表示部は、前記検索結果選択部により選択された検索を強調表示する請求項１〜１３のいずれか１項に記載のラダープログラム作成装置。
【請求項１５】
コンピュータを、
複数のプログラム要素を含むラダーチャートを表示するラダーチャート表示部と、
前記ラダーチャートに含まれる一のプログラム要素を特定し、該一のプログラム要素に含まれる変数を指定する変数指定部と、
前記ラダーチャート中において前記変数指定部が指定した変数が存在するプログラム要素を検索するプログラム要素検索部と、
前記プログラム要素検索部により検索されたプログラム要素の一覧を、検索結果として表示する検索結果表示部と、
少なくとも前記プログラム要素検索部による検索履歴を記憶する検索結果記憶部と、
前記検索履歴に基いて、次に前記検索結果表示部に表示させる検索結果を選択することが可能な検索結果選択部と、
前記検索履歴に含まれる検索の一覧を表示する検索履歴表示部を有し、
前記検索結果選択部は、前記リスト表示された検索から１の検索を選択することで、前記検索結果を選択可能であり、
前記検索結果表示部による前記検索結果の表示と、前記検索履歴表示部による検索の一覧の表示は同時になされるラダープログラム作成装置として機能させるコンピュータプログラム。
【請求項１６】
請求項１５に記載のコンピュータプログラムを記録したコンピュータ可読情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラダープログラム作成装置、コンピュータプログラム及びコンピュータ可読情報記録媒体に関する。
【背景技術】
【０００２】
特許文献１には、ユーザプログラムの開発支援装置において、ラダー表示部に表示されたラダープログラム中の選択された構成要素（命令）に対応してクロスリファレンス情報表示部に表示する情報を都度生成し表示するとともに、クロスリファレンス情報表示部の上部にブックマークボタンと、後退ボタンと、前進ボタンを用意し、後退ボタンを選択実行する都度、現在表示されているクロスリファレンス情報の１つ前に表示（格納）されたクロスリファレンス情報を呼び出して表示し、前進ボタンをクリックすることにより、現在表示されているクロスリファレンス情報の次に表示（格納）されたクロスリファレンス情報を呼び出して表示することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１４６９５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の解決しようとする課題は、ラダープログラムの作成において、デバッグ作業を容易として、ラダープログラムの作成効率を高めることである。
【課題を解決するための手段】
【０００５】
本発明の一側面に係るラダーチャートプログラム作成装置は、複数のプログラム要素を含むラダーチャートを表示するラダーチャート表示部と、前記ラダーチャートに含まれる一のプログラム要素を特定し、該一のプログラム要素に含まれる変数を指定する変数指定部と、前記ラダーチャート中において前記変数指定部が指定した変数が存在するプログラム要素を検索するプログラム要素検索部と、前記プログラム要素検索部により検索されたプログラム要素の一覧を、検索結果として表示する検索結果表示部と、少なくとも前記プログラム要素検索部による検索履歴を記憶する検索結果記憶部と、前記検索履歴に基いて、次に前記検索結果表示部に表示させる検索結果を選択することが可能な検索結果選択部と、前記検索履歴に含まれる検索の一覧を表示する検索履歴表示部を有し、前記検索結果選択部は、前記リスト表示された検索から１の検索を選択することで、前記検索結果を選択可能であり、前記検索結果表示部による前記検索結果の表示と、前記検索履歴表示部による検索の一覧の表示は同時になされる。
【０００６】
また、本発明の一側面に係るラダーチャートプログラム作成装置では、前記検索履歴表示部は、前記検索結果表示部により表示されている検索結果より前に検索された検索と、該表示されている検索結果よりも後に検索された検索とを含む検索履歴を表示するように構成されてよい。
【０００７】
また、本発明の一側面に係るラダーチャートプログラム作成装置では、前記検索履歴表示部は、一覧表示させている検索のうち、該検索により得られる検索結果に含まれるプログラム要素の全てが前記ラダーチャート表示部に表示された検索を、他の検索と区別して表示してよい。
【０００８】
また、本発明の一側面に係るラダーチャートプログラム作成装置では、前記検索結果表示部は、前記変数指定部により特定されたプログラム要素を、前記検索結果に含まれる他のプログラム要素と区別して表示してよい。
【０００９】
また、本発明の一側面に係るラダーチャートプログラム作成装置では、前記ラダーチャート表示部は、前記検索結果表示部が検索結果を表示する際に、前記変数指定部により特定されたプログラム要素を、前記検索結果に含まれる他のプログラム要素と区別して表示してよい。
【００１０】
また、本発明の一側面に係るラダーチャートプログラム作成装置は、前記検索結果表示部に表示された検索結果に含まれる一のプログラム要素を選択し、前記ラダーチャート表示部に少なくとも当該一のプログラム要素を表示させるプログラム要素選択部を有してよい。
【００１１】
また、本発明の一側面に係るラダーチャートプログラム作成装置では、前記検索結果選択部は、前記検索履歴に基いて前記ラダーチャート表示部及び前記検索結果表示部の少なくともいずれかによる表示を進め又は戻す選択をする表示進退選択部を有してよい。
【００１２】
また、本発明の一側面に係るラダーチャートプログラム作成装置では、前記表示進退選択部は、前記検索結果を進め又は戻すことができる場合には前記ラダーチャート表示部及び前記検索結果表示部による表示を進め又は戻し、前記検索結果を進め又は戻すことができない場合には前記ラダーチャート表示部による表示を進め又は戻してよい。
【００１３】
また、本発明の一側面に係るラダーチャートプログラム作成装置では、前記表示進退選択部は、前記ラダーチャート表示部及び前記検索結果表示部による表示を交互に進め又は戻してよい。
【００１４】
また、本発明の一側面に係るラダーチャートプログラム作成装置は、前記検索結果に含まれるプログラム要素ごとに前記プログラム要素選択部による選択の有無である選択結果を記憶する選択結果記憶部と、前記検索結果に含まれるプログラム要素に対応づけて前記選択結果を表示する選択履歴表示部と、前記選択結果を選択無しに変更する選択結果変更部を有してよい。
【００１５】
また、本発明の一側面に係るラダーチャートプログラム作成装置では、前記選択結果変更部は、さらに、前記選択結果を選択有りに変更可能であってよい。
【００１６】
また、本発明の一側面に係るラダーチャートプログラム作成装置では、前記検索履歴表示部は、前記プログラム要素検索部による検索履歴に含まれる検索をパンくずリストとして表示してよい。
【００１７】
また、本発明の一側面に係るラダーチャートプログラム作成装置では、前記プログラム要素検索部は、前記ラダーチャートに含まれる検索対象となる変数に書き込むプログラム要素のみを検索可能であってよい。
【００１８】
また、本発明の一側面に係るラダーチャートプログラム作成装置では、前記検索履歴表示部は、前記検索結果選択部により選択された検索を強調表示してよい。
【００１９】
本発明の一側面に係るコンピュータプログラムは、コンピュータを、複数のプログラム要素を含むラダーチャートを表示するラダーチャート表示部と、前記ラダーチャートに含まれる一のプログラム要素を特定し、該一のプログラム要素に含まれる変数を指定する変数指定部と、前記ラダーチャート中において前記変数指定部が指定した変数が存在するプログラム要素を検索するプログラム要素検索部と、前記プログラム要素検索部により検索されたプログラム要素の一覧を、検索結果として表示する検索結果表示部と、少なくとも前記プログラム要素検索部による検索履歴を記憶する検索結果記憶部と、前記検索履歴に基いて、次に前記検索結果表示部に表示させる検索結果を選択することが可能な検索結果選択部と、前記検索履歴に含まれる検索の一覧を表示する検索履歴表示部を有し、前記検索結果選択部は、前記リスト表示された検索から１の検索を選択することで、前記検索結果を選択可能であり、前記検索結果表示部による前記検索結果の表示と、前記検索履歴表示部による検索の一覧の表示は同時になされるラダープログラム作成装置として機能させる。
【００２０】
また、本発明の一側面に係るコンピュータ可読情報記録媒体は、上記コンピュータプログラムを記録したものである。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係るラダープログラム作成装置の物理的な構成例を示すブロック図である。
【図２】本発明の実施形態に係るラダープログラム作成装置の機能的な構成例を示す機能ブロック図である。
【図３】ラダープログラム作成装置のモニタ上に表示される表示画面の一例を示す図である。
【図４】ラダープログラム作成装置のモニタ上に表示される表示画面の一例を示す図である。
【図５】ラダープログラム作成装置のモニタ上に表示される表示画面の一例を示す図である。
【図６】ラダープログラム作成装置のモニタ上に表示される表示画面の一例を示す図である。
【図７】ラダープログラム作成装置のモニタ上に表示される表示画面の一例を示す図である。
【図８】ラダープログラム作成装置のモニタ上に表示される表示画面の一例を示す図である。
【図９】ラダープログラム作成装置のモニタ上に表示される表示画面の一例を示す図である。
【図１０】ラダープログラム作成装置のモニタ上に表示される表示画面の一例を示す図である。
【図１１】図３〜図９に示した表示画面において、ラダーチャート表示領域と検索結果表示領域の変遷を示す図である。
【図１２】図３〜図９に示した表示画面において、ラダーチャート表示領域と検索結果表示領域の変遷を示す図である。
【図１３】図３〜図９に示した表示画面において、ラダーチャート表示領域と検索結果表示領域の変遷を示す図である。
【図１４】検索結果選択部による動作のフロー図である。
【発明を実施するための形態】
【００２２】
図１は本発明の実施形態に係るラダープログラム作成装置１の物理的な構成例を示すブロックである。ラダープログラム作成装置１としては一般的なコンピュータを用いてよく、本実施形態においても、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１ａ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１ｂ、外部記憶装置１ｃ、ＧＣ（Ｇｒａｐｈｉｃｓ  Ｃｏｎｔｒｏｌｌｅｒ）１ｄ、入力デバイス１ｅ及びＩ／Ｏ（Ｉｎｐｕｒ／Ｏｕｔｐｕｔ）１ｆがデータバス１ｇにより相互に電気信号のやり取りができるよう接続されている一般的なコンピュータを用いている。ここで、外部記憶装置１ｃはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の静的に情報を記録できる装置である。またＧＣ１ｄからの信号はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）やいわゆるフラットパネルディスプレイ等の、使用者が視覚的に画像を認識するモニタ１ｈに出力され、画像として表示される。入力デバイス１ｅはキーボードやマウス、タッチパネル等の、ユーザが情報を入力するための機器であり、Ｉ／Ｏ１ｆはラダープログラム作成装置１が外部の機器と情報をやり取りするためのインタフェースである。コンピュータをラダープログラム作成装置１として機能させるためのアプリケーションプログラムは外部記憶装置５ｃにインストールされ、必要に応じてＲＡＭ５ｂに読みだされてＣＰＵ５ａにより実行される。また、かかるプログラムは、適宜の光ディスク、光磁気ディスク、フラッシュメモリ等の適宜のコンピュータ可読情報記録媒体に記録されて提供されても、インターネット等の情報通信回線を介して提供されてもよい。また、ラダープログラム作成装置１により作成されたラダープログラムは、Ｉ／Ｏ１ｆを介して接続されたＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）に転送され実行されてよい。
【００２３】
図２は本発明の実施形態に係るラダープログラム作成装置１の機能的な構成例を示す機能ブロック図である。本図に示す各機能ブロックは、上述のラダープログラム作成装置１の物理的構成を用いて、例えば、ＣＰＵ１ａにより所定のプログラムを実行したり、ＲＡＭ１ｂや外部記憶装置１ｃに所定の情報を記憶する領域を割り当てたりすることにより仮想的に実現されており、ラダープログラム作成装置１が有する機能に着目して個別に示したものである。従って、本図に示す機能ブロックは必ずしもラダープログラム作成装置１の物理的構成や、ラダープログラム作成装置１が実行するプログラム自体が機能ブロック毎に区分されることを意味しない。また、本図にはラダープログラム作成装置１が有する全ての機能が示されているわけではなく、本発明と技術的関連の低い部分は省略されている。
【００２４】
ラダーチャート表示部２は、モニタ１ｈ上に複数のプログラム要素を含むラダーチャートを表示する。ここで、プログラム要素はラダープログラムを構成する個別の命令を意味しており、モニタ１ｈ上では、接点、タイマ、コイル、分岐等を示す図形として表示される。
【００２５】
変数指定部３は、ラダーチャート上で一のプログラム要素を特定して、当該一のプログラム要素に含まれる変数を指定する。ここで、変数とはプログラム要素に対応付けられたレジスタを意味しており、例えば、プログラム要素が接点であれば、その接点が参照している接点番号にて示される接点の状態を示す領域である。なお、変数指定部３は、ラダーチャート上での指定のみならず、例えば接点番号を入力する等して変数を直接指定できるようにしてもよい。
【００２６】
プログラム要素検索部４は、変数指定部３が指定した変数が存在するプログラム要素を検索する。例えば、変数がある接点番号で示される接点の状態を示す領域であれば、その接点番号を参照するプログラム要素がラダープログラム中より検索される。ここでは、抽出されたプログラム要素の一覧が検索結果として得られる。検索結果は、具体的には、プログラム要素を示す命令番号群である。
【００２７】
検索結果記憶部５は、プログラム要素検索部４により得られた検索履歴を記憶する。ここでは、繰り返し検索が行われた場合に、その検索結果を順番が特定できるように記憶する。そのため、本実施形態における検索結果記憶部５は、プログラム要素検索部４により得られた検索結果をその履歴と共に記憶するものであるが、これに換え、検索の履歴のみ、例えば、検索対象となった変数のみを順番が特定できるように記憶してもよい。この場合、検索結果はプログラム要素検索部４により再検索を行うことにより得られることとなる。なお、ここで検索とは、ある検索対象に一致する情報を他の情報中から発見する行為の他、当該行為を特定する情報をも意味するものとして取り扱う。上記の例では、検索対象となった変数は、その変数による行為としての検索を特定する情報であるから、検索である。
【００２８】
検索結果表示部６は、検索結果、すなわち、プログラム要素検索部４の検索の結果として得られたプログラム要素の一覧をモニタ１ｈ上に表示する。
【００２９】
検索結果選択部７は、検索履歴に基いて、次に検索結果表示部６に表示させる検索結果を選択することができる。すなわち、本実施形態では検索結果記憶部５に記憶された検索結果を何らかの方法により選択することにより、少なくとも当該検索結果を検索結果表示部６に表示させる。この選択の方法は種々のものが考えられるが、本実施形態ではラダーチャート表示部２及び検索結果表示部６のどちらか、又はその両方の表示を進め又は戻す選択をする方法と、検索結果の履歴を表示して、その中から直接検索結果を選択する方法の２つが可能であり、それぞれ機能ブロックとして表示進退選択部８、直接選択部９により選択がなされる。すなわち、表示進退選択部８及び直接選択部９は検索結果選択部７の機能の一部である。表示進退選択部８及び直接選択部９の動作の詳細は後述する。
【００３０】
検索履歴表示部１０は、プログラム要素検索部４の検索の履歴の一覧を表示する。本実施形態では、後述するように、検索履歴表示部１０は検索の履歴の一覧をパンくずリストとして表示する。
【００３１】
プログラム要素選択部１１は、検索結果表示部６に表示された検索結果に含まれる一のプログラム要素を選択することにより、ラダーチャート表示部２に、少なくとも当該一のプログラム要素を表示させる。具体的には、選択されたプログラム要素を含むラダーチャートの行がモニタ１ｈに表示されるように制御する。
【００３２】
また、選択結果記憶部１２は、選択結果、すなわちプログラム要素選択部１１による選択の有無を記憶する。また、選択結果記憶部１２に記憶された選択結果は、選択結果表示部１３により、検索結果表示部６により表示されている検索結果に含まれるプログラム要素との対応が認識できる形式でモニタ１ｈに表示される。
【００３３】
選択結果変更部１４は、選択結果表示部１３により表示されている選択結果を選択することにより変更する。具体的には、選択無しの状態を選択有りの状態に変更し、またその逆の操作が可能である。変更された選択結果は、選択結果記憶部１２に記憶される。
【００３４】
以上の構成からになるラダープログラム作成装置１の動作を、モニタ１ｈに表示される画面を参照しつつ以下説明する。
【００３５】
図３は、ラダープログラム作成装置１のモニタ１ｈ上に表示される表示画面の一例を示す図である。表示画面１００には、プロジェクト情報表示領域１０１、ラダーチャート表示領域１０２、検索対象入力ボックス１０３、検索ボタン１０４、進むボタン１０５ａ及び戻るボタン１０５ｂ、検索履歴表示領域１０６、検索結果表示領域１０７が設けられている。
【００３６】
プロジェクト情報表示領域１０１には、編集しようとするプロジェクトに関する情報が表示される。この図の例では、現在編集を行っているプロジェクトには２つのラダーチャートが属しており、それぞれ、「ｃｈａｒｔ１」及び「ｃｈａｒｔ２」と名付けられていることが示されている。また、次に述べるラダーチャート表示領域１０２に表示され編集中であるラダーチャートが「ｃｈａｒｔ１」であるため、プロジェクト情報表示領域１０１において「ｃｈａｒｔ１」がハイライト表示等強調表示されている（図３では破線で囲むことにより強調表示されていることを示している）。なお、本明細書で「強調表示」とは、ある要素を、他の同種の要素と区別し得るように表示することをいうものとする。
【００３７】
ラダーチャート表示領域１０２には、ラダーチャート表示部２により、編集中のラダーチャートが表示される。図中、ラダーチャートの行の左端にある５桁の数字は命令番号であり、その行が開始されるプログラム要素の命令番号を示している。また、各プログラム要素の上に示されている４桁の数字は、変数を識別する番号であり、ここでは接点番号である。
【００３８】
検索対象入力ボックス１０３は、検索しようとする変数の接点番号が表示される領域である。検索対象入力ボックス１０３に直接接点番号を入力することもできる。
【００３９】
検索ボタン１０４は、検索対象入力ボックス１０３に入力されている接点番号をもつ変数が存在する、すなわち、当該変数と関連付けられているプログラム要素を検索する際に選択するボタンである。なお、ここでのボタンはモニタ１ｈ上に表示された仮想的なボタンであるので、その選択は、マウスカーソル等のポインタをボタン上に移動させてクリックしたり、入力デバイス１ｅとしてタッチパネルを用いている場合にはモニタ１ｈ上のボタンが表示されている領域に触れる等によりなされる。
【００４０】
進むボタン１０５ａは、既になされた検索結果を閲覧している際に、その結果を一つ先へと進める際に選択するボタンであり、戻るボタン１０５ｂはその逆となり、検索結果を一つ前へと戻す際に選択するボタンである。
【００４１】
検索履歴表示領域１０６は、検索の履歴が表示される領域である。
【００４２】
検索結果表示領域１０７には、検索結果が表示される。
【００４３】
まず、図３の状態において、例えばフログラムデバッグのためにラダーチャート表示領域１０２の中央付近に表示されている接点の状態を決定している部分を検索により辿っていく場合を想定する。
【００４４】
ここでは、まず問題となっている接点を選択する。これにより、変数指定部３によって接点に含まれる変数がその接点番号（「０１１１」）により指定される。選択されたプログラム要素である接点は、ラダーチャート表示部２によりハイライト表示等強調表示される（図３では破線で囲むことにより強調表示されていることを示している）。これにより、検索元となるプログラム要素、すなわち選択されたプログラム要素をラダーチャート中から容易に特定できる。また、指定された変数の接点番号である「０１１１」は、検索対象入力ボックスに入力された状態となる。
【００４５】
この状態で検索ボタン１０４を選択すると、プログラム要素検索部４により、接点番号「０１１１」を含むプログラム要素がプロジェクト全体から検索され、その一覧が検索結果として得られる。
【００４６】
図４は、検索ボタン１０４を選択し、検索結果が検索結果表示領域１０７に表示された状態を示す図である。ここでは、接点番号「０１１１」を含むプログラム要素が３つ発見された。得られた検索結果は検索結果記憶部５に記憶され、さらに検索結果表示部６により検索結果表示領域１０７に表示される。ここでは、各プログラム要素について、それぞれ左から、検索対象となった変数の接点番号、プログラム要素が含まれるラダーチャート名、発見されたプログラム要素の命令番号、検索対象となった変数の読み込み及び書き込みの別が行方向に表示され、またプログラム要素は列方向に並べられて表示されている。なお、ここで変数の読み込みをする代表的なプログラム要素は接点であり、変数の書き込みをする代表的なプログラム要素はコイルである。
【００４７】
また、ここで検索対象となった変数を指定するために選択したプログラム要素は、命令番号「００００６」の接点である。プログラム要素検索部４による検索では、選択されたプログラム要素も検索対象の変数を含むため当然に発見されるが、検索結果表示領域１０７には、検索元となったプログラム要素はハイライト等の強調表示がなされる（図４では破線で囲むことにより強調表示されていることを示している）。これにより、検索元となったプログラム要素を検索結果のリスト中から容易に特定できる。また、検索結果表示領域１０７には、検索元となったプログラム要素のほか、命令番号「０００８６」に変数「０１１１」を読み込むプログラム要素が、命令番号「００１０５」に変数「０１１１」を書き込むプログラム要素が発見されたことが示されている。
【００４８】
検索結果表示領域１０７の検索対象となった変数の接点番号の左側に設けられているチェックボックスは、当該チェックボックスが設けられたプログラム要素がラダーチャート表示部２によりラダーチャート表示領域１０２に表示されたか否かを示すものであり、既に表示されている場合にチェックされるようになっている。この表示の有無は検索結果に含まれるプログラム要素毎に選択結果記憶部１２に記憶され、選択結果表示部１３によりチェックボックスのチェックの有無として表示される。ここでは、検索元となった命令番号「００００６」の接点はすでにラダーチャート表示領域１０２に表示されているため、この接点に対してのみチェックボックスがチェックされている状態として示されることになる。なお、このチェックボックスを選択することにより、手動でそのチェックの有無を変更することができる。この変更は選択結果変更部１４により行われ、選択結果記憶部１２に記憶された表示の有無が変更され、選択結果表示部１３によりその結果が表示画面１００に反映される。
【００４９】
検索履歴表示領域１０６には、検索結果表示部６により検索履歴が表示される。ここでは、まず、命令番号「００００６」の接点を検索元とする検索がなされたため、「００００６」が表示される。また、ここで「００００６」の表示が太字により強調表示されているが、これは、現在検索結果表示領域１０７に命令番号「００００６」の接点を検索元とする検索結果が表示されているためである。
【００５０】
ここで、さらに変数「０１１１」を書き込むプログラム要素を追跡するため、検索結果表示部６に表示された命令番号「００１０５」のプログラム要素を選択すると、プログラム要素選択部１１により、ラダーチャート表示部２によりラダーチャート表示領域１０２が更新され、図５に示す画面が得られる。ここでは、ラダーチャート表示領域１０２に命令番号「００１０５」を持つコイルを含むプログラム行が表示されることになる。これにより、ラダープログラムの追跡を簡単に行うことができる。同時に、プログラム要素選択部１１により選択されたプログラム要素のラダーチャート表示部２による表示が有ったことを示す情報が選択結果記憶部１２に記憶され、選択結果表示部１３により命令番号「００１０５」のプログラム要素横のチェックボックスがチェックされた状態に変更される。
【００５１】
さらに命令番号「００１０５」を持つコイルの状態に影響を与える、同じ行に存在する接点番号「０２１０」の接点について更に追跡をするものとすると、先ほどと同じように、ラダーチャート表示領域１０２において当該接点を選択し、検索ボタン１０４を押す。
【００５２】
その結果得られる画面が図６である。ここでは、ラダーチャート表示領域１０２では接点番号「０２１０」の変数を持つ、命令番号「００１０３」の接点が強調表示され、検索結果表示領域１０７には、接点番号「０２１０」の変数を有するプログラム要素の一覧が検索結果として表示される。命令番号「００１０３」の接点はチェックボックスがチェックされ、強調表示された状態で示される。さらに、検索履歴表示領域１０６には、検索の履歴、ここでは、検索元となったプログラム要素の命令番号がいわゆるパンくずリストの形式で表示される。すなわち、検索の履歴が、古いものから順に左から右に向かい、直列に適宜の記号（この例では「＞」）を挟んで並べて表示される。現在の検索を示す命令番号「００１０３」は強調表示される。
【００５３】
ここでさらに、変数「０２１０」を書き込むプログラムを追跡するため、検索結果表示部６に表示された命令番号「０００６３」のプログラム要素を選択したときの画面が図７である。ここで、変数「０２１０」を持つ命令番号「０００６３」のコイルは、「ｃｈａｒｔ２」のラダーチャートに含まれるプログラム要素である。そのため、ラダーチャート表示領域１０２には「ｃｈａｒｔ２」のラダーチャートの命令番号「０００６３」のコイルを含む行が表示され、命令番号「０００６３」のコイルが強調表示される。さらに、プロジェクト情報表示領域１０１において、現在表示されているラダーチャートである「ｃｈａｒｔ２」が強調表示される。また、検索結果表示領域１０７の命令番号「０００６３」のプログラム要素のチェックボックスがチェックされる。
【００５４】
同様の手順により、さらに接点番号「０２３５」の接点に関して追跡をするものとすると、図８に示すように、当該接点を選択し（強調表示される）、検索ボタン１０４を押すことにより、検索結果表示領域１０７に検索結果が表示され、命令番号「０００６１」のプログラム要素のチェックボックスがチェックされる。検索履歴表示領域１０６には、さらに検索元となった命令番号である「０００６１」が追加され、強調表示される。
【００５５】
この状態で接点番号「０２３５」の変数を書き込むプログラム要素を選択した状態が図９である。ラダーチャート表示領域１０２に命令番号「００１２１」のコイルを含む行が表示され、検索結果表示領域１０７の命令番号「００１２１」のプログラム要素のチェックボックスがチェックされる。このとき、図９の例では、命令番号「００１１９」の接点が接点番号「０１２２」の変数を用いているが、この番号が誤りであることが発見できたならこれを修正することになる。
【００５６】
このとき、命令番号「０００６１」に対する検索結果に含まれるプログラム要素全てがラダーチャート表示領域１０２に表示されたことになる（すなわち、検索結果表示領域１０７中の全てのチェックボックスがチェックされた状態となる）が、検索履歴表示部１０は、この検索を他の検索と区別して表示するようにして良い。本実施形態では、図８に示されるように、「０００６１」にアンダーラインを付しているが、これ以外にも例えばグレーアウトする等表示色を変えたりしてもよい。このようにしておくと、既に検索・追跡が完了している検索を直ちに識別することができるため、同じ検索を繰り返し参照することによる冗長な作業の発生を防止でき、ラダープログラムのデバッグや検査を効率化することができる。
【００５７】
以上説明したように単純に検索・追跡を繰り返すのみでラダーチャートのデバッグが完了すれば問題はないが、発明者の知見によれば、多くの場合には誤りのある個所を直ちに特定することは難しく、検索・追跡を繰り返して問題のある個所を探索しなければならないことがある。そのため、本実施形態では、進むボタン１０５ａ及び戻るボタン１０５ｂ、並びに検索履歴表示領域１０６が用意されており、検索結果選択部７により次に検索結果表示部６に表示させる検索結果を容易に選択できるので、素早く必要な検索結果を閲覧でき、ラダープログラムの検索・追跡を素早く効率的に行うことができる。
【００５８】
進むボタン１０５ａ、戻るボタン１０５ｂが押された際の動作は、検索結果選択部７の表示進退選択部８により実行される。この表示進退選択部８の動作は、進むボタン１０５ａ、戻るボタン１０５ｂの操作に応じてラダーチャート表示領域１０２及び検索結果表示領域１０７の表示を進め又は戻す、というものである。
【００５９】
図９の状態において戻るボタン１０５ｂを押した際の画面の例を図１０に示す。表示進退選択部８は、まず、検索結果記憶部５を参照し、ひとつ前の検索結果が存在する場合、検索結果表示部６に一つ前、ここでは、接点番号「０２１０」に対する検索結果を表示させる。さらに、ラダーチャート表示部２に、ひとつ前の表示画面を表示させる。ひとつ前の表示画面を特定する方法は特に限定されないが、例えば、検索履歴に記録された検索のうち、戻るボタン１０５ｂが押された際の検索元となっているプログラム要素の位置である。ここでは、命令番号「０００６１」の接点を含む行が該当する。
【００６０】
このとき、検索履歴表示領域１０６には、検索履歴表示部１０により検索の履歴がパンくずリストの形式で表示されているが、かかる表示は、検索結果表示部６により表示されている検索結果（ここでは「００１０３」に対する検索の結果）よりも前になされた検索（ここでは「００００６」）と、その後になされた検索（ここでは「０００６１」）の両方を含むものとなっている。こうすることにより、現在参照している検索の後になされた検索があることも容易に見てとれ、さらに、後述する直接選択部９によりいずれの検索の結果をも直ちに表示させることができる。
【００６１】
表示進退選択部８は、進むボタン１０５ａ、戻るボタン１０５ｂが押された際に、上述のように、検索結果を進め又は戻すことができる場合にはラダーチャート表示領域１０２及び検索結果表示領域１０７の両方の表示を進め又は戻し、検索結果を進め又は戻すことができない場合にはラダーチャート表示領域１０２の表示を進め又は戻し、それもできない場合には何もしない（又は進むボタン１０５ａ、戻るボタン１０５ｂをイネーブルとし選択できないようにする）。
【００６２】
この動作を図１１を用いてより詳細に説明する。図１１は、図３〜図９に示した表示画面１００において、ラダーチャート表示領域１０２と検索結果表示領域１０７の変遷を示す図である。
【００６３】
図３〜図９で示したラダーチャート表示領域１０２と検索結果表示領域１０７の変遷は、図１１において実線矢印で示された通りとなっており、図上部から下部に向かってラダーチャート表示領域１０２の更新と、検索結果表示領域１０７の更新が交互に行われていくことになる。図９の段階では、ラダーチャート表示領域１０２と検索結果表示領域１０７ともに図１１の最下段に示した状態となる。
【００６４】
ここで、戻るボタン１０５ｂが押されると、表示進退選択部８は、「１」と表示がされた白抜き矢印で示したように、ラダーチャート表示領域１０２と検索結果表示領域１０７の双方の表示を一つ戻す。さらに戻るボタン１０５ｂが押されると、表示進退選択部８は、「２」と表示がされた白抜き矢印で示したように、ラダーチャート表示領域１０２と検索結果表示領域１０７の双方の表示をさらに一つ戻す。続けて戻るボタン１０５ｂが押されると、検索結果表示領域１０７の表示は戻り先が存在しないため、表示進退選択部８は、「３」と表示がされた白抜き矢印で示したように、ラダーチャート表示領域１０２の表示を一つ戻すこととなる。
【００６５】
これに対し、進むボタン１０５ａを押した際の動作は図１２に示した通りとなる。すなわち、現在の表示画面１００の状態が、ラダーチャート表示領域１０２と検索結果表示領域１０７ともに図１２の最上段に示した状態である場合、進むボタン１０５ａが押されると、表示進退選択部８は、「１」と表示がされた白抜き矢印で示したように、ラダーチャート表示領域１０２と検索結果表示領域１０７の双方の表示を一つ進める。さらに進むボタン１０５ａが押された際の動作は「２」と表示がされた白抜き矢印で示した通りであり、続けて進むボタン１０５ａが押されると、検索結果表示領域１０７の表示は進み先が存在しないため、表示進退選択部８は、「３」と表示がされた白抜き矢印で示したように、ラダーチャート表示領域１０２の表示を一つ進めることとなる。
【００６６】
あるいは、図１３の白抜き矢印に示すように、進むボタン１０５ａ、戻るボタン１０５ｂが押されると、表示進退選択部８は、ラダーチャート表示領域１０２と検索結果表示領域１０７の表示を交互に進め又は戻すようにしてもよい。表示進退選択部８の動作は、図１１及び図１２にて説明したものと図１３にて説明したもののいずれを用いてもよいし、そのいずれかをユーザが選択できるようにしてもよい。図１１及び図１２にて説明した動作では、表示画面１００の切り替えを素早く行うことができ、また、図１３にて説明した動作では、ユーザが表示したい画面をきめ細かく選択することができる。
【００６７】
このように検索結果表示領域１０７の表示だけでなく、ラダーチャート表示領域１０２の表示も合わせて切り替えるようにすることにより、ラダープログラムの検索・追跡を素早く効率的に行うことができる。また、検索結果表示領域１０７において、既に参照したプログラム要素は、チェックボックスがチェックされることにより示されるため、同じプログラム要素を繰り返し参照することによる冗長な作業の発生を防止でき、ラダープログラムのデバッグや検査を効率化することができる。さらにチェックボックスのチェックの有無を変更できるため、明らかに表示する必要が無い部分は手動によりチェックして無駄な手間を省き、再確認が必要な部分は手動によりチェックを外して確認漏れを防ぐなど柔軟な運用が可能であり、効率的なデバッグ作業に資する。
【００６８】
続いて、直接選択部９の動作を説明する。直接選択部９は、検索履歴表示領域１０６に表示された検索を選択することにより、当該検索による検索結果を、検索結果表示部６に表示させる。これにより、閲覧したい検索結果が明確である場合に、かかる検索結果を直ちに表示させることができる。このとき、本実施形態ではラダーチャート表示部２によるラダーチャート表示領域１０２の更新は行わないが、検索結果に合致したラダーチャート、たとえば検索元となったプログラム要素を含む行をラダーチャート表示領域１０２に表示させるようにしてもよい。
【００６９】
図１４は、検索結果選択部７による動作のフロー図である。
【００７０】
検索結果７は、まずステップＳＴ１にて、進むボタン１５ａ又は戻るボタン１５ｂが押されたかどうか判断する。押された場合にはステップＳＴ２へと進み、そうでなければステップＳＴ６へと進む。なお、ステップＳＴ２〜ステップＳＴ５は表示進退選択部８による動作、ステップＳＴ６及びステップＳＴ７は直接選択部９による動作である。
【００７１】
ステップＳＴ２では、現在表示されている検索結果を、進むボタン１５ａが押されている場合には進めることができるか、また、戻るボタン１５ｂが押されている場合には戻すことができるか否かを判断する。進め又は戻すことができる場合には、ステップＳＴ３へ進み、そうでなければステップＳＴ４へと進む。
【００７２】
ステップＳＴ３では、ラダーチャート表示部２によりラダーチャートの表示を進め又は戻し、検索結果表示部６により検索結果の表示を進め又は戻す。表示が更新されれば動作を終了する。
【００７３】
一方、ステップＳＴ４では、現在表示されているラダーチャートを、進むボタン１５ａが押されている場合には進めることができるか、また、戻るボタン１５ｂが押されている場合には戻すことができるか否かを判断する。進め又は戻すことができる場合にはステップＳＴ５へと進み、ラダーチャート表示部２によりラダーチャートの表示を進め又は戻す。
【００７４】
ステップＳＴ４でダーチャートの表示を進め又は戻すことができないと判断された場合、ステップＳＴ５の処理を終えた場合のいずれの場合も、動作を終了する。
【００７５】
ステップＳＴ１で進むボタン１５ａ又は戻るボタン１５ｂが押されていない場合にはステップＳＴ６へと進み、検索履歴表示領域１０６に表示された検索のいずれかが選択されたか否かを判断する。選択されている場合にはステップＳＴ７へと進み、そうでなければ処理を終了する。
【００７６】
ステップＳＴ７では、選択された検索に対応する検索結果を、検索結果表示部６により表示させる。検索結果が検索結果記憶部５に記憶されている場合にはその検索結果を読み出し表示し、単に検索のみが記憶されている場合には、当該記憶を用いて再検索を行うことにより検索結果が得られるのでそれを表示すればよい。
【００７７】
ところで、上述の説明では、プログラム要素検索部４は、検索対象となる変数を含む全てのプログラム要素をラダープログラム中から検索しているが、この検索の際に、所定の条件を設けることができるようにしてもよい。発明者の知見によれば、特に、ラダープログラムのデバッグの際には、コイル等の変数の状態に影響を与えるプログラム要素を追跡する必要がある場合が多いため、プログラム要素検索部４は、選択的に、検索対象となる変数を書き込むプログラム要素のみを検索可能であるようにすることがデバッグ効率の点からは望ましい。この検索を行うには、プログラム要素検索部４による検索時の条件をユーザが適宜設定できるようにしておき、変数への書き込みをするプログラム要素のみを検索するように条件設定してから検索を行うとよい。あるいは、書き込みをするプログラム要素のみを検索するためのボタンを検索ボタン１０４とは別途に作成し、当該ボタンを押すことにより実行してもよい。さらに、検索対象となる変数を読み込むプログラム要素のみを検索可能としてもよい。
【００７８】
以上、本発明に係る実施形態について説明したが、この実施形態に示した具体的な構成は一例として示したものであり、本発明の技術的範囲をこれに限定することは意図されていない。当業者は、これら開示された実施形態を適宜変形してもよく、本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。
【符号の説明】
【００７９】
１  ラダープログラム作成装置、１ａ  ＣＰＵ、１ｂ  ＲＡＭ、１ｃ  外部記憶装置、１ｄ  ＧＣ、１ｅ  入力デバイス、１ｆ  Ｉ／Ｏ、１ｈ  モニタ、２  ラダーチャート表示部、３  変数指定部、４  プログラム要素検索部、５  検索結果記憶部、６  検索結果表示部、７  検索結果選択部、８  表示進退選択部、９  直接選択部、１０  検索履歴表示部、１１  プログラム要素選択部、１２  選択結果記憶部、１３  選択結果表示部、１４  選択結果変更部、１００  表示画面、１０１  プロジェクト情報表示領域、１０２  ラダーチャート表示領域、１０３  検索対象入力ボックス、１０４  検索ボタン、１０５ａ  進むボタン、１０５ｂ  戻るボタン、１０６  検索履歴表示領域、１０７  検索結果表示領域。
【図１】
0005987853.tif 000002
【図２】
0005987853.tif 000003
【図３】
0005987853.tif 000004
【図４】
0005987853.tif 000005
【図５】
0005987853.tif 000006
【図６】
0005987853.tif 000007
【図７】
0005987853.tif 000008
【図８】
0005987853.tif 000009
【図９】
0005987853.tif 000010
【図１０】
0005987853.tif 000011
【図１１】
0005987853.tif 000012
【図１２】
0005987853.tif 000013
【図１３】
0005987853.tif 000014
【図１４】
0005987853.tif 000015