本発明の発明者の見地によれば、作成されるラダーチャートが大規模なものとなると、ラダーチャート中にコメントを挿入したとしても、当該コメントを探索し、またそのコメントが付された行を参照するのに時間を要するようになり、ラダーチャートの作成効率が低下する。
そこで、発明者は、これを改善するべく、ラダープログラム中に、しおり等のアノテーション情報を新たに付加し、ラダーチャート作成支援装置が、かかるアノテーション情報を基に、ラダーチャート中の必要な場所を参照できるようにすることを検討している。ここで、新たに付加されたアノテーション情報は、すでに現存するラダーチャート作成支援ソフトウェアや、コントローラには正しく解釈されない。このため、このようなアノテーション情報の新たな付加は、ラダープログラムの互換性を損なうと予想される。
こうしたことから、発明者はさらに、ラダープログラムに新たにアノテーション情報を付加し、なおかつ、ラダープログラムの互換性を損なうことがないようなラダープログラム作成装置について鋭意研究開発を行い、新規かつ独創的なラダープログラム作成装置等を発明するに至った。以下、図面を参照しつつ、かかるラダープログラム作成装置等をその実施形態を例示して説明する。
図1は、本発明の実施形態に係るラダープログラム作成装置1の物理的な構成例を示すブロック図である。ラダープログラム作成装置1としては一般的なコンピューターを用いてよく、本実施形態においても、CPU(Central Processing Unit)1a、RAM(Random Access Memory)1b、外部記憶装置1c、GC(Graphics Controller)1d、入力デバイス1e及びI/O(Inpur/Output)1fがデータバス1gにより相互に電気信号のやり取りができるよう接続されている一般的なコンピューターを用いている。ここで、外部記憶装置1cはHDD(Hard Disk Drive)やSSD(Solid State Drive)等の静的に情報を記録できる装置である。またGC1dからの信号はCRT(Cathode Ray Tube)やいわゆるフラットパネルディスプレイ等の、使用者が視覚的に画像を認識するモニタ1hに出力され、画像として表示される。入力デバイス1eはキーボードやマウス、タッチパネル等の、ユーザが情報を入力するための機器であり、I/O1fはラダープログラム作成装置1が外部の機器と情報をやり取りするためのインタフェースである。コンピューターをラダープログラム作成装置1として機能させるためのアプリケーションプログラムは外部記憶装置1cにインストールされ、必要に応じてRAM1bに読みだされてCPU1aにより実行される。また、かかるプログラムは、適宜の光ディスク、光磁気ディスク、フラッシュメモリ等の適宜のコンピューター可読情報記録媒体に記録されて提供されても、インターネット等の情報通信回線を介して提供されてもよい。また、ラダープログラム作成装置1により作成されたラダープログラムは、I/O1fを介して接続されたPLC(Programmable Logic Controller)に転送され実行されてよい。
図2は、本発明の実施形態に係るラダープログラム作成装置1の機能的な構成例を示す機能ブロック図である。図2は本発明の実施形態に係るラダープログラム作成装置1の機能的な構成例を示す機能ブロック図である。本図に示す各機能ブロックは、上述のラダープログラム作成装置1の物理的構成を用いて、例えば、CPU1aにより所定のプログラムを実行したり、RAM1bや外部記憶装置1cに所定の情報を記憶する領域を割り当てたりすることにより仮想的に実現されており、ラダープログラム作成装置1が有する機能に着目して個別に示したものである。従って、本図に示す機能ブロックは必ずしもラダープログラム作成装置1の物理的構成や、ラダープログラム作成装置1が実行するプログラム自体が機能ブロック毎に区分されることを意味しない。また、本図にはラダープログラム作成装置1が有する全ての機能が示されているわけではなく、本発明と技術的関連の低い部分は省略されている。
ラダープログラム作成装置1は、公知のラダーチャートの作成支援ソフトウェアと同じく、GUI(Graphical User Interface)を用いてラダーコマンドを入力し、ラダープログラムを作成する機能を有している。ここでは、ラダーコマンド作成部2により、ラダーコマンドを適宜入力し作成することにより、ラダープログラムが作成される。
ラダーコマンド作成部2において作成したラダーコマンドは、ラダープログラム記憶部3にラダープログラムとして記憶される。ラダーチャート表示部4は、ラダープログラム記憶部3に記憶されたラダープログラムに含まれるラダーコマンドをラダーチャートとして、モニタ1hに表示する。ここで、ラダーコマンドはラダープログラムを構成する個別の命令であり、モニタ1h上では、接点、タイマ、コイル、分岐等の、ラダーチャートを構成する種々の図形として表示される。
本実施形態に係るラダープログラムには、コントローラにおいて解釈・実行されることにより、種々の機器の動作を制御する命令であるラダーコマンドと、コントローラにおいては無視され、機器の制御に影響しないコメントとが含まれる。コメント付加部5は、ラダープログラム中にコメントを付加する。コメントは、ユーザが編集可能なテキストであり、注釈やその他ユーザが自由に利用することができる。本実施形態に係るラダープログラム作成装置1では、コメントには単なるテキスト情報の他、ラダープログラムの表示に関する情報であるアノテーション情報が含まれる。
アノテーション情報付加部6は、ラダープログラム記憶部3に記憶されたコメント中にアノテーション情報を付加する。ここで、アノテーション情報とは、単なるテキストとして表示されるだけのものでなく、ラダープログラム作成装置1において解釈されることにより特定の処理が行われる等、特別の取り扱いがなされる情報を指すものとする。アノテーション情報は、コメント中のテキスト情報と区別し得る態様でコメントに付加される。そのような態様の一例として、例えば、いわゆるマークアップ言語を用いて、コメント中におけるアノテーション情報の範囲を明示してよい。
アノテーション情報には、いわゆるしおりとして取り扱われる情報や、ラダーチャート或いはコメントの書式に係る情報、ラダープログラムのバージョンや変更履歴に関する情報等のいわゆるメタデータ、ユーザに応じた閲覧・編集の制限を定めた権限情報等が含まれてよい。それぞれの情報には、さらに当該情報を特徴づける種々の情報が含まれてよく、例えば、当該情報がしおりである場合、後述するように、その識別子、名称、順番・階層、隠しテキスト、データ特定情報及びテキストデータ位置情報等を含んでよい。当該情報が変更履歴であるなら、変更前後のラダーコマンドとその変更日時及び変更者等を含んでよく、当該情報が書式情報であるなら、表示に係る色、反転、下線等の書式の指定と、その対象となる部分の指定が含まれていてよい。
ラダーチャート表示部4は、前述したように、ラダープログラム記憶部3に記憶されたラダープログラム中のラダーコマンドをラダーチャートとしてモニタ1hに表示するほか、ラダープログラム中のコメントに含まれるテキスト情報を、テキストとしてモニタ1hに表示する。このテキストは、ラダーチャート中において、ラダープログラム中のコメントが付された位置に対応する位置に挿入される。なお、ラダーチャート中におけるテキスト情報のテキスト表示の有無は、ユーザの指定により切り替えることができるようにしてもよい。
一方、コメントに含まれるアノテーション情報は、テキスト情報とは取り扱いが異なり、直ちにテキストとしては表示されず、表示制御部7により解釈され、その解釈結果に応じて、ラダーチャート表示部4による表示の制御に用いられる。すなわち、表示制御部7は、ラダーチャート表示部4による表示をアノテーション情報に基づいて制御する。ここで「表示」の「制御」とは、表示の態様を変更、管理することを意味している。表示の態様を変更する例としては、アノテーション情報が書式情報であるなら、ラダーチャート表示部4がモニタ1h上に表示するラダーチャートやテキストの色等の書式に係る表示の態様を変更するし、アノテーション情報が前述のしおりである場合には、以降例示して説明するように、しおりであることを示す表示をラダーチャート中に表示したり、しおりを選択することによって、当該しおりが付された位置のラダーチャートを表示することにより、表示の態様が変更される。また、表示の態様を管理する例としては、アノテーション情報が前述の権限情報であったり、変更履歴であったりする場合に、当該情報に応じてラダーチャートやテキストが表示され、或いは一部又は全体が非表示とされる等があげられる。
このように、本実施形態に係るラダープログラム作成装置1では、ラダープログラム中に付加されたアノテーション情報に基づいて、ラダーチャート表示部4によるラダーチャートやテキストの表示を制御することができる。これに加え、アノテーション情報は前述した通り、コメントに含まれるので、このアノテーション情報は、現存するラダーチャート作成支援ソフトウェアには単にコメントの一部として取り扱われ、また、現存するコントローラには無視されるので、ラダープログラムに新たにアノテーション情報が付加されることによる互換性の問題は生じない。
アノテーション情報表示部8は、複数のアノテーション情報について、各アノテーション情報の少なくとも一部を、モニタ1hの、ラダーチャートの表示領域及びコメントの表示領域とは異なる領域に一覧表示する。これは、ユーザがラダープログラムに付されたアノテーション情報を一覧できるようにする構成であるから、アノテーション情報表示部8により表示されるアノテーション情報の少なくとも一部には、各アノテーション情報を区別できる情報を用いればよく、例えば、アノテーション名を用いてよい。なお、アノテーション名は、アノテーション情報を容易に識別できるよう、アノテーション情報毎にユーザが設定するか、又はラダープログラム作成装置1が自動的に生成した名称であってよい。さらに、アノテーション情報表示部8は、アノテーション名を、当該アノテーション情報が付加されたラダープログラムを示すラダープログラム名に関連付けて一覧表示してよい。アノテーション情報表示部8により表示されるアノテーション名の順番は、ラダープログラム中の該当するアノテーション情報の位置を反映するものとしてよい。アノテーション情報表示部8による表示の具体的な態様については後述する。
また、本実施形態に係るラダープログラム作成装置1では、後述するように、アノテーション情報の順番及び階層を、編集中のラダープログラム内における位置とは独立に指定することができるようになっている。そのため、ラダープログラム作成装置1には、アノテーション情報表示部8に加え、順番階層表示部9が設けられており、かかる順番階層表示部9は、各アノテーション情報について指定された順番及び階層が明示される態様で、アノテーション名を一覧表示する。
したがって、順番階層表示部9により表示されるアノテーション名の順番は、必ずしもラダープログラム中の該当するアノテーション情報の位置を反映せず、指定された順番を反映するものであってよい。また、順番階層表示部9により表示されるアノテーション名は、順番及び階層が指定され得る種類のアノテーション情報についてのものであればよく、必ずしも全てのアノテーション情報について表示しなくてよい。順番階層表示部9による表示の具体的な態様についても後述する。
アノテーション情報選択部9はモニタ1hに一覧表示された一以上のアノテーション情報の少なくとも一部から、少なくとも1のアノテーション情報を選択する。この選択は、モニタ1h上で、ユーザが任意のポインティングデバイスその他の入力機器を使用して行われてよい。その結果、選択されたアノテーション情報は、表示制御部7に受け渡され、ラダーチャート表示部4による表示の制御に用いられる。具体的に、アノテーション情報がしおりである場合には、表示制御部7は、選択されたしおりが付加された位置のラダーチャートを、ラダーチャート表示部4に表示させる制御を行う。この動作は、ユーザからみると、一覧表示された中から任意のしおりを選択することにより、当該しおりが付された位置のラダーチャートを素早く表示させることができることになる。
また、アノテーション情報選択部9により選択されたアノテーション情報は、テキスト表示部10に受け渡され、テキスト表示部10は、ユーザが、選択したアノテーション情報に関して必要とする情報をテキストとして、モニタ1h上の適宜の位置に表示させてよい。
また、ユーザからの指示や、あらかじめ定められた所定のタイミングや条件に基づくラダープログラム作成装置1の自動実行により、テキスト情報関連付部11と可読文書出力部12は、ラダープログラム記憶部3に記憶されたラダープログラムに基づいて可読文書を生成し、出力する。
ここで、可読文書とは、自然言語によって記述され、ユーザがその内容を読み、理解することが可能な文書を指しているが、本実施形態に係るラダープログラム作成装置1では、特に、可読文書として、同文書に含まれるテキストが適切な単位で区分された態様のものを生成し、出力する。そのため、テキスト情報関連付部11は、少なくとも、コメントに含まれるテキスト情報を、当該コメントに付加されたアノテーション情報毎に関連付けるようになっている。そして、可読文書出力部12は、少なくともテキスト情報を、当該テキスト情報に関連付けられたアノテーション情報毎に区別できる態様で、可読文書として出力する。
すなわち、このテキスト情報関連付部11及び可読文書出力部12の動作は、アノテーション情報を単位としてテキストが区分された可読文書を生成することになる。一区分のテキストには、対応するアノテーション情報が付加されたコメントに含まれるテキスト情報が少なくとも含まれる。これにより、ラダープログラム中に適宜挿入したコメントを、アノテーション情報毎に区分された態様の可読文書として取り出すことができる。これを利用すれば、ラダープログラムの必要な個所に、そのプログラムの仕様や説明を、コメントを利用して書き込み、アノテーション情報を適宜設定してやることにより、セクション割りされた、可読性に優れた仕様書や説明書を自動作成することが可能である。
なお、テキスト情報関連付部11は、アノテーション情報に、前述の対応するテキスト情報以外のさらなる情報を関連付けてよい。例えば、アノテーション情報に、隠しテキストを関連付けてよい。ここで、隠しテキストとは、ラダーチャート表示部4により、ラダーチャート中に挿入され表示されることはないものの、コメントに含まれるテキストであって、前述のテキスト情報とは区別されるものである。本実施形態に係るラダープログラム作成装置1では、隠しテキストは、アノテーション情報に含まれ、ユーザが任意に利用可能である。隠しテキストの利用形態としては、具体的には、アノテーション自体の説明や注釈、備忘録や一時的なメモなどが挙げられる。隠しテキストは、ラダーチャートとは区別される態様で表示され、編集されてよい。
また、可読文書出力部12は、生成した可読文書を任意の態様で出力してよい。例えば、可読文書は、可読文書データとして、任意のファイル形式の電子データで外部記憶装置1cに出力され、保存されてよい。或いは、可読文書は、プリンタなどの印刷装置に出力され、紙媒体上に印刷されても、モニタ1hに出力され、モニタ1h上で閲覧されてもよい。これらの出力形式は、ユーザが選択できるようにしてもよい。
さらに、本実施形態に係るラダープログラム作成装置1は、可読文書において反映されるアノテーション情報の順番や階層を変更する機能を有していてよい。そのため、順番階層指定部13が設けられており、かかる順番階層指定部13は、順番階層表示部9により一覧表示されたアノテーション名の順番及び階層の少なくともいずれか、本実施形態では、その両方を指定する。各アノテーション名について指定された順番及び階層は、それぞれのアノテーション情報に記憶され、可読文書出力部12は、それら指定された順番及び階層に基づいて可読文書を出力する。
詳細は後述するが、これは、順番階層指定部13により各アノテーション情報について順番及び階層を指定することにより、各アノテーション情報がラダープログラム中において出現する順番とは独立に、可読文書中のアノテーション情報の順番を指定することができ、また、可読文書を階層化することができることを意味している。本発明の発明者の知見によれば、ラダープログラムに適宜テキストを付した場合に、各テキストがラダープログラム上で出現する順番は、それらテキストを可読文書として読んで理解するにあたって必ずしも適した順番ではない。そこで、本実施形態に係るラダープログラム作成装置1では、可読文書中のアノテーション情報の順番を指定し、それにより、区分されたテキストの可読文書中の順番を、ラダープログラム上での順番とは独立に変更することで、可読文書の可読性を飛躍的に高めることができるのである。さらに、各アノテーション情報についてその階層を指定することで、出力される可読文書を階層構造化でき、これによっても、可読文書の可読性をさらに高めることができるのである。
以上の説明では、ラダープログラム作成装置1は、作成したラダープログラムに付加されたコメント中のテキスト情報とアノテーション情報を用いて可読文書を作成し出力するものであったが、ラダープログラム作成装置1は、さらに、あらかじめ用意された可読文書(以降、「基礎可読文書」という。)に基づいて、アノテーション情報を有するコメントが付加されたラダープログラムを生成する機能を有していてよい。
そのため、ラダープログラム作成装置1には、基礎可読文書データ受付部14とラダープログラム生成部15が設けられている。基礎可読文書データ受付部14は、外部記憶装置1c等から基礎可読文書の電子データである基礎可読文書データを受け付ける。ここで、基礎可読文書とは、可読文書であって、同文書に含まれるテキストが適切な単位で区分された態様のものを指すものとする。ここで、基礎可読文書中の区分毎の一群のテキストをブロックテキストと称することとすると、基礎可読文書は、互いに区別できる態様の一又は複数のブロックテキストを含む可読文書であるといえる。
そして、ラダープログラム生成部15は、受け付けられた基礎可読文書データに含まれるブロックテキスト毎に、そのブロックテキストを内容とするテキスト情報と、アノテーション情報を含むコメントを生成する。その結果、ラダープログラム生成部15により、コメントからなるラダープログラムが生成されることとなる。生成されたラダープログラムは、ラダープログラム記憶部3に記憶され、ラダーチャート表示部4によりモニタ1h上に表示される。
ラダープログラム生成部15により生成されたラダープログラムは、説明より明らかなように、直ちにコントローラにおいて解釈・実行され、種々の機器の動作を制御しうるものではないが、ユーザがラダープログラムを作成する上では極めて有用である。すなわち、ラダープログラムを作成するにあたり、その仕様や説明が定められ、あらかじめ文書化されている場合に、かかる文書を基礎可読文書としてラダープログラム生成部15によりラダープログラムを生成すると、ラダープログラム作成装置1のモニタ1h上には、かかる仕様や説明がコメントとしてあらかじめ付加されたラダープログラムのひな型が表示されることになる。そして、仕様や説明等のコメントは、ブロックテキスト毎、すなわち、セクション毎に区分されていることになるから、ラダープログラムの作成者は、モニタ1h上のコメントを参照しながら、その仕様や説明に従ってラダープログラムを作成していけばよく、ラダープログラムの作成効率を大きく向上させることができる。また、仕様や説明の読み落とし等に起因するプログラムミスも低減させることができると考えられる。さらに、ブロックテキスト毎に生成されるアノテーション情報が、しおりである場合には、その仕様や説明毎に対応する位置のラダープログラムを直ちに参照することができるから、ラダープログラムの作成者の負担を大幅に軽減することができる。
なお、以上の説明では、ラダープログラム生成部15は基礎可読文書データに基いて、コメントのみからなるラダープログラムを作成するものとして説明したが、ラダープログラム生成部15は、さらに適切なラダーコマンドをも生成するものとしてよい。例えば、仕様上定型的に要求されるラダーコマンド(ラベルや自己保持回路等)を自動的に生成し追加してもよい。
続いて、以上説明したラダープログラム作成装置1の動作を、モニタ1hに表示される画面の例を参照しつつ説明する。
図3は、ラダープログラム作成装置1のモニタ1h上に表示される表示画面100の一例を示す図である。ここでは、表示画面100は、プロジェクト情報表示領域101、ラダーチャート表示領域102、アノテーション情報表示領域103、テキスト表示領域104に区分されている。
プロジェクト情報表示領域101には、編集しようとするラダープログラムが属するプロジェクトに関する情報が表示される。ここで、プロジェクトとは、関連して使用される1又は複数のラダープログラムを一まとまりとして取り扱う単位であり、この図の例では、対象となっているプロジェクトに4つのラダープログラムが属していることが示されている。プロジェクトに属する4つのラダープログラムには、それぞれ、「chart1」から「chart4」との名が付けられており、各ラダープログラムが親となるプロジェクトに属していることが、階層構造的に示されている。
また、現在編集中であるラダープログラムは、プロジェクト情報表示領域101において、強調表示される等して明示される。ここでは、編集中であるラダープログラムが「chart3」であるため、プロジェクト情報表示領域101においては「chart3」がハイライト表示等強調表示されている(図3では太字及び下線で強調表示されていることを示している)。なお、本明細書で「強調表示」とは、ある要素を、他の同種の要素と区別し得る態様で表示することをいうものとする。
ラダーチャート表示領域102には、編集中のラダープログラムがラダーチャートとして表示される。通常、ラダープログラムは長大であり、モニタ1h上にその全てを表示することはできないため、図示のように、ラダーチャート表示領域102には、ラダープログラムの一部分が表示されることになる。図3では、ラダーチャート表示領域102には、編集中のラダープログラムである「chart3」の一部分が表示されている。
また、ラダーチャート表示部4は、ラダーチャート表示領域102には、編集中のラダープログラムに含まれるコメントのテキスト情報のテキストを、ラダーチャート中に挿入して表示する。図3では、ラダーチャート表示部4により、ラダーチャート中に「テキストA」としてテキストが挿入され表示されている様子が示されている。
これに対し、コメントに含まれるアノテーション情報は、前述の通り、特別の取り扱いがなされる。ここでは、テキスト情報「テキストA」を含むコメントに、アノテーション情報として、アノテーション名「しおりA」であるようなしおりが付加されているものとすると、表示制御部7がかかるアノテーション情報を解釈し、それがしおりであると判断することにより、ラダーチャート表示領域102上の該当する位置には、「しおりA」という名のしおりが付されていることを明示する特別の表示がなされるように、ラダーチャート表示部4が制御される。この結果、図3に示すように、ラダーチャート中のしおり「しおりA」は、テキスト情報「テキストA」とは異なる態様、例えばしおり名がハイライト表示された行等の態様で表示されることになる。
さらに、アノテーション情報表示部8により、ラダープログラム「chart3」に含まれるアノテーション情報は、プロジェクト情報表示領域101において、当該ラダープログラムと関連付けられて表示される。ここで、ラダープログラム「chart3」には、アノテーション情報として、それぞれアノテーション名が「しおりA」、「しおりB」、「しおりC」及び「しおりD」である4つのしおりが含まれているとすると、プロジェクト情報表示領域101には、図示のように、ラダープログラム「chart3」に、しおり「しおりA」〜「しおりD」が属していることが階層構造的に表示される。また、この「しおりA」〜「しおりD」が表示される順番は、ラダープログラム「chart3」中のしおりの位置を反映したものであり、すなわち、ラダープログラム「chart3」中においてもしおり「しおりA」〜「しおりD」がこの順番で含まれることが示される。
ここで、アノテーション情報の具体的なデータ構造を、しおりを例にとって説明する。図4は、アノテーション情報がしおりである場合のデータ構造を示す図である。アノテーション情報には、アノテーション情報毎に付与される識別子と、該当アノテーション情報に基づいて特別の処理をするために必要な情報を含んでよく、ここで示す例では、アノテーション情報は、識別子に加え、しおり名、順番・階層、隠しテキスト、データ指定情報およびテキストデータ位置情報を含んでいる。ここで、しおり名は、アノテーション情報がしおりである場合のアノテーション名に該当する。順番・階層は順番階層指定部13により指定されるアノテーション情報の順番及び階層に関する情報である。その他の情報については後述する。
図3に示すアノテーション情報表示領域103には、編集中のラダープログラム「chart3」に含まれるアノテーション情報のアノテーション名が、順番階層表示部9により、それらの順番及び階層を明示する態様で一覧表示される。したがって、このアノテーション情報表示領域103には、順番又は階層を指定する必要のないアノテーション情報の名称は必ずしも表示する必要が無く、本実施形態に係るラダープログラム作成装置1では、しおりであるアノテーション情報のアノテーション名を表示するようになっている。順番及び階層の明示は、例えば図示したように、各アノテーション名の前にその順番を示す番号を付し、その順番に従った位置にアノテーション名を表示することによりなされる。なお、アノテーション情報の順番及び階層の初期値は任意であるが、一例として、ラダープログラム中の順番に従う順番で、同階層としてよい。したがって、各アノテーション情報について、何ら順番及び階層が指定されていない状態では、プロジェクト情報表示領域101に表示されているアノテーション名の順番と、アノテーション情報表示領域103に表示されているアノテーション名の順番は同じであってよい。
テキスト表示領域104には、選択されたアノテーション情報についての各種情報が、テキスト表示部10により、テキストとして表示される。アノテーション情報の選択は、例えば、GUIを用いて、プロジェクト情報表示領域101、ラダーチャート表示領域102及びアノテーション情報表示領域103に表示されたアノテーション名を指定することによりなされてよい。テキスト表示領域104に表示されるテキストは、ユーザが、選択したアノテーション情報に関して必要とする情報を示すものである。ここで示すように、選択されたアノテーション情報がしおり「しおりA」である場合には、当該しおりに関連付けられたテキスト情報「テキストA」及び、当該しおりが有する隠しテキストであってよい。さらに、テキスト表示領域にその他の情報、例えば、図4に示した識別子、しおり名、順番・階層、データ指定情報およびテキストデータ位置情報等を表示するようにしてもよい。また、テキスト表示領域104に表示されたテキストは、テキスト表示領域104上で編集可能としてよい。
続いて、理解を助けるため、ラダープログラム作成装置1が、モニタ1hに図3に示す表示画面100を表示するに至る動作の例について簡単に説明する。なお、ラダープログラム作成装置1の動作についてはさらに後述する。まず、ラダープログラム作成装置1が起動され、プロジェクトが選択された状態では、プロジェクト情報表示領域101への表示のみがなされており、ラダーチャート表示領域102、アノテーション情報表示領域103及びテキスト表示領域104には何も表示されていない状態である。このとき、プロジェクト表示領域101には、図3に示したように、プロジェクトに属するラダープログラムに含まれるアノテーション情報のアノテーション名が表示された状態であってもよいし、プロジェクトに属するラダープログラムのみが示されていてもよく、その場合には、次に述べるようにラダープログラムが選択されることにより、当該ラダープログラムに含まれるアノテーション情報のアノテーション名の一覧が表示されるようにするとよい。
次にユーザがラダープログラム「chart3」を選択すると、アノテーション情報表示領域103で「chart3」が強調表示されるとともに、ラダーチャート表示領域102にラダープログラム「chart3」の所定の位置、ここでは先頭部分がラダーチャートとして表示され、また、アノテーション情報表示領域103に、当該ラダープログラム「chart3」に含まれるアノテーション情報のアノテーション名が、指定された順番及び階層に従って表示される。ここでは、アノテーション情報である「しおりA」〜「しおりD」は、ラダープログラム中の出現順の順番のまま、その順番や階層は変更されていないため、その順番を示す番号1〜4がそれぞれ付されて表示される。
さらに、ユーザがプロジェクト表示領域101又はアノテーション表示領域103において「しおりA」を選択すると、ラダーチャート表示領域102には、ラダープログラム「chart3」中、当該しおり「しおりA」が付されている位置(すなわち、アノテーション名「しおりA」であるしおりを含むコメントが付加されている位置)をラダーチャートとして図3に示すように表示する。同時に、テキスト表示領域104には、選択されたアノテーション情報であるしおり「しおりA」に関しユーザが必要とする情報が表示される。ここでは、しおり「しおりA」に対応付けられたテキスト情報である「テキストA」と、もし設定されているならば、しおり「しおりA」に含まれる隠しテキストが表示される。図3に示した表示画面100は、この状態を示すものである。
なお、ラダープログラム作成装置1におけるラダーコマンドの作成・編集や、アノテーション情報の作成・編集は、GUIやキーボード等の適宜の入力機器を用いて、ラダーチャート表示領域102上で行えるものとしてよい。もちろん、さらにダイアログボックスを表示したり、コマンドメニューやショートカットキーを使用可能としたりする等、複数の入力方法を用意して差し支えない。
続いて、図3に示した状態でラダープログラム「chart3」について可読文書を生成し出力することを考える。ユーザの指示等の適宜の指定により、ラダープログラム作成装置1は、前述のテキスト情報関連付部11及び可読文書出力部12により可読文書を生成し、出力する。
このとき、可読文書として出力される際のアノテーション情報の順番及び階層は、現在指定されている順番及び階層に従う。したがって、この例では、しおり「しおりA」〜「しおりD」がこの順番で、同階層となる。そして、各々のしおりには、それぞれ、「テキストA」〜「テキストD」が関連付けられる。
図5は、ラダープログラム作成装置1により出力される可読文書の例を示す図である。図示のように、ここで示した可読文書では、「テキストA」〜「テキストD」がこの順番で互いに区別し得る態様、この例ではセクション割りされて配置される。また、それぞれのテキストには、対応するアノテーション情報のアノテーション名である「しおりA」〜「しおりD」が個々の節のタイトルとして付されている。さらに、タイトルの前には、アノテーション情報の順番及び階層を示す記号として、ここではセクション番号が「§1」〜「§4」のように付されている。各アノテーション間は同階層であるため、セクション番号は、単なる連続番号である。
なお、ここで示した例では、しおり「しおりA」〜「しおりD」はいずれも、隠しテキストが設定されていないものとしたため、図5に示した可読文書には隠しテキストは現れないが、隠しテキストが設定されている場合には、テキスト情報関連付部11はアノテーション情報に隠しテキストを関連付け、可読文書出力部12が出力する可読文書の各セクションには、さらに隠しテキストが含まれるものとしてもよい。テキスト情報関連付部11は、さらに他のテキスト、例えば、外部のファイルをアノテーション情報に関連付けるものとしてもよい。
上の例では、アノテーション情報の順番及び階層は、その初期状態から何ら変更されることはなかったので、可読文書におけるアノテーション情報に対応するテキストの順番は、ラダープログラム中における順番と一致しており、また、全てのテキストは同階層のセクションとされていた。ここで、可読文書をより理解しやすいものとするため、可読文書に出力すべきテキストの順番と階層を変更することを考える。
図6は、アノテーション名の順番及び階層を指定する様子を説明する図である。図6中、アノテーション情報表示領域103aは、順番及び階層を指定する前のもの、同図中、アノテーション情報表示領域103bは、順番及び階層を指定した後のものを示す。なお、アノテーション情報表示領域103a及びアノテーション情報表示領域103bは、図3に示したアノテーション情報表示領域103のみを抜粋して示した図となっている。
ここで、アノテーション情報表示領域103aの状態において、順番階層指定部13により、「しおりD」の順番を最後尾から、「しおりA」と「しおりD」の間に変更し、また、「しおりC」の階層を一段下げ、「しおりB」の下位となるように変更する指定をするものとする。この指定は、具体的には、一例として、GUIを用いて、「しおりD」を「しおりA」と「しおりB」の間にドラッグ&ドロップし(図中操作(1))、さらに、「しおりC」を画面右方向にドラッグする(図中操作(2))するなどに依ればよい。この結果、アノテーション情報表示領域103bに示すように、「しおりA」〜「しおりD」の順番は変更され、「しおりD」が「しおりA」と「しおりB」の間の位置に表示されるとともに、「しおりC」は、他のアノテーション名から右側にインデントされ、階層が下であることが明示される。また、ここで示した例では、指定後の順番及び階層を示す番号が各アノテーション名の前に付されている。本実施形態にかかるラダープログラム作成装置では、この番号は、可読文書が生成され、出力される際の、各セクションのセクション番号と一致する。したがって、アノテーション情報表示領域103bには、出力されるであろう可読文書のセクション構成(いわゆる章立て)が示されることとなるから、かかる表示は、可読文書の目次として理解することができ、可読文書の生成及び出力を待たずに、出力される可読文書の構成を一瞥して理解することができる。
このアノテーション情報表示領域103bに示した状態で可読文書を生成し、出力した例を図7に示す。図5に示した可読文書と比較すると、各アノテーション情報間の順番が指定された様に変更されており、また、階層構造が示されているため、その内容の理解が容易となることが見て取れる。
ところで、本実施形態に係るラダープログラム作成装置1では、図3に示したように、アノテーション情報表示部8により、プロジェクト表示領域101に、アノテーション名を、該当するアノテーション情報が含まれるラダープログラムに関連付ける態様で、一覧表示すると同時に、順番階層表示部9により、アノテーション情報表示領域103に、順番及び階層の指定に係るアノテーション情報のアノテーション情報を、その順番及び階層を明示する態様で一覧表示させている。
この理由は、主に次のようなものである。まず、プロジェクト表示領域101に関しては、これはラダープログラムを作成または編集しようとするユーザが、実際に作成しあるいは編集する対象のラダープログラムの構成や他のラダープログラムとの関係を把握しやすくすることをその目的の一つとしているため、ここでは、各アノテーション情報がどのラダープログラムに属しているのか、どのようなアノテーション情報がラダープログラムに付されているのか、また、各アノテーション情報がラダープログラム中にどの順番で付されているのか、が把握できる態様で表示されてよい。そのため、アノテーション情報表示部8は、各アノテーション名を、その属するラダープログラムに関連付ける態様で全て表示し、またその順番は、ラダープログラム中のアノテーション情報の順番通りである。
これに対し、アノテーション情報表示部8は、これはユーザが、生成され出力されるであろう可読文書の構成を一瞥して理解することをその目的の一つとしているため、ここでは、表示されるアノテーション名は、出力される可読文書に関連するものであれば足り、また、その順番も出力される可読文書における順番と一致しており、階層をも表示するものであってよい。そのため、順番階層表示部9は、しおりであるアノテーション情報についてアノテーション名を表示し、又その表示の際には各アノテーション情報について指定された順番及び階層を明示するのであり、アノテーション情報表示部8による表示とは異なる態様となる。
しかしながら、必ずしもこれら2つのアノテーション名の一覧表示を同時にすることは必須でなく、いずれか片方のみの表示としてもよいし、随時これらの表示を切り替えることができるようにしてもよい。例えば、アノテーション情報表示領域103を省略し、順番階層指定部13は、プロジェクト表示領域101上で、各アノテーション情報についてその順番及び階層を指定するようにしてもよい。
続いて、ラダープログラム作成装置1を用いて、基礎可読文書からラダープログラムを生成することを考える。ここでは、基礎可読文書の例として、先の図7に示した文書が電子データで用意されているものとする。
基礎可読文書データ受付部14は、図7に示す基礎可読文書の基礎可読文書データを受け付け、ラダープログラム生成部15へと受け渡す。ラダープログラム生成部は、基礎可読文書データを解析し、基礎可読文書データに含まれるテキストをブロックテキストに分割し、ブロックテキストと同数のコメントを作成して、ブロックテキストはそれぞれのコメント中のテキスト情報とする。
さらに、ラダープログラム生成部15は、生成されたコメントにそれぞれアノテーション情報、ここではしおりを作成して付加する。このとき、各しおりのアノテーション名と順番・階層は、基礎可読文書データを解析した際に、ブロックテキストとして認識されたテキストにつけられたタイトルやセクション番号に基いて自動的に定めてよい。例えば、図7に示した例では、各セクションにつけられたタイトルである、「しおりA」、「しおりD」、「しおりB」及び「しおりC」がそれぞれのアノテーション名として、また、セクション番号である「§1」、「§2」、「§3」及び「§3−1」が順番及び階層を示すものとして用いられる。
図8は、図7に示す基礎可読文書に基づいてラダープログラムを生成した際の、ラダープログラム作成装置1のモニタ1h上に表示される表示画面100の一例を示す図である。同図に示すように、プロジェクト表示領域101には、プロジェクトに新規にラダープログラム「chart1」が追加され、かかるラダープログラムには、アノテーション情報が図示の順番で4つ含まれていることが示されている。なお、ここでは、アノテーション情報として、しおりが用いられている。各アノテーション名は、基礎可読文書の各セクションのセクションタイトルであり、その順番は、基礎可読文書におけるセクションの順番に等しい。
ラダーチャート表示領域102には、作成されたラダープログラムがラダーチャートとして表示される。ここでは、ラダーコマンドはまだ存在していないため、基礎可読文書の各セクションに対応して生成された各コメントのアノテーション情報とテキスト情報が表示されている。たとえば、同領域の最上段に表示されたコメントについて説明すると、まず、アノテーション名が「しおりA」であるしおりが付されていることが示され、その下に、当該しおりに対応するテキスト情報である「テキストA」が表示されている。これは、基礎可読文書におけるセクション「§1」に対応して生成されたものである。「しおりD」以降も同様である。
さらに、アノテーション情報表示領域103には、生成されたアノテーション情報であるしおりのアノテーション名が一覧表示される。ここで、各アノテーション情報の順番は、基礎可読文書に登場する順番通りであるが、階層については、基礎可読文書中において、「しおりC」がセクション「§3−1」として一階層低い階層であることが示されていた。そのため、アノテーション名が「しおりC」であるアノテーション情報についても、一階層低いことが順番・階層として記憶され、アノテーション情報表示領域103においても、「3−1」として一階層低いものであることが明示される態様で表示されることになる。
テキスト表示領域104には、現時点でいかなるアノテーション情報に対してもユーザによる選択がなされていないので、何も表示されていない。
このように、ラダープログラム作成装置1が、基礎可読文書データに基づいて、アノテーション情報及びテキスト情報を含むコメントが付加されたラダープログラムを自動生成すると、ラダープログラムの作成者は、あとは表示画面100に表示されたテキストやセクション区分を利用しながら、具体的なラダーコマンドを補充していくことによりラダープログラムを作成できるので、ラダープログラムの作成が極めて効率的となり、且つ、仕様抜けなどのプログラムミスの可能性も大きく低減されることが理解できるであろう。
続いて、ラダープログラム作成装置1の変形例を説明する。本変形例に係るラダープログラム作成装置1は、アノテーション情報に関するテキストの表示を、外部ファイルとして記録された可読文書データを参照して行うものである。なお、ここで外部ファイルとは、ファイルシステム上、ラダープログラムとは独立して記憶されている電子データをいうものとする。
図9は、本変形例に係るラダープログラム作成装置1の機能的な構成例を示す機能ブロック図である。変形例に係るラダープログラム作成装置1では、図2に示した先の例と比較して、テキスト表示部10がコメント全体ではなくアノテーション情報を参照するとともに、外部記憶装置1cを参照するように構成されている点が異なっている。その他の点及び、ラダープログラム作成装置1の物理的構成については先の例と違いはないので、重複する説明はこれを省略するものとする。
外部記憶装置1cには、可読文書のデータとして、図7に示した可読文書の可読文書データが記憶されているものとする。また、ラダープログラム作成装置1には、既にプロジェクトとして、図2を示して説明したラダープログラム「chart1」〜「chart4」が読み込まれており、ラダープログラム「chart3」には、先の例と同じく、アノテーション情報として、「しおりA」〜「しおりD」が付加されているものとする。
ここで、図4のアノテーション情報がしおりである場合のデータ構造を参照し、しおり「しおりA」について詳細に説明すると、まず識別子の項目には、アノテーション情報を一意に識別し、またアノテーション情報の種類を識別する情報が含まれる。この識別子の構成は任意であるが、例えば、アノテーション情報のシリアル番号に、その種類を示す記号を付加したものとすると、「しおりA」については、具体的には、「00001−BM」等としてよい。ここで、「00001」はアノテーション情報のシリアル場号、「BM」はしおりを示す記号である。
しおり名はアノテーション名であり、ここでは「しおりA」である。順番・階層は、一例として、アノテーション情報表示領域103において付加される番号と同一のものを用いるならば、「1」である。隠しテキストは、特に設定されていないものとする。
そして、データ特定情報は、このアノテーション情報、すなわちしおり「しおりA」が参照すべき可読文書データのありかを特定する情報、例えばファイル参照である。このデータ特定情報を用いて、ラダープログラム作成装置1は、必要な可読文書データを特定しアクセスできる。
さらに、テキストデータ位置情報は、可読文書データ中において、しおり「しおりA」が関連するテキストのデータ位置を特定する情報である。このテキストデータ位置情報の例としては、例えば、ページ番号及び行番号が挙げられる。或いは、可読文書データ中に、例えばマークアップ言語によりメタデータを埋め込むことが可能である場合には、可読文書データ中にあらかじめメタデータとして各セクションの位置を示すラベルを付与しておき、テキストデータ位置情報として、かかるラベルを用いればよい。この方法によれば、後述するように、可読文書データが編集された場合にも、テキストデータの位置を正確に特定することができる。テキストデータ位置情報は、必要なテキストデータの範囲を指定するものであってもよいし、その先頭を指定するものであってもよい。
本変形例に係るテキスト表示部10は、アノテーション情報選択部9によりアノテーション情報が選択されると、ラダープログラム記憶部3に記憶された、該当するアノテーション情報を参照する。そして、当該アノテーション情報のデータ特定情報を用いて、外部記憶装置1cに記憶された可読文書データにアクセスし、テキスト表示領域104に、当該可読文書データの、テキストデータ位置情報により特定される位置を、可読文書として表示する。この表示は、テキスト表示部10が可読文書データを解釈して整形し、モニタ1h上に表示することによってもよいし、別途用意された可読文書データのビューアによる表示をテキスト表示領域104に埋め込む手法によってもよい。
図10は、本変形例に係るラダープログラム作成装置1のモニタ1h上に表示される表示画面100の一例を示す図である。同図は、先の例についての図3と対応する状態での表示画面100を示しており、アノテーション情報選択部9により、アノテーション情報としてしおり「しおりA」が選択された状態である。
この状態では、テキスト表示部10により、テキスト表示領域104には、外部データである可読文書データの、しおり「しおりA」に対応する個所が表示される。そして、ここでは、可読文書データの表示は別途用意された可読文書データのビューアによる表示が埋めこまれることによりなされているので、図示したように、テキスト表示領域104には、可読文書データの「しおりA」に対応する個所であるセクション「§1」を、単独でビューアにて閲覧した場合と同等の表示がなされる。
このように、テキスト表示領域104に外部ファイルである可読文書データを参照して、所定のアノテーション情報に係るテキストを表示することにより、ラダープログラムと独立して、可読文書データが編集されるなど変更が加えられた場合に、ラダープログラム作成装置1において、かかる変更を反映した表示をすることができる。これにより、例えばプロジェクトが複数名にて遂行され、ラダープログラムを作成するプログラマと、ラダープログラムの仕様を設計する仕様設計者が異なるケースにおいて、仕様設計者は、ラダープログラムの詳細を見ることなく、その仕様書である可読文書データに仕様変更を反映した変更を加え、プログラマは、変更後の可読文書データをラダープログラム作成装置1で参照しながら、ラダープログラムを修正することができる等、ラダープログラムに関する仕様変更に柔軟に対応することが可能となり、その生産性や保守性が大きく向上する。
なお、本変形例と、先の例とは、互いに排他的なものでなくてよく、相補的なものとしてよい。すなわち、ラダープログラム作成装置1は、先の例で説明した機能及び動作と、本変形例にて説明した機能及び動作の両方を備えるものとしてよい。その場合、テキスト表示部10は、先の例のものとするか、変形例のものとするかをユーザが指定できるようにしてもよいし、可読文書データが生成・出力されていないラダープログラムについては、先の例に倣った動作をし、可読文書データが生成・出力されたラダープログラムについては、変形例に倣った動作をするものとしてもよい。
図11〜図19は、本実施形態に係るラダープログラム作成装置1の主要な動作を示すフロー図である。ここで示すフローは、上で説明したラダープログラム作成装置1の機能に関する部分を示すものであり、ラダープログラム作成装置1の全ての動作を網羅するものではない。
図11はラダープログラム作成装置1による動作のフロー図である。まずラダープログラム作成装置1はステップST1にてラダープログラムのプロジェクトを読み込み、ステップST2にて表示画面100のプロジェクト情報表示領域101に、ラダープログラムが属するプロジェクトに関する情報を表示させる。
次いで、ステップST3にて、アノテーション情報表示部8が、ラダープログラムに含まれるアノテーション情報を、当該ラダープログラムと関連付けてプロジェクト情報表示領域101に表示する。
そして、ステップST4にてユーザが指示を入力すると、その指示内容に応じたステップに進む。例えば、ステップST4にてユーザが、いずれのラダープログラムを編集するか選択すると、図12に示すステップST5に進む。
図12はラダープログラム選択動作のフロー図である。ステップST4にてユーザが編集するラダープログラムを選択すると、ステップST5において、プロジェクト情報表示領域101において、選択されたラダープログラム名を強調表示する。
次いで、ラダーチャート表示部4はステップST6にて、選択されたラダープログラムをラダーチャート表示領域102にラダーチャートとして表示し、ステップST7にて、当該ラダープログラムに含まれるコメント中のテキスト情報をラダーチャート表示領域102に表示されたラダーチャート中に挿入、表示する。
次いでステップST8にて、順番階層表示部9は、選択されたラダープログラムに含まれるアノテーション情報について、そのアノテーション名を指定された順番及び階層を明示する態様で、アノテーション情報表示領域103に表示する。ステップST9では、表示制御部7が、選択されたラダープログラムに含まれるアノテーション情報を解釈し、その結果に応じてラダーチャート表示部4による表示を制御する。これにより、例えば、アノテーション情報がしおりである場合には、ラダーチャート表示領域102に当該アノテーション情報がしおりとして表示される。ステップST9が終了すると、ステップST4に戻り、再びユーザからの入力を待つ。
ステップST4にてユーザが、プロジェクト情報表示領域101、ラダーチャート表示領域102及びアノテーション情報表示領域103等からアノテーション情報を選択した場合、図13に示すステップST10に進む。図13はアノテーション情報選択動作のフロー図である。
そして、ステップST10において、選択されたアノテーション情報がしおりであるか判断する。アノテーション情報がしおりである場合はステップST11に進み、表示制御部7は、選択されたしおりが付加された位置のラダーチャートがラダーチャート表示領域102に表示されるよう、ラダーチャート表示部4による表示を変更させる制御を行う。
ステップST10において、選択されたアノテーション情報がしおりでないと判断された場合はステップST12に進み、当該アノテーション情報に応じた処理を行う。例えば、テキスト表示部10は、選択したアノテーション情報についての各種情報をテキスト表示領域104にテキストとして表示する。
ステップST11、または、ステップST12が終了するとステップST13に進み、テキスト表示部10が外部ファイルを参照するか否かを判断する。外部ファイルを参照しない場合はステップST14に進み、テキスト表示部10が、当該アノテーション情報に関連する情報をテキストとしてテキスト情報表示領域104に表示する。アノテーション情報に関連する情報は、先に述べたとおり、当該アノテーション情報が付されたコメント中のテキスト情報や、各種テキスト等である。
なお、ステップST13において、テキスト表示部10が外部ファイルを参照する場合はステップST15に進み、テキスト表示部10は、ラダープログラム記憶部3に記憶されている、選択されたアノテーション情報を参照する。そして、当該アノテーション情報のデータ特定情報を用いて、外部記憶装置1cに記憶された可読文書データにアクセスし、テキスト表示領域104に、当該可読文書データの、テキストデータ位置情報により特定される位置を、可読文書として表示する。
なお、ここで示したフローチャートにおけるステップST13の制御は、前述した実施形態とその変形例を相補的なものとして、その両方の機能及び動作を備える場合のものである。ステップST13における判断は、ユーザの指定に基いてなされてもよいし、種々の条件から、ラダーチャート作成装置1が自動的に行うものであってもよい。
そして、ステップST14またはステップST15が終了すると、ステップST4に戻り、再びユーザからの入力を待つ。
ステップST4にてユーザが、ラダーコマンド入力を指示した場合、図14に示すステップST16に進む。図14はラダーコマンド入力動作のフロー図である。
ステップST16においては、ラダーコマンド作成部2が、受け付けたユーザからの入力に基いて、ラダーコマンドを作成して新たに追加する。次いでステップST17に進み、ラダーチャート表示部4は、新たに作成されたラダーコマンドがラダーチャートとして表示されるよう、ラダーチャート表示領域102の表示を更新する。そして、ステップST17が終了すると、ステップST4に戻り、再びユーザからの入力を待つ。
ステップST4にてユーザが、コメントの付加を指示した場合、図15に示すステップST18に進む。図15はコメント付加動作のフロー図である。ステップST18において、コメント付加部5は、ラダープログラム中にコメントを付加し、ステップST19にて、付加されたコメントにテキスト情報を追加する。そしてステップST20に進み、ラダーチャート表示部4は、追加されたテキスト情報が、ラダーチャート中において、ラダープログラム中のコメントが付された位置に対応する位置に挿入され、テキストとして表示されるよう、ラダーチャート表示領域102の表示を更新する。そして、ステップST23が終了すると、ステップST4に戻り、再びユーザからの入力を待つ。
ステップST4にてユーザが、アノテーション情報の付加を指示した場合、図16に示すステップST21に進む。図16はアノテーション情報付加動作のフロー図である。
ステップST21においては、アノテーション情報付加部6が、受け付けたユーザからの入力に基いて、ラダープログラム記憶部3に記憶されたコメント中にアノテーション情報を付加する。そしてステップST22に進み、必要な表示の更新がなされる。例えば、アノテーション情報表示部8による、プロジェクト情報表示領域101に表示されたアノテーション名の一覧の更新、表示制御部7による、ラダーチャート表示部4のラダーチャート表示領域102への表示の制御、順番階層表示部9による、アノテーション情報表示領域103に表示されたアノテーション名の一覧の更新、及び、テキスト表示部10によるテキスト表示領域104に表示されたテキストの表示の更新等が挙げられる。かかる表示の更新は、付加されたアノテーション情報の種別に応じたものとしてよい。そして、ステップST22が終了すると、ステップST4に戻り、再びユーザからの入力を待つ。
ステップST4にてユーザが、アノテーション名の順番や階層を指定した場合、図17に示すステップST23に進む。図17は順番・階層指定動作のフロー図である。ステップST23においては、順番階層指定部13が、アノテーション名について順番や階層の指定を受け、ステップST24において、該当するアノテーション情報を指定された順番や階層となるよう変更する。
次いでステップST25に進み、順番階層表示部9による、アノテーション情報表示領域103の表示を、新たに指定された順番及び階層を明示する態様となるよう更新する。そして、ステップST25が終了すると、ステップST4に戻り、再びユーザからの入力を待つ。
ステップST4にてユーザが、可読文書の出力を指示した場合、図18に示すステップST26に進む。図18は可読文書出力動作のフロー図である。ステップST26においてはテキスト情報関連付部11が、各々のアノテーション情報に、それぞれテキスト情報を関連付ける。
次いで、ステップST27に進み、それぞれのアノテーション情報について、隠しテキストがあるか否かを判断する、隠しテキストがある場合はステップST28に進み、隠しテキストがない場合はST29に進む。ステップST28においては、テキスト関連付部11はアノテーション情報に隠しテキストを関連付ける。そしてステップST29に進み、可読文書出力部12は、アノテーション情報に関連付けられたテキスト情報、および、隠しテキストを可読文書として生成し、出力する。そして、ステップST29が終了すると、ステップST4に戻り、再びユーザからの入力を待つ。
ステップST4にてユーザが、基礎可読文書の読み込みを指示した場合、図19に示すステップST30に進む。図19は基礎可読文書読み込み動作のフロー図である。ステップST30において、基礎可読文書データ受付部14は、外部記憶装置1c等から基礎可読文書の電子データである基礎可読文書データを受け付け、ラダープログラム生成部15へと受け渡す。
次いでステップST31に進み、ラダープログラム生成部15は、基礎可読文書データを解析し、基礎可読文書データに含まれるテキストをブロックテキストに区分して特定するとともに、その順番及び階層を指定する。次いでステップST32に進み、ラダープログラム生成部15は、特定されたブロックテキスト毎に、そのブロックテキストを内容とするテキスト情報とアノテーション情報を含むコメントを生成することにより、コメントからなるラダープログラムを生成する。
さらにラダープログラム生成部15はステップST33において、生成された新規のラダープログラムをプロジェクトに追加し、ステップST34にてプロジェクト表示領域101の表示を、追加されたラダープログラムのラダープログラム名が表示されるよう更新する。そしてステップST35に進み、アノテーション情報表示部8は、追加されたラダープログラム名に関連付けて、ラダープログラム生成部15により生成されたアノテーション情報のアノテーション名が一覧表示されるよう、プロジェクト表示領域101の表示を更新する。次いでステップST36に進み、ラダーチャート表示部4によりラダーチャート表示領域102に当該ラダープログラムがラダーチャートとして表示され、表示制御部7によりラダーチャート表示部4の表示が制御されることで、ラダーチャート表示領域102におけるラダーチャートの表示が更新される。そして、ステップST36が終了すると、ステップST4に戻り、再びユーザからの入力を待つ。
以上、本発明に係る実施形態について説明したが、この実施形態に示した具体的な構成は一例として示したものであり、本発明の技術的範囲をこれに限定することは意図されていない。当業者は、これら開示された実施形態を適宜変形してもよく、本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。