(57)【要約】      （修正有）【課題】簡単な操作でインデントおよびプログラムの折り畳みができるプログラム入力装置を提供する。【解決手段】プログラムおよびコメントを入力する入力部２０と、入力したプログラムとコメント、およびコメントの階層関係を表す階層情報と、当該コメントのプログラム、および下位階層のプログラムおよびコメントを折り畳むか否かの折り畳み情報が格納される記憶部２２と、階層情報および折り畳み情報に基づいてコメントにインデントを施し、プログラムおよびコメントを選択して表示する表示部２３と、プログラムおよびコメントを記憶部に格納し、また階層情報および折り畳み情報を編集する制御部２１を具備した。コメントの階層関係が一目で把握でき、かつ必要ないプログラムを非表示にできるので、プログラムの視認性を高くすることができる。【選択図】図１
2011086118.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを入力し、この入力されたプログラムを表示するプログラム入力装置において、
プログラムおよびコメントを入力する入力部と、
前記入力されたプログラムとコメント、およびコメントの階層を表す階層情報が格納される記憶部と、
前記記憶部に格納されたプログラムを表示し、また前記階層情報に基づいてコメントにインデントを施して表示する表示部と、
前記入力部によって入力されたプログラムおよびコメントを前記記憶部に格納すると共に、前記記憶部に格納された階層情報を編集する制御部と、
を備えたことを特徴とするプログラム入力装置。
【請求項２】
前記記憶部には、コメントに属するプログラム、およびこのコメントの下位階層のプログラムおよびコメントを折り畳むか否かを表す折り畳み情報が格納され、前記表示部はこの折り畳み情報に基づいてプログラムおよびコメントを表示するか否かを決定し、かつ前記制御部によって前記折り畳み情報を編集できるようにしたことを特徴とする請求項１記載のプログラム入力装置。
【請求項３】
前記表示部は、前記階層情報に基づいてプログラムにインデントを施して表示するようにしたことを特徴とする請求項１若しくは請求項２記載のプログラム入力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コメントに階層情報を付属させてこの階層情報によってコメントにインデントを施し、またプログラムを折り畳むことにより、視認性を向上させることができるプログラム入力装置に関するものである。
【背景技術】
【０００２】
ラダー図は、論理回路を記述するプログラム言語であり、多くのプログラマブルロジックコントローラで使われている。ラダー図で書かれたプログラムは、リレーを使用した回路と等価であるという特徴がある。ラダー図は、ラダー回路とコメントで構成される。
【０００３】
図７に、ラダー図を入力するプログラム入力装置のプログラム入力画面の例を示す。図７（Ａ）はプログラム入力画面であり、１０〜１３は図示しない入力装置から入力されたラダー回路である。
【０００４】
ラダー回路のみではその動作がわかり難いので、プログラム入力装置では、プログラムの処理内容を説明したコメントを入力できるようになっている。１４〜１７（日本語で記述された部分）は、入力されたコメントである。
【０００５】
ラダー図で記述する処理は複数のより小さい処理の集合で構成され、これらの処理の間には階層関係が存在する。そのため、これらの処理内容を説明するコメントにも階層関係が生じる。
【０００６】
コメントの階層関係を把握し、またより広い範囲のラダー図の動作を把握するために、プログラム入力装置では、ラダー回路を折り畳んで表示しないようにする機能を有している。図７（Ｂ）は、ラダー回路を折り畳んだ表示の例である。この表示では、ラダー回路１０〜１３が折り畳まれており、コメント１４〜１７のみが表示されている。ラダー回路の動作はコメントで把握できるので、このようにすることにより、より広い範囲のラダー図の動作を把握することができる。
【０００７】
また、コメントの階層関係を視覚化するために、コメントの前に階層の深さに応じた数のスペースを挿入し、コメントの階層関係を一目で把握できるようにする。図７（Ｂ）において、コメント１５、１６の前にはスペースが挿入されている。この操作によりコメント１５と１６はコメント１４の下位階層であることが一目でわかるので、ラダー回路の動作をより正確に把握することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−１４９００８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、このようなプログラム入力装置には、次のような課題があった。前述したように、コメントの前にスペースを挿入してそれらの階層関係を容易に把握できるようにすることが行われているが、スペースの入力は操作者が手動で行わなければならない。このため、操作が煩雑であり、かつスペースの挿入を忘れると階層関係の表示が変わってしまい、ラダー回路の処理を誤認してしまうという課題があった。
【００１０】
例えば、コメント１７は本来コメント１４の下位階層にあるものであるが、スペースの挿入を忘れたために、コメント１４と同一階層として表示されている。このようなことがあるとラダー回路の把握が困難になってしまう。
【００１１】
また、不必要な回路は折り畳んで表示しないようにすることができるが、折り畳むことができる回路はコメントの間に記述されている回路のみであり、コメントを含めて折り畳むことができなかった。このため、階層が上のコメントのみを表示してラダー図の内容を直感的に把握し、また、一部の処理だけ階層の深い処理まで表示して編集することができないという課題もあった。
【００１２】
本発明の目的は、コメントの階層を簡単に設定することができ、かつ階層関係に応じてラダー回路およびコメントを折り畳むことができるプログラム入力装置を実現することにある。
【課題を解決するための手段】
【００１３】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
プログラムを入力し、この入力されたプログラムを表示するプログラム入力装置において、
プログラムおよびコメントを入力する入力部と、
前記入力されたプログラムとコメント、およびコメントの階層を表す階層情報が格納される記憶部と、
前記記憶部に格納されたプログラムを表示し、また前記階層情報に基づいてコメントにインデントを施して表示する表示部と、
前記入力部によって入力されたプログラムおよびコメントを前記記憶部に格納すると共に、前記記憶部に格納された階層情報を編集する制御部と、
を備えたものである。コメントの階層関係が一目でわかるので、プログラムの視認性がよくなる。
【００１４】
請求項２記載の発明は、請求項１に記載の発明において、
前記記憶部には、コメントに属するプログラム、およびこのコメントの下位階層のプログラムおよびコメントを折り畳むか否かを表す折り畳み情報が格納され、前記表示部はこの折り畳み情報に基づいてプログラムおよびコメントを表示するか否かを決定し、かつ前記制御部によって前記折り畳み情報を編集できるようにしたものである。必要でないプログラムおよびコメントを非表示にできるので、プログラムの視認性がよくなる。
【００１５】
請求項３記載の発明は、請求項１若しくは請求項２に記載の発明において、
前記表示部は、前記階層情報に基づいてプログラムにインデントを施して表示するようにしたものである。プログラムの階層関係が一目でわかるので、プログラムの視認性がよくなる。
【発明の効果】
【００１６】
本発明によれば以下のような効果がある。
請求項１、２，および３の発明によれば、コメントの階層を表す階層情報を記憶し、この階層情報に基づいてコメントにインデントを施して表示するようにした。また、下位階層のコメント、プログラムを非表示にできるようにした。
【００１７】
階層情報に基づいてコメントにインデントを施して表示するようにしたので、コメントの階層関係が一目で把握できる。このため、プログラムの視認性を高めることができるという効果がある。また、この階層情報を編集できるようにしたので、簡単にコメントの階層化を行うことができるという効果もある。
【００１８】
また、折り畳み情報によって当該コメントに属するプログラム、および下位階層のプログラムとコメントの表示、非表示を選択できるようにしたので、不必要なプログラムおよびコメントを非表示にできる。そのため、より広い範囲のプログラムおよびコメントを表示できるので、プログラムの視認性が高まるという効果もある。
【００１９】
さらに、前記階層情報に基づいてプログラムをインデントすることにより、プログラムの視認性をいっそう高めることができるという効果もある。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施例を示した構成図である。
【図２】画面の表示例である。
【図３】階層情報を変更する手順を示したフローチャートである。
【図４】折り畳み情報を変更する手順を示したフローチャートである。
【図５】画面の表示例である。
【図６】画面の表示例である。
【図７】従来のプログラム入力装置の画面の表示例である。
【発明を実施するための形態】
【００２１】
以下本発明を、図面を用いて詳細に説明する。図１は本発明に係るプログラム入力装置の一実施例を示した構成図である。図１において、プログラム入力装置は入力部２０、制御部２１、記憶部２２、および表示部２３で構成される。
【００２２】
プログラマーは、入力部２０を用いてラダー回路およびコメントを入力、編集し、またコメントの階層を変更する。制御部２１は入力部２０によって入力、編集されたラダー回路およびコメントを記憶部２２に格納し、また記憶部２２に格納されたラダー回路およびコメントを読み出して、表示部２３に出力する。表示部２３は、入力されたラダー回路およびコメントを編集し、図示しない液晶ディスプレイ等に表示する。なお、ラダー回路はプログラムに相当する。
【００２３】
記憶部２２には、入力部２０によって入力されたラダー回路とコメントが、入力された順に格納される。また、各コメントについて、階層の深さを表す階層情報、コメントに属するラダー回路および下位階層のラダー回路とコメントを折り畳むか否かを表す折り畳み情報、および自身より下層階層のコメントを折り畳むか否かのコメント折り畳み情報も同時に格納される。なお、ラダー回路は、その直上のコメントに属するとし、このコメントと同じ階層であるとして処理する。
【００２４】
制御部２１は、記憶部２２から表示する範囲のラダー回路およびコメントとそれに付随する情報を読み出し、表示部２３に出力する。表示部２３は、入力された階層情報に基づいてコメントの先頭に必要な数のスペースを挿入してインデントを施し、また折り畳み情報、コメント折り畳み情報に基づいて表示するラダー回路およびコメントを決定して表示する。挿入するスペースの数は、例えば最上位階層では０、その下の階層では１、さらにその下の階層では２とする。
【００２５】
図２に、表示部２３に表示される画面の一例を示す。図２において、３０はラダー図（ラダー回路とコメントで構成される）が表示されるラダー図ウインドウ、３１はコメントのみが表示されるコメントウインドウである。
【００２６】
３２〜３４はラダー図ウインドウ３０に表示されているコメントであり、３２は最上位階層のコメント、３３、３４のその１つ下の階層のコメントである。コメント３３と３４の行頭にはスペースが挿入されてインデントされている。このため、コメントの階層関係を１目で把握することができる。
【００２７】
３５はラダー図ウインドウ３０内の各コメントの行に表示されるツリーボタンである。図２ではツリーボタン３５はマイナス（−）になっている。このため、当該コメントに属するラダー回路と下位階層のコメントおよびラダー回路は表示されている。このツリーボタン３５をクリックすると表示がプラス（＋）に変更さる。各コメントに属するラダー回路、および下位階層のラダー回路とコメントは折り畳まれ、表示されない。もう一度クリックすると、図２の状態に戻る。ツリーボタン３５の状態は、記憶部２２に格納される折り畳み情報に基づいて決定される。
【００２８】
ラダー図ウインドウ３０と同様に、コメントウインドウ３１に表示されるコメントも階層情報に基づいて行頭にスペースが挿入され、インデントされて表示される。このため、一目でコメントの階層関係を把握することができる。
【００２９】
３６はツリーボタンであり、上位階層コメントの行頭に表示される。図２ではツリーボタン３６はマイナス（−）になっており、下位階層のコメントが表示されている。ツリーボタン３６をクリックすると表示がプラス（＋）に代わり、下位階層のコメントは折り畳まれて表示されない。ツリーボタン３６の状態は、記憶部２２に格納されるコメント折り畳み情報に基づいて決定される。
【００３０】
コメントウインドウ３１を用いて、コメントの階層深さを変更することができる。図３は、コメントウインドウ３１を用いて、コメントの階層深さを変更する操作手順を示すフローチャートである。
【００３１】
図３において、工程（Ｐ３−１）でコメントウインドウ３１を表示させ、工程（Ｐ３−２）で階層を変更するコメントを選択する。具体的には、マウスを用いて、階層を変更するコメントにカーソルを位置付ける。そして、工程（Ｐ３−３）でマウスの右ボタンをクリックする。
【００３２】
右ボタンをクリックすると、階層を上げるか下げるかの選択メニューが表示されるので、工程（Ｐ３−４）でどちらかを選択する。なお、選択したコメントが最上位階層のときは「階層を上げる」メニューが表示されず、最下位階層のときは「階層を下げる」メニューが表示されないので、これらを選択することはできない。
【００３３】
「階層を下げる」が選択されると、工程（Ｐ３−５）で選択されたコメントの階層を１つ下げる。具体的には、制御部２１は記憶部２２に格納された、選択されたコメントの階層情報を更新して階層を１つ深くする。
【００３４】
「階層を上げる」が選択されると、工程（Ｐ３−６）で選択されたコメントの階層を１つ上げる。具体的には、制御部２１は記憶部２２に格納された、選択されたコメントの階層情報を更新して階層を１つ浅くする。
【００３５】
工程（Ｐ３−５）あるいは工程（Ｐ３−６）が終了すると、工程（Ｐ３−７）でラダー図ウインドウ３０、コメントウインドウ３１を再表示する。制御部２１は表示すべきコメントとラダー回路の情報を記憶部２２から読み出し、表示部２３に出力する。表示部２３は、入力されたデータに基づいてラダー図ウインドウ３０、コメントウインドウ３１を再表示する。工程（Ｐ３−５）あるいは工程（Ｐ３−６）で選択されたコメントの階層情報は更新されているので、コメントは新しい階層情報でインデントされる。
【００３６】
図４は、当該コメントに属するラダー回路および下位階層のラダー回路とコメントを折り畳むか否かを選択する手順を示したフローチャートである。折り畳むか否かの選択は、ラダー図ウインドウ３０に表示されているツリーボタン３５を操作して行う。
【００３７】
図４において、工程（Ｐ４−１）で、折り畳むか否かの選択をするコメントのツリーボタン３５をクリックする。ツリーボタン３５はコメント毎に表示され、その表示は記憶部２２に記憶された折り畳み情報に基づいて決定される。
【００３８】
次に、工程（Ｐ４−２）で、クリックしたツリーボタン３５が既に折り畳まれた状態であるかどうかをチェックする。これは、記憶部２２に格納された折り畳み情報を参照することにより、行うことができる。
【００３９】
折り畳まれていないと（ＮＯ）、工程（Ｐ４−３）で自身に属するラダー回路、および下位階層のラダー回路とコメントを全て折り畳んで非表示にする。制御部２１は指定されたコメントの折り畳み情報を更新し、表示範囲のラダー回路、およびコメントとその情報を表示部２３に出力する。
【００４０】
表示部２３は、入力された折り畳み情報を参照して表示すべきラダー回路とコメントを決定し、表示する。この場合は、折り畳み情報を更新したコメントのみを表示し、そのコメントに属するラダー回路および下位階層のラダー回路とコメントは表示しない。そして、工程（Ｐ４−４）でクリックされたツリーボタン３５を、“−”表示から“＋”表示に変更する。
【００４１】
折り畳まれていると（ＹＥＳ）、工程（Ｐ４−５）で自身に属するラダー回路、および下位階層のラダー回路とコメントの折り畳みを解除して表示する。制御部２１は指定されたコメントの折り畳み情報を更新し、表示範囲のラダー回路、およびコメントとその情報を表示部２３に出力する。
【００４２】
表示部２３は、入力された折り畳み情報を参照して表示すべきラダー回路とコメントを決定し、表示する。この場合は、折り畳み情報を更新したコメントとそれに属するラダー回路、および下位階層のラダー回路とコメントを全て表示する。そして、工程（Ｐ４−６）でクリックされたツリーボタン３５を、“＋”表示から“−”表示に変更する。
【００４３】
図５に、ラダー回路およびコメントを折り畳んだ状態の表示例を示す。なお、図２と同じ要素には同一符号を付し、説明を省略する。
【００４４】
図５において、４０、４１はラダー図ウインドウ３０に表示された、最上位階層のコメントである。コメント４０は、図２のコメント３２に対応する。この図ではコメント４０、４１は折り畳まれており、これらのコメントに属するラダー回路および下位階層のラダー回路とコメント、例えばコメント３３、３４は表示されない。また、コメント４０、４１のツリーボタン４２、４３の表示は、いずれも“＋”になっている。
【００４５】
図６は、最上位階層のコメントのみ折り畳まず、下位階層のコメントを折り畳んだ例である。なお、図２と同じ要素には同一符号を付し、説明を省略する。
【００４６】
図６において、丸枠５０内の７行はコメント、丸枠５１はこれらのコメントに付随しているツリーボタンである。１行目と５行目のコメントは最上位コメントであり、２〜４行目のコメントは１行目のコメントの下位階層コメント、６〜７行目のコメントは５行目のコメントの下位階層コメントである。
【００４７】
１、５行目のコメントに対応するツリーボタンの表示は“−”であり、下位階層コメントは折り畳まれていない。それに対して、２〜４、６、７行目のコメントに対応するツリーボタンの表示は“＋”であり、折り畳まれている。
【００４８】
その結果、コメントは全て表示されているが、ラダー回路は表示されない。このように、ツリーボタンを操作することにより、必要な部分だけを表示することができる。
【００４９】
コメントウインドウ３１に対しても、ツリーボタン３６を操作して必要なコメントのみ表示させることができる。図２、５、６において、ツリーボタン３６はいずれも“−”であり、折り畳まれない設定になっている。このツリーボタン３６をクリックすると表示が“＋”に変化し、下位階層コメントが折り畳まれて表示されない。もう一回クリックすると、元に戻る。
【００５０】
下位階層のコメントを折り畳む設定であるかどうかは、記憶部２２に格納されているコメント折り畳み情報に格納する。操作手順は図４と同じなので、説明を省略する。
【００５１】
なお、本実施例ではコメントの先頭にスペースを挿入して階層関係が一目でわかるようにしたが、ラダー回路の先頭にスペースを挿入してインデントし、階層関係を一目で把握できるようにしてもよい。ラダー回路の階層は、直上のコメントと同じであるとしてインデントする。
【００５２】
また、本実施例では階層関係の表示と折り畳みの両方を用いたが、階層関係の表示のみを用いてもよい。
【００５３】
また、この実施例ではコメントあるいはラダー回路の行頭にスペースを挿入してインデントし、階層関係を表すようにしたが、その他の表示であってもよい。要は、階層関係を一目で把握できるようにインデントされていればよい。ツリーボタンも本実施例の表示に限定されることはなく、任意の表示を用いることができる。
【００５４】
また、この実施例ではラダー図ウインドウ３０とコメントウインドウ３１のそれぞれにツリーボタンを設け、独立して折り畳めるようにしたが、どちらか一方のウインドウのみのツリーボタンのみ操作できるようにし、他方は連動して表示するようにしてもよい。
【００５５】
さらに、この実施例ではラダー図の入力装置について説明したが、Ｃ言語等その他の言語のプログラムを入力する装置に用いることもできる。
【符号の説明】
【００５６】
２０  入力部
２１  制御部
２２  記憶部
２３  表示部
３０  ラダー図ウインドウ
３１  コメントウインドウ
３２〜３４、４０、４１  コメント
３５、３６、４２、４３  ツリーボタン
【図１】
2011086118.tif 000003
【図３】
2011086118.tif 000004
【図４】
2011086118.tif 000005
【図２】
2011086118.tif 000006
【図５】
2011086118.tif 000007
【図６】
2011086118.tif 000008
【図７】
2011086118.tif 000009