IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ オムロン株式会社の特許一覧

特開2024-11850制御プログラム編集装置、編集方法、およびプログラム
<>
  • 特開-制御プログラム編集装置、編集方法、およびプログラム 図1
  • 特開-制御プログラム編集装置、編集方法、およびプログラム 図2
  • 特開-制御プログラム編集装置、編集方法、およびプログラム 図3
  • 特開-制御プログラム編集装置、編集方法、およびプログラム 図4
  • 特開-制御プログラム編集装置、編集方法、およびプログラム 図5
  • 特開-制御プログラム編集装置、編集方法、およびプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024011850
(43)【公開日】2024-01-25
(54)【発明の名称】制御プログラム編集装置、編集方法、およびプログラム
(51)【国際特許分類】
   G05B 19/05 20060101AFI20240118BHJP
【FI】
G05B19/05 B
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022114134
(22)【出願日】2022-07-15
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100155712
【弁理士】
【氏名又は名称】村上 尚
(72)【発明者】
【氏名】香川 徹雄
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220AA06
5H220BB12
5H220CC06
5H220CX02
5H220DD04
5H220JJ12
5H220JJ24
5H220JJ41
5H220JJ53
(57)【要約】
【課題】FAシステムにおけるIDEにおいて、配列変数の中に格納されている要素を容易に、間違いなく選択できる。
【解決手段】制御プログラムを編集する制御プログラム編集装置(1)であって、複数の要素を含む変数の中から特定の要素を制御プログラムに入力する際に、検索語のユーザ入力を受け付ける検索語入力部(11)と、要素リストを取得する要素リスト取得部(12)と、検索語に関連した要素を抽出する抽出部(13)と、抽出部によって抽出された要素と、要素を説明するコメントと、を表示する制御を行う表示制御部(14)と、表示された要素の中から、1つの要素を選択するユーザ入力を受け付け、制御プログラムに適用する。
【選択図】図1
【特許請求の範囲】
【請求項1】
FAシステムの制御プログラムを編集する制御プログラム編集装置であって、
複数の要素を含む変数の中から特定の前記要素を前記制御プログラムに入力するユーザ指示として、前記変数を指定する変数指定語および前記要素を指定する要素指定語から構成された、検索語の入力を受け付ける検索語入力部と、
前記変数に関した前記要素の候補を含む要素リストを取得する要素リスト取得部と、
前記要素リストの中から、前記要素指定語に関連した前記要素を抽出する抽出部と、
前記抽出部によって抽出された前記要素と、前記要素を説明するコメントと、を表示する制御を行う表示制御部と、
前記表示制御部によって表示された前記要素の中から、1つの前記要素を選択するユーザ入力を受け付ける選択部と、
前記選択部によって選択された前記要素を前記制御プログラムに入力する適用部と、を備える制御プログラム編集装置。
【請求項2】
前記表示制御部は、さらに前記要素のデータ型を表示する、請求項1に記載の制御プログラム編集装置。
【請求項3】
前記要素指定語として整数値が入力された場合、
前記抽出部は、前記整数値に対応したインデックス番号の前記要素、および該整数値の前後所定の範囲に含まれるインデックス番号の前記要素を抽出する、請求項1に記載の制御プログラム編集装置。
【請求項4】
前記要素リストは変数名称の一覧を含み、
前記要素指定語として文字列が入力された場合、
前記抽出部は、前記変数名称の一覧の中から、前記要素指定語を含んだ前記変数名称を前記要素として抽出する、請求項1に記載の制御プログラム編集装置。
【請求項5】
前記要素指定語として文字列が入力された場合、
前記抽出部は、前記要素リストの中から、前記要素指定語を含んだ要素名を有する前記要素を抽出する、請求項1に記載の制御プログラム編集装置。
【請求項6】
前記変数は配列であり、前記要素は整数値で特定される、請求項1から5に記載の制御プログラム編集装置。
【請求項7】
前記変数は構造体または共用体であり、前記要素はメンバで特定される、請求項1から5に記載の制御プログラム編集装置。
【請求項8】
FAシステムの制御プログラムを編集する制御プログラム編集装置の編集方法であって、
複数の要素を含む変数の中から特定の前記要素を前記制御プログラムに入力するユーザ指示として、前記変数を指定する変数指定語および前記要素を指定する要素指定語から構成された、検索語の入力を受け付ける検索語入力ステップと、
前記要素の候補を含む要素リストを取得する要素リスト取得ステップと、
前記要素リストの中から、前記要素指定語に関連した前記要素を抽出する抽出ステップと、
前記抽出ステップによって抽出された前記要素と、前記要素を説明するコメントと、を表示する制御を行う表示制御ステップと、
前記表示制御ステップによって表示された前記要素の中から、1つの前記要素を選択するユーザ入力を受け付ける選択ステップと、
前記選択ステップによって選択された前記要素を前記制御プログラムに入力する適用ステップと、を含む編集方法。
【請求項9】
請求項1に記載の制御プログラム編集装置としてコンピュータを機能させるためのプログラムであって、上記検索語入力部、上記要素リスト取得部、上記抽出部、上記表示制御部、上記選択部および上記適用部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は制御プログラム編集装置に関する。
【背景技術】
【0002】
IDE(Integrated Development Environment)によって、プログラムを開発することが一般的である。IDEでは、ユーザの入力量を削減するために、入力された情報に基づき、入力内容を補完する入力支援機能が搭載されている。例えば、特許文献1には、PLC(Programmable Logic Controller)のプログラミングにおける変数名の入力支援方法が開示されている。この入力支援方法では、絞り込まれた変数名が複数存在し、しかもそれらの変数名間で、1もしくは2以上の連続する次文字列が互いに一致するときには、それら選択の余地のない一連の文字列は、オペレータの入力を待つことなく、目的とする変数名の文字列として自動的に採択されて確定される。
【0003】
PLCにおけるプログラムでは、配列変数の要素にコメントを設定することができる。これは、PLCのプログラムは、プログラムの過程で用いた接点およびコイルに対し、当該接点およびコイルの役割を表すコメントを付与することにより、プログラムの作成者が限定されずに、作成者以外のユーザがプログラムを理解して修正することが一般的なためである。
【0004】
IEC61131-3では、変数プログラミングを用いることを推奨している。そのため、プログラムの過程で用いた接点およびコイルも変数化することが推奨されるが、これら接点およびコイルに対し個別の変数を別途設定すると、変数が膨大になり、ユーザの利便性が損なわれる。そこで、配列変数を用いて、これら接点およびコイルを集中管理することがある。また、この傾向は接点およびコイルに限定されず、整数型および浮動小数点型などの任意の変数に関しても同様である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010-238225号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述のような従来技術では、配列変数の中には多数の要素が格納されており、配列変数のインデックスを指定して、対応する要素を限定する必要がある。ユーザは配列変数の中の要素を限定するに際し、変数テーブルで要素のコメント一覧を参照し、適切な要素をインデックスで指定する必要がある。
【0007】
本発明の一態様は、配列変数の中に格納されている要素をユーザが容易に、間違いなく選択できることを可能とする制御プログラム編集装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本発明の一態様に係る制御プログラム編集装置は、FAシステムの制御プログラムを編集する制御プログラム編集装置であって、複数の要素を含む変数の中から特定の前記要素を前記制御プログラムに入力するユーザ指示として、前記変数を指定する変数指定語および前記要素を指定する要素指定語から構成された、検索語の入力を受け付ける検索語入力部と、前記変数に関した前記要素の候補を含む要素リストを取得する要素リスト取得部と、前記要素リストの中から、前記要素指定語に関連した前記要素を抽出する抽出部と、前記抽出部によって抽出された前記要素と、前記要素を説明するコメントと、を表示する制御を行う表示制御部と、前記表示制御部によって表示された前記要素の中から、1つの前記要素を選択するユーザ入力を受け付ける選択部と、前記選択部によって選択された前記要素を前記制御プログラムに入力する適用部と、を備える。
【0009】
上記の課題を解決するために、本発明の別の態様に係る制御プログラム編集装置の編集方法は、FAシステムの制御プログラムを編集する制御プログラム編集装置の編集方法であって、複数の要素を含む変数の中から特定の前記要素を前記制御プログラムに入力するユーザ指示として、前記変数を指定する変数指定語および前記要素を指定する要素指定語から構成された、検索語の入力を受け付ける検索語入力ステップと、前記要素の候補を含む要素リストを取得する要素リスト取得ステップと、前記要素リストの中から、前記要素指定語に関連した前記要素を抽出する抽出ステップと、前記抽出ステップによって抽出された前記要素と、前記要素を説明するコメントと、を表示する制御を行う表示制御ステップと、前記表示制御ステップによって表示された前記要素の中から、1つの前記要素を選択するユーザ入力を受け付ける選択ステップと、前記選択ステップによって選択された前記要素を前記制御プログラムに入力する適用ステップと、を含む。
【0010】
上記の構成によれば、コメントが含まれた選択可能な要素リストを抽出して表示することができ、ユーザはコメントを確認して適切な要素を選択することができる。そのため、容易に、間違いなく、変数の要素を指定することができ、効率的にプログラムを作成できる。
【0011】
前記表示制御部は、さらに前記要素のデータ型を表示してもよい。
【0012】
上記の構成によれば、要素(インデックス、変数、またはメンバ)のデータ型が要素リストで確認することができ、プログラムの作成間違いを防止することができる。
【0013】
前記要素指定語として整数値が入力された場合、前記抽出部は、前記整数値に対応したインデックス番号の前記要素、および該整数値の前後所定の範囲に含まれるインデックス番号の前記要素を抽出してもよい。
【0014】
上記の構成によれば、配列要素をインデックスによって抽出することができる。また、入力された情報に対して前後の要素をも一覧で確認することができるため、正確に情報を入力しなくても目的の要素を特定することができるようになる。
【0015】
前記要素リストは変数名称の一覧を含み、前記要素指定語として文字列が入力された場合、前記抽出部は、前記変数名称の一覧の中から、前記要素指定語を含んだ前記変数名称を前記要素として抽出してもよい。
【0016】
上記の構成によれば、配列要素を指定するインデックスを指定する変数を、容易に選択することができる。そのため、適切な変数でもって配列要素を特定することが容易になり、プログラムの作成間違いを防ぐことができる。
【0017】
前記要素指定語として文字列が入力された場合、前記抽出部は、前記要素リストの中から、前記要素指定語を含んだ要素名を有する前記要素を抽出してもよい。
【0018】
上記の構成によれば、例えば構造体のメンバなど、要素名が文字列である要素を容易に指定することができる。そのため、プログラムの作成間違いを防ぐことができる。
【0019】
前記変数は配列であり、前記要素は整数値で特定されてもよい。
【0020】
上記の構成によれば、インデックスとして整数値を指定することによって、配列変数の要素を特定することができる。
【0021】
前記変数は構造体または共用体であり、前記要素はメンバで特定されてもよい。
【0022】
上記の構成によれば、文字列によってメンバを指定することによって、構造体変数の要素を特定することができる。
【0023】
本発明の各態様に係る制御プログラム編集装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記制御プログラム編集装置が備える各部(ソフトウェア要素)として動作させることにより前記制御プログラム編集装置をコンピュータにて実現させる制御プログラム編集装置のプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0024】
本発明の一態様によれば、複数の要素を含む変数の各要素を確認して適切な要素を指定(選択)することができる。
【図面の簡単な説明】
【0025】
図1】実施形態1に係る制御プログラム編集装置の要部の構成を示すブロック図である。
図2】実施形態1に係る制御プログラム編集装置の動作例を示すフローチャートである。
図3】検索語が「Bit2DimArray[0,2」の場合における要素リストの一例を示す表示例である。
図4】要素指定語が文字列の場合での、要素リストの一例を示す表示例である。
図5】構造体での要素を抽出する一例を示す表示例である。
図6】複数の要素をもつ配列変数(または構造体)に対して、コメントを設定する事例に関して示す。
【発明を実施するための形態】
【0026】
〔実施形態1〕
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【0027】
§1.適用例
PLCのプログラムの作成はIDEなどに代表される制御プログラム編集装置を用いて行う。制御プログラム編集装置では、IEC61131-3で規定される5言語での開発が可能である。これら言語では、変数にデータを格納し、種々の演算を行うことで、装置を制御する。
【0028】
PLCの変数にはコメントを付与することで、ユーザに依存せず誰がみてもプログラムの構造を理解できるようにすることが一般的である。また、変数には、配列または構造体などの複数の値を保持しているものもある。そのため、配列の要素または構造体の要素(メンバ変数)にもコメントを付与することが好ましい。
【0029】
特に、変数プログラミングでは、コメントに加えて、各接点およびコイルに変数名称をも付与することが必要である。ここで、ラダー言語では接点およびコイルを多数用いてプログラムを記述することが一般的である。そのため、多数の変数が必要になり、ユーザは各変数名称を記憶することが難しい。また、多数の変数があると、変数の登録および変数の検索が非常に煩雑になり、ユーザの利便性が損なわれる。そこで、変数プログラミングでは、プログラムで用いる多数の接点およびコイルを配列にまとめることが行われている。
【0030】
ただし、多数の接点およびコイルを含む配列を用いた際、ユーザはどのインデックスに適切な要素が格納されているかがわからず、間違ってインデックスを指定することが発生する。そこで、本実施形態では、配列のインデックスを指定する際に、既に入力されたインデックスに関する情報を用いて、インデックスを指定できる整数値(配列の範囲内の数値に限定)または変数名称を対象に検索を行う。その後、検索結果の一覧を、コメントを付記した状態で、ユーザが入力している変数の周辺に描画することによって、制御プログラム編集装置はユーザのインデックスの指定を入力支援する。すなわち、制御プログラム編集装置は配列変数のインデックス指定に対して入力支援機能を搭載する。
【0031】
ここで、既に入力されたインデックスに関する情報が0以上の整数であった場合は、制御プログラム編集装置は当該整数の前後幾つかの整数値に関するコメントも合わせて表示する。この対応によって、ユーザはだいたいのインデックス番号がわかるだけで、適切なインデックス番号を選択することができる。そのため、制御ブロック毎に、インデックスを大きく区分けしてプログラムを書いた際でも、ユーザは容易に目的のインデックスを指定することができる。
【0032】
§2.構成例
(制御プログラム編集装置1)
図1は、実施形態1に係る制御プログラム編集装置1の要部の構成を示すブロック図である。制御プログラム編集装置1は、記録部17と、検索語入力部11と、要素リスト取得部12と、抽出部13と、表示制御部14と、選択部15と、適用部16と、を備える。また、制御プログラム編集装置1には、キーボードおよびマウスなどの入力装置20と、ディスプレイなどの表示装置30とが、接続されている。
【0033】
記録部17は、制御プログラムで用いる変数テーブル17aを記録している。制御プログラム編集装置1は、適宜記録部17から変数テーブル17aを取得し、入力支援機能を実現している。なお、変数テーブル17aは、外部の装置(例えば、クラウドサーバ)に記録されていてもよい。
【0034】
また、変数テーブル17aには、多数の変数が記録されている。記録されている内容としては、当該変数の変数名称、変数のデータ型、およびコメントなどが挙げられる。変数テーブルには、配列変数および構造体が含まれてもよい。また、これらの場合はそれぞれを構成する要素(配列変数の場合は配列変数の要素、構造体の場合はメンバ)に関しても記録されている。
【0035】
検索語入力部11は、複数の要素を含む変数の中から特定の要素を制御プログラムに入力するユーザ指示として、検索語のユーザ入力を受け付ける。つまり、検索語入力部11は、配列変数と、当該配列変数の要素を特定する検索語と、を入力装置20によってユーザ入力する。
【0036】
ユーザ入力される検索語は、変数名称を指定する変数指定語と、要素を指定する要素指定語と、変数がどのような変数であるかを識別する識別子と、によって構成される。検索語入力部11は、変数指定語を要素リスト取得部12に、要素指定語を抽出部13に出力する。
【0037】
要素リスト取得部12は、検索語入力部11で変数指定語に対応した配列変数に関連した要素の候補を含む、要素リストを取得する。つまり、配列変数の要素リスト、すなわちインデックスの範囲と、インデックスを指定できる変数、すなわち整数型または構造体の変数のリストと、を取得する。要素リスト取得部12は、要素リストを抽出部13に出力する。
【0038】
抽出部13は、要素リストの中から、要素指定語に対応した要素を抽出する。この処理の詳細は後述する。抽出部13は、抽出した要素を表示制御部14に出力する。
【0039】
表示制御部14は、抽出部13によって抽出された要素を表示装置30に表示する。この際、表示制御部14は、要素と、要素を説明するコメントと、を合わせて表示する。また、要素のデータ型をも表示しても構わない。
【0040】
選択部15は、表示制御部によって表示された要素の中から、1つの要素を選択するユーザ入力を入力装置20によって受け付ける。受け付けたユーザ入力を適用部16に出力する。
【0041】
適用部16は、選択部15によって選択された要素を制御プログラムに入力する。つまり、配列変数のインデックスとして、選択された要素を入力する。
【0042】
§3.動作例
(要素リストの生成)
図2は、実施形態1に係る制御プログラム編集装置1の動作例を示すフローチャートである。
【0043】
まず、検索語入力部11は、ユーザによって入力された文字列(検索語)が配列変数であり、配列変数のインデックスを入力中かを判断する(S101)。具体的には、配列変数を意味する識別子「[」または「,」が検索語に含まれるかを確認している。
【0044】
検索語が配列変数ではない場合(S101においてNo)、表示制御部14は、表示装置30に変数入力に対する入力支援機能を適用する(S102)。
【0045】
検索語が配列変数である場合(S101においてYes)、検索語入力部11は、検索語から変数指定語、要素指定語、識別子を抜粋する(S103)。ここで、変数指定語は、配列変数の変数名称を指定する文字列である。要素指定語は、当該配列変数の要素を指定する文字列である。識別子は、検索語が配列変数とその要素を指定するものであることを識別する記号である。
【0046】
例えば、入力された文字列(検索語)が「Bit2DimArray[0,2」であった場合に関して説明する。配列変数における識別子は「[」または「,」のうち最も後ろのものである。そのため、「,」の前の文字列「Bit2DimArray[0」が変数指定語であり、この名称の配列変数を指し示す。また、「,」の後の文字列「2」が要素指定語であり、当該配列変数のインデックスを指し示す。ここで、変数指定部は、二次元配列を意味する内容になっており、1次元目の要素を指定する内容として「0」が指定されている。すなわち、上記検索語は、配列変数「Bit2DimArray」の1次元目の要素が「0」であり、2次元目の要素を「2」で抽出しようとする検索語である。
【0047】
要素リスト取得部12は、配列変数のインデックスとなり得る整数値と、インデックスとなり得る変数一覧とを要素リストとする(S104)すなわち、配列変数の長さ未満で0以上の整数値を要素リストとする。また、整数値または構造体の変数(変数に格納された値がインデックスとなり得る変数)の変数一覧を要素リストとする。
【0048】
次に、検索語入力部11は、入力装置20によって要素指定語が、配列変数のインデックスであるか否かを判断する(S105)。すなわち、要素指定語の文字列が、0以上の整数であり、かつ当該整数値が配列変数の長さ未満であるかを判断する。要素指定語の文字列が配列変数のインデックスではない場合(S105においてNo)、S110に進む。
【0049】
要素指定語の文字列が配列変数のインデックスである場合(S105においてYes)、要素指定語の文字列を整数値に変換し、第1インデックスとする(S106)。また、第1インデックスを中央値とした前後所定数(例えば7個ずつ)の整数値を第2インデックスとする(S107)。
【0050】
第1インデックスの数値を文字列として含む、配列変数の長さ未満の数値を第3インデックスとする(S108)。すなわち、要素指定語が「2」で、配列変数の長さが「20」の場合、「2、12、20」が第3インデックスとなる。
【0051】
抽出部13は、第1インデックスと第2インデックスと第3インデックスと、に関する要素を抽出する(S109)。ここで、第1インデックスと第2インデックスと第3インデックスとにおける重複は削除し、抽出したものは昇順でソートしても構わない。
【0052】
要素指定語の文字列を含んだ変数名称を要素リストから抽出する(S110)。すなわち、要素指定語が「2」であった場合、「Axis2_Cmd」などの「2」を変数名称に含んだ要素を、変数一覧を取り込んだ要素リストから抽出する。
【0053】
(要素リストの表示・選択)
表示制御部14は、抽出された要素リストを表形式で表示装置30に表示する(S111)。図3は、検索語が「Bit2DimArray[0,2」の場合における要素リストの一例を示す表示例である。
【0054】
なお、図3は、符号101によって制御プログラムで用いている変数テーブル17aの一部を示し、符号102によってエディット領域を示し、符号103によって入力途中の配列変数を示し、符号104によって入力途中の配列変数を補間する要素リストを示す。符号103には、「Bit2DimArray[0,2」と記載されている。このため、変数指定語103aは、「Bit2DimArray[0」であり、識別子103bは「,」であり、要素指定語103cは「2」である。つまり、配列変数「Bit2DimArray」を指定したうえで、それの1次元目のインデックスが「0」であり、2次元目のインデックスが存在し、その検索語が「2」であることを示している。
【0055】
図3の符号104に示すように、インデックスまたは変数名称の第1列と、第1列のデータ型を示す第2列と、第1列のコメントを示す第3列と、を抽出された要素リストの数だけの行数を有する表形式でもって、抽出された要素リストを示す。なお、抽出された要素リストを示す表は、入力途中の配列変数の記載の直下に表示してもよい。
【0056】
また、表示制御部14は、検索語に対応した行をハイライト表示(符号105)してもよい(S112)。キーボードによる上下キー入力またはマウスによるクリックによって、ハイライトする行を変更できてもよい。
【0057】
その後、選択部15は、キーボードによる「ENTER」入力がなされた場合に、ハイライト表示されている行の要素でもって、入力途中の配列変数の要素を確定する(S113)。なお、ハイライトの有無に関わらず、マウスによるダブルクリックまたはタッチパネルなどのポインティングデバイスでの長押しによって、ポインティング対象を要素として確定しても構わない。
【0058】
(検索語が文字列の場合)
図4は、要素指定語が文字列の場合での、要素リストの一例を示す表示例である。図3に示すように、要素指定語が文字列の場合、S101においてNoになり、S106に処理が進む。そのため、配列変数の長さ未満のインデックスによる抽出は行われない。
【0059】
図4では、変数指定語106aが「BitArray1」であり、要素指定語106cが「mc」であり、識別子106bが「[」である。
【0060】
図4に示すように、符号106に示すように、要素指定語106cとして「mc」を入力している。そのため、図3における符号104に代えて、図4では符号107に抽出された要素リストを示している。このように、配列変数のインデックスとなれる変数(整数型または構造体)を、配列変数のインデックス箇所に入力する際にも入力支援機能によって入力を補完することができる。
【0061】
なお、要素指定語に整数値を入力した場合と異なり、初期にハイライト表示する行は先頭行であってもよい。これは、検索語が整数値では、完全に対応した行が存在するが、検索語が文字列の場合では、完全に対応した行が存在しないことがあるためである。つまり、検索語と完全に一致する要素が存在すれば、当該行のみを表示し、当該行をハイライトしてもよい。
【0062】
§4.作用・効果
上記の構成によれば、コメントが含まれた選択可能な要素リストを抽出して表示されるので、ユーザはコメントを確認して適切な要素を選択することができる。そのため、ユーザは、容易に、間違いなく、変数の要素を指定することができ、効率的にプログラムを作成できる。
【0063】
また、ユーザは、配列変数のインデックスを指定する要素リストにおいてデータ型を確認することができる。すなわち、配列のインデックスを直接的に指定する場合はINT型であり、整数型または構造体型などの変数を用いて間接的に指定する場合はその変数のデータ型を、要素リストにて確認することができる。そのため、プログラムの作成間違いを防止することができる。
【0064】
特に、検索語としてインデックスを表す整数値を用いた場合、当該整数値に加えて、当該整数値の前後に対応したインデックスに関するコメントがまとめて表示される。そのため、ユーザは、正確にインデックスを入力しなくても目的の要素を特定することができる。これは、制御対象のブロックごとに幾つかのインデックスを割り付けていき、プログラムを製作する際に、正確なインデックスを覚える必要がなく、制御対象のブロックのだいたいのインデックスさえわかればよいため、特に有効である。
【0065】
また、配列変数のインデックスを間接的に指定するための変数名称をも、要素リストから選択することができる。そのため、だいたいの変数名称を覚えておくだけでプログラムを作成することができる。
【0066】
〔実施形態2〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
【0067】
実施形態1では、複数の要素を含む配列変数における要素を容易にかつ正確に指定することに関して示したが、実施形態2では、複数の要素を含む構造体における要素を容易にかつ正確に指定することに関して示す。
【0068】
図5は、構造体での要素を抽出する一例を示す表示例である。図5は、符号111によってエディット領域を示し、符号112によって入力途中の検索語を示し、符号113によって入力途中の構造体を補間する要素リストを示す。符号112には、検索語として「MC1_RecipeData[0].I」を指定している。
【0069】
この検索語では、変数指定語112aが「MC1_RecipeData[0]」であり、要素指定語112cが「I」であり、識別子112bが「.」である。
【0070】
ここでは、要素指定語112cに「I」が入力されている例を示したが、要素指定語112cは空欄であってもよい。その場合、全ての構造体要素リストが表示制御部14によって、符号113に表示される。
【0071】
実施形態2では構造体に関して記載したが、構造体に限定されない。例えば、共用体であってもよい。すなわち、要素指定語の文字列によって要素が特定される複数のメンバを含む変数であればよい。
【0072】
〔コメント設定の例〕
図6は、複数の要素をもつ配列変数(または構造体)に対して、コメントを設定する事例に関して示す。図6の符号121は、配列変数の変数名称である。符号122は、配列変数自体のコメントである。符号123は、当該配列変数が取り得るインデックスの一覧である。符号124は、インデックスごとに対応するコメントである。
【0073】
符号123および符号124の領域は、三角マークを選択することによって、多数の要素を個別に表示またはまとめて表示、を切り替えることができ、多数の要素がある際に見易くすることができる。これは、2次元配列の配列変数などで特に有効である。
【0074】
また、図6に示した要素のコメント設定する事例に関しては、配列変数に限定されず、構造体であってもよい。
【0075】
〔変形例〕
(検索語が空欄の場合)
実施形態1および2において、検索語が空欄の場合、要素リストの全要素を表示してもよい。また、配列変数の場合は、インデックス変数の表示に関しては、連続した番号を表示せずに、一定間隔おきの飛び番地で表示してもよい。これにより、だいたいのインデックス番号を容易に探し出すことができる。
【0076】
(要素リストの表示形態)
実施形態1に係る制御プログラム編集装置において、表示制御部によって表示される要素リスト(符号104)は、上下に二分割されており、個別にスクロールできてもよい。上段に関しては、実施形態1で示した抽出された候補を表示した後に、抽出されなかった配列変数の他の要素を順番に表示してもよい。
【0077】
これは、抽出した際に、検索語の選択を間違えた場合であっても、要素を選択できるようにするためである。
【0078】
また、下段に関しては、実施形態1と同様に抽出されたもののみを表示する。
【0079】
〔ソフトウェアによる実現例〕
制御プログラム編集装置1(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるためのプログラムであって、当該装置の各制御ブロックとしてコンピュータを機能させるためのプログラムにより実現することができる。
【0080】
この場合、上記装置は、上記プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
【0081】
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0082】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0083】
〔付記事項〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0084】
1 制御プログラム編集装置
11 検索語入力部
12 要素リスト取得部
13 抽出部
14 表示制御部
15 選択部
16 適用部
20 入力装置
30 表示装置
図1
図2
図3
図4
図5
図6