(57)【要約】【課題】  意味としては同じであるが異なるアドレスに複数割り付ける必要から、名前の末尾に数字を割り付けるような名前のつけ方が行われたときにも、全ての文字列を入力することなく、目的とする変数名を確定可能とすること。【解決手段】  絞り込まれた変数名が複数存在し、しかもそれらの変数名間で、１若しくは２以上の連続する次文字列が互いに一致するときには、それら選択の余地のない一連の文字列は、オペレータの入力を待つことなく、目的とする変数名の文字列として自動的に採択されて確定する。【選択図】図２
2010238225.tif 000002
【特許請求の範囲】
【請求項１】
ＰＬＣのユーザプログラムを構成する１の命令のオペランドとなる変数名を指定するために、前記ユーザプログラムにおいて使用することが予定されている変数名がその属性とともにあらかじめ登録されている変数テーブルから変数名を選択して入力することをコンピュータが支援する方法であって、
前記１の命令のオペランドとなるべき変数名を構成する文字列の１文字を入力可能な状態とする第１のステップと、
前記１文字が入力されると、それまでに確定した文字列およびその１文字からなる文字列と前方一致するすべての変数名を変数テーブルから抽出する第２のステップと、
前記抽出された変数名が単一である場合には、その変数名をオペランドとして確定することにより前記１の命令のオペランドの指定を完了する第３のステップと、
前記抽出された変数名が複数である場合には、すべての前記抽出された変数名について互いに前方一致する部分の文字列を確定文字列として第１のステップに戻る第４のステップとを有する、ことを特徴とするＰＬＣのプログラミングにおける変数名の入力支援方法。
【請求項２】
前記第１のステップの前段には、前記抽出の対象となり得る変数名を、前記１の命令のオペランドとなり得るデータ型を有する変数名に絞り込むための予備絞込ステップをさらに含む、ことを特徴とする請求項１に記載のＰＬＣのプログラミングにおける変数名の入力支援方法。
【請求項３】
前記第４のステップにて確定文字列とされた文字列を所定のディスプレイに表示するための表示ステップをさらに含む、ことを特徴とする請求項１又は２に記載のＰＬＣのプログラミングにおける変数名の入力支援方法。
【請求項４】
前記表示ステップは、前記第２のステップで抽出された変数名を最終的な変数名候補として前記ディスプレイに付加的に表示するステップをさらに含む、ことを特徴とする請求項３に記載のＰＬＣのプログラミングにおける変数名の入力支援方法。
【請求項５】
前記表示ステップは、前記第４のステップにて確定文字列とされた文字列と、前記第２のステップで抽出された変数名の１つの前記確定文字列以降の未確定の文字列とを一連に表示すると共に、前記確定文字列については第１の表示態様で、かつ前記未確定文字列については第２の表示態様で表示するステップをさらに含む、ことを特徴とする請求項３に記載のＰＬＣのプログラミングにおける変数名の入力支援方法。
【請求項６】
ＰＬＣのユーザプログラムを構成する１の命令のオペランドとなる変数名を指定するために、前記ユーザプログラムにおいて使用することが予定されている変数名がその属性とともにあらかじめ登録されている変数テーブルから変数名を選択して入力することを支援する装置であって、
前記１の命令のオペランドとなるべき変数名を構成する文字列の１文字を入力可能な状態とする第１の手段と、
前記１文字が入力されると、それまでに確定した文字列およびその１文字からなる文字列と前方一致するすべての変数名を変数テーブルから抽出する第２の手段と、
前記抽出された変数名が単一である場合には、その変数名をオペランドとして確定することにより前記１の命令のオペランドの指定を完了する第３の手段と、
前記抽出された変数名が複数である場合には、すべての前記抽出された変数名について互いに前方一致する部分の文字列を確定文字列として第１の手段の実行へと復帰させる第４の手段とを有する、ことを特徴とするＰＬＣのプログラミングにおける変数名の入力支援装置。
【請求項７】
前記第１の手段の前段には、前記抽出の対象となり得る変数名を、前記１の命令のオペランドとなり得るデータ型を有する変数名に絞り込むための予備絞込手段をさらに含む、ことを特徴とする請求項６に記載のＰＬＣのプログラミングにおける変数名の入力支援装置。
【請求項８】
前記第４の手段にて確定文字列とされた文字列を所定のディスプレイに表示するための表示手段をさらに含む、ことを特徴とする請求項６又は７に記載のＰＬＣのプログラミングにおける変数名の入力支援装置。
【請求項９】
前記表示手段は、前記第２の手段で抽出された変数名を最終的な変数名候補として前記ディスプレイに付加的に表示する手段をさらに含む、ことを特徴とする請求項８に記載のＰＬＣのプログラミングにおける変数名の入力支援装置。
【請求項１０】
前記表示手段は、前記第４の手段にて確定文字列とされた文字列と、前記第２の手段で抽出された変数名の１つの前記確定文字列以降の未確定の文字列とを一連に表示すると共に、前記確定文字列については第１の表示態様で、かつ前記未確定文字列については第２の表示態様で表示する手段をさらに含む、ことを特徴とする請求項８に記載のＰＬＣのプログラミングにおける変数名の入力支援装置。
【請求項１１】
文字を１文字単位で入力可能な文字入力手段と、文字や画像を表示可能なディスプレイと、演算の際に使用されるワーク領域と変数テーブルが記憶される変数テーブル記憶領域とが定義された記憶部と、各種のプログラムを実行するための演算部とを少なくとも有するコンピュータを、ＰＬＣのプログラミングにおける変数名の入力支援装置として機能させるためのコンピュータプログラムであって、
前記変数テーブルには、前記ユーザプログラムにおいて使用することが予定されている変数名がその属性とともにあらかじめ登録されており、
前記コンピュータプログラムが、
前記１の命令のオペランドとなるべき変数名を構成する文字列の１文字を入力可能な状態とする第１のステップと、
前記１文字が入力されると、それまでに確定した文字列およびその１文字からなる文字列と前方一致するすべての変数名を変数テーブルから抽出する第２のステップと、
前記抽出された変数名が単一である場合には、その変数名をオペランドとして確定することにより前記１の命令のオペランドの指定を完了する第３のステップと、
前記抽出された変数名が複数である場合には、すべての前記抽出された変数名について互いに前方一致する部分の文字列を確定文字列として第１のステップに戻る第４のステップとを有する、ことを特徴とするコンピュータプログラム。
【請求項１２】
前記第１のステップの前段には、前記抽出の対象となり得る変数名を、前記１の命令のオペランドとなり得るデータ型を有する変数名に絞り込むための予備絞込ステップをさらに含む、ことを特徴とする請求項１１に記載のコンピュータプログラム。
【請求項１３】
前記第４のステップにて確定文字列とされた文字列を前記ディスプレイに表示するための表示ステップをさらに含む、ことを特徴とする請求項１１又は１２に記載のコンピュータプログラム。
【請求項１４】
前記表示ステップは、前記第２のステップで抽出された変数名を最終的な変数名候補として前記ディスプレイに付加的に表示するステップをさらに含む、ことを特徴とする請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記表示ステップは、前記第４のステップにて確定文字列とされた文字列と、前記第２のステップで抽出された変数名の１つの前記確定文字列以降の未確定の文字列とを一連に表示すると共に、前記確定文字列については第１の表示態様で、かつ前記未確定文字列については第２の表示態様で表示するステップをさらに含む、ことを特徴とする請求項１３に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＬＣのプログラム開発支援装置への組み込み等に好適な変数名の入力支援方法に係り、特に、命令のオペランドとして変数名を入力する際に使用される変数名の入力支援方法に関する。
【背景技術】
【０００２】
従来、プログラマブル・コントローラ（以下、ＰＬＣと言う）のラダープログラムに含まれる命令（例えば、ＬＤ命令、ＡＮＤ命令、ＭＯＶ命令等々）のオペランドは、アドレス（プログラムで扱うデータが格納されているメモリ上の位置を示すもので、複数桁の数字列または数字列の先頭にデータの種別を示す文字を添えたもので表現される）で記述するのが一般的であった。オペランドをアドレスで記述する場合には、各アドレスに対してコメントを付することで、各オペランドの意味内容を理解しやすくする工夫が行われている。
【０００３】
近年、命令のオペランドを任意の文字列からなる変数名で記述することが可能となり、パソコンの高級言語のように変数ベースでのプログラミングも盛んになってきている。変数ベースでのプログラミングでは、オペランドを変数名で記述することにより、オペランドに対応するアドレスの意味を直感的に理解させることができ、保守性にすぐれたプログラムを提供することができる。
【０００４】
また、オペランドが変数名で記述されていると、オペランドに対応するアドレスの用途に変更が発生した場合でも、プログラム側を変更せず、変数名に割り当てるアドレスを変更する（例えば、変数名とアドレスの対応付けを示すテーブルを編集すること）だけで、容易にプログラムの再利用が可能となる。
【０００５】
ＰＬＣのラダープログラム中のオペランドの多くはビット型（ＢＯＯＬ型）であることが多く、またビット型オペランドの場合には、１つのプログラムに数千個、場合によっては数万個のオペランドを記述する必要がある。
【０００６】
このような場合に、オペランドに変数名を使用すると、変数名の重複が発生せず、変数名で意味が理解できるようにするためには、長い文字列で変数を定義する必要がある。すなわち、オペランドにアドレスを使用するのであれば、同様な場合であっても数文字程度の数字列で済むのに対して、オペランドに変数名を使用すると、数十文字の文字列（例えば、アルファベット列）が必要となり、文字列の入力に時間がかかり、プログラミングの効率が悪かった。
【０００７】
プログラミング効率を向上するため、１文字が入力されるたびに、変数名が登録されている変数テーブル内を検索し、対象となる変数名の文字列を絞り込み、絞り込んだ変数名の中から確定した文字の次の文字がアルファベット順で最も小さいものを抽出し、変数名の候補として表示すると言った機能も知られている。このような機能は、一般に、オートコンプリート機能と称される（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−１７２４４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
オートコンプリート機能は、次の入力候補となる変数名を絞り込み、その中から１つを抽出して、ユーザにガイド表示するが、ガイド表示された変数名が入力したいものと異なる場合は、引き続き文字の入力を継続していく必要があった。
【００１０】
特に変数名のつけ方として、複数の異なるアドレスに同じ意味の変数名を個別に割り付ける必要がある場合、名前の末尾に数字を割り付けるような名前のつけ方が行われることがよくある。このような場合、結局すべての文字列を入力しなければ、変数名を確定することができなかった。
【００１１】
本発明は、上述の問題点に着目してなされたものであり、その目的とするところは、意味としては同じであるが異なるアドレスに複数割り付ける必要から、名前の末尾に数字を割り付けるような名前のつけ方が行われたときにも、全ての文字列を入力することなく、目的とする変数名を確定することが可能なＰＬＣのプログラミングにおける変数名の入力支援方法、装置、及びコンピュータプログラムを提供することにある。
【００１２】
本発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【００１３】
上述の技術的な課題は、以下の構成よりなるＰＬＣのプログラミングにおける変数名の入力支援方法により解決することできる。
【００１４】
この方法は、ＰＬＣのユーザプログラムを構成する１の命令のオペランドとなる変数名を指定するために、前記ユーザプログラムにおいて使用することが予定されている変数名がその属性とともにあらかじめ登録されている変数テーブルから変数名を選択して入力することをコンピュータが支援する。
【００１５】
この方法は、第１のステップと、第２のステップと、第３のステップと、第４のステップとを有する。
【００１６】
第１のステップは、前記１の命令のオペランドとなるべき変数名を構成する文字列の１文字を入力可能な状態とする。
【００１７】
第２のステップは、前記１文字が入力されると、それまでに確定した文字列およびその１文字からなる文字列と前方一致するすべての変数名を変数テーブルから抽出する。
【００１８】
第３のステップは、前記抽出された変数名が単一である場合には、その変数名をオペランドとして確定することにより前記１の命令のオペランドの指定を完了する。
【００１９】
第４のステップは、前記抽出された変数名が複数である場合には、すべての前記抽出された変数名について互いに前方一致する部分の文字列を確定文字列として第１のステップに戻る。
【００２０】
このような方法によれば、第２のステップで抽出される変数名が複数存在し、しかもそれらの変数名間で、１若しくは２以上の連続する文字列が互いに一致するときには、それら選択の余地のない一連の文字列は目的とする変数名の文字列として自動的に採択されて確定するため、ユーザはそれらの文字列を手入力する煩わしさから解放されて、本来の選択を要する文字列の入力だけに専念することが可能となり、この種の変数名の入力操作における文字入力回数を必要最小限に留め、操作性を著しく良好なものとすることが可能となる。その結果、意味としては同じであるが異なるアドレスに複数割り付ける必要から、名前の末尾に数字を割り付けるような名前のつけ方が行われたときにも、全ての文字列を入力することなく、目的とする変数名を確定することが可能となる。
【００２１】
上述の方法の好ましい実施形態としては、前記第１のステップの前段には、前記抽出の対象となり得る変数名を、前記１の命令のオペランドとなり得るデータ型（例えば、ＢＯＯＬ型、ＣＨＡＮＮＥＬ型等々）を有する変数名に絞り込むための予備絞込ステップをさらに含むようにしてもよい。
【００２２】
このような実施形態によれば、第２のステップで抽出される変数名は、自動的に、その命令のオペランドとなり得るデータ型を有する変数名となるため、こうして最終的に確定される変数名は、そのまま、命令のオペランドとして採用することができ、命令とオペランドのデータ型とが不一致となることによりラダープログラム中にバグの発生を未然に防止することができる。
【００２３】
上述の方法の好ましい実施形態としては、前記第４のステップにて確定文字列とされた文字列を所定のディスプレイに表示するための表示ステップをさらに含むようにしてもよい。
【００２４】
このような実施形態によれば、現時点までに確定された文字列を視覚を通じて確認しつつ、変数名の入力操作を行うことができるから、文字を重複して入力したり、文字を入力し忘れたりすると言った誤操作を未然に防止することできる。
【００２５】
このような実施形態のさらに好ましい態様としては、前記表示ステップは、前記第２のステップで抽出された変数名を最終的な変数名候補として前記ディスプレイに付加的に表示するステップをさらに含むようにしてもよい。
【００２６】
このような実施態様によれば、表示された変数名候補の中から目的とする変数を視覚的に確認した上で、変数名の入力操作を行うことができるから、目的とする変数名がうる覚えであっても、視覚を通じて正しい変数名を確実に入力することが可能となる。
【００２７】
上述の方法の好ましい実施形態としては、前記表示ステップは、前記第４のステップにて確定文字列とされた文字列と、前記第２のステップで抽出された変数名の１つの前記確定文字列以降の未確定の文字列とを一連に表示すると共に、前記確定文字列については第１の表示態様で、かつ前記未確定文字列については第２の表示態様で表示するステップをさらに含むようにしてもよい。
【００２８】
このような構成によれば、第１の表示態様と第２の表示態様との相違により、目的とする変数名を構成する文字列のどこまでが確定しているかを確認しつつ、未確定文字列の１候補を参考としつつ、文字列入力操作をより簡便に行うことが可能となる。
【００２９】
上述の技術的な課題は、別の一面から見た場合には、以下の構成よりなるＰＬＣのプログラミングにおける変数名の入力支援装置により解決することもできる。
【００３０】
この装置は、ＰＬＣのユーザプログラムを構成する１の命令のオペランドとなる変数名を指定するために、前記ユーザプログラムにおいて使用することが予定されている変数名がその属性とともにあらかじめ登録されている変数テーブルから変数名を選択して入力することを支援する。
【００３１】
この装置は、第１の手段と、第２の手段と、第３の手段と、第４の手段とを有している。
【００３２】
第１の手段は、前記１の命令のオペランドとなるべき変数名を構成する文字列の１文字を入力可能な状態とする。
【００３３】
第２の手段は、前記１文字が入力されると、それまでに確定した文字列およびその１文字からなる文字列と前方一致するすべての変数名を変数テーブルから抽出する。
【００３４】
第３の手段は、前記抽出された変数名が単一である場合には、その変数名をオペランドとして確定することにより前記１の命令のオペランドの指定を完了する。
【００３５】
第４の手段は、前記抽出された変数名が複数である場合には、すべての前記抽出された変数名について互いに前方一致する部分の文字列を確定文字列として第１の手段の実行へと復帰させる。
【００３６】
上述の装置の好ましい実施形態としては、前記第１の手段の前段には、前記抽出の対象となり得る変数名を、前記１の命令のオペランドとなり得るデータ型を有する変数名に絞り込むための予備絞込手段をさらに含むようにしてもよい。
【００３７】
上述の装置の好ましい実施の形態としては、前記第４の手段にて確定文字列とされた文字列を所定のディスプレイに表示するための表示手段をさらに含むようにしてもよい。
【００３８】
上述の装置の好ましい実施の形態としては、前記表示手段は、前記第２の手段で抽出された変数名を最終的な変数名候補として前記ディスプレイに付加的に表示する手段をさらに含ようにしてもよい。
【００３９】
上述の装置の好ましい実施の形態としては、前記表示手段は、前記第４の手段にて確定文字列とされた文字列と、前記第２の手段で抽出された変数名の１つの前記確定文字列以降の未確定の文字列とを一連に表示すると共に、前記確定文字列については第１の表示態様で、かつ前記未確定文字列については第２の表示態様で表示する手段をさらに含むようにしてもよい。
【００４０】
なお、それらの装置及びその実施形態による作用効果は、上述の方法及びその実施形態のそれとほぼ同様であるから重複説明は省略する。
【００４１】
上述の技術的な課題は、別の一面から見た場合には、以下の構成よりなるＰＬＣのプログラミングにおける変数名の入力支援装置を実現するためのコンピュータプログラムにより解決することもできる。
【００４２】
このプログラムは、文字を１文字単位で入力可能な文字入力手段と、文字や画像を表示可能なディスプレイと、演算の際に使用されるワーク領域と変数テーブルが記憶される変数テーブル記憶領域とが定義された記憶部と、各種のプログラムを実行するための演算部とを少なくとも有するコンピュータを、ＰＬＣのプログラミングにおける変数名の入力支援装置として機能させる。前記変数テーブルには、前記ユーザプログラムにおいて使用することが予定されている変数名がその属性とともにあらかじめ登録いる。
【００４３】
このコンピュータプログラムは、第１のステップと、第２のステップと、第３のステップと、第４のステップとを有する。
【００４４】
第１のステップは、前記１の命令のオペランドとなるべき変数名を構成する文字列の１文字を入力可能な状態とする。
【００４５】
第２のステップは、前記１文字が入力されると、それまでに確定した文字列およびその１文字からなる文字列と前方一致するすべての変数名を変数テーブルから抽出する。
【００４６】
第３のステップは、前記抽出された変数名が単一である場合には、その変数名をオペランドとして確定することにより前記１の命令のオペランドの指定を完了する。
【００４７】
第４のステップは、前記抽出された変数名が複数である場合には、すべての前記抽出された変数名について互いに前方一致する部分の文字列を確定文字列として第１のステップに戻る。
【００４８】
上述のプログラムの好ましい実施の形態としては、前記第１のステップの前段には、前記抽出の対象となり得る変数名を、前記１の命令のオペランドとなり得るデータ型を有する変数名に絞り込むための予備絞込ステップをさらに含むようにしてもよい。
【００４９】
上述のプログラムの好ましい実施の形態としては、前記第４のステップにて確定文字列とされた文字列を前記ディスプレイに表示するための表示ステップをさらに含むようにしてもよい。
【００５０】
上述のプログラム好ましい実施の形態としては、前記表示ステップは、前記第２のステップで抽出された変数名を最終的な変数名候補として前記ディスプレイに付加的に表示するステップをさらに含むようにしてもよい。
【００５１】
上述のプログラムの好ましい実施の形態としては、前記表示ステップは、前記第４のステップにて確定文字列とされた文字列と、前記第２のステップで抽出された変数名の１つの前記確定文字列以降の未確定の文字列とを一連に表示すると共に、前記確定文字列については第１の表示態様で、かつ前記未確定文字列については第２の表示態様で表示するステップをさらに含むようにしてもよい。
【００５２】
なお、それらのプログラム及びその実施形態による作用効果は、上述の方法及びその実施形態のそれとほぼ同様であるから重複説明は省略する。
【発明の効果】
【００５３】
本発明によれば、第２のステップで抽出された変数名が複数存在し、しかもそれらの変数名間で、１若しくは２以上の連続する文字列が互いに一致するときには、それら選択の余地のない一連の文字列は目的とする変数名の文字列として自動的に採択されて確定するため、ユーザはそれらの文字列を手入力する煩わしさから解放されて、本来の選択を要する文字列の入力だけに専念することが可能となり、この種の変数名の入力操作における文字入力回数を必要最小限に留め、操作性を著しく良好なものとすることが可能となる。
【図面の簡単な説明】
【００５４】
【図１】本発明に係る装置のハードウェア構成図である。
【図２】本発明に係る装置のソフトウェア構成図である。
【図３】変数テーブルの一例を示す説明図である。
【図４】予備絞込ステップにおけるディスプレイ表示状態の説明図である。
【図５】文字「Ｓ」が入力されたときにおけるディスプレイ表示状態の説明図である。
【図６】文字「ｓ」が入力されたときにおけるディスプレイ表示状態の説明図である。
【図７】文字「２」が入力されたときにおけるディスプレイ表示状態の説明図である。
【発明を実施するための形態】
【００５５】
以下に、本発明に係るＰＬＣのプログラミングにおける変数名の入力支援方法、装置、及びコンピュータプログラムの好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【００５６】
本発明に係る方法、装置、及びプログラムは、例えばパソコン（ＰＣ）に専用ソフトをインストールしてなるプログラム開発支援装置に組み込むことができる。このようなプログラム開発支援装置として機能するパソコン（ＰＣ）の一般的なハードウェア構成図が図１に示されている。
【００５７】
同図に示されるように、このパソコン（ＰＣ）１は、文字を１文字単位で入力可能な文字入力手段としてのキーボード１１と、マウス等のポインティングデバイス１２と、文字や画像を表示可能なディスプレイ１３と、演算の際に使用されるワーク領域１４ａと変数テーブル（詳細は図３参照）が記憶される変数テーブル記憶領域１４ｂとが定義された記憶部１４と、各種のプログラムを実行するための演算部として機能するＣＰＵ１５と、図示しないが、ハードディスクドライブやＣＤドライブ等の外部記憶装置、及び外部記憶装置から読み込んだ各種専用ソフトを展開するためのメモリ（ＲＡＭ等）を有する。
【００５８】
また、図示しないＰＬＣ等との通信（ラダープログラムのダウンロード、アップロード、モニタ等）を行うための通信インタフェース１６を備えている。
【００５９】
変数テーブル記憶領域１４ｂには、ＰＬＣのラダープログラム中で命令のオペランドとして使用されている変数名をその属性（データ型、アドレス等々）と関連づけて登録してなる変数テーブルが記憶されている。変数テーブルの一例が図３に示されている。
【００６０】
同図に示されるように、この例にあっては、変数テーブル２は、名前欄と、データ型欄と、アドレス欄と、コメント欄とが設けられている。そして、名前欄には変数名に相当する文字列（アルファベット、数字、記号を含む）が、データ型欄にはデータ型（ＣＨＡＮＮＥＬ、ＢＯＯＬを含む）が、アドレス欄にはアドレス（０．００、０．０１・・・０．０５、Ｄ０、Ｄ１、Ｄ２）が、コメント欄にはコメント（書込みデータ、システムデータ１〜４、システム１，２、テストデータ１，２）がそれぞれ格納されている。
【００６１】
なお、ここで、ＣＨＡＮＮＥＬとは１６ビット単位でデータを取り扱うデータ型であることを示し、ＢＯＯＬとは１ビット単位でデータを扱うデータ型であることを示す。また、Ｄ０、Ｄ１、Ｄ２とは、それぞれ１６ビットデータが格納されるアドレスである第０チャネル、第１チャネル、第２チャネルを示し、０．００、０．０１・・・０．０５は、ビットデータが格納される０チャネルの第００ビット、第０１ビット、・・・第５ビットをそれぞれ示す。
【００６２】
本発明に係る方法及び装置は、図１に示されるハードウェア構成を有するパソコン１に、本発明に係るオペランド入力支援プログラムが組み込まれたプログラム開発支援ソフトをインストールして動作させることにより実現される。
【００６３】
以下に、図２のフローチャートを参照しながら、本発明に係るオペランド入力支援プログラム部分の動作を詳細に説明する。なお、この種のプログラム開発支援ソフトそれ自体の構成は、ラダープログラムの作成、編集、モニタ等を実現するものであって、既に、ＰＬＣ製品を扱う各社より種々のものが提供されて周知であるから、プログラム開発支援ソフトそれ自体の構成についての詳細な説明については省略する。
【００６４】
このフローチャートに示されるプログラムの動作は、１のラダー命令の命令語（例えば、ＬＤ、ＡＮＤ、ＯＲ、ＭＯＶ等）の入力完了に続いて開始されるものとする。
【００６５】
先ず、ステップ１０１では、変数名の予備絞込処理を実行する。この予備絞込処理では、変数テーブル（図３参照）に登録された全変数名について、その時点で入力しようとしている命令のオペランドとして指定可能なデータ型によって検索をかけることにより、そのデータ型に合致する変数名だけを絞り込む。今仮に、対象となる命令が、ビット型のオペランドをとる命令であるＬＤであったとすれば、入力候補となる変数名は、データ型がＢＯＯＬ（ビット型）である変数名だけに絞り込まれる。この予備絞込処理で絞り込まれた変数のみからなる変数テーブルをあらたに作成し、後述するステップ１０５で使用する。
【００６６】
後述する表示処理（ステップ１０９、１１０）が実行される結果、このとき、ディスプレイの画面上の表示状態は、図４の通りとなる。同図に示されるように、画面上には、入力データ表示領域１３１，次候補変数名説明欄１３２、変数名候補リスト１３３、リレー番号表示領域１３４が設けられる。
【００６７】
入力データ表示領域１３１には、既に入力済みの命令語「ＬＤ」に続いて、次候補となる変数名「Ｓｙｍｂｏｌ＿Ｄａｔａ１」が未確定を示す表示態様（この例では反転表示）で表示される。なお、既に入力済みの命令語「ＬＤ」については、既に確定済みを示す表示態様（この例では非反転表示）で表示される。
【００６８】
次候補変数名説明欄１３２は、入力データ表示欄１３１のすぐ下に配置され、同欄には、仮決定された変数名「Ｓｙｍｂｏｌ＿Ｄａｔａ１」に関する属性情報（アドレス、コメント等々）が表示される。
【００６９】
変数名候補リスト１３３は、次候補変数名説明欄のすぐ下に配置され、同リスト１３３には、前記予備絞込処理（ステップ１０１）にて絞り込まれた一連の変数名がその属性情報と共に表示される。図４の変数名候補リストと図３の変数テーブルとを比較して明らかなように、予備絞込処理（ステップ１０１）が実行された結果、変数名候補リスト１３３に挙げられた変数名には、変数テーブル２に存在したＣＨＡＮＮＥＬ型の変数名は全て除かれていることがわかる。
【００７０】
なお、この例にあっては、このとき、絞り込まれた変数候補リスト１３３の中で、一番最初に位置する変数名が仮決定変数名とされて、入力データ表示領域１３１に反転表示されるものとしている。
【００７１】
続くステップ１０２では、キーボードを介してオペランドに相当する文字（この例では、アルファベット、数字、文字を含む）を入力可能な状態に設定する。この状態にて、キーボード１１から１文字が入力されると（ステップ１０３）、続くステップ１０４では、こうして入力された１文字（この例では、「Ｓ」）を、そのまま、オペランドを構成する文字列の１文字（この時点では、最初の１文字）として確定する処理が実行される。
【００７２】
続くステップ１０５では、こうして確定された文字（この例では「Ｓ」）を検索キーとして前方一致検索を実行することにより、予備絞込処理（ステップ１０１）で絞り込まれた変数名群（図４の変数名候補リスト１３３参照）から、文字「Ｓ」から始まる変数名を絞り込む処理を実行する。この絞り込み処理で抽出された変数のみからなる変数テーブルをあらたに作成し、次回の絞り込み処理で使用する。 
【００７３】
続くステップ１０６では、こうして絞り込まれた変数名の個数が複数（２個以上）であるか否かの判定処理が行われる。ここで、絞り込まれた変数名の個数が単数（１個）であった場合には（ステップ１０６ＮＯ）、目的とする変数に辿り着いたことを意味するため、直ちに、その１個に絞られた変数名の全文字列をもって目的とする変数名を確定することとなる。
【００７４】
これに対して、絞り込まれた変数名の個数が複数（２個以上）である場合には（ステップ１０６ＹＥＳ）、ステップ１０４で新たに確定された１文字（この例では「Ｓ」）の次文字をステップ１０５で絞り込まれた変数名同士で比較すると共に（ステップ１０７）、その次文字が絞り込まれた全変数名間で一致すると判定される毎に（ステップ１０８ＹＥＳ）、前記次文字を１文字進めては変数名同士で同様に比較する動作（ステップ１０７）を、次文字が全変数名間で一致していると判定されない状態（ステップ１０８ＮＯ）に至るまで繰り返す。
【００７５】
この例にあっては、ステップ１０４で確定された１文字「Ｓ」の次の１文字は、絞り込まれた変数の全てに関して「ｙ」とされている。そのため、ステップ１０７における比較結果は、一致しているものと判定され（ステップ１０８ＹＥＳ）、さらに次の１文字について比較処理（ステップ１０７）が実行される。このとき、この例にあっては、さらに次の文字について見ると、絞り込まれた変数のうちで、上４個の変数は「ｍ」であるのに対して、下２個の変数は「ｓ」となって全ての変数について一致することはない（ステップ１０８ＮＯ）。
【００７６】
すると、ステップ１０９へと移って、一致した文字列までを一括して確定し、相違している文字以降を未確定状態を示す表示態様（この例では反転表示）とする処理が実行されることとなる。このときのディスプレイの表示状態が図５に示されている。
【００７７】
同図に示されるように、この例にあっては、入力データ表示領域１３１においては、一致した文字列「Ｓｙ」のみが確定状態を示す表示態様（この例では非反転表示）とされ、不一致文字列「ｍｂｏｌ＿Ｄａｔａ１」については、未確定状態を示す表示態様（この例では反転表示）とされる。加えて、次の入力文字位置には、入力位置表示マーク１３１ａが付される。
【００７８】
続くステップ１１０では、変数候補をリストで表示する処理が実行され、これにより、図５に示されるように、ディスプレイ１３の画面上には、変数名候補リスト１３３が表示される。したがって、ユーザは、変数名候補リスト１３３に基づいて、これから入力しようとする変数名の文字列を視覚的に確認することができるから、長い文字列を全て記憶していなくとも、この変数名候補リストから所望の変数名の文字列を容易に確認することができる。
【００７９】
以後、ステップ１０２に戻って、以上の一連の処理（ステップ１０２〜１１０）が繰り返される。すると、この例にあっては、次の１文字として「ｓ」がユーザにより入力されると共に確定され（ステップ１０２、１０３、１０４）、それまでに確定された一連の文字列「Ｓｙｓ」を検索キーとして前方一致検索を実行することにより、先の処理（ステップ１０５）で絞り込まれた変数名群（図４の変数名候補リスト１３３参照）から、文字列「Ｓｙｓ」から始まる変数名を抽出する処理が実行される。その結果、図６の変数名候補リスト１３３から明らかなように、オペランドの候補となる変数名はさらに２個まで絞り込まれる。
【００８０】
続くステップ１０６では、こうして絞り込まれた変数名の個数が複数（２個以上）であるか否かの判定処理が行われる。先に説明したように、ここで、絞り込まれた変数名の個数が単数（１個）であった場合には（ステップ１０６ＮＯ）、目的とする変数に辿り着いたことを意味するため、直ちに、その１個に絞られた変数名の全文字列をもって目的とする変数名を確定することとなる。
【００８１】
これに対して、絞り込まれた変数名の個数が複数（２個以上）である場合には（ステップ１０６ＹＥＳ）、ステップ１０４で新たに確定された１文字（この例では「ｓ」）の次の１文字をステップ１０５で抽出された変数名同士で比較すると共に（ステップ１０７）、その次文字が抽出された全変数名間で一致すると判定される毎に（ステップ１０８ＹＥＳ）、前記次文字を１文字進めては変数名同士で同様に比較する動作（ステップ１０７）を、次の１文字が全変数名間で一致していると判定されない状態（ステップ１０８ＮＯ）に至るまで繰り返す。
【００８２】
この例にあっては、オペランドの候補となる変数名は２個まで絞り込まれたので、絞り込まれた変数名の個数は複数と判定され（ステップ１０６ＹＥＳ）、ステップ１０４で確定された１文字「ｓ」の次の１文字についての比較処理が行われる（ステップ１０７）。ここで、この例にあっては、次の１文字は、変数の全てに関して「ｔ」となる。そのため、ステップ１０７における比較結果は、一致しているものと判定され（ステップ１０８ＹＥＳ）、さらに次の１文字について比較処理（ステップ１０７）が実行される。このとき、この例にあっては、以後に続く２つの文字「ｅ」、「ｍ」はいずれも２個の変数の全てに関して一致することとなる。そのため、比較処理（ステップ１０７）は、さらに、次の１文字に関して行われるが、絞り込まれた２個の変数のうちで、上の変数は「１」であるのに対して、下の変数は「２」となって全ての変数について一致することがなくなる（ステップ１０８ＮＯ）。
【００８３】
すると、ステップ１０９へと移って、一致した文字列までを一括して確定し、相違している文字以降を未確定状態を示す表示態様（この例では反転表示）とする処理が実行されることとなる。このときのディスプレイの表示状態が図６に示されている。
【００８４】
同図に示されるように、この例にあっては、入力データ表示領域１３１においては、一致した文字列「Ｓｙｓｔｅｍ」のみが確定状態を示す表示態様（この例では非反転表示）とされ、不一致文字列「１」については、未確定状態を示す表示態様（この例では反転表示）とされる。
【００８５】
続くステップ１１０では、変数候補をリストで表示する処理が実行され、これにより、図６に示されるように、ディスプレイ１３の画面上には、変数名候補リスト１３３が表示される。
【００８６】
以後、ステップ１０２に戻って、以上の一連の処理（ステップ１０２〜１１０）が繰り返される。すると、この例にあっては、次の１文字として「２」がユーザにより入力されると共に確定され（ステップ１０２、１０３、１０４）、それまでに確定された一連の文字列「Ｓｙｓｔｅｍ２」を検索キーとして前方一致検索を実行することにより、先の処理（ステップ１０５）で絞り込まれた変数名群（図６の変数名候補リスト１３３参照）から、文字列「Ｓｙｓｔｅｍ２」から始まる変数名を絞り込む処理が実行される。その結果、図７の変数名候補リスト１３３から明らかなように、オペランドの候補となる変数名はさらに１個まで絞り込まれる。
【００８７】
続くステップ１０６では、こうして絞り込まれた変数名の個数が複数（２個以上）であるか否かの判定処理が行われる。先に説明したように、ここで、絞り込まれた変数名の個数が単数（１個）であった場合には（ステップ１０６ＮＯ）、目的とする変数に辿り着いたことを意味するため、直ちに、その１個に絞られた変数名の全文字列をもって目的とする変数名を確定することとなる。
【００８８】
そして、この例にあっては、絞り込まれた変数の個数は１個と判定されるから（ステップ１０６ＮＯ）、ステップ１１１へと進んで、その１個の変数を構成する全ての文字列「Ｓｙｓｔｅｍ２」をもって、目的とするオペランドとなる変数名が確定される。
【００８９】
以上の実施形態から明らかなように、この例にあっては、図３に示される変数テーブル２から、７個の文字を連ねてなる文字列「Ｓｙｓｔｅｍ２」を生成するについて、実際にユーザがキーボードから入力する文字の個数は、「Ｓ」、「ｓ」、「２」の３個で済むことから、この種の変数名でオペランドを記述するラダープログラムの編集操作を著しく高効率に行うことが可能となる。
【００９０】
殊に、この種の変数名でオペランドを記述するようにしたラダープログラムのプログラミングにおいては、意味としては同じであるが異なるアドレスに複数割り付ける必要がある場合、名前の末尾に数字を割り付けるような名前のつけ方が行われることがよくあるのであるが、このような場合、本発明によれば、そのような変数名の入力に要する労力を可及的に軽減することできる。
【００９１】
なお、以上の実施形態にあっては、文字列として使用可能な文字をアルファベット、数字、記号としたが、勿論、それ以外にも、ひらがな、カタカナ、漢字、英語以外の外国語の文字等々、任意の文字に拡張できることは勿論である。
【００９２】
また、以上の実施形態にあっては、ステップ１０７で逐次自動入力される文字の確定をステップ１０９で一括して行ったが、これは、１文字自動入力する毎に確定するようにしてもよいことは勿論である。
【００９３】
また、以上の実施形態にあっては、予備絞込処理（ステップ１０１）を処理の開始に置いたが、勿論、予備絞込処理（ステップ１０１）を省略してもよいことは勿論である。
【００９４】
また、以上の実施形態にあっては、変数候補リスト１３３を単に視覚的な確認のために利用したが、勿論、適当なＧＵＩを設けることで、変数候補リスト１３３からマウス操作で変数名を選択するようにしてもよい。ただし、一般に、変数の個数は数１００個乃至数１０００個に及ぶ場合が多く、そのような場合には、選択操作のために画面をスクロールする等の煩雑な操作が必要であろう。
【００９５】
また、以上の実施形態にあっては、１文字の入力操作のためにキーボード１１が使用されたが、勿論、適当なＧＵＩを設けることで、画面上に表示された文字をタッチ入力したり、マウスでクリックすることで、キーボードを使用せずに文字入力するものであってもよいことは勿論である。
【００９６】
さらに、以上の実施形態にあっては、本発明をユーザプログラム、中でも、ラダープログラム言語に適用したが、本発明の適用はラダープログラム言語のみに限定されるものではなく、その他、国際基準規格ＩＥＣ６１１３１−３で規定される５つのプログラム言語の中で、ラダープログラム以外のプログラム言語にも同様に適用できることは言うまでもない。
【産業上の利用可能性】
【００９７】
本発明は、ＰＬＣのプログラム開発支援装置において、ラダープログラムを作成や編集する際に、ＬＤ，ＡＮＤ，ＯＲ，ＭＯＶ，ＣＴＲと言ったラダー命令のオペランドをアルファベットを使用した変数名で入力するような場合に、入力文字数を必要最小限として、入力操作を簡便なものとすることができる。
【符号の説明】
【００９８】
１ パーソナル・コンピュータ（ＰＣ）
２ 変数テーブル
３ 命令
４ オペランド
１１ キーボード
１２ ポインティングデバイス
１３ ディスプレイ
１４ 記憶部
１４ａ ワーク領域
１４ｂ 変数テーブル記憶領域
１５ ＣＰＵ
１６ 通信インタフェース
１３１ 入力データ表示領域
１３１ａ 入力位置表示マーク
１３２ 仮決定変数名説明欄
１３３ 変数名候補リスト
１３４ リレー番号表示領域
【図１】
2010238225.tif 000003
【図２】
2010238225.tif 000004
【図３】
2010238225.tif 000005
【図４】
2010238225.tif 000006
【図５】
2010238225.tif 000007
【図６】
2010238225.tif 000008
【図７】
2010238225.tif 000009