(57)【特許請求の範囲】
【請求項１】
実行コードから逆変換されたテキスト記述型プログラムの開発支援装置が備える演算装置に実行させる開発支援プログラムであって、
前記実行コードに対応するデータベースを取得することと、
前記テキスト記述型プログラムのプログラムリストに記述されている演算式テキストを、前記開発支援装置が備える表示部上の所定の演算式表示領域に表示することと、
前記演算式テキストから記憶領域のアドレスで表記した演算変数テキストを抽出することと、
前記データベースを参照して前記演算変数テキストに対応するコメント変数テキストを取得することと、
前記演算式テキスト中の前記演算変数テキストを前記コメント変数テキストに置換して前記コメント変数テキストと演算子テキストを含んだテキスト列で式対応コメントテキストを生成することと、
前記演算式表示領域に対応するコメント表示領域に前記式対応コメントテキストを表示することと、
を実行することを特徴とする開発支援プログラム。
【請求項２】
前記コメント表示領域における前記コメント変数テキストの表示文字数は、任意に設定可能であることを特徴とする請求項１記載の開発支援プログラム。
【請求項３】
ＧＵＩ上で前記コメント表示領域における前記コメント変数テキストの表示領域にカーソルを重ねた際に、バルーンヘルプで当該コメント変数テキストを全文字数で表示することを特徴とする請求項２記載の開発支援プログラム。
【請求項４】
前記式対応コメントテキスト中における前記コメント変数テキストを演算子テキストと異なる態様で表示することを特徴とする請求項１乃至３のいずれか１項に記載の開発支援プログラム。
【請求項５】
前記テキスト記述型プログラムは、図形記述型プログラム中の数値演算処理に適用されるものであることを特徴とする請求項１乃至４のいずれか１項に記載の開発支援プログラム。
【請求項６】
請求項１乃至５のいずれか１項に記載の開発支援プログラムを記録した、前記開発支援装置が読み取り可能な記録媒体。
【請求項７】
実行コードから逆変換されたテキスト記述型プログラムの開発支援方法であって、
前記実行コードに対応するデータベースを取得することと、
前記テキスト記述型プログラムのプログラムリストに記述されている演算式テキストを、所定の演算式表示領域に表示することと、
前記演算式テキストから記憶領域のアドレスで表記した演算変数テキストを抽出することと、
前記データベースを参照して前記演算変数テキストに対応するコメント変数テキストを取得することと、
前記演算式テキスト中の前記演算変数テキストを前記コメント変数テキストに置換して前記コメント変数テキストと演算子テキストを含んだテキスト列で式対応コメントテキストを生成することと、
前記演算式表示領域に対応するコメント表示領域に前記式対応コメントテキストを表示することと、
を実行することを特徴とする開発支援方法。
【請求項８】
実行コードから逆変換されたテキスト記述型プログラムの開発支援装置であって、
前記実行コードに対応するデータベースを取得するデータベース取得部と、
前記テキスト記述型プログラムのプログラムリストに記述されている演算式テキストを、当該開発支援装置が備える表示部上の所定の演算式表示領域に表示する演算式記述表示部と、
前記演算式テキストから記憶領域のアドレスで表記した演算変数テキストを抽出する演算変数抽出部と、
前記データベースを参照して前記演算変数テキストに対応するコメント変数テキストを取得するコメント変数取得部と、
前記演算式テキスト中の前記演算変数テキストを前記コメント変数テキストに置換して前記コメント変数テキストと演算子テキストを含んだテキスト列で式対応コメントテキストを生成する式対応コメント生成部と、
前記演算式表示領域に対応するコメント表示領域に前記式対応コメントテキストを表示する式対応コメント表示部と、
を有することを特徴とする開発支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置に関する。
【背景技術】
【０００２】
特許文献１には、テキストプログラム中のデバイスやラベルを示すテキストを抽出し、直前又は直後のコメント行にそれらデバイスやラベルの意味を表現する付属情報をそれぞれ記述方向の位置を合わせて表示するプログラム作成支援技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５４９０１７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来技術によれば、テキストプログラム中で単純なアルファベットや数字の組み合わせにより抽象的に記述されているデバイスやラベルそのものの具体的な意味を、コメント行中のそれぞれ対応する付属情報から個別に確認しやすくなる。しかし、それらデバイスやラベルが演算式中に記述されている場合、上記従来技術では、その演算式全体の演算内容の意味合いまではコメント行から直接把握できない。そのため、ユーザは元の演算式とコメント行の付属情報とを照合して演算内容を確認しなければならず、プログラムの開発効率、特にデバッグ効率が低下する要因となっていた。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、プログラムの開発効率、特にデバッグ効率が向上する開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一の観点によれば、実行コードから逆変換されたテキスト記述型プログラムの開発支援装置が備える演算装置に実行させる開発支援プログラムであって、前記実行コードに対応するデータベースを取得することと、前記テキスト記述型プログラムのプログラムリストに記述されている演算式テキストを、前記開発支援装置が備える表示部上の所定の演算式表示領域に表示することと、前記演算式テキストから記憶領域のアドレスで表記した演算変数テキストを抽出することと、前記データベースを参照して前記演算変数テキストに対応するコメント変数テキストを取得することと、前記演算式テキスト中の前記演算変数テキストを前記コメント変数テキストに置換して前記コメント変数テキストと演算子テキストを含んだテキスト列で式対応コメントテキストを生成することと、前記演算式表示領域に対応するコメント表示領域に前記式対応コメントテキストを表示することと、を実行する開発支援プログラムが適用される。
【０００７】
また、本発明の別の観点によれば、開発支援プログラムを記録した、前記開発支援装置が読み取り可能な記録媒体が適用される。
【０００８】
また、本発明の別の観点によれば、実行コードから逆変換されたテキスト記述型プログラムの開発支援方法であって、前記実行コードに対応するデータベースを取得することと、前記テキスト記述型プログラムのプログラムリストに記述されている演算式テキストを、所定の演算式表示領域に表示することと、前記演算式テキストから記憶領域のアドレスで表記した演算変数テキストを抽出することと、前記データベースを参照して前記演算変数テキストに対応するコメント変数テキストを取得することと、前記演算式テキスト中の前記演算変数テキストを前記コメント変数テキストに置換して前記コメント変数テキストと演算子テキストを含んだテキスト列で式対応コメントテキストを生成することと、前記演算式表示領域に対応するコメント表示領域に前記式対応コメントテキストを表示することと、を実行する開発支援方法が適用される。
【０００９】
また、本発明の別の観点によれば、実行コードから逆変換されたテキスト記述型プログラムの開発支援装置であって、前記実行コードに対応するデータベースを取得するデータベース取得部と、前記テキスト記述型プログラムのプログラムリストに記述されている演算式テキストを、当該開発支援装置が備える表示部上の所定の演算式表示領域に表示する演算式記述表示部と、前記演算式テキストから記憶領域のアドレスで表記した演算変数テキストを抽出する演算変数抽出部と、前記データベースを参照して前記演算変数テキストに対応するコメント変数テキストを取得するコメント変数取得部と、前記演算式テキスト中の前記演算変数テキストを前記コメント変数テキストに置換して前記コメント変数テキストと演算子テキストを含んだテキスト列で式対応コメントテキストを生成する式対応コメント生成部と、前記演算式表示領域に対応するコメント表示領域に前記式対応コメントテキストを表示する式対応コメント表示部と、を有する開発支援装置が適用される。
【発明の効果】
【００１０】
本発明によれば、プログラムの開発効率、特にデバッグ効率が向上する。
【図面の簡単な説明】
【００１１】
【図１】実施形態の開発支援プログラムを利用した開発支援システムの構成を表すブロック図である。
【図２】汎用ＰＣ上で実行される開発支援プログラム全体の概略的なソフトウェア構成を示すブロック図である。
【図３】エディタによりディスプレイ上に表示されたラダー図の一例である。
【図４】エディタによりディスプレイ上に表示されたプログラムリストの一例である。
【図５】アドレステキストをコメント変数テキストに対応させて登録するアドレステキスト対応テーブルを模式的に示した図である。
【図６】変数名テキストをコメント変数テキストに対応させて登録する変数名テキスト対応テーブルを模式的に示した図である。
【図７】式対応コメントテキストの生成手法を説明する図である。
【図８】生成した式対応コメントテキストをプログラムリスト上に記述する手法を説明する図である。
【図９】汎用ＰＣのＣＰＵがエディタ上で実行するリスト表示処理の制御手順を示すフローチャートである。
【図１０】図９中にあるステップＳ１００の式対応コメントテキスト生成処理の詳細な制御手順を示すフローチャートである。
【図１１】コメント変数テキストの表示文字数を任意に設定した例で、ディスプレイ上に表示されたプログラムリストの一例である。
【図１２】コメント変数テキストだけを特別な態様で表示した例で、ディスプレイ上に表示されたプログラムリストの一例である。
【発明を実施するための形態】
【００１２】
以下、一実施の形態について図面を参照しつつ説明する。
【００１３】
＜開発支援システムの概略構成＞
図１は、本実施形態の開発支援プログラムを利用した開発支援システムのブロック図を表している。この図１において、開発支援システム１００は、開発支援プログラムを実行する汎用パーソナルコンピュータ１（以下、汎用ＰＣ１という）と、プログラマブルロジックコントローラ２（図中、及び以下においてはＰＬＣ２という）と、サーボアンプ３と、モータ４を有している。
【００１４】
汎用ＰＣ１（開発支援装置）は、特に図示しないＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤなどからなる不揮発性記憶装置、及び通信制御部と、操作部１ａ、ディスプレイ１ｂ（表示部）を備えた一般的なパーソナルコンピュータである。ＣＰＵ（演算装置）は、上記のＲＯＭ、ＲＡＭ、不揮発性記憶装置に記憶された開発支援プログラムやデータに基づいて、後述のＰＬＣ２が実行可能な制御プログラムの編集、コンパイル、送受信を制御する。なお、この制御プログラムの開発支援に関するソフトウェア構成については、後の図２の説明で詳述する。
【００１５】
ＰＬＣ２は、特に図示しないＣＰＵ、ＲＯＭ、ＲＡＭ、フラッシュメモリなどからなる不揮発性記憶装置、操作部、表示部、及び通信制御部を備えたいわゆる上位制御装置である。上記汎用ＰＣ１で開発された制御プログラムを、このＰＬＣ２が受信、記憶して実行することにより、所定の指令を所定の手順で後述のサーボアンプ３に対して送信し、モータ４をシーケンス制御する。
【００１６】
サーボアンプ３は、上記ＰＬＣ２から受信した指令に基づいてモータ４に給電しその駆動を制御する機能を有する。なお、図中には回動式のモータ４を示しているが、他にも直動式のモータを適用してもよい。
【００１７】
＜開発支援プログラムのソフトウェア概略構成＞
図２は、汎用ＰＣ１上で実行される開発支援プログラム全体の概略的なソフトウェア構成を示すブロック図を表している。この図２において、開発支援プログラム１１は、エディタ１２、記憶部１３、コンパイラ１４、逆コンパイラ１５、送受信部１６、入力処理部１７、表示処理部１８、データベース１９、及びマネージャ２０の各機能プログラムを統合したものである。
【００１８】
エディタ１２は、上位言語の形式で記述されたプログラム（プログラムリスト、ラダー図）の表示と入力編集を行う機能を有する。プログラムの表示は、上記表示処理部１８を介した汎用ＰＣ１のディスプレイ１ｂでの表示により行われる。プログラムの入力編集は、汎用ＰＣ１の操作部１ａ及び上記入力処理部１７を介したユーザからの入力により行われる。当該エディタ１２が扱うプログラムの上位言語の形式としては、所定の制御手順を図形的に記述するいわゆる図形記述型プログラムと、所定の制御手順をテキスト（文字列）で記述するいわゆるテキスト記述型プログラムの２種類を複合的に扱う。本実施形態の例では、ラダー図（後述の図３参照）で記述するラダープログラムを図形記述型プログラムとして扱い、テキスト記述型プログラムではプログラムリスト（後述の図４参照）に各命令のテキストを複数行に渡って記述する。このエディタ１２は、特にテキスト記述型プログラムの入力編集に関する機能部として、図中に示す演算式記述表示部１２１、演算変数抽出部１２２、コメント変数取得部１２３、式対応コメント生成部１２４、式対応コメント表示部１２５を有している。なお、これらテキスト記述型プログラムの入力編集に関する機能部については、後に詳述する。
【００１９】
記憶部１３は、汎用ＰＣ１のＲＡＭや不揮発性記憶部にアクセスして、上記のプログラムリストやラダー図２１、またはＰＬＣ２のＣＰＵが直接実行可能な実行コードを記憶する機能を有する。
【００２０】
コンパイラ１４は、上記記憶部１３により記憶されたプログラムリストやラダー図２１を、実行コード２２に変換する機能を有する。
【００２１】
逆コンパイラ１５は、上記記憶部１３により記憶された実行コード２２を、プログラムリストやラダー図２１に逆変換する機能を有する。
【００２２】
送受信部１６は、ＰＬＣ２との間で実行コード２２を送受する機能を有する。
【００２３】
入力処理部１７は、汎用ＰＣ１の操作部１ａを介したユーザからの入力を受け付ける機能を有する。
【００２４】
表示処理部１８は、各種の情報を汎用ＰＣ１のディスプレイ１ｂ上に表示する機能を有する。
【００２５】
マネージャ２０は、当該開発支援プログラム１１が有する上記の各機能プログラムを統合的に実行する機能を有する。
【００２６】
以上のように構成された開発支援プログラム１１においては、ユーザがエディタ１２を用いた入力編集によりプログラムリスト及びラダー図２１の形式で制御プログラムを作成し、その制御プログラムをコンパイラ１４で実行コード２２に変換してから送受信部１６を介してＰＬＣ２に送信し記憶、実行させる。また開発支援プログラム１１は、送受信部１６を介してＰＬＣ２から受信した実行コード２２を逆コンパイラ１５でプログラムリスト及びラダー図２１の形式に逆変換し、エディタ１２で修正することもできる。
【００２７】
＜ラダー図及びプログラムリストについて＞
図３は、上記エディタ１２によりディスプレイ１ｂ上に表示されたラダー図の一例を示している。なお、本実施形態ではディスプレイ１ｂ上における各種の情報がいわゆるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の態様で表示されるものとし、汎用ＰＣ１の操作部１ａが備えるポインティングデバイス（図示省略）により移動操作されるカーソルＣで入力操作の対象箇所の指定が可能となっている（以下の各画面表示図において同様とする）。
【００２８】
この図３において、ラダー図の左右両端には直流母線に見立てた平行な２本のレール３１が記載され、それらのレール３１の間にそれぞれリレー回線に見立てた水平直線のラング３２が複数記載されている。そして各ラング３２の左側に接点（スイッチ）に見立てた起動条件３３が記載され、またそれらラング３２の右側にアクチュエータコイルに見立てた出力部３４が記載されている。各ラング３２の起動条件３３が満たされた場合に、対応するラング３２の出力部３４で各指令を出力する。また、各出力部３４の出力を各起動条件３３に入力することで、ラング３２どうしを連携して作動させることができる。このようなラダー図における出力部３４の一つとして特に数値演算処理を行う数値演算部３５（図中の「ＥＸＰＲＥＳＳＩＯＮ」ウィンドウ部参照）が組み込まれる場合があり、この数値演算部３５が上記テキスト記述型プログラムによるプログラムリストの形式で記述される。
【００２９】
図４は、上記エディタ１２によりディスプレイ１ｂ上に表示されたプログラムリストの一例を示している。この図４において、プログラムリストには演算式テキストとコメントテキストが混在して複数行に渡り記述（表示）されている。
【００３０】
演算式テキストは、演算変数テキストと、演算子テキストと、関数テキストとを組み合わせた演算式として記述されるテキストである。演算変数テキストは、ＲＡＭ上の所定の記憶領域に対応して数値を代入し記憶させる変数を表すテキストであり、変数の指定様式によって図示する例の「ＧＦ００１００」、「ＧＦ００２００」などのアドレステキストと、「ｓｒ」、「Ｄａｔａｓｕ」、「ＤｉｖＰ」などの変数名テキストの２種類に分類される（これらアドレステキストや変数名テキストについては後に詳述する）。演算子テキストは、「＝」、「＋」、「−」、「＊（×）」、「／（÷）」などの算術演算子を表すテキストである。関数テキストは、図示する例では「ＳＱＲＴ（引数）（；平方根（引数））」などのシステム関数を表すテキストである。
【００３１】
コメントテキストは、所定の内容の文字列が注釈として記述されるテキストである。コメントテキストは、基本的にその冒頭に「／／  」のヘッダが付加されてそれ以降に自由な内容で記載されるものであるが、その中には隣接する演算式テキスト全体の意味合いを説明するよう記載されるものがある。本実施形態の例では、そのように演算式テキストに対応する内容のコメントテキスト（図示する例の「‘ＢＣ二乗’＝‘球面曲率’＊‘球面曲率’」など）を特に式対応コメントテキストと称呼し、これをプログラムリスト中に記述することなく、ディスプレイ１ｂ上におけるプログラムリストの表示画面中においてのみ当該演算式テキストの直前の行に表示する。つまり、演算式テキストの内容に対応する式対応コメントテキストの表示領域４１（コメント表示領域）は、当該演算式テキストの表示領域４２（演算式表示領域）の直前の行に配置される。また、本実施形態においては、式対応コメントテキストの冒頭にはヘッダ「／／  」は付加しない（演算式テキストと式対応コメントテキストについても後述する）。
【００３２】
また、基本的には演算式テキストとコメントテキストがそれぞれ１文ごとに改行して１行に１文ずつ記述（又は表示）されるが、演算式テキストとコメントテキストのそれぞれの末尾に個々のテキストの区切りを示す「；（セミコロン）」を記述することで１行に複数の演算式テキストやコメントテキストを並記するいわゆるマルチステートメントとすることもできる。
【００３３】
＜本実施形態の特徴＞
汎用ＰＣ１では、その操作部１ａを介したユーザからの文字入力によりプログラムリスト中に各テキストを記述する。このとき、上記演算変数テキスト（この例のアドレステキストと変数名テキスト）は、数字やアルファベットを少ない文字数で組み合わせただけの単純で抽象的なテキストで記述、表示されるため、演算式テキスト全体の意味が理解しにくい。このため、ディスプレイ１ｂ上におけるプログラムリストの表示画面中で、上述したように演算式テキストを表示する演算式表示領域４２に隣接してコメント表示領域４１を設け、このコメント表示領域４１に演算式テキストの内容に対応した式対応コメントテキストを表示することが一般的に行われる。この式対応コメントテキストは、元になる演算式テキスト中の演算変数テキスト（例えば「ＧＦ００１００」）を、漢字やかな文字などを用いてその意味合いをわかりやすく記述したコメント変数テキスト（例えば「ＢＣ二乗」）に置き換えて記述される。
【００３４】
しかし、これまでのプログラム開発においては、新規に演算式テキストを入力した際に、対応する式対応コメントテキストの全部を別途手入力で記述し、表示する必要があった。また、デバッグや調整などの目的で既存の演算式テキスト中の一部の演算変数テキストを修正、変更した場合でも、その際には対応する式対応コメントテキスト中の対応するコメント変数テキストもまた別途手作業で修正、変更する必要があった。これらの入力作業では、各演算変数テキストに対応するコメント変数テキストを確認しながら入力することになり、とても煩雑な作業となっていた。
【００３５】
これに対し本実施形態では、汎用ＰＣ１上で実行される開発支援プログラム１１のエディタ１２において、上記演算変数抽出部１２２が入力された演算式テキストから演算変数テキストを抽出し、上記コメント変数取得部１２３がデータベース１９を参照して演算変数テキストに対応するコメント変数テキストを取得し、上記式対応コメント生成部１２４が演算式テキスト中の演算変数テキストをコメント変数テキストに置換して式対応コメントテキストを生成し、上記式対応コメント表示部１２５が演算式表示領域４２に対応するコメント表示領域４１に式対応コメントテキストを表示する。
【００３６】
これにより、新規入力又は修正入力された演算式テキストに対応する式対応コメントテキストが自動的に生成、修正され、プログラムリストの表示画面上に表示される。これにより、ユーザは演算式テキストを入力するだけで、同じ演算内容をさらに理解しやすく表現した式対応コメントテキストを手入力によらず正確に表示することができる。
【００３７】
＜アドレステキストと変数名テキストについて＞
上述したように、数値を代入する変数の名称である演算変数テキストには、アドレステキストと変数名テキストの２種類がある。アドレステキストは、ＰＬＣ２が備えるＲＡＭ（特に図示せず）において数値を格納させるアドレス（番地）をそのまま変数の名称として表記したテキストである。変数名テキストは、ユーザが任意に設定した抽象的な文字列を変数の名称として表記したテキストである。本実施形態では、プログラムリスト中に使用するアドレステキストと変数名テキストについて、それぞれユーザが漢字やかな文字などを用いてその意味合いをわかりやすく記述したコメント変数テキストと対応させてあらかじめデータベース１９に登録しておく。
【００３８】
図５は、上記図４のプログラムリスト中に使用している各アドレステキストを、それぞれコメント変数テキストに対応させて登録するアドレステキスト対応テーブルを模式的に示している。この図５において、各アドレステキストは、上述したように当該変数の数値を記憶させるＲＡＭ上のアドレスそのままで記述される。例えば「ＧＦ００１００」のアドレステキストは、ＲＡＭ上の「ＧＦ００１００」のアドレスに数値を記憶させる変数の名称である。このようなアドレステキストを用いることで、ユーザは数値を記憶させるＲＡＭ上の格納アドレス（記憶領域）を任意に指定してプログラムリスト上でも確認できる。そして、このアドレステキスト自体は単なるアルファベットと数字の羅列でしかないため、そのまま演算式中に記述されてもそこに代入される数値の意味が把握しにくい。そこで各アドレステキストに対応して、それぞれ漢字やかな文字を用いてその数値の意味を分かりやすく記述したコメント変数テキストがユーザにより別途登録される。例えば「ＧＦ００１００」のアドレステキストに対応して、このアドレステキストの変数に代入される数値の意味を表す「ＢＣ二乗」のコメント変数テキストが登録される。
【００３９】
図６は、上記図４のプログラムリスト中に使用している各変数名テキストを、それぞれコメント変数テキストと格納アドレスに対応させて登録する変数名テキスト対応テーブルを模式的に示している。この図６において、各変数名テキストは、ユーザが任意に選んだ数字やアルファベットを組み合わせただけの抽象的な文字列の変数名で記述される。そしてこの変数名テキストが示す変数に代入される数値もまた、ＲＡＭ上においてユーザが任意に指定した格納アドレス（記憶領域）に記憶される。変数名テキスト対応テーブルでは、各変数名テキストに対応して、代入する数値の意味を分かりやすく記述したコメント変数テキストとともに、上記の格納アドレスが登録される。例えば「ｓｒ」の変数名テキストに対応して、この変数名テキストの変数に代入される数値の意味を表す「球面曲率」のコメント変数テキストと、数値を記憶するＲＡＭ上の格納アドレス「ＧＦ０１０１０」が別途ユーザにより登録される。このような変数名テキストを用いることで、ユーザは簡略化、抽象化した文字列で変数を記述できる。
【００４０】
なお、これらのアドレステキスト対応テーブルと変数名テキスト対応テーブルを併せて、上記図２に示したデータベース１９に相当する。
【００４１】
＜式対応コメントテキストの生成と表示について＞
図７は、本実施形態における式対応コメントテキストの生成手法を説明している。この図７においては、上記図４中の「ＧＦ００１００＝ｓｒ＊ｓｒ」の演算式テキストに対応する「‘ＢＣ二乗’＝‘球面曲率’＊‘球面曲率’」の式対応コメントテキストの生成過程を例に取って説明している。
【００４２】
まずプログラムリストから対象となる演算式テキスト「ＧＦ００１００＝ｓｒ＊ｓｒ」を複写し、そこに含まれている演算変数テキスト「ＧＦ００１００」、「ｓｒ」、「ｓｒ」を抽出する。この抽出処理は、上記図２に示したエディタ１２の演算変数抽出部１２２が演算式テキスト中から既成テキストである演算子テキスト及び関数テキストを排除して残った文字列を抽出することにより行う。
【００４３】
次に、抽出された各演算変数テキストにそれぞれ対応するコメント変数テキスト「ＢＣ二乗」、「球面曲率」、「球面曲率」を取得する。この取得処理は、エディタ１２のコメント変数取得部１２３がデータベース１９（上記図５のアドレステキスト対応テーブルと上記図６の変数名テキスト対応テーブル）を参照して、各演算変数テキストにそれぞれ対応するコメント変数テキストを検索して取得することにより行う。
【００４４】
次に、上記複写した元の演算式テキスト中における各演算変数テキストに対して、それぞれ対応して取得したコメント変数テキストを置換することで式対応コメントテキスト「‘ＢＣ二乗’＝‘球面曲率’＊‘球面曲率’」を生成する。この生成処理は、エディタ１２の式対応コメント生成部１２４が、プログラムリストから複写した演算式テキストに対してその中の演算変数テキストをコメント変数テキストに置換し、さらに各コメント変数テキストの前後をクォーテーションマーク「‘」、「’」で囲むように付加することにより行う。
【００４５】
図８は、生成した式対応コメントテキストをプログラムリストの表示画面上に表示する手法を説明している。まず図８の上方に示すように、入力処理部１７を介したユーザの入力に基づいてエディタ１２の演算式記述表示部１２１がプログラムリスト中に演算式テキスト（図示する例では「ＧＦ００１００＝ｓｒ＊ｓｒ」）を記述する。そして、エディタ１２による後述のリスト表示処理が、図８の下方に示すように各演算式テキストにそれぞれ対応した式対応コメントテキスト（図示する例では「‘ＢＣ二乗’＝‘球面曲率’＊‘球面曲率’」）を自動的に生成し、表示処理部１８を介してディスプレイ１ｂにおけるプログラムリストの表示画面上に各演算式テキストとともにリアルタイムに表示する。この表示処理は、エディタ１２の式対応コメント表示部１２５が、プログラムリストの表示画面中における対象の演算式テキストの行（演算式表示領域４２）と直前の行の間に新たにコメント表示領域４１を挿入するよう配置し、そこに生成した式対応コメントテキストを表示することにより行う。
【００４６】
なお特に図示しないが、すでに対応する式対応コメントテキストが生成、表示されている状態で元の演算式テキストの内容を変更した場合には、上記のリスト表示処理により、新たに対応する式対応コメントテキストが自動的に生成されて同じコメント表示領域４１にリアルタイムに再表示される。また本実施形態では、コメント表示領域４１が演算式テキストの行と直前の行との間に配置されるが、これに限られない。例えばユーザからの設定によって、演算式テキストの行と直後の行との間や、当該演算式テキストと同じ行にマルチステートメントでコメント表示領域４１を挿入できるようにしてもよい（図示省略）。
【００４７】
＜制御フロー＞
以上のような機能を実現するために、汎用ＰＣ１のＣＰＵ（演算装置）がエディタ１２上で実行する上記リスト表示処理の制御手順を、図９、図１０により順を追って説明する。まず図９において、このフローに示す処理は、ディスプレイ１ｂ上においてＭ行分の表示が可能なウィンドウ部（図４の「ＥＸＰＲＥＳＳＩＯＮ」ウィンドウ部）中に全行数ＮのプログラムリストのうちのＰ行目からの記述内容を式対応コメントテキストも挿入配置しつつリスト表示する処理であり、エディタ１２の操作中に所定の微少時間毎に逐次実行される。
【００４８】
まずステップＳ５で、汎用ＰＣ１のＣＰＵは、プログラムリストの全行数Ｎを計数して取得する。
【００４９】
次にステップＳ１０へ移り、汎用ＰＣ１のＣＰＵは、ウィンドウ部の表示可能行数Ｍを取得する。
【００５０】
次にステップＳ１５へ移り、汎用ＰＣ１のＣＰＵは、ウィンドウ部中におけるスクロールの状態から現在のプログラムリストの表示開始行Ｐを取得する。
【００５１】
次にステップＳ２０へ移り、汎用ＰＣ１のＣＰＵは、変数である表示行カウンタＬＣに１の値を代入する。
【００５２】
次にステップＳ２５へ移り、汎用ＰＣ１のＣＰＵは、プログラムリスト上におけるＰ行目に演算式テキストの記述が含まれているか否かを判定する。Ｐ行目中に演算式テキストの記述が含まれていない場合、判定は満たされず、ステップＳ４５へ移る。
【００５３】
一方、Ｐ行目中に演算式テキストの記述が含まれている場合、判定が満たされ、ステップＳ１００へ移る。
【００５４】
ステップＳ１００では、汎用ＰＣ１のＣＰＵは、上記ステップＳ２５で判定された演算式テキストに対応する式対応コメントテキストを生成する式対応コメントテキスト生成処理を実行する（後述の図１０参照）。
【００５５】
次にステップＳ３０へ移り、汎用ＰＣ１のＣＰＵは、ウィンドウ部中のＬＣ行目に上記ステップＳ１００で生成した式対応コメントテキストを表示する。なお、このステップＳ３０の表示処理が、上記図２中に示した式対応コメント表示部１２５と、各請求項記載の式対応コメント表示部に相当する。
【００５６】
次にステップＳ３５へ移り、汎用ＰＣ１のＣＰＵは、その時点の表示行カウンタＬＣの値がウィンドウ部の表示可能行数Ｍの値と一致するか否かを判定する。言い換えると、ウィンドウ部中の最終行まで表示したか否かを判定する。ＬＣの値とＭの値が一致する場合、判定が満たされ、このフローを終了する。
【００５７】
一方、ＬＣの値とＭの値が一致しない場合、判定は満たされず、ステップＳ４０へ移る。
【００５８】
ステップＳ４０では、汎用ＰＣ１のＣＰＵは、表示行カウンタＬＣの値に１を加算する。
【００５９】
次にステップＳ４５へ移り、汎用ＰＣ１のＣＰＵは、ウィンドウ部中のＬＣ行目にプログラムリスト上のＰ行目を表示する。
【００６０】
次にステップＳ５０へ移り、汎用ＰＣ１のＣＰＵは、その時点の表示行カウンタＬＣの値がウィンドウ部の表示可能行数Ｍの値と一致するか否かを判定する。ＬＣの値とＭの値が一致する場合、判定が満たされ、このフローを終了する。
【００６１】
一方、ＬＣの値とＭの値が一致しない場合、判定は満たされず、ステップＳ５５へ移る。
【００６２】
ステップＳ５５では、汎用ＰＣ１のＣＰＵは、その時点のＰの値がプログラムリストの全行数Ｎの値と一致するか否かを判定する。言い換えると、ウィンドウ部中にプログラムリストを最終行まで表示したか否かを判定する。Ｐの値とＮの値が一致する場合、判定が満たされ、このフローを終了する。
【００６３】
一方、Ｐの値とＮの値が一致しない場合、判定は満たされず、ステップＳ６０へ移る。
【００６４】
ステップＳ６０では、汎用ＰＣ１のＣＰＵは、Ｐの値とＬＣの値にそれぞれ１を加算する。そして、上記ステップＳ２５へ戻り、同様の手順を繰り返す。
【００６５】
図１０は、上記図９中におけるステップＳ１００の式対応テキストコメント生成部の詳細な制御手順を示している。
【００６６】
まずステップＳ１０５で、汎用ＰＣ１のＣＰＵは、プログラムリストのＰ行目から対象となる演算式テキストを複写して取得する。
【００６７】
次にステップＳ１１０へ移り、汎用ＰＣ１のＣＰＵは、上記ステップＳ１０５で取得した演算式テキストから演算変数テキストを抽出する。なお、このステップＳ１１０の抽出処理が、上記図２中に示した演算変数抽出部１２２と、各請求項記載の演算変数抽出部に相当する。
【００６８】
次にステップＳ１１５へ移り、汎用ＰＣ１のＣＰＵは、データベース１９（アドレステキスト対応テーブルと変数名テキスト対応テーブル）を参照して、上記ステップＳ１１０で抽出した各演算変数テキストに対応するコメント変数テキストを取得する。なお、このステップＳ１１５の取得処理が、上記図２中に示したコメント変数取得部１２３と、各請求項記載のコメント変数取得部に相当する。
【００６９】
次にステップＳ１２０へ移り、汎用ＰＣ１のＣＰＵは、上記ステップＳ１０５で複写した元の演算式テキスト中の各演算変数テキストを、上記ステップＳ１１５で取得したそれぞれに対応するコメント変数テキストに置換してコメントテキストを生成する。またこの際には、各コメント変数テキストをクォーテーションマーク「‘」、「’」で囲むよう処理する。なお、このステップＳ１２０の置換処理が、上記図２中に示した式対応コメント生成部１２４と、各請求項記載の式対応コメント生成部に相当する。そして、このフローを終了する。
【００７０】
＜本実施形態の効果＞
以上説明したように、本実施形態の開発支援プログラム１１によれば、演算変数抽出部１２２により演算式テキストから変数に関する演算変数テキストを抽出することと、コメント変数取得部１２３によりデータベース１９を参照して演算変数テキストに対応するコメント変数テキストを取得することと、式対応コメント生成部１２４により演算式テキスト中の演算変数テキストをコメント変数テキストに置換して式対応コメントテキストを生成することと、式対応コメント表示部１２５により演算式表示領域４２に対応するコメント表示領域４１に式対応コメントテキストを表示することと、を実行する。
【００７１】
これにより、新規入力又は修正入力された演算式テキストに対応する式対応コメントテキストが自動的に生成、修正され、プログラムリストの表示画面上におけるコメント表示領域４１に表示される。特にこの式対応コメントテキストは、元の演算式テキスト中における各演算変数テキストだけを対応するコメント変数テキストに置換しているだけであり、他の演算子テキストや関数テキストは同じ配置関係が維持されたまま記述されるため、演算式全体の演算内容の意味合いは元の演算式テキストと同等に表現される。これにより、ユーザは演算式テキストを入力するだけで、同じ演算内容をさらに理解しやすく表現した式対応コメントテキストを手入力によらず正確かつ自動的に表示することができる。この結果、プログラムの開発効率、特にデバッグ効率が向上する。
【００７２】
なお、本実施形態では、ユーザによるプログラムリスト中の演算式テキストの記述操作をエディタ１２が常時リアルタイムに監視し、演算式テキストもしくは演算変数テキストの単位で記述入力が行われたと判断された際にすぐに対応するコメントテキストを生成、表示したが、これに限られない。例えば、特に図示しないが、式対応コメントテキストの表示と非表示をユーザが任意に切り替え設定可能にしてもよいし、またはユーザが特定の操作を行った場合だけ一時的に表示するようにしてもよい。また、本実施形態では、式対応コメントテキストをディスプレイ１ｂ上におけるプログラムリストの表示画面上に表示するだけとしていたが、プログラムリストに直接挿入して記述してもよい。
【００７３】
また、本実施形態では特に、演算変数テキストが、ユーザが任意に指定した記憶領域の格納アドレスで表記したアドレステキストである。これにより、ユーザが任意に指定した記憶領域の格納アドレスに当該アドレステキストに対応する変数の数値内容を記憶させることができ、またその格納アドレスをプログラムリスト上でも確認できる。
【００７４】
また、本実施形態では特に、演算変数テキストが、ユーザが任意に設定した変数名で表記した変数名テキストである。これにより、ユーザは簡略化、抽象化した文字列で変数を記述できる。
【００７５】
なお、本実施形態では、ユーザが新規に作成したか、もしくは既存のものを修正したプログラムリストに対して自動的にテキストコメントを生成し、これを挿入表示したが、これに限られない。例えば、一度コンパイラ１４によって変換された実行コードを逆コンパイラ１５によって再度逆変換されたプログラムリストに対しても本実施形態を適用できる。この場合には、エディタ１２が対応するデータベース１９（アドレステキスト対応テーブルと変数名テキスト対応テーブル）も併せて取得し参照することで、各演算式テキストの記述内容に対応した式対応コメントテキストを新たに生成してプログラムリストの表示画面上に表示できる。
【００７６】
また、本実施形態では特に、テキスト記述型プログラムのプログラムリストが、図形記述型プログラムのラダー図中の数値演算処理に適用されるものである。この場合、テキスト記述型プログラムが分担して行う処理は数値演算に特化することになり、演算式テキストを多用する記述となるため、本実施形態の適用が特に有用である。
【００７７】
＜変形例＞
なお、開示の実施形態は、上記に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を説明する。
【００７８】
（１）コメント変数テキストの表示文字数を任意に設定する場合
上記実施形態では、式対応コメントテキストを表示する際にデータベース１９に登録されているコメント変数テキストをそのまま置換した状態の式対応コメントテキストをプログラムリストの表示画面中に表示していたが、これに限られない。例えば、コメント変数テキストが長文で登録された場合を考慮して、プログラムリストの表示画面中におけるコメント変数テキストの表示文字数をユーザが任意に設定できるようにしてもよい。
【００７９】
例えば、上記図５のアドレステキスト対応テーブルにおいて、「ＧＦ００１００」のアドレステキストに対応して「２つの球面曲率を掛け合わせて算出したＢＣ二乗」といった長文のコメント変数テキストを登録した場合には、そのままコメント変数テキストを置換すると式対応コメントテキスト全体が冗長となって見づらくなる。これに対して本変形例では、エディタ１２のオプション設定によりコメント変数テキストの表示文字数を例えば先頭の５文字に設定することで、図１１の上方部に示すようにコメント変数テキストを「‘２つの球面〜’」とだけ表示することができる。なお、末尾の「〜」は、登録されたコメント変数テキストの先頭の一部だけを表示していることを示すフッタである。そして、ユーザがプログラムリストの表示画面上で部分表示されたコメント変数テキストの表示領域４１にカーソルＣを重ねることで、図１１の下方部に示すようにいわゆるバルーンヘルプＢＨの態様でコメント変数テキストを全文字数で表示する。
【００８０】
以上説明したように、本変形例の開発支援プログラム１１によれば、コメント表示領域４１におけるコメント変数テキストの表示文字数が任意に設定可能である。これにより、それぞれのコメント変数テキストを具体的かつ詳細な長文記述で登録した場合でも、式対応コメントテキスト全体を簡略化して見やすく表示できる。
【００８１】
なお、最終的にはディスプレイ１ｂ上におけるプログラムリストの表示画面が見やすくなればよいだけである。このため、プログラムリスト中においては原文のままのコメント変数テキストで式対応コメントテキストを記述し、プログラムリストの表示画面上において表示文字数を制限するようにしてもよい。
【００８２】
また、本変形例では特に、ＧＵＩ上でコメント表示領域４１におけるコメント変数テキストの表示領域にカーソルＣを重ねた際に、バルーンヘルプＢＨで当該コメント変数テキストを全文字数で表示する。これにより、簡略化表示されたコメント変数テキストの正確な記述を容易に確認できる。
【００８３】
（２）コメント変数テキストだけを特別な態様で表示する場合
上記実施形態では、式対応コメントテキスト中において、コメント変数テキストと、演算子テキストと、関数テキストのいずれも同じ態様で表示していたが、これに限られない。例えば、上記図４に対応する図１２に示すように、各式対応コメントテキスト中においてコメント変数テキストだけを他の演算子テキストや関数テキストと異なる特別な態様で表示してもよい。図示する例では、コメント変数テキストだけを太字、斜体のフォントスタイルで表示している。このような表示を行うことで、式対応コメントテキスト中におけるコメント変数テキストと演算子テキスト（関数テキスト）の区別か明確となり、式対応コメントテキスト全体の構成が容易に把握可能となる。なお、特別な表示態様として、図示した例のフォントスタイル以外にも、文字色や大きさ（ポイント）などで相違させてもよい。
【００８４】
また本変形例においても、最終的にはディスプレイ１ｂ上でのプログラムリストの表示が明確になればよいだけである。このため、プログラムリスト中においては通常の態様のコメント変数テキストで式対応コメントテキストを記述し、プログラムリストの表示画面上での表示においてコメント変数テキストだけを特別な態様で表示するようにしてもよい。
【００８５】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
【００８６】
その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００８７】
１            汎用パーソナルコンピュータ（開発支援装置）
１ａ          操作部
１ｂ          ディスプレイ（表示部）
２            プログラマブルロジックコントローラ
３            サーボアンプ
４            モータ
１１          開発支援プログラム
１２          エディタ
１３          記憶部
１４          コンパイラ
１５          逆コンパイラ
１６          送受信部
１７          入力処理部
１８          表示処理部
１９          データベース
２０          マネージャ
２１          プログラムリスト及びラダー図
２２          実行コード
４１          コメント表示領域
４２          演算式表示領域
１２１        演算式記述表示部
１２２        演算変数抽出部
１２３        コメント変数取得部
１２４        コメント生成部
１２５        式対応コメント表示部
１００        開発支援システム
Ｃ            カーソル
ＢＨ          バルーンヘルプ
【図１】
0006394516.tif 000002
【図２】
0006394516.tif 000003
【図３】
0006394516.tif 000004
【図４】
0006394516.tif 000005
【図５】
0006394516.tif 000006
【図６】
0006394516.tif 000007
【図７】
0006394516.tif 000008
【図８】
0006394516.tif 000009
【図９】
0006394516.tif 000010
【図１０】
0006394516.tif 000011
【図１１】
0006394516.tif 000012
【図１２】
0006394516.tif 000013