特許第6394516号(P6394516)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社安川電機の特許一覧

特許6394516開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置
<>
  • 特許6394516-開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置 図000002
  • 特許6394516-開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置 図000003
  • 特許6394516-開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置 図000004
  • 特許6394516-開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置 図000005
  • 特許6394516-開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置 図000006
  • 特許6394516-開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置 図000007
  • 特許6394516-開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置 図000008
  • 特許6394516-開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置 図000009
  • 特許6394516-開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置 図000010
  • 特許6394516-開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置 図000011
  • 特許6394516-開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置 図000012
  • 特許6394516-開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6394516
(24)【登録日】2018年9月7日
(45)【発行日】2018年9月26日
(54)【発明の名称】開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置
(51)【国際特許分類】
   G06F 8/33 20180101AFI20180913BHJP
【FI】
   G06F8/33
【請求項の数】8
【全頁数】18
(21)【出願番号】特願2015-132795(P2015-132795)
(22)【出願日】2015年7月1日
(65)【公開番号】特開2017-16411(P2017-16411A)
(43)【公開日】2017年1月19日
【審査請求日】2016年12月28日
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】100104503
【弁理士】
【氏名又は名称】益田 博文
(74)【代理人】
【識別番号】100191112
【弁理士】
【氏名又は名称】益田 弘之
(72)【発明者】
【氏名】淵上 康二
【審査官】 多胡 滋
(56)【参考文献】
【文献】 特開2013−214218(JP,A)
【文献】 特開2006−252201(JP,A)
【文献】 特開2006−330865(JP,A)
【文献】 国際公開第2014/064830(WO,A1)
【文献】 特開2001−142684(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/33
(57)【特許請求の範囲】
【請求項1】
実行コードから逆変換されたテキスト記述型プログラムの開発支援装置が備える演算装置に実行させる開発支援プログラムであって、
前記実行コードに対応するデータベースを取得することと、
前記テキスト記述型プログラムのプログラムリストに記述されている演算式テキストを、前記開発支援装置が備える表示部上の所定の演算式表示領域に表示することと、
前記演算式テキストから記憶領域のアドレスで表記した演算変数テキストを抽出することと、
前記データベースを参照して前記演算変数テキストに対応するコメント変数テキストを取得することと、
前記演算式テキスト中の前記演算変数テキストを前記コメント変数テキストに置換して前記コメント変数テキストと演算子テキストを含んだテキスト列で式対応コメントテキストを生成することと、
前記演算式表示領域に対応するコメント表示領域に前記式対応コメントテキストを表示することと、
を実行することを特徴とする開発支援プログラム。
【請求項2】
前記コメント表示領域における前記コメント変数テキストの表示文字数は、任意に設定可能であることを特徴とする請求項記載の開発支援プログラム。
【請求項3】
GUI上で前記コメント表示領域における前記コメント変数テキストの表示領域にカーソルを重ねた際に、バルーンヘルプで当該コメント変数テキストを全文字数で表示することを特徴とする請求項記載の開発支援プログラム。
【請求項4】
前記式対応コメントテキスト中における前記コメント変数テキストを演算子テキストと異なる態様で表示することを特徴とする請求項1乃至のいずれか1項に記載の開発支援プログラム。
【請求項5】
前記テキスト記述型プログラムは、図形記述型プログラム中の数値演算処理に適用されるものであることを特徴とする請求項1乃至のいずれか1項に記載の開発支援プログラム。
【請求項6】
請求項1乃至のいずれか1項に記載の開発支援プログラムを記録した、前記開発支援装置が読み取り可能な記録媒体。
【請求項7】
実行コードから逆変換されたテキスト記述型プログラムの開発支援方法であって、
前記実行コードに対応するデータベースを取得することと、
前記テキスト記述型プログラムのプログラムリストに記述されている演算式テキストを、所定の演算式表示領域に表示することと、
前記演算式テキストから記憶領域のアドレスで表記した演算変数テキストを抽出することと、
前記データベースを参照して前記演算変数テキストに対応するコメント変数テキストを取得することと、
前記演算式テキスト中の前記演算変数テキストを前記コメント変数テキストに置換して前記コメント変数テキストと演算子テキストを含んだテキスト列で式対応コメントテキストを生成することと、
前記演算式表示領域に対応するコメント表示領域に前記式対応コメントテキストを表示することと、
を実行することを特徴とする開発支援方法。
【請求項8】
実行コードから逆変換されたテキスト記述型プログラムの開発支援装置であって、
前記実行コードに対応するデータベースを取得するデータベース取得部と、
前記テキスト記述型プログラムのプログラムリストに記述されている演算式テキストを、当該開発支援装置が備える表示部上の所定の演算式表示領域に表示する演算式記述表示部と、
前記演算式テキストから記憶領域のアドレスで表記した演算変数テキストを抽出する演算変数抽出部と、
前記データベースを参照して前記演算変数テキストに対応するコメント変数テキストを取得するコメント変数取得部と、
前記演算式テキスト中の前記演算変数テキストを前記コメント変数テキストに置換して前記コメント変数テキストと演算子テキストを含んだテキスト列で式対応コメントテキストを生成する式対応コメント生成部と、
前記演算式表示領域に対応するコメント表示領域に前記式対応コメントテキストを表示する式対応コメント表示部と、
を有することを特徴とする開発支援装置。
【発明の詳細な説明】
【技術分野】
【0001】
開示の実施形態は、開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置に関する。
【背景技術】
【0002】
特許文献1には、テキストプログラム中のデバイスやラベルを示すテキストを抽出し、直前又は直後のコメント行にそれらデバイスやラベルの意味を表現する付属情報をそれぞれ記述方向の位置を合わせて表示するプログラム作成支援技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第5490170号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記従来技術によれば、テキストプログラム中で単純なアルファベットや数字の組み合わせにより抽象的に記述されているデバイスやラベルそのものの具体的な意味を、コメント行中のそれぞれ対応する付属情報から個別に確認しやすくなる。しかし、それらデバイスやラベルが演算式中に記述されている場合、上記従来技術では、その演算式全体の演算内容の意味合いまではコメント行から直接把握できない。そのため、ユーザは元の演算式とコメント行の付属情報とを照合して演算内容を確認しなければならず、プログラムの開発効率、特にデバッグ効率が低下する要因となっていた。
【0005】
本発明はこのような問題点に鑑みてなされたものであり、プログラムの開発効率、特にデバッグ効率が向上する開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の一の観点によれば、実行コードから逆変換されたテキスト記述型プログラムの開発支援装置が備える演算装置に実行させる開発支援プログラムであって、前記実行コードに対応するデータベースを取得することと、前記テキスト記述型プログラムのプログラムリストに記述されている演算式テキストを、前記開発支援装置が備える表示部上の所定の演算式表示領域に表示することと、前記演算式テキストから記憶領域のアドレスで表記した演算変数テキストを抽出することと、前記データベースを参照して前記演算変数テキストに対応するコメント変数テキストを取得することと、前記演算式テキスト中の前記演算変数テキストを前記コメント変数テキストに置換して前記コメント変数テキストと演算子テキストを含んだテキスト列で式対応コメントテキストを生成することと、前記演算式表示領域に対応するコメント表示領域に前記式対応コメントテキストを表示することと、を実行する開発支援プログラムが適用される。
【0007】
また、本発明の別の観点によれば、開発支援プログラムを記録した、前記開発支援装置が読み取り可能な記録媒体が適用される。
【0008】
また、本発明の別の観点によれば、実行コードから逆変換されたテキスト記述型プログラムの開発支援方法であって、前記実行コードに対応するデータベースを取得することと、前記テキスト記述型プログラムのプログラムリストに記述されている演算式テキストを、所定の演算式表示領域に表示することと、前記演算式テキストから記憶領域のアドレスで表記した演算変数テキストを抽出することと、前記データベースを参照して前記演算変数テキストに対応するコメント変数テキストを取得することと、前記演算式テキスト中の前記演算変数テキストを前記コメント変数テキストに置換して前記コメント変数テキストと演算子テキストを含んだテキスト列で式対応コメントテキストを生成することと、前記演算式表示領域に対応するコメント表示領域に前記式対応コメントテキストを表示することと、を実行する開発支援方法が適用される。
【0009】
また、本発明の別の観点によれば、実行コードから逆変換されたテキスト記述型プログラムの開発支援装置であって、前記実行コードに対応するデータベースを取得するデータベース取得部と、前記テキスト記述型プログラムのプログラムリストに記述されている演算式テキストを、当該開発支援装置が備える表示部上の所定の演算式表示領域に表示する演算式記述表示部と、前記演算式テキストから記憶領域のアドレスで表記した演算変数テキストを抽出する演算変数抽出部と、前記データベースを参照して前記演算変数テキストに対応するコメント変数テキストを取得するコメント変数取得部と、前記演算式テキスト中の前記演算変数テキストを前記コメント変数テキストに置換して前記コメント変数テキストと演算子テキストを含んだテキスト列で式対応コメントテキストを生成する式対応コメント生成部と、前記演算式表示領域に対応するコメント表示領域に前記式対応コメントテキストを表示する式対応コメント表示部と、を有する開発支援装置が適用される。
【発明の効果】
【0010】
本発明によれば、プログラムの開発効率、特にデバッグ効率が向上する。
【図面の簡単な説明】
【0011】
図1】実施形態の開発支援プログラムを利用した開発支援システムの構成を表すブロック図である。
図2】汎用PC上で実行される開発支援プログラム全体の概略的なソフトウェア構成を示すブロック図である。
図3】エディタによりディスプレイ上に表示されたラダー図の一例である。
図4】エディタによりディスプレイ上に表示されたプログラムリストの一例である。
図5】アドレステキストをコメント変数テキストに対応させて登録するアドレステキスト対応テーブルを模式的に示した図である。
図6】変数名テキストをコメント変数テキストに対応させて登録する変数名テキスト対応テーブルを模式的に示した図である。
図7】式対応コメントテキストの生成手法を説明する図である。
図8】生成した式対応コメントテキストをプログラムリスト上に記述する手法を説明する図である。
図9】汎用PCのCPUがエディタ上で実行するリスト表示処理の制御手順を示すフローチャートである。
図10図9中にあるステップS100の式対応コメントテキスト生成処理の詳細な制御手順を示すフローチャートである。
図11】コメント変数テキストの表示文字数を任意に設定した例で、ディスプレイ上に表示されたプログラムリストの一例である。
図12】コメント変数テキストだけを特別な態様で表示した例で、ディスプレイ上に表示されたプログラムリストの一例である。
【発明を実施するための形態】
【0012】
以下、一実施の形態について図面を参照しつつ説明する。
【0013】
<開発支援システムの概略構成>
図1は、本実施形態の開発支援プログラムを利用した開発支援システムのブロック図を表している。この図1において、開発支援システム100は、開発支援プログラムを実行する汎用パーソナルコンピュータ1(以下、汎用PC1という)と、プログラマブルロジックコントローラ2(図中、及び以下においてはPLC2という)と、サーボアンプ3と、モータ4を有している。
【0014】
汎用PC1(開発支援装置)は、特に図示しないCPU、ROM、RAM、HDDなどからなる不揮発性記憶装置、及び通信制御部と、操作部1a、ディスプレイ1b(表示部)を備えた一般的なパーソナルコンピュータである。CPU(演算装置)は、上記のROM、RAM、不揮発性記憶装置に記憶された開発支援プログラムやデータに基づいて、後述のPLC2が実行可能な制御プログラムの編集、コンパイル、送受信を制御する。なお、この制御プログラムの開発支援に関するソフトウェア構成については、後の図2の説明で詳述する。
【0015】
PLC2は、特に図示しないCPU、ROM、RAM、フラッシュメモリなどからなる不揮発性記憶装置、操作部、表示部、及び通信制御部を備えたいわゆる上位制御装置である。上記汎用PC1で開発された制御プログラムを、このPLC2が受信、記憶して実行することにより、所定の指令を所定の手順で後述のサーボアンプ3に対して送信し、モータ4をシーケンス制御する。
【0016】
サーボアンプ3は、上記PLC2から受信した指令に基づいてモータ4に給電しその駆動を制御する機能を有する。なお、図中には回動式のモータ4を示しているが、他にも直動式のモータを適用してもよい。
【0017】
<開発支援プログラムのソフトウェア概略構成>
図2は、汎用PC1上で実行される開発支援プログラム全体の概略的なソフトウェア構成を示すブロック図を表している。この図2において、開発支援プログラム11は、エディタ12、記憶部13、コンパイラ14、逆コンパイラ15、送受信部16、入力処理部17、表示処理部18、データベース19、及びマネージャ20の各機能プログラムを統合したものである。
【0018】
エディタ12は、上位言語の形式で記述されたプログラム(プログラムリスト、ラダー図)の表示と入力編集を行う機能を有する。プログラムの表示は、上記表示処理部18を介した汎用PC1のディスプレイ1bでの表示により行われる。プログラムの入力編集は、汎用PC1の操作部1a及び上記入力処理部17を介したユーザからの入力により行われる。当該エディタ12が扱うプログラムの上位言語の形式としては、所定の制御手順を図形的に記述するいわゆる図形記述型プログラムと、所定の制御手順をテキスト(文字列)で記述するいわゆるテキスト記述型プログラムの2種類を複合的に扱う。本実施形態の例では、ラダー図(後述の図3参照)で記述するラダープログラムを図形記述型プログラムとして扱い、テキスト記述型プログラムではプログラムリスト(後述の図4参照)に各命令のテキストを複数行に渡って記述する。このエディタ12は、特にテキスト記述型プログラムの入力編集に関する機能部として、図中に示す演算式記述表示部121、演算変数抽出部122、コメント変数取得部123、式対応コメント生成部124、式対応コメント表示部125を有している。なお、これらテキスト記述型プログラムの入力編集に関する機能部については、後に詳述する。
【0019】
記憶部13は、汎用PC1のRAMや不揮発性記憶部にアクセスして、上記のプログラムリストやラダー図21、またはPLC2のCPUが直接実行可能な実行コードを記憶する機能を有する。
【0020】
コンパイラ14は、上記記憶部13により記憶されたプログラムリストやラダー図21を、実行コード22に変換する機能を有する。
【0021】
逆コンパイラ15は、上記記憶部13により記憶された実行コード22を、プログラムリストやラダー図21に逆変換する機能を有する。
【0022】
送受信部16は、PLC2との間で実行コード22を送受する機能を有する。
【0023】
入力処理部17は、汎用PC1の操作部1aを介したユーザからの入力を受け付ける機能を有する。
【0024】
表示処理部18は、各種の情報を汎用PC1のディスプレイ1b上に表示する機能を有する。
【0025】
マネージャ20は、当該開発支援プログラム11が有する上記の各機能プログラムを統合的に実行する機能を有する。
【0026】
以上のように構成された開発支援プログラム11においては、ユーザがエディタ12を用いた入力編集によりプログラムリスト及びラダー図21の形式で制御プログラムを作成し、その制御プログラムをコンパイラ14で実行コード22に変換してから送受信部16を介してPLC2に送信し記憶、実行させる。また開発支援プログラム11は、送受信部16を介してPLC2から受信した実行コード22を逆コンパイラ15でプログラムリスト及びラダー図21の形式に逆変換し、エディタ12で修正することもできる。
【0027】
<ラダー図及びプログラムリストについて>
図3は、上記エディタ12によりディスプレイ1b上に表示されたラダー図の一例を示している。なお、本実施形態ではディスプレイ1b上における各種の情報がいわゆるGUI(Graphical User Interface)の態様で表示されるものとし、汎用PC1の操作部1aが備えるポインティングデバイス(図示省略)により移動操作されるカーソルCで入力操作の対象箇所の指定が可能となっている(以下の各画面表示図において同様とする)。
【0028】
この図3において、ラダー図の左右両端には直流母線に見立てた平行な2本のレール31が記載され、それらのレール31の間にそれぞれリレー回線に見立てた水平直線のラング32が複数記載されている。そして各ラング32の左側に接点(スイッチ)に見立てた起動条件33が記載され、またそれらラング32の右側にアクチュエータコイルに見立てた出力部34が記載されている。各ラング32の起動条件33が満たされた場合に、対応するラング32の出力部34で各指令を出力する。また、各出力部34の出力を各起動条件33に入力することで、ラング32どうしを連携して作動させることができる。このようなラダー図における出力部34の一つとして特に数値演算処理を行う数値演算部35(図中の「EXPRESSION」ウィンドウ部参照)が組み込まれる場合があり、この数値演算部35が上記テキスト記述型プログラムによるプログラムリストの形式で記述される。
【0029】
図4は、上記エディタ12によりディスプレイ1b上に表示されたプログラムリストの一例を示している。この図4において、プログラムリストには演算式テキストとコメントテキストが混在して複数行に渡り記述(表示)されている。
【0030】
演算式テキストは、演算変数テキストと、演算子テキストと、関数テキストとを組み合わせた演算式として記述されるテキストである。演算変数テキストは、RAM上の所定の記憶領域に対応して数値を代入し記憶させる変数を表すテキストであり、変数の指定様式によって図示する例の「GF00100」、「GF00200」などのアドレステキストと、「sr」、「Datasu」、「DivP」などの変数名テキストの2種類に分類される(これらアドレステキストや変数名テキストについては後に詳述する)。演算子テキストは、「=」、「+」、「−」、「*(×)」、「/(÷)」などの算術演算子を表すテキストである。関数テキストは、図示する例では「SQRT(引数)(;平方根(引数))」などのシステム関数を表すテキストである。
【0031】
コメントテキストは、所定の内容の文字列が注釈として記述されるテキストである。コメントテキストは、基本的にその冒頭に「// 」のヘッダが付加されてそれ以降に自由な内容で記載されるものであるが、その中には隣接する演算式テキスト全体の意味合いを説明するよう記載されるものがある。本実施形態の例では、そのように演算式テキストに対応する内容のコメントテキスト(図示する例の「‘BC二乗’=‘球面曲率’*‘球面曲率’」など)を特に式対応コメントテキストと称呼し、これをプログラムリスト中に記述することなく、ディスプレイ1b上におけるプログラムリストの表示画面中においてのみ当該演算式テキストの直前の行に表示する。つまり、演算式テキストの内容に対応する式対応コメントテキストの表示領域41(コメント表示領域)は、当該演算式テキストの表示領域42(演算式表示領域)の直前の行に配置される。また、本実施形態においては、式対応コメントテキストの冒頭にはヘッダ「// 」は付加しない(演算式テキストと式対応コメントテキストについても後述する)。
【0032】
また、基本的には演算式テキストとコメントテキストがそれぞれ1文ごとに改行して1行に1文ずつ記述(又は表示)されるが、演算式テキストとコメントテキストのそれぞれの末尾に個々のテキストの区切りを示す「;(セミコロン)」を記述することで1行に複数の演算式テキストやコメントテキストを並記するいわゆるマルチステートメントとすることもできる。
【0033】
<本実施形態の特徴>
汎用PC1では、その操作部1aを介したユーザからの文字入力によりプログラムリスト中に各テキストを記述する。このとき、上記演算変数テキスト(この例のアドレステキストと変数名テキスト)は、数字やアルファベットを少ない文字数で組み合わせただけの単純で抽象的なテキストで記述、表示されるため、演算式テキスト全体の意味が理解しにくい。このため、ディスプレイ1b上におけるプログラムリストの表示画面中で、上述したように演算式テキストを表示する演算式表示領域42に隣接してコメント表示領域41を設け、このコメント表示領域41に演算式テキストの内容に対応した式対応コメントテキストを表示することが一般的に行われる。この式対応コメントテキストは、元になる演算式テキスト中の演算変数テキスト(例えば「GF00100」)を、漢字やかな文字などを用いてその意味合いをわかりやすく記述したコメント変数テキスト(例えば「BC二乗」)に置き換えて記述される。
【0034】
しかし、これまでのプログラム開発においては、新規に演算式テキストを入力した際に、対応する式対応コメントテキストの全部を別途手入力で記述し、表示する必要があった。また、デバッグや調整などの目的で既存の演算式テキスト中の一部の演算変数テキストを修正、変更した場合でも、その際には対応する式対応コメントテキスト中の対応するコメント変数テキストもまた別途手作業で修正、変更する必要があった。これらの入力作業では、各演算変数テキストに対応するコメント変数テキストを確認しながら入力することになり、とても煩雑な作業となっていた。
【0035】
これに対し本実施形態では、汎用PC1上で実行される開発支援プログラム11のエディタ12において、上記演算変数抽出部122が入力された演算式テキストから演算変数テキストを抽出し、上記コメント変数取得部123がデータベース19を参照して演算変数テキストに対応するコメント変数テキストを取得し、上記式対応コメント生成部124が演算式テキスト中の演算変数テキストをコメント変数テキストに置換して式対応コメントテキストを生成し、上記式対応コメント表示部125が演算式表示領域42に対応するコメント表示領域41に式対応コメントテキストを表示する。
【0036】
これにより、新規入力又は修正入力された演算式テキストに対応する式対応コメントテキストが自動的に生成、修正され、プログラムリストの表示画面上に表示される。これにより、ユーザは演算式テキストを入力するだけで、同じ演算内容をさらに理解しやすく表現した式対応コメントテキストを手入力によらず正確に表示することができる。
【0037】
<アドレステキストと変数名テキストについて>
上述したように、数値を代入する変数の名称である演算変数テキストには、アドレステキストと変数名テキストの2種類がある。アドレステキストは、PLC2が備えるRAM(特に図示せず)において数値を格納させるアドレス(番地)をそのまま変数の名称として表記したテキストである。変数名テキストは、ユーザが任意に設定した抽象的な文字列を変数の名称として表記したテキストである。本実施形態では、プログラムリスト中に使用するアドレステキストと変数名テキストについて、それぞれユーザが漢字やかな文字などを用いてその意味合いをわかりやすく記述したコメント変数テキストと対応させてあらかじめデータベース19に登録しておく。
【0038】
図5は、上記図4のプログラムリスト中に使用している各アドレステキストを、それぞれコメント変数テキストに対応させて登録するアドレステキスト対応テーブルを模式的に示している。この図5において、各アドレステキストは、上述したように当該変数の数値を記憶させるRAM上のアドレスそのままで記述される。例えば「GF00100」のアドレステキストは、RAM上の「GF00100」のアドレスに数値を記憶させる変数の名称である。このようなアドレステキストを用いることで、ユーザは数値を記憶させるRAM上の格納アドレス(記憶領域)を任意に指定してプログラムリスト上でも確認できる。そして、このアドレステキスト自体は単なるアルファベットと数字の羅列でしかないため、そのまま演算式中に記述されてもそこに代入される数値の意味が把握しにくい。そこで各アドレステキストに対応して、それぞれ漢字やかな文字を用いてその数値の意味を分かりやすく記述したコメント変数テキストがユーザにより別途登録される。例えば「GF00100」のアドレステキストに対応して、このアドレステキストの変数に代入される数値の意味を表す「BC二乗」のコメント変数テキストが登録される。
【0039】
図6は、上記図4のプログラムリスト中に使用している各変数名テキストを、それぞれコメント変数テキストと格納アドレスに対応させて登録する変数名テキスト対応テーブルを模式的に示している。この図6において、各変数名テキストは、ユーザが任意に選んだ数字やアルファベットを組み合わせただけの抽象的な文字列の変数名で記述される。そしてこの変数名テキストが示す変数に代入される数値もまた、RAM上においてユーザが任意に指定した格納アドレス(記憶領域)に記憶される。変数名テキスト対応テーブルでは、各変数名テキストに対応して、代入する数値の意味を分かりやすく記述したコメント変数テキストとともに、上記の格納アドレスが登録される。例えば「sr」の変数名テキストに対応して、この変数名テキストの変数に代入される数値の意味を表す「球面曲率」のコメント変数テキストと、数値を記憶するRAM上の格納アドレス「GF01010」が別途ユーザにより登録される。このような変数名テキストを用いることで、ユーザは簡略化、抽象化した文字列で変数を記述できる。
【0040】
なお、これらのアドレステキスト対応テーブルと変数名テキスト対応テーブルを併せて、上記図2に示したデータベース19に相当する。
【0041】
<式対応コメントテキストの生成と表示について>
図7は、本実施形態における式対応コメントテキストの生成手法を説明している。この図7においては、上記図4中の「GF00100=sr*sr」の演算式テキストに対応する「‘BC二乗’=‘球面曲率’*‘球面曲率’」の式対応コメントテキストの生成過程を例に取って説明している。
【0042】
まずプログラムリストから対象となる演算式テキスト「GF00100=sr*sr」を複写し、そこに含まれている演算変数テキスト「GF00100」、「sr」、「sr」を抽出する。この抽出処理は、上記図2に示したエディタ12の演算変数抽出部122が演算式テキスト中から既成テキストである演算子テキスト及び関数テキストを排除して残った文字列を抽出することにより行う。
【0043】
次に、抽出された各演算変数テキストにそれぞれ対応するコメント変数テキスト「BC二乗」、「球面曲率」、「球面曲率」を取得する。この取得処理は、エディタ12のコメント変数取得部123がデータベース19(上記図5のアドレステキスト対応テーブルと上記図6の変数名テキスト対応テーブル)を参照して、各演算変数テキストにそれぞれ対応するコメント変数テキストを検索して取得することにより行う。
【0044】
次に、上記複写した元の演算式テキスト中における各演算変数テキストに対して、それぞれ対応して取得したコメント変数テキストを置換することで式対応コメントテキスト「‘BC二乗’=‘球面曲率’*‘球面曲率’」を生成する。この生成処理は、エディタ12の式対応コメント生成部124が、プログラムリストから複写した演算式テキストに対してその中の演算変数テキストをコメント変数テキストに置換し、さらに各コメント変数テキストの前後をクォーテーションマーク「‘」、「’」で囲むように付加することにより行う。
【0045】
図8は、生成した式対応コメントテキストをプログラムリストの表示画面上に表示する手法を説明している。まず図8の上方に示すように、入力処理部17を介したユーザの入力に基づいてエディタ12の演算式記述表示部121がプログラムリスト中に演算式テキスト(図示する例では「GF00100=sr*sr」)を記述する。そして、エディタ12による後述のリスト表示処理が、図8の下方に示すように各演算式テキストにそれぞれ対応した式対応コメントテキスト(図示する例では「‘BC二乗’=‘球面曲率’*‘球面曲率’」)を自動的に生成し、表示処理部18を介してディスプレイ1bにおけるプログラムリストの表示画面上に各演算式テキストとともにリアルタイムに表示する。この表示処理は、エディタ12の式対応コメント表示部125が、プログラムリストの表示画面中における対象の演算式テキストの行(演算式表示領域42)と直前の行の間に新たにコメント表示領域41を挿入するよう配置し、そこに生成した式対応コメントテキストを表示することにより行う。
【0046】
なお特に図示しないが、すでに対応する式対応コメントテキストが生成、表示されている状態で元の演算式テキストの内容を変更した場合には、上記のリスト表示処理により、新たに対応する式対応コメントテキストが自動的に生成されて同じコメント表示領域41にリアルタイムに再表示される。また本実施形態では、コメント表示領域41が演算式テキストの行と直前の行との間に配置されるが、これに限られない。例えばユーザからの設定によって、演算式テキストの行と直後の行との間や、当該演算式テキストと同じ行にマルチステートメントでコメント表示領域41を挿入できるようにしてもよい(図示省略)。
【0047】
<制御フロー>
以上のような機能を実現するために、汎用PC1のCPU(演算装置)がエディタ12上で実行する上記リスト表示処理の制御手順を、図9図10により順を追って説明する。まず図9において、このフローに示す処理は、ディスプレイ1b上においてM行分の表示が可能なウィンドウ部(図4の「EXPRESSION」ウィンドウ部)中に全行数NのプログラムリストのうちのP行目からの記述内容を式対応コメントテキストも挿入配置しつつリスト表示する処理であり、エディタ12の操作中に所定の微少時間毎に逐次実行される。
【0048】
まずステップS5で、汎用PC1のCPUは、プログラムリストの全行数Nを計数して取得する。
【0049】
次にステップS10へ移り、汎用PC1のCPUは、ウィンドウ部の表示可能行数Mを取得する。
【0050】
次にステップS15へ移り、汎用PC1のCPUは、ウィンドウ部中におけるスクロールの状態から現在のプログラムリストの表示開始行Pを取得する。
【0051】
次にステップS20へ移り、汎用PC1のCPUは、変数である表示行カウンタLCに1の値を代入する。
【0052】
次にステップS25へ移り、汎用PC1のCPUは、プログラムリスト上におけるP行目に演算式テキストの記述が含まれているか否かを判定する。P行目中に演算式テキストの記述が含まれていない場合、判定は満たされず、ステップS45へ移る。
【0053】
一方、P行目中に演算式テキストの記述が含まれている場合、判定が満たされ、ステップS100へ移る。
【0054】
ステップS100では、汎用PC1のCPUは、上記ステップS25で判定された演算式テキストに対応する式対応コメントテキストを生成する式対応コメントテキスト生成処理を実行する(後述の図10参照)。
【0055】
次にステップS30へ移り、汎用PC1のCPUは、ウィンドウ部中のLC行目に上記ステップS100で生成した式対応コメントテキストを表示する。なお、このステップS30の表示処理が、上記図2中に示した式対応コメント表示部125と、各請求項記載の式対応コメント表示部に相当する。
【0056】
次にステップS35へ移り、汎用PC1のCPUは、その時点の表示行カウンタLCの値がウィンドウ部の表示可能行数Mの値と一致するか否かを判定する。言い換えると、ウィンドウ部中の最終行まで表示したか否かを判定する。LCの値とMの値が一致する場合、判定が満たされ、このフローを終了する。
【0057】
一方、LCの値とMの値が一致しない場合、判定は満たされず、ステップS40へ移る。
【0058】
ステップS40では、汎用PC1のCPUは、表示行カウンタLCの値に1を加算する。
【0059】
次にステップS45へ移り、汎用PC1のCPUは、ウィンドウ部中のLC行目にプログラムリスト上のP行目を表示する。
【0060】
次にステップS50へ移り、汎用PC1のCPUは、その時点の表示行カウンタLCの値がウィンドウ部の表示可能行数Mの値と一致するか否かを判定する。LCの値とMの値が一致する場合、判定が満たされ、このフローを終了する。
【0061】
一方、LCの値とMの値が一致しない場合、判定は満たされず、ステップS55へ移る。
【0062】
ステップS55では、汎用PC1のCPUは、その時点のPの値がプログラムリストの全行数Nの値と一致するか否かを判定する。言い換えると、ウィンドウ部中にプログラムリストを最終行まで表示したか否かを判定する。Pの値とNの値が一致する場合、判定が満たされ、このフローを終了する。
【0063】
一方、Pの値とNの値が一致しない場合、判定は満たされず、ステップS60へ移る。
【0064】
ステップS60では、汎用PC1のCPUは、Pの値とLCの値にそれぞれ1を加算する。そして、上記ステップS25へ戻り、同様の手順を繰り返す。
【0065】
図10は、上記図9中におけるステップS100の式対応テキストコメント生成部の詳細な制御手順を示している。
【0066】
まずステップS105で、汎用PC1のCPUは、プログラムリストのP行目から対象となる演算式テキストを複写して取得する。
【0067】
次にステップS110へ移り、汎用PC1のCPUは、上記ステップS105で取得した演算式テキストから演算変数テキストを抽出する。なお、このステップS110の抽出処理が、上記図2中に示した演算変数抽出部122と、各請求項記載の演算変数抽出部に相当する。
【0068】
次にステップS115へ移り、汎用PC1のCPUは、データベース19(アドレステキスト対応テーブルと変数名テキスト対応テーブル)を参照して、上記ステップS110で抽出した各演算変数テキストに対応するコメント変数テキストを取得する。なお、このステップS115の取得処理が、上記図2中に示したコメント変数取得部123と、各請求項記載のコメント変数取得部に相当する。
【0069】
次にステップS120へ移り、汎用PC1のCPUは、上記ステップS105で複写した元の演算式テキスト中の各演算変数テキストを、上記ステップS115で取得したそれぞれに対応するコメント変数テキストに置換してコメントテキストを生成する。またこの際には、各コメント変数テキストをクォーテーションマーク「‘」、「’」で囲むよう処理する。なお、このステップS120の置換処理が、上記図2中に示した式対応コメント生成部124と、各請求項記載の式対応コメント生成部に相当する。そして、このフローを終了する。
【0070】
<本実施形態の効果>
以上説明したように、本実施形態の開発支援プログラム11によれば、演算変数抽出部122により演算式テキストから変数に関する演算変数テキストを抽出することと、コメント変数取得部123によりデータベース19を参照して演算変数テキストに対応するコメント変数テキストを取得することと、式対応コメント生成部124により演算式テキスト中の演算変数テキストをコメント変数テキストに置換して式対応コメントテキストを生成することと、式対応コメント表示部125により演算式表示領域42に対応するコメント表示領域41に式対応コメントテキストを表示することと、を実行する。
【0071】
これにより、新規入力又は修正入力された演算式テキストに対応する式対応コメントテキストが自動的に生成、修正され、プログラムリストの表示画面上におけるコメント表示領域41に表示される。特にこの式対応コメントテキストは、元の演算式テキスト中における各演算変数テキストだけを対応するコメント変数テキストに置換しているだけであり、他の演算子テキストや関数テキストは同じ配置関係が維持されたまま記述されるため、演算式全体の演算内容の意味合いは元の演算式テキストと同等に表現される。これにより、ユーザは演算式テキストを入力するだけで、同じ演算内容をさらに理解しやすく表現した式対応コメントテキストを手入力によらず正確かつ自動的に表示することができる。この結果、プログラムの開発効率、特にデバッグ効率が向上する。
【0072】
なお、本実施形態では、ユーザによるプログラムリスト中の演算式テキストの記述操作をエディタ12が常時リアルタイムに監視し、演算式テキストもしくは演算変数テキストの単位で記述入力が行われたと判断された際にすぐに対応するコメントテキストを生成、表示したが、これに限られない。例えば、特に図示しないが、式対応コメントテキストの表示と非表示をユーザが任意に切り替え設定可能にしてもよいし、またはユーザが特定の操作を行った場合だけ一時的に表示するようにしてもよい。また、本実施形態では、式対応コメントテキストをディスプレイ1b上におけるプログラムリストの表示画面上に表示するだけとしていたが、プログラムリストに直接挿入して記述してもよい。
【0073】
また、本実施形態では特に、演算変数テキストが、ユーザが任意に指定した記憶領域の格納アドレスで表記したアドレステキストである。これにより、ユーザが任意に指定した記憶領域の格納アドレスに当該アドレステキストに対応する変数の数値内容を記憶させることができ、またその格納アドレスをプログラムリスト上でも確認できる。
【0074】
また、本実施形態では特に、演算変数テキストが、ユーザが任意に設定した変数名で表記した変数名テキストである。これにより、ユーザは簡略化、抽象化した文字列で変数を記述できる。
【0075】
なお、本実施形態では、ユーザが新規に作成したか、もしくは既存のものを修正したプログラムリストに対して自動的にテキストコメントを生成し、これを挿入表示したが、これに限られない。例えば、一度コンパイラ14によって変換された実行コードを逆コンパイラ15によって再度逆変換されたプログラムリストに対しても本実施形態を適用できる。この場合には、エディタ12が対応するデータベース19(アドレステキスト対応テーブルと変数名テキスト対応テーブル)も併せて取得し参照することで、各演算式テキストの記述内容に対応した式対応コメントテキストを新たに生成してプログラムリストの表示画面上に表示できる。
【0076】
また、本実施形態では特に、テキスト記述型プログラムのプログラムリストが、図形記述型プログラムのラダー図中の数値演算処理に適用されるものである。この場合、テキスト記述型プログラムが分担して行う処理は数値演算に特化することになり、演算式テキストを多用する記述となるため、本実施形態の適用が特に有用である。
【0077】
<変形例>
なお、開示の実施形態は、上記に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を説明する。
【0078】
(1)コメント変数テキストの表示文字数を任意に設定する場合
上記実施形態では、式対応コメントテキストを表示する際にデータベース19に登録されているコメント変数テキストをそのまま置換した状態の式対応コメントテキストをプログラムリストの表示画面中に表示していたが、これに限られない。例えば、コメント変数テキストが長文で登録された場合を考慮して、プログラムリストの表示画面中におけるコメント変数テキストの表示文字数をユーザが任意に設定できるようにしてもよい。
【0079】
例えば、上記図5のアドレステキスト対応テーブルにおいて、「GF00100」のアドレステキストに対応して「2つの球面曲率を掛け合わせて算出したBC二乗」といった長文のコメント変数テキストを登録した場合には、そのままコメント変数テキストを置換すると式対応コメントテキスト全体が冗長となって見づらくなる。これに対して本変形例では、エディタ12のオプション設定によりコメント変数テキストの表示文字数を例えば先頭の5文字に設定することで、図11の上方部に示すようにコメント変数テキストを「‘2つの球面〜’」とだけ表示することができる。なお、末尾の「〜」は、登録されたコメント変数テキストの先頭の一部だけを表示していることを示すフッタである。そして、ユーザがプログラムリストの表示画面上で部分表示されたコメント変数テキストの表示領域41にカーソルCを重ねることで、図11の下方部に示すようにいわゆるバルーンヘルプBHの態様でコメント変数テキストを全文字数で表示する。
【0080】
以上説明したように、本変形例の開発支援プログラム11によれば、コメント表示領域41におけるコメント変数テキストの表示文字数が任意に設定可能である。これにより、それぞれのコメント変数テキストを具体的かつ詳細な長文記述で登録した場合でも、式対応コメントテキスト全体を簡略化して見やすく表示できる。
【0081】
なお、最終的にはディスプレイ1b上におけるプログラムリストの表示画面が見やすくなればよいだけである。このため、プログラムリスト中においては原文のままのコメント変数テキストで式対応コメントテキストを記述し、プログラムリストの表示画面上において表示文字数を制限するようにしてもよい。
【0082】
また、本変形例では特に、GUI上でコメント表示領域41におけるコメント変数テキストの表示領域にカーソルCを重ねた際に、バルーンヘルプBHで当該コメント変数テキストを全文字数で表示する。これにより、簡略化表示されたコメント変数テキストの正確な記述を容易に確認できる。
【0083】
(2)コメント変数テキストだけを特別な態様で表示する場合
上記実施形態では、式対応コメントテキスト中において、コメント変数テキストと、演算子テキストと、関数テキストのいずれも同じ態様で表示していたが、これに限られない。例えば、上記図4に対応する図12に示すように、各式対応コメントテキスト中においてコメント変数テキストだけを他の演算子テキストや関数テキストと異なる特別な態様で表示してもよい。図示する例では、コメント変数テキストだけを太字、斜体のフォントスタイルで表示している。このような表示を行うことで、式対応コメントテキスト中におけるコメント変数テキストと演算子テキスト(関数テキスト)の区別か明確となり、式対応コメントテキスト全体の構成が容易に把握可能となる。なお、特別な表示態様として、図示した例のフォントスタイル以外にも、文字色や大きさ(ポイント)などで相違させてもよい。
【0084】
また本変形例においても、最終的にはディスプレイ1b上でのプログラムリストの表示が明確になればよいだけである。このため、プログラムリスト中においては通常の態様のコメント変数テキストで式対応コメントテキストを記述し、プログラムリストの表示画面上での表示においてコメント変数テキストだけを特別な態様で表示するようにしてもよい。
【0085】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
【0086】
その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【0087】
1 汎用パーソナルコンピュータ(開発支援装置)
1a 操作部
1b ディスプレイ(表示部)
2 プログラマブルロジックコントローラ
3 サーボアンプ
4 モータ
11 開発支援プログラム
12 エディタ
13 記憶部
14 コンパイラ
15 逆コンパイラ
16 送受信部
17 入力処理部
18 表示処理部
19 データベース
20 マネージャ
21 プログラムリスト及びラダー図
22 実行コード
41 コメント表示領域
42 演算式表示領域
121 演算式記述表示部
122 演算変数抽出部
123 コメント変数取得部
124 コメント生成部
125 式対応コメント表示部
100 開発支援システム
C カーソル
BH バルーンヘルプ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12