(57)【特許請求の範囲】
【請求項１】
プログラマブルロジックコントローラ（ＰＬＣ）を動作せしめるプログラムを、ユーザから順次入力されるＰＬＣに対する命令に基づいて作成するプログラム作成支援装置であって、
第１の命令と前記第１の命令に後続する第２の命令とを対応付けて記憶するデータベースである命令データベース部と、
ユーザから入力された最後の命令を記憶する命令記憶部と、
ユーザからの新たな命令の入力の待ち受け時に、当該新たな命令の一部の入力の必要なく、前記命令記憶部が記憶する命令を検索キーとして前記命令データベース部の第１の命令を検索して、前記命令記憶部が記憶する命令に対応する第２の命令を抽出する処理部と、
前記処理部が抽出した第２の命令を表示画面に一覧表示する出力部と、
を備え、
前記命令データベース部は、所定のユーザの入力履歴に基づいて予め作成された、または、文法上のパターンに基づいて予め作成された第１データベースを備える、
ことを特徴とするプログラム作成支援装置。
【請求項２】
前記命令データベース部は、第２データベースをさらに備え、
前記処理部は、ユーザから新たな命令の入力を受け付けた際、前記命令記憶部の記憶内容の更新前に、前記命令記憶部が記憶する命令および前記入力された新たな命令を、前記命令記憶部が記憶する命令を第１の命令とし、前記入力された新たな命令を第２の命令として、前記第２データベースに登録する、
ことを特徴とする請求項１に記載のプログラム作成支援装置。
【請求項３】
命令の表示数の上限値をデータベース毎に定める設定値を予め記憶する設定値記憶部をさらに備え、
前記処理部は、前記命令記憶部が記憶する命令に対応する第２の命令を前記設定値により定められる数を上限として抽出する、
ことを特徴とする請求項１に記載のプログラム作成支援装置。
【請求項４】
命令の表示数の上限値を定める設定値を予め記憶する設定値記憶部をさらに備え、
前記処理部は、前記第２データベースに、第１の命令と第２の命令との対毎に使用回数を記録し、前記設定値により定められる数を上限とし、かつ、使用回数が多い対ほど優先して前記命令記憶部が記憶する命令に対応する第２の命令を抽出する、
ことを特徴とする請求項２に記載のプログラム作成支援装置。
【請求項５】
前記命令データベース部をプログラミング対象の装置種毎に備え、
ＰＬＣを指定する識別情報を記憶する識別情報記憶部をさらに備え、
前記処理部は、前記複数の命令データベース部のうちのアクセス先の命令データベース部を前記識別情報記憶部が記憶する識別情報を用いて特定する、
ことを特徴とする請求項１乃至請求項４の何れか一項に記載のプログラム作成支援装置。
【請求項６】
前記出力部は、前記処理部が抽出した第２の命令毎にヘルプを対応付けて一覧表示する、
ことを特徴とする請求項１乃至請求項４の何れか一項に記載のプログラム作成支援装置。
【請求項７】
プログラマブルロジックコントローラ（ＰＬＣ）を動作せしめるプログラムを作成する、コンピュータが実行する方法であって、
ユーザから入力された最後の命令を命令記憶部に記憶するステップと、
ユーザからの新たな命令の入力の待ち受け時に、当該新たな命令の一部の入力の必要なく、所定のユーザの入力履歴に基づいて予め作成された、または、文法上のパターンに基づいて予め作成された、第１の命令と前記第１の命令に後続する第２の命令とを対応付けるデータベースの第１の命令を前記命令記憶部に記憶した命令を検索キーとして検索して、前記ユーザから入力された最後の命令に対応する第２の命令を抽出するステップと、
抽出した第２の命令を表示画面に一覧表示するステップと、
ユーザから順次入力された命令に基づいて前記プログラムを作成するステップと、
を備えることを特徴とする方法。
【請求項８】
プログラマブルロジックコントローラ（ＰＬＣ）を動作せしめるプログラムを作成するプログラムを記録した記録媒体であって、前記プログラムは、コンピュータに、
ユーザから入力された最後の命令を命令記憶部に記憶するステップと、
ユーザからの新たな命令の入力の待ち受け時に、当該新たな命令の一部の入力の必要なく、所定のユーザの入力履歴に基づいて予め作成された、または、文法上のパターンに基づいて予め作成された、第１の命令と前記第１の命令に後続する第２の命令とを対応付けるデータベースの第１の命令を前記命令記憶部に記憶した命令を検索キーとして検索して、前記ユーザから入力された最後の命令に対応する第２の命令を抽出するステップと、
抽出した第２の命令を表示画面に一覧表示するステップと、
ユーザから順次入力された命令に基づいて前記プログラムを作成するステップと、
を実行させることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、プログラマブルロジックコントローラ（programmable  logic  controller、ＰＬＣ）を動作せしめるプログラムの作成を支援するプログラム作成支援装置、方法およびプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】  ＰＬＣを動作せしめるプログラムの１つとして、ＰＬＣの制御シーケンスをラダー図の形式で定めるラダープログラムがある。ラダープログラムを表現するためのラダー図は、動力をシンボリックに表現する２つの母線（プラス母線とマイナス母線）を有している。２つの母線は互いに間隔をあけて配置されている。そして、母線間には、電気的素子を組み合わせて構成される論理回路が２つの母線を結ぶようにして梯子状に配置されている。論理回路を構成する電気的素子には、例えばリレー、コイル等がある。個々の電気的素子は、夫々命令に該当する。このようなラダープログラムを作成する際には、通常、プログラム作成支援装置が用いられる。ユーザがプログラム作成支援装置に命令を順次入力すると、プログラム作成支援装置は、ユーザから順次入力される命令を電気的素子の形式で逐次母線間に配置する。【０００３】  ここで、特許文献１には、ユーザが文字列の一部入力すると、入力された一部の文字列に対応する入力候補をユーザに表示せしめる技術が開示されている。表示された入力候補からユーザが１つの文字列を選択すると、ユーザが入力しようとしている文字列が補完される。この技術によれば、入力候補は、現在入力されている一部の文字列と過去の入力履歴とに基づいて算出される。【０００４】  また、特許文献２には、ユーザが入力フォームに文字列を入力する際に、入力候補をユーザに表示せしめる技術が開示されている。この技術によれば、文字列毎に優先順位が設定され、この優先順位に基づいて文字列が入力候補として配列され、表示される。優先順位は、文字列が入力された回数に基づいて自動的に設定される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２９９２０５号公報
【特許文献２】特開２０１１−１８７０１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】  しかしながら、特許文献１の技術によれば、１文字も入力されていない場合には、命令の候補を表示することができないという問題があった。このため、ユーザは、１文字目を自ら考え、調査した上で入力する必要があった。【０００７】  また、特許文献２の技術をプログラム作成支援装置に適用した場合、ユーザが１つの命令を入力する際には、入力された回数に応じて決まる順番で配列された１以上の入力候補が、表示される。即ち、入力候補の表示内容は、間近の入力履歴に関係なく作成されたものである。したがって、特許文献２の技術は、命令の入力を支援する機能としては効率的であるとはいえない。【０００８】  本発明は、上記に鑑みてなされたものであって、命令の入力を効率よく支援することができるプログラム作成支援装置、方法および記録媒体を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、プログラマブルロジックコントローラ（ＰＬＣ）を動作せしめるプログラムを、ユーザから順次入力されるＰＬＣに対する命令に基づいて作成するプログラム作成支援装置であって、第１の命令と前記第１の命令に後続する第２の命令とを対応付けて記憶するデータベースである命令データベース部と、ユーザから入力された最後の命令を記憶する命令記憶部と、ユーザからの新たな命令の入力の待ち受け時に、当該新たな命令の一部の入力の必要なく、前記命令記憶部が記憶する命令を検索キーとして前記命令データベース部の第１の命令を検索して、前記命令記憶部が記憶する命令に対応する第２の命令を抽出する処理部と、前記処理部が抽出した第２の命令を表示画面に一覧表示する出力部と、を備え、前記命令データベース部は、所定のユーザの入力履歴に基づいて予め作成された、または、文法上のパターンに基づいて予め作成された第１データベースを備える、ことを特徴とする。
【発明の効果】
【００１０】  本発明にかかるプログラム作成支援装置は、ユーザが入力を完了した最後の命令に基づいて次に入力される命令を推定してユーザに表示するので、命令の入力を効率よく支援することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の実施の形態のプログラム作成支援装置の機能構成を示す図である。
【図２】図２は、本発明の実施の形態のプログラム作成支援装置のハードウェア構成例を示す図である。
【図３】図３は、プログラム作成支援装置が個人データベースを構築する動作を説明するフローチャートである。
【図４】図４は、個人データベースへの登録例を説明する図である。
【図５】図５は、プログラム作成支援装置が命令候補を算出し、表示する動作を説明するフローチャートである。
【図６】図６は、一覧表示画面の一例を示す図である。
【発明を実施するための形態】
【００１２】  以下に、本発明にかかるプログラム作成支援装置、方法および記録媒体の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】実施の形態．  図１は、本発明の実施の形態のプログラム作成支援装置の機能構成を示す図である。図示するように、プログラム作成支援装置１００は、設定値記憶部１、前回命令記憶部２、処理部３、命令候補出力部４、命令ヘルプデータベース（ＤＢ）部５、表示部６、および命令データベース（ＤＢ）部７を具備している。
【００１４】  設定値記憶部１は、編集中のラダープログラムの実行対象の装置を特定する識別情報を記憶する。設定値記憶部１は、例えばラダープログラムの作成開始時にユーザによって識別情報が設定される。なお、プログラミングの対象となる装置種としては、例えば搬送・運搬用装置、加工用装置、データ収集・監視用装置などがある。設定値記憶部１は、処理部３からの要求に応じて、記憶している値を処理部３に渡す。
【００１５】  前回命令記憶部２は、ユーザがプログラム作成支援装置１００を操作してラダープログラムを作成中において、ユーザによって最後に入力された１以上の命令を記憶する。
【００１６】  命令データベース部７は、連続して入力され得る複数の命令を１セットとして記憶するデータベースである。個々のセットは、構成する命令の入力の順番が特定できる形式で命令データベース部７に登録される。即ち、命令データベース部７は、第１の命令と前記第１の命令に後続する第２の命令とを対応付けて記憶する。第２の命令は、１つだけでなくてもよい。たとえば、第１の命令LDに後続する命令として、LDI,OUTの２つの命令が入力された場合、第２の命令としてLDI,OUTの２つを記憶の対象としてもよい。命令データベース部７の詳しい構成は後述する。
【００１７】  処理部３は、表示部６に指令して、ユーザが編集中のラダープログラムを表示する編集画面を後述の出力装置１０４に表示せしめる。ユーザは、当該編集画面を見ながら命令を逐次入力することができる。処理部３は、ユーザから逐次入力される命令を、編集中のラダープログラムに逐次記入し、完成したラダープログラムを後述の記憶装置１０２に出力する（ラダープログラム１０６）。
【００１８】  ここで、処理部３は、ユーザによって新たな命令の入力が完了した後に、当該新たな命令の次の命令の候補（命令候補）を算出する。具体的には、処理部３は、識別情報を設定値記憶部１から受け取り、最後に入力された１以上の命令を前回命令記憶部２から受け取る。そして、処理部３は、受け取ったこれらの情報を検索キーとして、命令データベース部７を検索して、最後に入力された１以上の命令に対応する第２の命令を抽出する。そして抽出された第２の命令を命令候補とする。
【００１９】  なお、算出される命令候補の数は複数であってよい。また、処理部３は、算出される命令候補の数に上限を設けてもよい。ここでは、一例として、設定値記憶部１が個数を指定する設定値を予め記憶し、処理部３は、当該設定値により定められた数を上限として命令候補を算出するものとする。なお、上限数を越える数の命令が命令データベース部７から抽出された場合における、命令候補の選択方法は任意である。ここでは、処理部３は、命令データベース部７に、命令の対応付け毎に使用された回数を記録し、使用された回数が多いものほど優先的に命令候補とするものとする。設定値は、ユーザにより設定値記憶部１に設定される。
【００２０】  さらに、処理部３は、新たな命令の入力が完了したとき、当該入力が完了した新たな命令と、前回命令記憶部２が記憶する１以上の命令とを対応付けて、命令データベース部７（正確には後述する個人データベース９）に登録する。また、処理部３は、新たな命令の入力が完了するに応じて、前回命令記憶部２が記憶する命令を更新する。
【００２１】  命令ヘルプデータベース部５は、命令にかかるヘルプの格納位置へのリンクを命令毎に予め記憶するデータベースである。
【００２２】  命令候補出力部４および表示部６は、協働して、処理部３が抽出した命令候補を表示画面に一覧表示する出力部として機能する。
【００２３】  命令候補出力部４は、処理部３から受け取った命令候補の夫々を検索キーとして命令ヘルプデータベース部５を検索し、得られたリンクを検索キーとして用いた命令候補に関連付ける。命令候補出力部４は、リンクが関連付けられた命令候補を表示部６に送る。
【００２４】  表示部６は、処理部３からの指令に基づいて編集画面の画像フレームを生成する。また、表示部６は、命令候補出力部４から受け取った命令候補を一覧表示する一覧表示画面を生成する。一覧表示画面は、命令候補と当該命令候補に関連付けられたリンクとの対を配列したものである。
【００２５】  なお、命令データベース部７は、作成された方法に応じた複数種のデータベース（熟練者データベース８、個人データベース９およびパターンデータベース１０）により構成される。
【００２６】  熟練者データベース８は、特定の熟練者による命令の入力履歴を蓄積したデータベースである。具体的には、熟練者データベース８は、熟練者によって入力された命令と、当該命令の直前に熟練者によって入力された１以上の命令とを対応付けて記憶している。なお、熟練者データベース８は、予め作成されて命令データベース部７に具備されている。
【００２７】  個人データベース９は、ユーザによる命令の入力履歴を蓄積するためのデータベースである。個人データベース９は、ユーザによって入力された命令を第２の命令とし、当該命令の直前にユーザによって入力された１以上の命令を第１の命令として、第１の命令と第２の命令とが対応付けて登録されて構成されている。対応付けの具体的実現方法としては、DB（データベース）を使って、「第１の命令」「第２の命令」「回数」といったカラムを持つテーブルを用意し、そこに入力履歴を蓄積していく方法がある。データベーステーブルのイメージは、図４の左下表参照。このデータベースでは、１行（図４の横方向）を１つの候補データとみなす。なお、登録の動作は、前述したように、処理部３によって行われる。また、個人データベース９は、第１の命令が対応付けられた第２の命令毎にカウント値が格納されるフィールドを有する。処理部３は、既に登録された内容（第１の命令と第２の命令とを対にしたエントリ）と同一の内容が登録しようとする、新規にエントリを設けるのではなく、既に登録されたエントリにかかるカウント値をインクリメントする。
【００２８】  パターンデータベース１０は、ラダープログラミングの文法上のパターンが決まっている入力順序を蓄積したデータベースである。具体的には、パターンデータベース１０は、ある命令の後に必ず記述される命令の情報を記憶したものである。パターンデータベース１０は、予め作成されて命令データベース部７に具備されている。
【００２９】  なお、熟練者データベース８、個人データベース９、およびパターンデータベース１０は、プログラミングの対象となる装置種毎に命令データベース部７に具備される。例えば本図では、命令データベース部７は、装置Ａ用データベース（ＤＢ）７Ａ、装置Ｂ用データベース（ＤＢ）７Ｂ、装置Ｃ用データベース（ＤＢ）７Ｃおよび装置Ｄ用データベース（ＤＢ）７Ｄを備えている。また、データベース７Ａ〜７Ｄは、夫々、熟練者データベース（ＤＢ）８、個人データベース（ＤＢ）９およびパターンデータベース（ＤＢ）１０を備えている。装置種毎の命令データベース部７のうちのアクセス先となるデータベースは、設定値記憶部１が記憶する識別情報によって特定される。
【００３０】  図２は、本発明の実施の形態のプログラム作成支援装置１００のハードウェア構成例を示す図である。図示するように、プログラム作成支援装置１００は、演算装置１０１、記憶装置１０２、入力装置１０３および出力装置１０４を備えている。演算装置１０１、記憶装置１０２、入力装置１０３および出力装置１０４は互いにバスで接続されている。
【００３１】  記憶装置１０２は、不揮発性メモリ、揮発性メモリ、外部記憶装置、またはそれらの組み合わせにより構成される。記憶装置１０２は、プログラム作成支援プログラム１０５を記録した記録媒体である。また、記憶装置１０２は、プログラム作成支援装置１００によって作成されたラダープログラム１０６の出力先として機能する。
【００３２】  演算装置１０１は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。演算装置１０１は、記憶装置１０２が記憶するプログラム作成支援プログラム１０５を実行することによって、処理部３、命令候補出力部４および表示部６として機能する。なお、設定値記憶部１、前回命令記憶部２、命令ヘルプデータベース部５および命令データベース部７は、記憶装置１０２に夫々対応する領域が確保されて実現される。
【００３３】  入力装置１０３は、プログラム作成支援装置１００に対する操作や記憶装置１０２に格納されているラダープログラム１０６を作成する入力を受け付ける入力手段であって、例えばキーボードにより構成される。出力装置１０４は、表示部６が生成した画像フレームに基づいてユーザに対する出力情報を表示する表示手段であって、例えば液晶ディスプレイである。なお、入力装置１０３および出力装置１０４をタッチパネル装置で構成するようにしてもよい。
【００３４】  なお、プログラム作成支援プログラム１０５を予め記憶する記録媒体としては、一時的でない有形の媒体であれば任意の媒体が採用可能である。例えば、プログラム作成支援プログラム１０５を予め記憶する記録媒体として、不揮発性メモリ、外部記憶装置、着脱可能な不揮発性メモリ、ＣＤ−ＲＯＭ、またはＤＶＤ−ＲＯＭを採用することが可能である。
【００３５】  次に、プログラム作成支援装置１００の動作を説明する。なお、動作の説明においては、簡単のために、前回命令記憶部２は、命令を１つだけ記憶し、各種データベース（熟練者データベース８、個人データベース９およびパターンデータベース１０）は、第２の命令毎に１つの第１の命令が対応付けられて登録されているものとする。
【００３６】  図３は、プログラム作成支援装置１００が個人データベース９を構築する動作を説明するフローチャートである。図示するように、処理部３は、ユーザからの命令の入力を待ち受けて、命令の入力があったか否かを判定する（ステップＳ１０１）。命令の入力がない場合（ステップＳ１０１、Ｎｏ）、処理部３は、ステップＳ１０１の動作を再び実行する。
【００３７】  命令の入力があった場合（ステップＳ１０１、Ｙｅｓ）、処理部３は、識別情報を設定値記憶部１から受け取り（ステップＳ１０２）、最後に入力された命令を前回命令記憶部２から受け取る（ステップＳ１０３）。そして、処理部３は、個人データベース９に、新たに入力された命令とステップＳ１０３にて受け取った命令とを対応付けて登録する（ステップＳ１０４）。なお、ステップＳ１０４の処理にて登録しようとしているエントリと同一のエントリが既に登録済みである場合には、処理部３は、既に登録済みのエントリにかかるカウント値を１だけインクリメントし、新たなエントリの登録を実行しない。登録しようとしているエントリと同一のエントリが登録されていない場合には、処理部３は、新たなエントリを登録するとともに、当該新たなエントリにかかるカウント値を１とする。なお、ステップＳ１０４の処理における登録先のデータベースは、データベース部７を構成する装置種毎のデータベースのうちのステップＳ１０２にて受け取った識別情報で特定される装置種にかかるデータベースに含まれる個人データベース９である。
【００３８】  ステップＳ１０４の処理に続いて、処理部３は、前回命令記憶部２の記憶内容を、新たに入力された命令で上書きし（ステップＳ１０５）、動作を終了する。
【００３９】  図４は、個人データベース９への登録例を説明する図である。本図は、ユーザが出力装置１０４に表示された編集画面２００を介して装置Ａのラダープログラムを作成している例について説明している。ユーザが命令「ＯＵＴ  Ｙ７４」の入力に引き続いて命令「ＬＤ  Ｘ０」の入力を完了すると、処理部３は、前回命令記憶部２に格納されていた、前回に入力された命令「ＯＵＴ  Ｙ７４」を読み出して、個人データベース９に「ＬＤ  Ｘ０」と「ＯＵＴ  Ｙ７４」とをセットにして登録する。具体的には、処理部３は、「ＬＤ  Ｘ０」を新たに入力された命令（第２の命令）として登録し、「ＯＵＴ  Ｙ７４」を、「ＬＤ  Ｘ０」に対応する前回入力された命令（第１の命令）として登録する。なお、処理部３は、登録したエントリにかかるカウント値を１としている。
【００４０】  図５は、プログラム作成支援装置１００が命令候補を算出し、表示する動作を説明するフローチャートである。命令候補の算出および表示の処理は、例えば、ユーザからの命令の入力が完了した後の、新たな命令の入力を待ち受ける状態で行われる。ここでは、ステップＳ１０５の処理が終わり、入力が完了した命令が前回命令記憶部２に格納されているものとして説明する。また、ここでは、命令候補の算出数にかかる設定値は、データベースの種類毎に予め設定値記憶部１に設定されているものとする。
【００４１】  図５に示すように、処理部３は、識別情報および命令候補の表示数にかかる設定値を設定値記憶部１から受け取り（ステップＳ２０１）、前回命令記憶部２に格納されている命令を、前回命令記憶部２から受け取る（ステップＳ２０２）。
【００４２】  そして、処理部３は、ステップＳ２０２の処理を実行することにより得た命令を検索キーとしてデータベース８〜１０を検索し、命令候補を算出する（ステップＳ２０３）。具体的には、処理部３は、ステップＳ２０２の処理を実行することにより得た命令がデータベース８〜１０に第１の命令として登録されているエントリを検索する。処理部３は、当該検索により得られたエントリに第２の命令として登録されている命令を命令候補とする。
【００４３】  なお、熟練者データベース８から設定値を越える数の命令が得られた場合には、処理部３は、得られた命令から任意の方法で命令候補を選択する。パターンデータベース１０から設定値を越える数の命令が得られた場合も同様である。また、個人データベース９から設定値を越える数の命令が得られた場合には、処理部３は、カウント値が大きい値を優先して命令候補を選択する。
【００４４】  なお、処理部３は、データベース部７を構成する装置種毎のデータベースのうちのステップＳ１０２の処理を実行することより得た識別情報で特定される装置種にかかるデータベースを検索対象とする。
【００４５】  続いて、命令候補出力部４は、処理部３が算出した命令候補を受け取る（ステップＳ２０４）。そして、命令候補出力部４は、受け取った命令候補を検索キーとして命令ヘルプデータベース部５を検索して、命令候補毎にリンクを取得する（ステップＳ２０５）。命令候補出力部４は、取得した命令候補の一覧を、夫々の命令候補とリンクとを対応付けて表示部６に渡し、出力装置１０４に一覧表示画面を表示せしめる（ステップＳ２０６）。そして動作が終了となる。
【００４６】  図６は、一覧表示画面の一例を示す図である。図示するように、一覧表示画面３００は、検索先のデータベースの種類を示すフィールド３０１と、命令候補を示すフィールド３０２と、リンクを示すフィールド３０３とを備えている。ここでは、５つの命令候補が表示されている。そして、そのうちの２つの命令候補は、熟練者データベース８から検索され、他の２つの命令候補は、個人データベース９から検索され、残りの１つの命令候補はパターンデータベース１０から検索されたことを示している。このように抽出元のデータベースを表示するためには、例えば、処理部３は、抽出した第２の命令を抽出元のデータベースを特定する情報を付して命令候補出力部４に渡すようにするとよい。
【００４７】  フィールド３０３には、内部でリンクが対応付けられたリンクボタンが表示されている。ユーザがマウスで当該リンクボタンを押下すると、押下されたリンクボタンに対応するリンクが読み出される。そして、読み出されたリンクが示す番地からヘルプが読み出され、読み出されたヘルプが表示画面に表示されるようになっている。ユーザが一覧表示画面３００に表示されている５つの命令候補のうちの１つを選択する入力を行うと、処理部３は、選択された命令を新たな入力として受け付けることができる。
【００４８】  なお、一覧表示画面３００は、編集画面２００にオーバーラップするように表示されてもよいし、編集画面２００とは別のウインドウとして表示されてもよい。
【００４９】  以上述べたように、本発明の実施の形態によれば、プログラム作成支援装置１００は、第１の命令と前記第１の命令に後続する第２の命令とを対応付けて命令データベース部７に記憶し、ユーザから入力された最後の命令を前回命令記憶部２に記憶し、ユーザからの新たな命令の入力の待ち受け時に、前回命令記憶部２が記憶する命令を検索キーとして命令データベース部７の第１の命令を検索して、前回命令記憶部２が記憶する命令に対応する第２の命令を抽出し、抽出した第２の命令を表示画面に一覧表示する、ように構成したので、命令を構成する文字列のうちの一部分の入力を必要とすることなく命令候補をユーザに提示することができる。また、ユーザが入力を完了した最後の命令に基づいて次に入力される命令を推定してユーザに表示するので、間近の入力であるか否かを考慮することなく単に入力回数に基づいて候補を提示する方式に比べて確かな命令候補をユーザに提示することができる。即ち、本発明の実施の形態によれば、命令の入力を効率よく支援することができる。
【００５０】  また、プログラム作成支援装置１００はユーザの入力履歴に基づいて順次エントリが追加される個人データベース９を具備するので、ユーザが使用した実績のある命令を自動的に提示するため、検索する手間を減らすことができ、プログラミングにかける時間を短縮する効果がある。
【００５１】  また、プログラム作成支援装置１００は所定のユーザ（熟練者）の入力履歴に基づいて予め作成された熟練者データベース８を具備するので、プログラミング初心者でも容易に熟練者が使用する命令を参考にすることができ、より質の高いプログラムを作成できるという効果がある。
【００５２】  また、プログラム作成支援装置１００は文法上のパターンに基づいて予め作成されたパターンデータベース１０を具備するので、文法上パターンの決まっている命令の記述忘れを防止することができるという効果がある。
【００５３】  また、プログラム作成支援装置１００は、熟練者データベース８、個人データベース９、パターンデータベース１０の３つのデータベースの夫々から命令候補を提示することで、ユーザに様々な選択肢から選択させることができるので、状況に応じた質の高いプログラムの作成が可能になるという効果がある。
【００５４】  また、プログラム作成支援装置１００は、ユーザが設定値記憶部１に熟練者データベース８、個人データベース９、パターンデータベース１０のそれぞれについて算出・表示する命令候補の数を設定することが可能に構成されている。そのため、初心者は熟練者がどのような命令を使用しているかを参考にするため、熟練者データベース８から多く命令候補を提示するようにすることができる。また、熟練者は他者が記述した命令が提示されるとかえって邪魔になるため、熟練者データベース８からは命令候補を一つも提示しないようにすることができる。即ち、個々のユーザに応じた命令候補の提示が可能となる。
【００５５】  また、プログラム作成支援装置１００は、個人データベース９にエントリ毎に使用回数を記録し、抽出した第２の命令の数が、設定された上限の数を越える場合には、使用回数が多いエントリにかかる命令ほど優先して命令候補とする。プログラム作成支援装置１００はユーザが頻繁に記述する命令を自動的に提示するため、ユーザは効率よくプログラミングを行うことができるようになる。
【００５６】  また、プログラム作成支援装置１００は、データベースをプログラミング対象である装置種毎に備える。これにより、対象装置が変わってもその装置の制御にあった命令候補を少ない手数で選択できるため、プログラミング工数を削減するという効果がある。
【００５７】  また、プログラム作成支援装置１００は、命令候補毎にヘルプを対応付けて一覧表示する。これにより、ユーザは、命令候補毎にヘルプを参照することができるようになる。
【産業上の利用可能性】
【００５８】  以上のように、本発明にかかるプログラム作成支援装置、方法および記録媒体は、ＰＬＣを動作せしめるプログラムの作成を支援するプログラム作成支援装置、方法およびプログラムを記録した記録媒体に適用して好適である。
【符号の説明】
【００５９】  １  設定値記憶部、２  前回命令記憶部、３  処理部、４  命令候補出力部、５  命令ヘルプデータベース部、６  表示部、７  命令データベース部、７Ａ〜７Ｄ  データベース、８  熟練者データベース、９  個人データベース、１０  パターンデータベース、１００  プログラム作成支援装置、１０１  演算装置、１０２  記憶装置、１０３  入力装置、１０４  出力装置、１０５  プログラム作成支援プログラム、１０６  ラダープログラム、２００  編集画面、３００  一覧表示画面、３０１，３０２，３０３  フィールド。
【要約】  命令の入力を効率よく支援するために、プログラム作成支援装置（１００）は、第１の命令と前記第１の命令に後続する第２の命令とを対応付けて命令データベース部（７）に記憶し、ユーザから入力された最後の命令を前回命令記憶部（２）に記憶し、ユーザからの新たな命令の入力の待ち受け時に、前回命令記憶部（２）が記憶する命令を検索キーとして命令データベース部（７）の第１の命令を検索して、前回命令記憶部（２）が記憶する命令に対応する第２の命令を抽出し、抽出した第２の命令を表示画面に一覧表示する。【図１】
0005484636.tif 000002
【図２】
0005484636.tif 000003
【図３】
0005484636.tif 000004
【図４】
0005484636.tif 000005
【図５】
0005484636.tif 000006
【図６】
0005484636.tif 000007