(57)【要約】      （修正有）【課題】既存の利便性との互換性を維持しつつ、ユーザの利便性を更に向上することができるラダープログラム作成装置、コンピュータープログラム及びラダープログラム作成方法を提供することにある。【解決手段】ラダープログラム作成装置は、ラダープログラム中にテキスト情報を含むコメントを付加するコメント付加部５と、ラダープログラムの表示に関するアノテーション情報をコメント中に付加するアノテーション情報付加部６と、ラダープログラムに基づいてラダーチャートとテキスト情報を表示するラダーチャート表示部４と、アノテーション情報に基づいてラダーチャート表示部による表示を制御する表示制御部７と、を有する。【選択図】図２
2016206910.tif 000002
【特許請求の範囲】
【請求項１】
ラダープログラム中に、テキスト情報を含むコメントを付加するコメント付加部と、
前記ラダープログラムの表示に関するアノテーション情報を、前記コメント中に付加するアノテーション情報付加部と、
ラダープログラムに基づいて、ラダーチャートと、前記テキスト情報とを表示するラダーチャート表示部と、
前記アノテーション情報に基づいて、前記ラダーチャート表示部による表示を制御する表示制御部と、
を有するラダープログラム作成装置。
【請求項２】
複数の前記アノテーション情報について、各アノテーション情報の少なくとも一部を、前記ラダーチャート及び前記コメントの表示領域とは異なる領域に、一覧表示するアノテーション情報表示部と、
前記一覧表示された一以上の前記アノテーション情報の少なくとも一部から、少なくとも１のアノテーション情報を選択するアノテーション情報選択部と、
を備え、
前記表示制御部は、選択されたアノテーション情報が付加された位置の前記ラダーチャートを、前記ラダーチャート表示部に表示させる、
請求項１に記載のラダープログラム作成装置。
【請求項３】
前記アノテーション情報表示部は、一覧表示する前記アノテーション情報の少なくとも一部として、前記アノテーション情報を示すアノテーション名を、当該アノテーション情報が付加された前記ラダープログラムを示すラダープログラム名に関連付けて一覧表示する、請求項２に記載のラダープログラム作成装置。
【請求項４】
少なくとも、前記コメントに含まれる前記テキスト情報を、当該コメントに付加された前記アノテーション情報毎に関連付けるテキスト関連付部と、
少なくとも前記テキスト情報を、当該テキスト情報に関連付けられた前記アノテーション情報毎に区別できる態様で、可読文書として出力する可読文書出力部と、
を有する、請求項１〜３のいずれか１項に記載のラダープログラム作成装置。
【請求項５】
前記テキスト関連付部は、さらに隠しテキストを前記アノテーション情報毎に関連付け、
前記可読文書出力部は、さらに前記隠しテキストを、前記アノテーション情報毎に区別できる態様で、可読文書として出力する、請求項４に記載のラダープログラム作成装置。
【請求項６】
一覧表示された前記アノテーション名の順番及び階層の少なくともいずれかを指定する順番階層指定部を有し、
前記可読文書出力部は、指定された順番及び階層の少なくともいずれかに基づいて前記可読文書を出力する請求項４又は請求項５に記載のラダープログラム作成装置。
【請求項７】
前記可読文書は、可読文書データであり、
前記アノテーション情報は、前記可読文書データを特定するデータ特定情報及び前記可読文書データ中における、当該アノテーション情報に関連付けられた前記テキストデータの位置を特定するテキストデータ位置情報を含み、
前記データ特定情報及び前記テキストデータ位置情報に基づき、前記可読文書データの所定のアノテーション情報に係るテキストを表示するテキスト表示部を有する請求項４〜６のいずれか１項に記載のラダープログラム作成装置。
【請求項８】
互いに区別できる態様の一又は複数のブロックテキストを含む基礎可読文書データを受け付ける基礎可読文書データ受付部と、
前記基礎可読文書データに基づき、前記ブロックテキスト毎の前記アノテーション情報を含むコメントが付加されたラダープログラムを生成するラダープログラム生成部と、
を有する請求項４〜６のいずれか１項に記載のラダープログラム作成装置。
【請求項９】
前記ラダープログラム生成部は、前記ブロックテキストの順番及び階層構造に基づいて前記アノテーション名の順番および階層を指定する請求項８に記載のラダープログラム作成装置。
【請求項１０】
前記ブロックテキストの内容を前記テキストデータとする請求項８又は請求項９に記載のラダープログラム作成装置。
【請求項１１】
コンピューターを、請求項１乃至１０のいずれか一項に記載ラダープログラム作成装置として機能させるコンピュータープログラム。
【請求項１２】
ラダープログラム中に、テキスト情報を含むコメントを付加し、
前記ラダープログラムの表示に関するアノテーション情報を、前記コメント中に付加し、
ラダープログラムに基づいて、ラダーチャートと、前記テキスト情報とを表示し、
前記アノテーション情報に基づいて、前記ラダーチャート表示部による表示を制御する、ラダープログラム作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラダープログラム作成装置、コンピュータープログラム及びラダープログラム作成方法に関する。
【背景技術】
【０００２】
産業用機器の制御をするコントローラの動作を記述するものとして、ラダーチャートが広く用いられており、市販のコンピューターによりラダーチャートの作成支援を行うためのコンピューターソフトウェアも広く知られている。一般にラダーチャートでは、各行がどのような動作を意味しているのか一見して理解するのが難しいため、上述のソフトウェアには、ラダーチャート中にユーザが適宜コメントを挿入できるようにしたものも存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、依然として、深い専門知識を必要としないラダーチャートの作成装置を望むユーザが多い。一方で、深い専門知識を有するユーザは、既存のラダーチャートの作成支援に精通しており、その使い勝手の変更を望まないことも多く、両者のニーズを同時に満たすことは難しい。
【０００４】
そこで、本発明の解決しようとする課題は、既存の利便性との互換性を維持しつつ、ユーザの利便性を更に向上することができるラダープログラム作成装置、コンピュータープログラム及びラダープログラム作成方法を提供することである。
【課題を解決するための手段】
【０００５】
本発明の一の側面に係るラダープログラム作成装置は、ラダープログラム中に、テキスト情報を含むコメントを付加するコメント付加部と、前記ラダープログラムの表示に関するアノテーション情報を、前記コメント中に付加するアノテーション情報付加部と、ラダープログラムに基づいて、ラダーチャートと、前記テキスト情報とを表示するラダーチャート表示部と、前記アノテーション情報に基づいて、前記ラダーチャート表示部による表示を制御する表示制御部と、を有する。
【０００６】
さらに、本発明の一の側面に係るラダープログラム作成装置では、複数の前記アノテーション情報について、各アノテーション情報の少なくとも一部を、前記ラダーチャート及び前記コメントの表示領域とは異なる領域に、一覧表示するアノテーション情報表示部と、前記一覧表示された一以上の前記アノテーション情報の少なくとも一部から、少なくとも１のアノテーション情報を選択するアノテーション情報選択部と、を備え、前記表示制御部は、選択されたアノテーション情報が付加された位置の前記ラダーチャートを、前記ラダーチャート表示部に表示させてよい。
【０００７】
さらに、本発明の一の側面に係るラダープログラム作成装置では、前記アノテーション情報表示部は、一覧表示する前記アノテーション情報の少なくとも一部として、前記アノテーション情報を示すアノテーション名を、当該アノテーション情報が付加された前記ラダープログラムを示すラダープログラム名に関連付けて一覧表示してよい。
【０００８】
さらに、本発明の一の側面に係るラダープログラム作成装置では、少なくとも、前記コメントに含まれる前記テキスト情報を、当該コメントに付加された前記アノテーション情報毎に関連付けるテキスト関連付部と、少なくとも前記テキスト情報を、当該テキスト情報に関連付けられた前記アノテーション情報毎に区別できる態様で、可読文書として出力する可読文書出力部と、を有してよい。
【０００９】
さらに、本発明の一の側面に係るラダープログラム作成装置では、前記テキスト関連付け部は、さらに隠しテキストを前記アノテーション情報毎に関連付け、前記可読文書出力部は、さらに前記隠しテキストを、前記アノテーション情報毎に区別できる態様で、可読文書として出力してよい。
【００１０】
さらに、本発明の一の側面に係るラダープログラム作成装置では、一覧表示された前記アノテーション名の順番及び階層の少なくともいずれかを指定する順番階層指定部を有し、前記可読文書出力部は、指定された順番及び階層の少なくともいずれかに基づいて前記可読文書を出力してよい。
【００１１】
さらに、本発明の一の側面に係るラダープログラム作成装置では、前記可読文書は、可読文書データであり、前記アノテーション情報は、前記可読文書データを特定するデータ特定情報及び前記可読文書データ中における、当該アノテーション情報に関連付けられた前記テキストデータの位置を特定するテキストデータ位置情報を含み、前記データ特定情報及び前記テキストデータ位置情報に基づき、前記可読文書データの所定のアノテーション情報に係るテキストを表示するテキスト表示部を有してよい。
【００１２】
さらに、本発明の一の側面に係るラダープログラム作成装置では、互いに区別できる態様の一又は複数のブロックテキストを含む基礎可読文書データを受け付ける基礎可読文書データ受付部と、前記基礎可読文書データに基づき、前記ブロックテキスト毎の前記アノテーション情報を含むコメントが付加されたラダープログラムを生成するラダープログラム生成部と、を有してよい。
【００１３】
さらに、本発明の一の側面に係るラダープログラム作成装置では、前記ラダープログラム生成部は、前記ブロックテキストの順番及び階層構造に基づいて前記アノテーション名の順番および階層を指定してよい。
【００１４】
さらに、本発明の一の側面に係るラダープログラム作成装置では、前記ブロックテキストの内容を前記テキストデータとしてよい。
【００１５】
また、本発明の別の一の側面に係るコンピュータープログラムは、コンピューターを、上述のラダープログラム作成装置として機能させる。
【００１６】
また、本発明の別の一の側面に係るラダープログラムの作成方法は、ラダープログラム中に、テキスト情報を含むコメントを付加し、前記ラダープログラムの表示に関するアノテーション情報を、前記コメント中に付加し、ラダープログラムに基づいて、ラダーチャートと、前記テキスト情報とを表示し、前記アノテーション情報に基づいて、前記ラダーチャート表示部による表示を制御する。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係るラダープログラム作成装置の物理的な構成例を示すブロック図である。
【図２】本発明の実施形態に係るラダープログラム作成装置の機能的な構成例を示す機能ブロック図である。
【図３】ラダープログラム作成装置のモニタ上に表示される表示画面の一例を示す図である。
【図４】アノテーション情報がしおりである場合のデータ構造のイメージを示す図である。
【図５】ラダープログラム作成装置により出力される可読文書の例を示す図である。
【図６】アノテーション名の順番及び階層を指定する様子を説明する図である。
【図７】アノテーション情報表示領域に示した状態で可読文書を生成し、出力した例を示す図である。
【図８】図７に示す基礎可読文書に基いてラダープログラムを生成した際の、ラダープログラム作成装置のモニタ上に表示される表示画面の一例を示す図である。
【図９】本変形例に係るラダープログラム作成装置の機能的な構成例を示す機能ブロック図である。
【図１０】本変形例に係るラダープログラム作成装置のモニタ上に表示される表示画面の一例を示す図である。
【図１１】ラダープログラム作成装置による動作のフロー図である。
【図１２】ラダープログラム選択動作のフロー図である。
【図１３】アノテーション情報選択動作のフロー図である。
【図１４】ラダーコマンド入力動作のフロー図である。
【図１５】アノテーション情報付加動作のフロー図である。
【図１６】コメント付加動作のフロー図である。
【図１７】順番・階層・指定動作のフロー図である。
【図１８】可読文書出力動作のフロー図である。
【図１９】基礎可読文書読み込み動作のフロー図である。
【発明を実施するための形態】
【００１８】
本発明の発明者の見地によれば、作成されるラダーチャートが大規模なものとなると、ラダーチャート中にコメントを挿入したとしても、当該コメントを探索し、またそのコメントが付された行を参照するのに時間を要するようになり、ラダーチャートの作成効率が低下する。
【００１９】
そこで、発明者は、これを改善するべく、ラダープログラム中に、しおり等のアノテーション情報を新たに付加し、ラダーチャート作成支援装置が、かかるアノテーション情報を基に、ラダーチャート中の必要な場所を参照できるようにすることを検討している。ここで、新たに付加されたアノテーション情報は、すでに現存するラダーチャート作成支援ソフトウェアや、コントローラには正しく解釈されない。このため、このようなアノテーション情報の新たな付加は、ラダープログラムの互換性を損なうと予想される。
【００２０】
こうしたことから、発明者はさらに、ラダープログラムに新たにアノテーション情報を付加し、なおかつ、ラダープログラムの互換性を損なうことがないようなラダープログラム作成装置について鋭意研究開発を行い、新規かつ独創的なラダープログラム作成装置等を発明するに至った。以下、図面を参照しつつ、かかるラダープログラム作成装置等をその実施形態を例示して説明する。
【００２１】
図１は、本発明の実施形態に係るラダープログラム作成装置１の物理的な構成例を示すブロック図である。ラダープログラム作成装置１としては一般的なコンピューターを用いてよく、本実施形態においても、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１ａ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１ｂ、外部記憶装置１ｃ、ＧＣ（Ｇｒａｐｈｉｃｓ  Ｃｏｎｔｒｏｌｌｅｒ）１ｄ、入力デバイス１ｅ及びＩ／Ｏ（Ｉｎｐｕｒ／Ｏｕｔｐｕｔ）１ｆがデータバス１ｇにより相互に電気信号のやり取りができるよう接続されている一般的なコンピューターを用いている。ここで、外部記憶装置１ｃはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の静的に情報を記録できる装置である。またＧＣ１ｄからの信号はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）やいわゆるフラットパネルディスプレイ等の、使用者が視覚的に画像を認識するモニタ１ｈに出力され、画像として表示される。入力デバイス１ｅはキーボードやマウス、タッチパネル等の、ユーザが情報を入力するための機器であり、Ｉ／Ｏ１ｆはラダープログラム作成装置１が外部の機器と情報をやり取りするためのインタフェースである。コンピューターをラダープログラム作成装置１として機能させるためのアプリケーションプログラムは外部記憶装置１ｃにインストールされ、必要に応じてＲＡＭ１ｂに読みだされてＣＰＵ１ａにより実行される。また、かかるプログラムは、適宜の光ディスク、光磁気ディスク、フラッシュメモリ等の適宜のコンピューター可読情報記録媒体に記録されて提供されても、インターネット等の情報通信回線を介して提供されてもよい。また、ラダープログラム作成装置１により作成されたラダープログラムは、Ｉ／Ｏ１ｆを介して接続されたＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）に転送され実行されてよい。
【００２２】
図２は、本発明の実施形態に係るラダープログラム作成装置１の機能的な構成例を示す機能ブロック図である。図２は本発明の実施形態に係るラダープログラム作成装置１の機能的な構成例を示す機能ブロック図である。本図に示す各機能ブロックは、上述のラダープログラム作成装置１の物理的構成を用いて、例えば、ＣＰＵ１ａにより所定のプログラムを実行したり、ＲＡＭ１ｂや外部記憶装置１ｃに所定の情報を記憶する領域を割り当てたりすることにより仮想的に実現されており、ラダープログラム作成装置１が有する機能に着目して個別に示したものである。従って、本図に示す機能ブロックは必ずしもラダープログラム作成装置１の物理的構成や、ラダープログラム作成装置１が実行するプログラム自体が機能ブロック毎に区分されることを意味しない。また、本図にはラダープログラム作成装置１が有する全ての機能が示されているわけではなく、本発明と技術的関連の低い部分は省略されている。
【００２３】
ラダープログラム作成装置１は、公知のラダーチャートの作成支援ソフトウェアと同じく、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を用いてラダーコマンドを入力し、ラダープログラムを作成する機能を有している。ここでは、ラダーコマンド作成部２により、ラダーコマンドを適宜入力し作成することにより、ラダープログラムが作成される。
【００２４】
ラダーコマンド作成部２において作成したラダーコマンドは、ラダープログラム記憶部３にラダープログラムとして記憶される。ラダーチャート表示部４は、ラダープログラム記憶部３に記憶されたラダープログラムに含まれるラダーコマンドをラダーチャートとして、モニタ１ｈに表示する。ここで、ラダーコマンドはラダープログラムを構成する個別の命令であり、モニタ１ｈ上では、接点、タイマ、コイル、分岐等の、ラダーチャートを構成する種々の図形として表示される。
【００２５】
本実施形態に係るラダープログラムには、コントローラにおいて解釈・実行されることにより、種々の機器の動作を制御する命令であるラダーコマンドと、コントローラにおいては無視され、機器の制御に影響しないコメントとが含まれる。コメント付加部５は、ラダープログラム中にコメントを付加する。コメントは、ユーザが編集可能なテキストであり、注釈やその他ユーザが自由に利用することができる。本実施形態に係るラダープログラム作成装置１では、コメントには単なるテキスト情報の他、ラダープログラムの表示に関する情報であるアノテーション情報が含まれる。
【００２６】
アノテーション情報付加部６は、ラダープログラム記憶部３に記憶されたコメント中にアノテーション情報を付加する。ここで、アノテーション情報とは、単なるテキストとして表示されるだけのものでなく、ラダープログラム作成装置１において解釈されることにより特定の処理が行われる等、特別の取り扱いがなされる情報を指すものとする。アノテーション情報は、コメント中のテキスト情報と区別し得る態様でコメントに付加される。そのような態様の一例として、例えば、いわゆるマークアップ言語を用いて、コメント中におけるアノテーション情報の範囲を明示してよい。
【００２７】
アノテーション情報には、いわゆるしおりとして取り扱われる情報や、ラダーチャート或いはコメントの書式に係る情報、ラダープログラムのバージョンや変更履歴に関する情報等のいわゆるメタデータ、ユーザに応じた閲覧・編集の制限を定めた権限情報等が含まれてよい。それぞれの情報には、さらに当該情報を特徴づける種々の情報が含まれてよく、例えば、当該情報がしおりである場合、後述するように、その識別子、名称、順番・階層、隠しテキスト、データ特定情報及びテキストデータ位置情報等を含んでよい。当該情報が変更履歴であるなら、変更前後のラダーコマンドとその変更日時及び変更者等を含んでよく、当該情報が書式情報であるなら、表示に係る色、反転、下線等の書式の指定と、その対象となる部分の指定が含まれていてよい。
【００２８】
ラダーチャート表示部４は、前述したように、ラダープログラム記憶部３に記憶されたラダープログラム中のラダーコマンドをラダーチャートとしてモニタ１ｈに表示するほか、ラダープログラム中のコメントに含まれるテキスト情報を、テキストとしてモニタ１ｈに表示する。このテキストは、ラダーチャート中において、ラダープログラム中のコメントが付された位置に対応する位置に挿入される。なお、ラダーチャート中におけるテキスト情報のテキスト表示の有無は、ユーザの指定により切り替えることができるようにしてもよい。
【００２９】
一方、コメントに含まれるアノテーション情報は、テキスト情報とは取り扱いが異なり、直ちにテキストとしては表示されず、表示制御部７により解釈され、その解釈結果に応じて、ラダーチャート表示部４による表示の制御に用いられる。すなわち、表示制御部７は、ラダーチャート表示部４による表示をアノテーション情報に基づいて制御する。ここで「表示」の「制御」とは、表示の態様を変更、管理することを意味している。表示の態様を変更する例としては、アノテーション情報が書式情報であるなら、ラダーチャート表示部４がモニタ１ｈ上に表示するラダーチャートやテキストの色等の書式に係る表示の態様を変更するし、アノテーション情報が前述のしおりである場合には、以降例示して説明するように、しおりであることを示す表示をラダーチャート中に表示したり、しおりを選択することによって、当該しおりが付された位置のラダーチャートを表示することにより、表示の態様が変更される。また、表示の態様を管理する例としては、アノテーション情報が前述の権限情報であったり、変更履歴であったりする場合に、当該情報に応じてラダーチャートやテキストが表示され、或いは一部又は全体が非表示とされる等があげられる。
【００３０】
このように、本実施形態に係るラダープログラム作成装置１では、ラダープログラム中に付加されたアノテーション情報に基づいて、ラダーチャート表示部４によるラダーチャートやテキストの表示を制御することができる。これに加え、アノテーション情報は前述した通り、コメントに含まれるので、このアノテーション情報は、現存するラダーチャート作成支援ソフトウェアには単にコメントの一部として取り扱われ、また、現存するコントローラには無視されるので、ラダープログラムに新たにアノテーション情報が付加されることによる互換性の問題は生じない。
【００３１】
アノテーション情報表示部８は、複数のアノテーション情報について、各アノテーション情報の少なくとも一部を、モニタ１ｈの、ラダーチャートの表示領域及びコメントの表示領域とは異なる領域に一覧表示する。これは、ユーザがラダープログラムに付されたアノテーション情報を一覧できるようにする構成であるから、アノテーション情報表示部８により表示されるアノテーション情報の少なくとも一部には、各アノテーション情報を区別できる情報を用いればよく、例えば、アノテーション名を用いてよい。なお、アノテーション名は、アノテーション情報を容易に識別できるよう、アノテーション情報毎にユーザが設定するか、又はラダープログラム作成装置１が自動的に生成した名称であってよい。さらに、アノテーション情報表示部８は、アノテーション名を、当該アノテーション情報が付加されたラダープログラムを示すラダープログラム名に関連付けて一覧表示してよい。アノテーション情報表示部８により表示されるアノテーション名の順番は、ラダープログラム中の該当するアノテーション情報の位置を反映するものとしてよい。アノテーション情報表示部８による表示の具体的な態様については後述する。
【００３２】
また、本実施形態に係るラダープログラム作成装置１では、後述するように、アノテーション情報の順番及び階層を、編集中のラダープログラム内における位置とは独立に指定することができるようになっている。そのため、ラダープログラム作成装置１には、アノテーション情報表示部８に加え、順番階層表示部９が設けられており、かかる順番階層表示部９は、各アノテーション情報について指定された順番及び階層が明示される態様で、アノテーション名を一覧表示する。
【００３３】
したがって、順番階層表示部９により表示されるアノテーション名の順番は、必ずしもラダープログラム中の該当するアノテーション情報の位置を反映せず、指定された順番を反映するものであってよい。また、順番階層表示部９により表示されるアノテーション名は、順番及び階層が指定され得る種類のアノテーション情報についてのものであればよく、必ずしも全てのアノテーション情報について表示しなくてよい。順番階層表示部９による表示の具体的な態様についても後述する。
【００３４】
アノテーション情報選択部９はモニタ１ｈに一覧表示された一以上のアノテーション情報の少なくとも一部から、少なくとも１のアノテーション情報を選択する。この選択は、モニタ１ｈ上で、ユーザが任意のポインティングデバイスその他の入力機器を使用して行われてよい。その結果、選択されたアノテーション情報は、表示制御部７に受け渡され、ラダーチャート表示部４による表示の制御に用いられる。具体的に、アノテーション情報がしおりである場合には、表示制御部７は、選択されたしおりが付加された位置のラダーチャートを、ラダーチャート表示部４に表示させる制御を行う。この動作は、ユーザからみると、一覧表示された中から任意のしおりを選択することにより、当該しおりが付された位置のラダーチャートを素早く表示させることができることになる。
【００３５】
また、アノテーション情報選択部９により選択されたアノテーション情報は、テキスト表示部１０に受け渡され、テキスト表示部１０は、ユーザが、選択したアノテーション情報に関して必要とする情報をテキストとして、モニタ１ｈ上の適宜の位置に表示させてよい。
【００３６】
また、ユーザからの指示や、あらかじめ定められた所定のタイミングや条件に基づくラダープログラム作成装置１の自動実行により、テキスト情報関連付部１１と可読文書出力部１２は、ラダープログラム記憶部３に記憶されたラダープログラムに基づいて可読文書を生成し、出力する。
【００３７】
ここで、可読文書とは、自然言語によって記述され、ユーザがその内容を読み、理解することが可能な文書を指しているが、本実施形態に係るラダープログラム作成装置１では、特に、可読文書として、同文書に含まれるテキストが適切な単位で区分された態様のものを生成し、出力する。そのため、テキスト情報関連付部１１は、少なくとも、コメントに含まれるテキスト情報を、当該コメントに付加されたアノテーション情報毎に関連付けるようになっている。そして、可読文書出力部１２は、少なくともテキスト情報を、当該テキスト情報に関連付けられたアノテーション情報毎に区別できる態様で、可読文書として出力する。
【００３８】
すなわち、このテキスト情報関連付部１１及び可読文書出力部１２の動作は、アノテーション情報を単位としてテキストが区分された可読文書を生成することになる。一区分のテキストには、対応するアノテーション情報が付加されたコメントに含まれるテキスト情報が少なくとも含まれる。これにより、ラダープログラム中に適宜挿入したコメントを、アノテーション情報毎に区分された態様の可読文書として取り出すことができる。これを利用すれば、ラダープログラムの必要な個所に、そのプログラムの仕様や説明を、コメントを利用して書き込み、アノテーション情報を適宜設定してやることにより、セクション割りされた、可読性に優れた仕様書や説明書を自動作成することが可能である。
【００３９】
なお、テキスト情報関連付部１１は、アノテーション情報に、前述の対応するテキスト情報以外のさらなる情報を関連付けてよい。例えば、アノテーション情報に、隠しテキストを関連付けてよい。ここで、隠しテキストとは、ラダーチャート表示部４により、ラダーチャート中に挿入され表示されることはないものの、コメントに含まれるテキストであって、前述のテキスト情報とは区別されるものである。本実施形態に係るラダープログラム作成装置１では、隠しテキストは、アノテーション情報に含まれ、ユーザが任意に利用可能である。隠しテキストの利用形態としては、具体的には、アノテーション自体の説明や注釈、備忘録や一時的なメモなどが挙げられる。隠しテキストは、ラダーチャートとは区別される態様で表示され、編集されてよい。
【００４０】
また、可読文書出力部１２は、生成した可読文書を任意の態様で出力してよい。例えば、可読文書は、可読文書データとして、任意のファイル形式の電子データで外部記憶装置１ｃに出力され、保存されてよい。或いは、可読文書は、プリンタなどの印刷装置に出力され、紙媒体上に印刷されても、モニタ１ｈに出力され、モニタ１ｈ上で閲覧されてもよい。これらの出力形式は、ユーザが選択できるようにしてもよい。
【００４１】
さらに、本実施形態に係るラダープログラム作成装置１は、可読文書において反映されるアノテーション情報の順番や階層を変更する機能を有していてよい。そのため、順番階層指定部１３が設けられており、かかる順番階層指定部１３は、順番階層表示部９により一覧表示されたアノテーション名の順番及び階層の少なくともいずれか、本実施形態では、その両方を指定する。各アノテーション名について指定された順番及び階層は、それぞれのアノテーション情報に記憶され、可読文書出力部１２は、それら指定された順番及び階層に基づいて可読文書を出力する。
【００４２】
詳細は後述するが、これは、順番階層指定部１３により各アノテーション情報について順番及び階層を指定することにより、各アノテーション情報がラダープログラム中において出現する順番とは独立に、可読文書中のアノテーション情報の順番を指定することができ、また、可読文書を階層化することができることを意味している。本発明の発明者の知見によれば、ラダープログラムに適宜テキストを付した場合に、各テキストがラダープログラム上で出現する順番は、それらテキストを可読文書として読んで理解するにあたって必ずしも適した順番ではない。そこで、本実施形態に係るラダープログラム作成装置１では、可読文書中のアノテーション情報の順番を指定し、それにより、区分されたテキストの可読文書中の順番を、ラダープログラム上での順番とは独立に変更することで、可読文書の可読性を飛躍的に高めることができるのである。さらに、各アノテーション情報についてその階層を指定することで、出力される可読文書を階層構造化でき、これによっても、可読文書の可読性をさらに高めることができるのである。
【００４３】
以上の説明では、ラダープログラム作成装置１は、作成したラダープログラムに付加されたコメント中のテキスト情報とアノテーション情報を用いて可読文書を作成し出力するものであったが、ラダープログラム作成装置１は、さらに、あらかじめ用意された可読文書（以降、「基礎可読文書」という。）に基づいて、アノテーション情報を有するコメントが付加されたラダープログラムを生成する機能を有していてよい。
【００４４】
そのため、ラダープログラム作成装置１には、基礎可読文書データ受付部１４とラダープログラム生成部１５が設けられている。基礎可読文書データ受付部１４は、外部記憶装置１ｃ等から基礎可読文書の電子データである基礎可読文書データを受け付ける。ここで、基礎可読文書とは、可読文書であって、同文書に含まれるテキストが適切な単位で区分された態様のものを指すものとする。ここで、基礎可読文書中の区分毎の一群のテキストをブロックテキストと称することとすると、基礎可読文書は、互いに区別できる態様の一又は複数のブロックテキストを含む可読文書であるといえる。
【００４５】
そして、ラダープログラム生成部１５は、受け付けられた基礎可読文書データに含まれるブロックテキスト毎に、そのブロックテキストを内容とするテキスト情報と、アノテーション情報を含むコメントを生成する。その結果、ラダープログラム生成部１５により、コメントからなるラダープログラムが生成されることとなる。生成されたラダープログラムは、ラダープログラム記憶部３に記憶され、ラダーチャート表示部４によりモニタ１ｈ上に表示される。
【００４６】
ラダープログラム生成部１５により生成されたラダープログラムは、説明より明らかなように、直ちにコントローラにおいて解釈・実行され、種々の機器の動作を制御しうるものではないが、ユーザがラダープログラムを作成する上では極めて有用である。すなわち、ラダープログラムを作成するにあたり、その仕様や説明が定められ、あらかじめ文書化されている場合に、かかる文書を基礎可読文書としてラダープログラム生成部１５によりラダープログラムを生成すると、ラダープログラム作成装置１のモニタ１ｈ上には、かかる仕様や説明がコメントとしてあらかじめ付加されたラダープログラムのひな型が表示されることになる。そして、仕様や説明等のコメントは、ブロックテキスト毎、すなわち、セクション毎に区分されていることになるから、ラダープログラムの作成者は、モニタ１ｈ上のコメントを参照しながら、その仕様や説明に従ってラダープログラムを作成していけばよく、ラダープログラムの作成効率を大きく向上させることができる。また、仕様や説明の読み落とし等に起因するプログラムミスも低減させることができると考えられる。さらに、ブロックテキスト毎に生成されるアノテーション情報が、しおりである場合には、その仕様や説明毎に対応する位置のラダープログラムを直ちに参照することができるから、ラダープログラムの作成者の負担を大幅に軽減することができる。
【００４７】
なお、以上の説明では、ラダープログラム生成部１５は基礎可読文書データに基いて、コメントのみからなるラダープログラムを作成するものとして説明したが、ラダープログラム生成部１５は、さらに適切なラダーコマンドをも生成するものとしてよい。例えば、仕様上定型的に要求されるラダーコマンド（ラベルや自己保持回路等）を自動的に生成し追加してもよい。
【００４８】
続いて、以上説明したラダープログラム作成装置１の動作を、モニタ１ｈに表示される画面の例を参照しつつ説明する。
【００４９】
図３は、ラダープログラム作成装置１のモニタ１ｈ上に表示される表示画面１００の一例を示す図である。ここでは、表示画面１００は、プロジェクト情報表示領域１０１、ラダーチャート表示領域１０２、アノテーション情報表示領域１０３、テキスト表示領域１０４に区分されている。
【００５０】
プロジェクト情報表示領域１０１には、編集しようとするラダープログラムが属するプロジェクトに関する情報が表示される。ここで、プロジェクトとは、関連して使用される１又は複数のラダープログラムを一まとまりとして取り扱う単位であり、この図の例では、対象となっているプロジェクトに４つのラダープログラムが属していることが示されている。プロジェクトに属する４つのラダープログラムには、それぞれ、「ｃｈａｒｔ１」から「ｃｈａｒｔ４」との名が付けられており、各ラダープログラムが親となるプロジェクトに属していることが、階層構造的に示されている。
【００５１】
また、現在編集中であるラダープログラムは、プロジェクト情報表示領域１０１において、強調表示される等して明示される。ここでは、編集中であるラダープログラムが「ｃｈａｒｔ３」であるため、プロジェクト情報表示領域１０１においては「ｃｈａｒｔ３」がハイライト表示等強調表示されている（図３では太字及び下線で強調表示されていることを示している）。なお、本明細書で「強調表示」とは、ある要素を、他の同種の要素と区別し得る態様で表示することをいうものとする。
【００５２】
ラダーチャート表示領域１０２には、編集中のラダープログラムがラダーチャートとして表示される。通常、ラダープログラムは長大であり、モニタ１ｈ上にその全てを表示することはできないため、図示のように、ラダーチャート表示領域１０２には、ラダープログラムの一部分が表示されることになる。図３では、ラダーチャート表示領域１０２には、編集中のラダープログラムである「ｃｈａｒｔ３」の一部分が表示されている。
【００５３】
また、ラダーチャート表示部４は、ラダーチャート表示領域１０２には、編集中のラダープログラムに含まれるコメントのテキスト情報のテキストを、ラダーチャート中に挿入して表示する。図３では、ラダーチャート表示部４により、ラダーチャート中に「テキストＡ」としてテキストが挿入され表示されている様子が示されている。
【００５４】
これに対し、コメントに含まれるアノテーション情報は、前述の通り、特別の取り扱いがなされる。ここでは、テキスト情報「テキストＡ」を含むコメントに、アノテーション情報として、アノテーション名「しおりＡ」であるようなしおりが付加されているものとすると、表示制御部７がかかるアノテーション情報を解釈し、それがしおりであると判断することにより、ラダーチャート表示領域１０２上の該当する位置には、「しおりＡ」という名のしおりが付されていることを明示する特別の表示がなされるように、ラダーチャート表示部４が制御される。この結果、図３に示すように、ラダーチャート中のしおり「しおりＡ」は、テキスト情報「テキストＡ」とは異なる態様、例えばしおり名がハイライト表示された行等の態様で表示されることになる。
【００５５】
さらに、アノテーション情報表示部８により、ラダープログラム「ｃｈａｒｔ３」に含まれるアノテーション情報は、プロジェクト情報表示領域１０１において、当該ラダープログラムと関連付けられて表示される。ここで、ラダープログラム「ｃｈａｒｔ３」には、アノテーション情報として、それぞれアノテーション名が「しおりＡ」、「しおりＢ」、「しおりＣ」及び「しおりＤ」である４つのしおりが含まれているとすると、プロジェクト情報表示領域１０１には、図示のように、ラダープログラム「ｃｈａｒｔ３」に、しおり「しおりＡ」〜「しおりＤ」が属していることが階層構造的に表示される。また、この「しおりＡ」〜「しおりＤ」が表示される順番は、ラダープログラム「ｃｈａｒｔ３」中のしおりの位置を反映したものであり、すなわち、ラダープログラム「ｃｈａｒｔ３」中においてもしおり「しおりＡ」〜「しおりＤ」がこの順番で含まれることが示される。
【００５６】
ここで、アノテーション情報の具体的なデータ構造を、しおりを例にとって説明する。図４は、アノテーション情報がしおりである場合のデータ構造を示す図である。アノテーション情報には、アノテーション情報毎に付与される識別子と、該当アノテーション情報に基づいて特別の処理をするために必要な情報を含んでよく、ここで示す例では、アノテーション情報は、識別子に加え、しおり名、順番・階層、隠しテキスト、データ指定情報およびテキストデータ位置情報を含んでいる。ここで、しおり名は、アノテーション情報がしおりである場合のアノテーション名に該当する。順番・階層は順番階層指定部１３により指定されるアノテーション情報の順番及び階層に関する情報である。その他の情報については後述する。
【００５７】
図３に示すアノテーション情報表示領域１０３には、編集中のラダープログラム「ｃｈａｒｔ３」に含まれるアノテーション情報のアノテーション名が、順番階層表示部９により、それらの順番及び階層を明示する態様で一覧表示される。したがって、このアノテーション情報表示領域１０３には、順番又は階層を指定する必要のないアノテーション情報の名称は必ずしも表示する必要が無く、本実施形態に係るラダープログラム作成装置１では、しおりであるアノテーション情報のアノテーション名を表示するようになっている。順番及び階層の明示は、例えば図示したように、各アノテーション名の前にその順番を示す番号を付し、その順番に従った位置にアノテーション名を表示することによりなされる。なお、アノテーション情報の順番及び階層の初期値は任意であるが、一例として、ラダープログラム中の順番に従う順番で、同階層としてよい。したがって、各アノテーション情報について、何ら順番及び階層が指定されていない状態では、プロジェクト情報表示領域１０１に表示されているアノテーション名の順番と、アノテーション情報表示領域１０３に表示されているアノテーション名の順番は同じであってよい。
【００５８】
テキスト表示領域１０４には、選択されたアノテーション情報についての各種情報が、テキスト表示部１０により、テキストとして表示される。アノテーション情報の選択は、例えば、ＧＵＩを用いて、プロジェクト情報表示領域１０１、ラダーチャート表示領域１０２及びアノテーション情報表示領域１０３に表示されたアノテーション名を指定することによりなされてよい。テキスト表示領域１０４に表示されるテキストは、ユーザが、選択したアノテーション情報に関して必要とする情報を示すものである。ここで示すように、選択されたアノテーション情報がしおり「しおりＡ」である場合には、当該しおりに関連付けられたテキスト情報「テキストＡ」及び、当該しおりが有する隠しテキストであってよい。さらに、テキスト表示領域にその他の情報、例えば、図４に示した識別子、しおり名、順番・階層、データ指定情報およびテキストデータ位置情報等を表示するようにしてもよい。また、テキスト表示領域１０４に表示されたテキストは、テキスト表示領域１０４上で編集可能としてよい。
【００５９】
続いて、理解を助けるため、ラダープログラム作成装置１が、モニタ１ｈに図３に示す表示画面１００を表示するに至る動作の例について簡単に説明する。なお、ラダープログラム作成装置１の動作についてはさらに後述する。まず、ラダープログラム作成装置１が起動され、プロジェクトが選択された状態では、プロジェクト情報表示領域１０１への表示のみがなされており、ラダーチャート表示領域１０２、アノテーション情報表示領域１０３及びテキスト表示領域１０４には何も表示されていない状態である。このとき、プロジェクト表示領域１０１には、図３に示したように、プロジェクトに属するラダープログラムに含まれるアノテーション情報のアノテーション名が表示された状態であってもよいし、プロジェクトに属するラダープログラムのみが示されていてもよく、その場合には、次に述べるようにラダープログラムが選択されることにより、当該ラダープログラムに含まれるアノテーション情報のアノテーション名の一覧が表示されるようにするとよい。
【００６０】
次にユーザがラダープログラム「ｃｈａｒｔ３」を選択すると、アノテーション情報表示領域１０３で「ｃｈａｒｔ３」が強調表示されるとともに、ラダーチャート表示領域１０２にラダープログラム「ｃｈａｒｔ３」の所定の位置、ここでは先頭部分がラダーチャートとして表示され、また、アノテーション情報表示領域１０３に、当該ラダープログラム「ｃｈａｒｔ３」に含まれるアノテーション情報のアノテーション名が、指定された順番及び階層に従って表示される。ここでは、アノテーション情報である「しおりＡ」〜「しおりＤ」は、ラダープログラム中の出現順の順番のまま、その順番や階層は変更されていないため、その順番を示す番号１〜４がそれぞれ付されて表示される。
【００６１】
さらに、ユーザがプロジェクト表示領域１０１又はアノテーション表示領域１０３において「しおりＡ」を選択すると、ラダーチャート表示領域１０２には、ラダープログラム「ｃｈａｒｔ３」中、当該しおり「しおりＡ」が付されている位置（すなわち、アノテーション名「しおりＡ」であるしおりを含むコメントが付加されている位置）をラダーチャートとして図３に示すように表示する。同時に、テキスト表示領域１０４には、選択されたアノテーション情報であるしおり「しおりＡ」に関しユーザが必要とする情報が表示される。ここでは、しおり「しおりＡ」に対応付けられたテキスト情報である「テキストＡ」と、もし設定されているならば、しおり「しおりＡ」に含まれる隠しテキストが表示される。図３に示した表示画面１００は、この状態を示すものである。
【００６２】
なお、ラダープログラム作成装置１におけるラダーコマンドの作成・編集や、アノテーション情報の作成・編集は、ＧＵＩやキーボード等の適宜の入力機器を用いて、ラダーチャート表示領域１０２上で行えるものとしてよい。もちろん、さらにダイアログボックスを表示したり、コマンドメニューやショートカットキーを使用可能としたりする等、複数の入力方法を用意して差し支えない。
【００６３】
続いて、図３に示した状態でラダープログラム「ｃｈａｒｔ３」について可読文書を生成し出力することを考える。ユーザの指示等の適宜の指定により、ラダープログラム作成装置１は、前述のテキスト情報関連付部１１及び可読文書出力部１２により可読文書を生成し、出力する。
【００６４】
このとき、可読文書として出力される際のアノテーション情報の順番及び階層は、現在指定されている順番及び階層に従う。したがって、この例では、しおり「しおりＡ」〜「しおりＤ」がこの順番で、同階層となる。そして、各々のしおりには、それぞれ、「テキストＡ」〜「テキストＤ」が関連付けられる。
【００６５】
図５は、ラダープログラム作成装置１により出力される可読文書の例を示す図である。図示のように、ここで示した可読文書では、「テキストＡ」〜「テキストＤ」がこの順番で互いに区別し得る態様、この例ではセクション割りされて配置される。また、それぞれのテキストには、対応するアノテーション情報のアノテーション名である「しおりＡ」〜「しおりＤ」が個々の節のタイトルとして付されている。さらに、タイトルの前には、アノテーション情報の順番及び階層を示す記号として、ここではセクション番号が「§１」〜「§４」のように付されている。各アノテーション間は同階層であるため、セクション番号は、単なる連続番号である。
【００６６】
なお、ここで示した例では、しおり「しおりＡ」〜「しおりＤ」はいずれも、隠しテキストが設定されていないものとしたため、図５に示した可読文書には隠しテキストは現れないが、隠しテキストが設定されている場合には、テキスト情報関連付部１１はアノテーション情報に隠しテキストを関連付け、可読文書出力部１２が出力する可読文書の各セクションには、さらに隠しテキストが含まれるものとしてもよい。テキスト情報関連付部１１は、さらに他のテキスト、例えば、外部のファイルをアノテーション情報に関連付けるものとしてもよい。
【００６７】
上の例では、アノテーション情報の順番及び階層は、その初期状態から何ら変更されることはなかったので、可読文書におけるアノテーション情報に対応するテキストの順番は、ラダープログラム中における順番と一致しており、また、全てのテキストは同階層のセクションとされていた。ここで、可読文書をより理解しやすいものとするため、可読文書に出力すべきテキストの順番と階層を変更することを考える。
【００６８】
図６は、アノテーション名の順番及び階層を指定する様子を説明する図である。図６中、アノテーション情報表示領域１０３ａは、順番及び階層を指定する前のもの、同図中、アノテーション情報表示領域１０３ｂは、順番及び階層を指定した後のものを示す。なお、アノテーション情報表示領域１０３ａ及びアノテーション情報表示領域１０３ｂは、図３に示したアノテーション情報表示領域１０３のみを抜粋して示した図となっている。
【００６９】
ここで、アノテーション情報表示領域１０３ａの状態において、順番階層指定部１３により、「しおりＤ」の順番を最後尾から、「しおりＡ」と「しおりＤ」の間に変更し、また、「しおりＣ」の階層を一段下げ、「しおりＢ」の下位となるように変更する指定をするものとする。この指定は、具体的には、一例として、ＧＵＩを用いて、「しおりＤ」を「しおりＡ」と「しおりＢ」の間にドラッグ＆ドロップし（図中操作（１））、さらに、「しおりＣ」を画面右方向にドラッグする（図中操作（２））するなどに依ればよい。この結果、アノテーション情報表示領域１０３ｂに示すように、「しおりＡ」〜「しおりＤ」の順番は変更され、「しおりＤ」が「しおりＡ」と「しおりＢ」の間の位置に表示されるとともに、「しおりＣ」は、他のアノテーション名から右側にインデントされ、階層が下であることが明示される。また、ここで示した例では、指定後の順番及び階層を示す番号が各アノテーション名の前に付されている。本実施形態にかかるラダープログラム作成装置では、この番号は、可読文書が生成され、出力される際の、各セクションのセクション番号と一致する。したがって、アノテーション情報表示領域１０３ｂには、出力されるであろう可読文書のセクション構成（いわゆる章立て）が示されることとなるから、かかる表示は、可読文書の目次として理解することができ、可読文書の生成及び出力を待たずに、出力される可読文書の構成を一瞥して理解することができる。
【００７０】
このアノテーション情報表示領域１０３ｂに示した状態で可読文書を生成し、出力した例を図７に示す。図５に示した可読文書と比較すると、各アノテーション情報間の順番が指定された様に変更されており、また、階層構造が示されているため、その内容の理解が容易となることが見て取れる。
【００７１】
ところで、本実施形態に係るラダープログラム作成装置１では、図３に示したように、アノテーション情報表示部８により、プロジェクト表示領域１０１に、アノテーション名を、該当するアノテーション情報が含まれるラダープログラムに関連付ける態様で、一覧表示すると同時に、順番階層表示部９により、アノテーション情報表示領域１０３に、順番及び階層の指定に係るアノテーション情報のアノテーション情報を、その順番及び階層を明示する態様で一覧表示させている。
【００７２】
この理由は、主に次のようなものである。まず、プロジェクト表示領域１０１に関しては、これはラダープログラムを作成または編集しようとするユーザが、実際に作成しあるいは編集する対象のラダープログラムの構成や他のラダープログラムとの関係を把握しやすくすることをその目的の一つとしているため、ここでは、各アノテーション情報がどのラダープログラムに属しているのか、どのようなアノテーション情報がラダープログラムに付されているのか、また、各アノテーション情報がラダープログラム中にどの順番で付されているのか、が把握できる態様で表示されてよい。そのため、アノテーション情報表示部８は、各アノテーション名を、その属するラダープログラムに関連付ける態様で全て表示し、またその順番は、ラダープログラム中のアノテーション情報の順番通りである。
【００７３】
これに対し、アノテーション情報表示部８は、これはユーザが、生成され出力されるであろう可読文書の構成を一瞥して理解することをその目的の一つとしているため、ここでは、表示されるアノテーション名は、出力される可読文書に関連するものであれば足り、また、その順番も出力される可読文書における順番と一致しており、階層をも表示するものであってよい。そのため、順番階層表示部９は、しおりであるアノテーション情報についてアノテーション名を表示し、又その表示の際には各アノテーション情報について指定された順番及び階層を明示するのであり、アノテーション情報表示部８による表示とは異なる態様となる。
【００７４】
しかしながら、必ずしもこれら２つのアノテーション名の一覧表示を同時にすることは必須でなく、いずれか片方のみの表示としてもよいし、随時これらの表示を切り替えることができるようにしてもよい。例えば、アノテーション情報表示領域１０３を省略し、順番階層指定部１３は、プロジェクト表示領域１０１上で、各アノテーション情報についてその順番及び階層を指定するようにしてもよい。
【００７５】
続いて、ラダープログラム作成装置１を用いて、基礎可読文書からラダープログラムを生成することを考える。ここでは、基礎可読文書の例として、先の図７に示した文書が電子データで用意されているものとする。
【００７６】
基礎可読文書データ受付部１４は、図７に示す基礎可読文書の基礎可読文書データを受け付け、ラダープログラム生成部１５へと受け渡す。ラダープログラム生成部は、基礎可読文書データを解析し、基礎可読文書データに含まれるテキストをブロックテキストに分割し、ブロックテキストと同数のコメントを作成して、ブロックテキストはそれぞれのコメント中のテキスト情報とする。
【００７７】
さらに、ラダープログラム生成部１５は、生成されたコメントにそれぞれアノテーション情報、ここではしおりを作成して付加する。このとき、各しおりのアノテーション名と順番・階層は、基礎可読文書データを解析した際に、ブロックテキストとして認識されたテキストにつけられたタイトルやセクション番号に基いて自動的に定めてよい。例えば、図７に示した例では、各セクションにつけられたタイトルである、「しおりＡ」、「しおりＤ」、「しおりＢ」及び「しおりＣ」がそれぞれのアノテーション名として、また、セクション番号である「§１」、「§２」、「§３」及び「§３−１」が順番及び階層を示すものとして用いられる。
【００７８】
図８は、図７に示す基礎可読文書に基づいてラダープログラムを生成した際の、ラダープログラム作成装置１のモニタ１ｈ上に表示される表示画面１００の一例を示す図である。同図に示すように、プロジェクト表示領域１０１には、プロジェクトに新規にラダープログラム「ｃｈａｒｔ１」が追加され、かかるラダープログラムには、アノテーション情報が図示の順番で４つ含まれていることが示されている。なお、ここでは、アノテーション情報として、しおりが用いられている。各アノテーション名は、基礎可読文書の各セクションのセクションタイトルであり、その順番は、基礎可読文書におけるセクションの順番に等しい。
【００７９】
ラダーチャート表示領域１０２には、作成されたラダープログラムがラダーチャートとして表示される。ここでは、ラダーコマンドはまだ存在していないため、基礎可読文書の各セクションに対応して生成された各コメントのアノテーション情報とテキスト情報が表示されている。たとえば、同領域の最上段に表示されたコメントについて説明すると、まず、アノテーション名が「しおりＡ」であるしおりが付されていることが示され、その下に、当該しおりに対応するテキスト情報である「テキストＡ」が表示されている。これは、基礎可読文書におけるセクション「§１」に対応して生成されたものである。「しおりＤ」以降も同様である。
【００８０】
さらに、アノテーション情報表示領域１０３には、生成されたアノテーション情報であるしおりのアノテーション名が一覧表示される。ここで、各アノテーション情報の順番は、基礎可読文書に登場する順番通りであるが、階層については、基礎可読文書中において、「しおりＣ」がセクション「§３−１」として一階層低い階層であることが示されていた。そのため、アノテーション名が「しおりＣ」であるアノテーション情報についても、一階層低いことが順番・階層として記憶され、アノテーション情報表示領域１０３においても、「３−１」として一階層低いものであることが明示される態様で表示されることになる。
【００８１】
テキスト表示領域１０４には、現時点でいかなるアノテーション情報に対してもユーザによる選択がなされていないので、何も表示されていない。
【００８２】
このように、ラダープログラム作成装置１が、基礎可読文書データに基づいて、アノテーション情報及びテキスト情報を含むコメントが付加されたラダープログラムを自動生成すると、ラダープログラムの作成者は、あとは表示画面１００に表示されたテキストやセクション区分を利用しながら、具体的なラダーコマンドを補充していくことによりラダープログラムを作成できるので、ラダープログラムの作成が極めて効率的となり、且つ、仕様抜けなどのプログラムミスの可能性も大きく低減されることが理解できるであろう。
【００８３】
続いて、ラダープログラム作成装置１の変形例を説明する。本変形例に係るラダープログラム作成装置１は、アノテーション情報に関するテキストの表示を、外部ファイルとして記録された可読文書データを参照して行うものである。なお、ここで外部ファイルとは、ファイルシステム上、ラダープログラムとは独立して記憶されている電子データをいうものとする。
【００８４】
図９は、本変形例に係るラダープログラム作成装置１の機能的な構成例を示す機能ブロック図である。変形例に係るラダープログラム作成装置１では、図２に示した先の例と比較して、テキスト表示部１０がコメント全体ではなくアノテーション情報を参照するとともに、外部記憶装置１ｃを参照するように構成されている点が異なっている。その他の点及び、ラダープログラム作成装置１の物理的構成については先の例と違いはないので、重複する説明はこれを省略するものとする。
【００８５】
外部記憶装置１ｃには、可読文書のデータとして、図７に示した可読文書の可読文書データが記憶されているものとする。また、ラダープログラム作成装置１には、既にプロジェクトとして、図２を示して説明したラダープログラム「ｃｈａｒｔ１」〜「ｃｈａｒｔ４」が読み込まれており、ラダープログラム「ｃｈａｒｔ３」には、先の例と同じく、アノテーション情報として、「しおりＡ」〜「しおりＤ」が付加されているものとする。
【００８６】
ここで、図４のアノテーション情報がしおりである場合のデータ構造を参照し、しおり「しおりＡ」について詳細に説明すると、まず識別子の項目には、アノテーション情報を一意に識別し、またアノテーション情報の種類を識別する情報が含まれる。この識別子の構成は任意であるが、例えば、アノテーション情報のシリアル番号に、その種類を示す記号を付加したものとすると、「しおりＡ」については、具体的には、「００００１−ＢＭ」等としてよい。ここで、「００００１」はアノテーション情報のシリアル場号、「ＢＭ」はしおりを示す記号である。
【００８７】
しおり名はアノテーション名であり、ここでは「しおりＡ」である。順番・階層は、一例として、アノテーション情報表示領域１０３において付加される番号と同一のものを用いるならば、「１」である。隠しテキストは、特に設定されていないものとする。
【００８８】
そして、データ特定情報は、このアノテーション情報、すなわちしおり「しおりＡ」が参照すべき可読文書データのありかを特定する情報、例えばファイル参照である。このデータ特定情報を用いて、ラダープログラム作成装置１は、必要な可読文書データを特定しアクセスできる。
【００８９】
さらに、テキストデータ位置情報は、可読文書データ中において、しおり「しおりＡ」が関連するテキストのデータ位置を特定する情報である。このテキストデータ位置情報の例としては、例えば、ページ番号及び行番号が挙げられる。或いは、可読文書データ中に、例えばマークアップ言語によりメタデータを埋め込むことが可能である場合には、可読文書データ中にあらかじめメタデータとして各セクションの位置を示すラベルを付与しておき、テキストデータ位置情報として、かかるラベルを用いればよい。この方法によれば、後述するように、可読文書データが編集された場合にも、テキストデータの位置を正確に特定することができる。テキストデータ位置情報は、必要なテキストデータの範囲を指定するものであってもよいし、その先頭を指定するものであってもよい。
【００９０】
本変形例に係るテキスト表示部１０は、アノテーション情報選択部９によりアノテーション情報が選択されると、ラダープログラム記憶部３に記憶された、該当するアノテーション情報を参照する。そして、当該アノテーション情報のデータ特定情報を用いて、外部記憶装置１ｃに記憶された可読文書データにアクセスし、テキスト表示領域１０４に、当該可読文書データの、テキストデータ位置情報により特定される位置を、可読文書として表示する。この表示は、テキスト表示部１０が可読文書データを解釈して整形し、モニタ１ｈ上に表示することによってもよいし、別途用意された可読文書データのビューアによる表示をテキスト表示領域１０４に埋め込む手法によってもよい。
【００９１】
図１０は、本変形例に係るラダープログラム作成装置１のモニタ１ｈ上に表示される表示画面１００の一例を示す図である。同図は、先の例についての図３と対応する状態での表示画面１００を示しており、アノテーション情報選択部９により、アノテーション情報としてしおり「しおりＡ」が選択された状態である。
【００９２】
この状態では、テキスト表示部１０により、テキスト表示領域１０４には、外部データである可読文書データの、しおり「しおりＡ」に対応する個所が表示される。そして、ここでは、可読文書データの表示は別途用意された可読文書データのビューアによる表示が埋めこまれることによりなされているので、図示したように、テキスト表示領域１０４には、可読文書データの「しおりＡ」に対応する個所であるセクション「§１」を、単独でビューアにて閲覧した場合と同等の表示がなされる。
【００９３】
このように、テキスト表示領域１０４に外部ファイルである可読文書データを参照して、所定のアノテーション情報に係るテキストを表示することにより、ラダープログラムと独立して、可読文書データが編集されるなど変更が加えられた場合に、ラダープログラム作成装置１において、かかる変更を反映した表示をすることができる。これにより、例えばプロジェクトが複数名にて遂行され、ラダープログラムを作成するプログラマと、ラダープログラムの仕様を設計する仕様設計者が異なるケースにおいて、仕様設計者は、ラダープログラムの詳細を見ることなく、その仕様書である可読文書データに仕様変更を反映した変更を加え、プログラマは、変更後の可読文書データをラダープログラム作成装置１で参照しながら、ラダープログラムを修正することができる等、ラダープログラムに関する仕様変更に柔軟に対応することが可能となり、その生産性や保守性が大きく向上する。
【００９４】
なお、本変形例と、先の例とは、互いに排他的なものでなくてよく、相補的なものとしてよい。すなわち、ラダープログラム作成装置１は、先の例で説明した機能及び動作と、本変形例にて説明した機能及び動作の両方を備えるものとしてよい。その場合、テキスト表示部１０は、先の例のものとするか、変形例のものとするかをユーザが指定できるようにしてもよいし、可読文書データが生成・出力されていないラダープログラムについては、先の例に倣った動作をし、可読文書データが生成・出力されたラダープログラムについては、変形例に倣った動作をするものとしてもよい。
【００９５】
図１１〜図１９は、本実施形態に係るラダープログラム作成装置１の主要な動作を示すフロー図である。ここで示すフローは、上で説明したラダープログラム作成装置１の機能に関する部分を示すものであり、ラダープログラム作成装置１の全ての動作を網羅するものではない。
【００９６】
図１１はラダープログラム作成装置１による動作のフロー図である。まずラダープログラム作成装置１はステップＳＴ１にてラダープログラムのプロジェクトを読み込み、ステップＳＴ２にて表示画面１００のプロジェクト情報表示領域１０１に、ラダープログラムが属するプロジェクトに関する情報を表示させる。
【００９７】
次いで、ステップＳＴ３にて、アノテーション情報表示部８が、ラダープログラムに含まれるアノテーション情報を、当該ラダープログラムと関連付けてプロジェクト情報表示領域１０１に表示する。
【００９８】
そして、ステップＳＴ４にてユーザが指示を入力すると、その指示内容に応じたステップに進む。例えば、ステップＳＴ４にてユーザが、いずれのラダープログラムを編集するか選択すると、図１２に示すステップＳＴ５に進む。
【００９９】
図１２はラダープログラム選択動作のフロー図である。ステップＳＴ４にてユーザが編集するラダープログラムを選択すると、ステップＳＴ５において、プロジェクト情報表示領域１０１において、選択されたラダープログラム名を強調表示する。
【０１００】
次いで、ラダーチャート表示部４はステップＳＴ６にて、選択されたラダープログラムをラダーチャート表示領域１０２にラダーチャートとして表示し、ステップＳＴ７にて、当該ラダープログラムに含まれるコメント中のテキスト情報をラダーチャート表示領域１０２に表示されたラダーチャート中に挿入、表示する。
【０１０１】
次いでステップＳＴ８にて、順番階層表示部９は、選択されたラダープログラムに含まれるアノテーション情報について、そのアノテーション名を指定された順番及び階層を明示する態様で、アノテーション情報表示領域１０３に表示する。ステップＳＴ９では、表示制御部７が、選択されたラダープログラムに含まれるアノテーション情報を解釈し、その結果に応じてラダーチャート表示部４による表示を制御する。これにより、例えば、アノテーション情報がしおりである場合には、ラダーチャート表示領域１０２に当該アノテーション情報がしおりとして表示される。ステップＳＴ９が終了すると、ステップＳＴ４に戻り、再びユーザからの入力を待つ。
【０１０２】
ステップＳＴ４にてユーザが、プロジェクト情報表示領域１０１、ラダーチャート表示領域１０２及びアノテーション情報表示領域１０３等からアノテーション情報を選択した場合、図１３に示すステップＳＴ１０に進む。図１３はアノテーション情報選択動作のフロー図である。
【０１０３】
そして、ステップＳＴ１０において、選択されたアノテーション情報がしおりであるか判断する。アノテーション情報がしおりである場合はステップＳＴ１１に進み、表示制御部７は、選択されたしおりが付加された位置のラダーチャートがラダーチャート表示領域１０２に表示されるよう、ラダーチャート表示部４による表示を変更させる制御を行う。
【０１０４】
ステップＳＴ１０において、選択されたアノテーション情報がしおりでないと判断された場合はステップＳＴ１２に進み、当該アノテーション情報に応じた処理を行う。例えば、テキスト表示部１０は、選択したアノテーション情報についての各種情報をテキスト表示領域１０４にテキストとして表示する。
【０１０５】
ステップＳＴ１１、または、ステップＳＴ１２が終了するとステップＳＴ１３に進み、テキスト表示部１０が外部ファイルを参照するか否かを判断する。外部ファイルを参照しない場合はステップＳＴ１４に進み、テキスト表示部１０が、当該アノテーション情報に関連する情報をテキストとしてテキスト情報表示領域１０４に表示する。アノテーション情報に関連する情報は、先に述べたとおり、当該アノテーション情報が付されたコメント中のテキスト情報や、各種テキスト等である。
【０１０６】
なお、ステップＳＴ１３において、テキスト表示部１０が外部ファイルを参照する場合はステップＳＴ１５に進み、テキスト表示部１０は、ラダープログラム記憶部３に記憶されている、選択されたアノテーション情報を参照する。そして、当該アノテーション情報のデータ特定情報を用いて、外部記憶装置１ｃに記憶された可読文書データにアクセスし、テキスト表示領域１０４に、当該可読文書データの、テキストデータ位置情報により特定される位置を、可読文書として表示する。
【０１０７】
なお、ここで示したフローチャートにおけるステップＳＴ１３の制御は、前述した実施形態とその変形例を相補的なものとして、その両方の機能及び動作を備える場合のものである。ステップＳＴ１３における判断は、ユーザの指定に基いてなされてもよいし、種々の条件から、ラダーチャート作成装置１が自動的に行うものであってもよい。
【０１０８】
そして、ステップＳＴ１４またはステップＳＴ１５が終了すると、ステップＳＴ４に戻り、再びユーザからの入力を待つ。
【０１０９】
ステップＳＴ４にてユーザが、ラダーコマンド入力を指示した場合、図１４に示すステップＳＴ１６に進む。図１４はラダーコマンド入力動作のフロー図である。
【０１１０】
ステップＳＴ１６においては、ラダーコマンド作成部２が、受け付けたユーザからの入力に基いて、ラダーコマンドを作成して新たに追加する。次いでステップＳＴ１７に進み、ラダーチャート表示部４は、新たに作成されたラダーコマンドがラダーチャートとして表示されるよう、ラダーチャート表示領域１０２の表示を更新する。そして、ステップＳＴ１７が終了すると、ステップＳＴ４に戻り、再びユーザからの入力を待つ。
【０１１１】
ステップＳＴ４にてユーザが、コメントの付加を指示した場合、図１５に示すステップＳＴ１８に進む。図１５はコメント付加動作のフロー図である。ステップＳＴ１８において、コメント付加部５は、ラダープログラム中にコメントを付加し、ステップＳＴ１９にて、付加されたコメントにテキスト情報を追加する。そしてステップＳＴ２０に進み、ラダーチャート表示部４は、追加されたテキスト情報が、ラダーチャート中において、ラダープログラム中のコメントが付された位置に対応する位置に挿入され、テキストとして表示されるよう、ラダーチャート表示領域１０２の表示を更新する。そして、ステップＳＴ２３が終了すると、ステップＳＴ４に戻り、再びユーザからの入力を待つ。
【０１１２】
ステップＳＴ４にてユーザが、アノテーション情報の付加を指示した場合、図１６に示すステップＳＴ２１に進む。図１６はアノテーション情報付加動作のフロー図である。
【０１１３】
ステップＳＴ２１においては、アノテーション情報付加部６が、受け付けたユーザからの入力に基いて、ラダープログラム記憶部３に記憶されたコメント中にアノテーション情報を付加する。そしてステップＳＴ２２に進み、必要な表示の更新がなされる。例えば、アノテーション情報表示部８による、プロジェクト情報表示領域１０１に表示されたアノテーション名の一覧の更新、表示制御部７による、ラダーチャート表示部４のラダーチャート表示領域１０２への表示の制御、順番階層表示部９による、アノテーション情報表示領域１０３に表示されたアノテーション名の一覧の更新、及び、テキスト表示部１０によるテキスト表示領域１０４に表示されたテキストの表示の更新等が挙げられる。かかる表示の更新は、付加されたアノテーション情報の種別に応じたものとしてよい。そして、ステップＳＴ２２が終了すると、ステップＳＴ４に戻り、再びユーザからの入力を待つ。
【０１１４】
ステップＳＴ４にてユーザが、アノテーション名の順番や階層を指定した場合、図１７に示すステップＳＴ２３に進む。図１７は順番・階層指定動作のフロー図である。ステップＳＴ２３においては、順番階層指定部１３が、アノテーション名について順番や階層の指定を受け、ステップＳＴ２４において、該当するアノテーション情報を指定された順番や階層となるよう変更する。
【０１１５】
次いでステップＳＴ２５に進み、順番階層表示部９による、アノテーション情報表示領域１０３の表示を、新たに指定された順番及び階層を明示する態様となるよう更新する。そして、ステップＳＴ２５が終了すると、ステップＳＴ４に戻り、再びユーザからの入力を待つ。
【０１１６】
ステップＳＴ４にてユーザが、可読文書の出力を指示した場合、図１８に示すステップＳＴ２６に進む。図１８は可読文書出力動作のフロー図である。ステップＳＴ２６においてはテキスト情報関連付部１１が、各々のアノテーション情報に、それぞれテキスト情報を関連付ける。
【０１１７】
次いで、ステップＳＴ２７に進み、それぞれのアノテーション情報について、隠しテキストがあるか否かを判断する、隠しテキストがある場合はステップＳＴ２８に進み、隠しテキストがない場合はＳＴ２９に進む。ステップＳＴ２８においては、テキスト関連付部１１はアノテーション情報に隠しテキストを関連付ける。そしてステップＳＴ２９に進み、可読文書出力部１２は、アノテーション情報に関連付けられたテキスト情報、および、隠しテキストを可読文書として生成し、出力する。そして、ステップＳＴ２９が終了すると、ステップＳＴ４に戻り、再びユーザからの入力を待つ。
【０１１８】
ステップＳＴ４にてユーザが、基礎可読文書の読み込みを指示した場合、図１９に示すステップＳＴ３０に進む。図１９は基礎可読文書読み込み動作のフロー図である。ステップＳＴ３０において、基礎可読文書データ受付部１４は、外部記憶装置１ｃ等から基礎可読文書の電子データである基礎可読文書データを受け付け、ラダープログラム生成部１５へと受け渡す。
【０１１９】
次いでステップＳＴ３１に進み、ラダープログラム生成部１５は、基礎可読文書データを解析し、基礎可読文書データに含まれるテキストをブロックテキストに区分して特定するとともに、その順番及び階層を指定する。次いでステップＳＴ３２に進み、ラダープログラム生成部１５は、特定されたブロックテキスト毎に、そのブロックテキストを内容とするテキスト情報とアノテーション情報を含むコメントを生成することにより、コメントからなるラダープログラムを生成する。
【０１２０】
さらにラダープログラム生成部１５はステップＳＴ３３において、生成された新規のラダープログラムをプロジェクトに追加し、ステップＳＴ３４にてプロジェクト表示領域１０１の表示を、追加されたラダープログラムのラダープログラム名が表示されるよう更新する。そしてステップＳＴ３５に進み、アノテーション情報表示部８は、追加されたラダープログラム名に関連付けて、ラダープログラム生成部１５により生成されたアノテーション情報のアノテーション名が一覧表示されるよう、プロジェクト表示領域１０１の表示を更新する。次いでステップＳＴ３６に進み、ラダーチャート表示部４によりラダーチャート表示領域１０２に当該ラダープログラムがラダーチャートとして表示され、表示制御部７によりラダーチャート表示部４の表示が制御されることで、ラダーチャート表示領域１０２におけるラダーチャートの表示が更新される。そして、ステップＳＴ３６が終了すると、ステップＳＴ４に戻り、再びユーザからの入力を待つ。
【０１２１】
以上、本発明に係る実施形態について説明したが、この実施形態に示した具体的な構成は一例として示したものであり、本発明の技術的範囲をこれに限定することは意図されていない。当業者は、これら開示された実施形態を適宜変形してもよく、本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。
【符号の説明】
【０１２２】
１  ラダープログラム作成装置、２  ラダーコマンド作成部、３  ラダープログラム記憶部、４  ラダーチャート表示部、５  コメント付加部、６  アノテーション情報付加部、７  表示制御部、８  アノテーション情報表示部、９  アノテーション情報選択部、１１  テキスト情報関連付部、１２  可読文書出力部、１３  順番階層指定部、１４  基礎可読文書データ受付部、１５  ラダープログラム生成部、１００  表示画面、１０１  プロジェクト情報表示領域、１０２  ラダーチャート表示領域、１０３  アノテーション情報表示領域、１０４  テキスト表示領域。
【図１】
2016206910.tif 000003
【図２】
2016206910.tif 000004
【図３】
2016206910.tif 000005
【図４】
2016206910.tif 000006
【図５】
2016206910.tif 000007
【図６】
2016206910.tif 000008
【図７】
2016206910.tif 000009
【図８】
2016206910.tif 000010
【図９】
2016206910.tif 000011
【図１０】
2016206910.tif 000012
【図１１】
2016206910.tif 000013
【図１２】
2016206910.tif 000014
【図１３】
2016206910.tif 000015
【図１４】
2016206910.tif 000016
【図１５】
2016206910.tif 000017
【図１６】
2016206910.tif 000018
【図１７】
2016206910.tif 000019
【図１８】
2016206910.tif 000020
【図１９】
2016206910.tif 000021