(57)【特許請求の範囲】
【請求項１】
プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援装置であって、
前記プロジェクトデータを作成するための文字列の入力を受け付ける入力受付部と、
前記入力受付部が入力を受け付けた文字列を解析して前記文字列に含まれる用語を抽出する文字列解析部と、
前記プログラム作成支援装置および他のプログラム作成支援装置によって作成済みのプロジェクトデータと、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データとを含む外部データを解析して前記外部データに含まれる用語を抽出する外部データ解析部と、
前記文字列解析部および前記外部データ解析部が抽出した用語である使用用語に基づいて、前記使用用語それぞれの使用回数を算出する使用頻度評価部と、
前記入力受付部が文字の入力を受け付けるごとに、入力を受け付け済みかつ文字列として確定する前の１つ以上の文字と、前記使用頻度評価部が算出した使用回数とに基づいて、前記入力受付部が入力を受け付ける用語の候補を表示部に表示させる候補表示処理部と、
を備えることを特徴とするプログラム作成支援装置。
【請求項２】
前記使用用語が当該使用用語の使用回数と対応付けられた状態で登録された一覧表である使用用語一覧を生成する用語一覧生成部、
を備えることを特徴とする請求項１に記載のプログラム作成支援装置。
【請求項３】
前記使用用語一覧をプログラマブルロジックコントローラに書き込む書込み処理と、前記使用用語一覧をプログラマブルロジックコントローラから読み出す読出し処理とを行うインタフェース部、
を備えることを特徴とする請求項２に記載のプログラム作成支援装置。
【請求項４】
前記用語一覧生成部が生成した前記使用用語一覧に対して圧縮処理または暗号化処理を実行し、前記使用用語一覧のデータ形式を第１の形式から第２の形式に変換して前記インタフェース部に受け渡し、前記インタフェース部が前記プログラマブルロジックコントローラから読み出した前記使用用語一覧のデータ形式を前記第２の形式から前記第１の形式に変換するデータ変換部、
を備えることを特徴とする請求項３に記載のプログラム作成支援装置。
【請求項５】
前記インタフェース部は、前記使用用語一覧および前記入力受付部が入力を受け付けた文字を前記プログラマブルロジックコントローラに出力し、前記入力受付部が入力を受け付ける用語の候補リストを前記プログラマブルロジックコントローラに作成させ、
前記候補表示処理部は、前記プログラマブルロジックコントローラが生成した前記候補リストを前記表示部に表示させる、
ことを特徴とする請求項３に記載のプログラム作成支援装置。
【請求項６】
前記使用用語一覧および前記入力受付部が入力を受け付けた文字に基づいて、前記入力受付部が入力を受け付ける用語の候補リストを生成する候補リスト生成部、
を備え、
前記候補表示処理部は、前記候補リスト生成部が生成した前記候補リストを前記表示部に表示させる、
ことを特徴とする請求項２から４のいずれか一つに記載のプログラム作成支援装置。
【請求項７】
プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援装置が実行するプログラム作成支援方法であって、
前記プロジェクトデータを作成するための文字列の入力を受け付ける入力受付ステップと、
前記入力受付ステップで入力を受け付けた文字列を解析して前記文字列に含まれる用語を抽出する文字列解析ステップと、
前記プログラム作成支援装置および他のプログラム作成支援装置によって作成済みのプロジェクトデータと、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データとを含む外部データを解析して前記外部データに含まれる用語を抽出する外部データ解析ステップと、
前記文字列解析ステップおよび前記外部データ解析ステップで抽出した用語である使用用語に基づいて、前記使用用語それぞれの使用回数を算出する使用頻度評価ステップと、
前記入力受付ステップで文字の入力を受け付けるごとに、入力を受け付け済みかつ文字列として確定する前の１つ以上の文字と、前記使用頻度評価ステップで算出した使用回数とに基づいて、前記入力受付ステップで入力を受け付ける用語の候補を表示部に表示させる候補表示ステップと、
を含むことを特徴とするプログラム作成支援方法。
【請求項８】
プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援装置を実現するプログラム作成支援プログラムであって、
前記プロジェクトデータを作成するための文字列の入力を受け付ける入力受付ステップと、
前記入力受付ステップで入力を受け付けた文字列を解析して前記文字列に含まれる用語を抽出する文字列解析ステップと、
前記プログラム作成支援装置および他のプログラム作成支援装置によって作成済みのプロジェクトデータと、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データとを含む外部データを解析して前記外部データに含まれる用語を抽出する外部データ解析ステップと、
前記文字列解析ステップおよび前記外部データ解析ステップで抽出した用語である使用用語に基づいて、前記使用用語それぞれの使用回数を算出する使用頻度評価ステップと、
前記入力受付ステップで文字の入力を受け付けるごとに、入力を受け付け済みかつ文字列として確定する前の１つ以上の文字と、前記使用頻度評価ステップで算出した使用回数とに基づいて、前記入力受付ステップで入力を受け付ける用語の候補を表示部に表示させる候補表示ステップと、
を含むことを特徴とするプログラム作成支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックコントローラ（Programmable  Logic  Controller、以下ＰＬＣと称する）で実行されるプログラムの作成を支援するプログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラムに関する。
【背景技術】
【０００２】
特許文献１には、プログラムを作成する際に、入力を受け付けた文字列に応じて、命令語の選択候補、または、命令語の関連情報の選択候補を表示装置に表示し、選択候補の中から入力する命令語または関連情報を選択させる発明が記載されている。特許文献１に記載の発明によれば、正しい命令語および関連情報を正しい文法に従ってプログラムに記述することを支援することができ、効率的なプログラム作成作業を実現できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２８５５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＰＬＣで実行されるプログラムは大規模となる場合があり、その場合、複数の作業者が分担してプログラムを作成する。複数の作業者が分担してプログラムを作成する場合、プログラムのデバッグ作業、改修作業などが効率的に行えるよう、プログラムに記述する用語を統一化しておくことが重要となる。すなわち、各作業者は、同じ意味の複数の用語が混在することがないように気を付けながらプログラムを作成する必要がある。用語が統一化されていない場合、プログラムの修正が必要となった場合に、プログラムを作成した作業者とは異なる作業者が修正を行う際に時間を要するといった問題が生じる可能性がある。また、プログラムの作成作業では過去に作成したプログラムを流用して新しいプログラムを作成する場合がある。この場合も、流用する部分で使用されている用語と、新たに作成する部分で使用される用語とを統一化することが重要となる。【０００５】
特許文献１に記載の発明では１つのプログラム内で用語を統一化することが可能であるが、過去に作成済みのプログラムなど、他のプログラムとの間で用語を統一することはできず、作業者の負担が大きい、という問題があった。【０００６】
本発明は、上記に鑑みてなされたものであって、他のプログラムとの間で用語を統一化しながらプログラムを作成する際の作業者の負担を軽減することが可能なプログラム作成支援装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援装置であって、プロジェクトデータを作成するための文字列の入力を受け付ける入力受付部と、入力受付部が入力を受け付けた文字列を解析して文字列に含まれる用語を抽出する文字列解析部と、プログラム作成支援装置および他のプログラム作成支援装置によって作成済みのプロジェクトデータと、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データとを含む外部データを解析して外部データに含まれる用語を抽出する外部データ解析部と、を備える。プログラム作成支援装置は、また、文字列解析部および外部データ解析部が抽出した用語である使用用語に基づいて、使用用語それぞれの使用回数を算出する使用頻度評価部と、入力受付部が文字の入力を受け付けるごとに、入力を受け付け済みかつ文字列として確定する前の１つ以上の文字と、使用頻度評価部が算出した使用回数とに基づいて、入力受付部が入力を受け付ける用語の候補を表示部に表示させる候補表示処理部と、を備える。
【発明の効果】
【０００８】
本発明にかかるプログラム作成支援装置は、他のプログラムとの間で用語を統一化しながらプログラムを作成する際の作業者の負担を軽減することができる、という効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１にかかるプログラム作成支援装置の構成例を示す図
【図２】実施の形態１にかかるプログラム作成支援装置のハードウェア構成の一例を示す図
【図３】実施の形態１にかかるプログラム作成支援装置の第１の動作例を示すフローチャート
【図４】実施の形態１にかかるプログラム作成支援装置が使用用語一覧を生成する際に用いるラベルファイルの一例を示す図
【図５】実施の形態１にかかるプログラム作成支援装置が使用用語一覧を生成する際に用いるデバイスコメントファイルの一例を示す図
【図６】実施の形態１にかかるプログラム作成支援装置が生成する使用用語一覧の一例を示す図
【図７】実施の形態１にかかるプログラム作成支援装置の第２の動作例を示すフローチャート
【図８】実施の形態１にかかるプログラム作成支援装置の第３の動作例を示すフローチャート
【図９】実施の形態１にかかるプログラム作成支援装置の候補リスト生成部が生成する用語の入力候補リストの一例を示す図
【図１０】実施の形態１にかかるプログラム作成支援装置が表示する文字入力受け付け画面の一例を示す図
【図１１】実施の形態２にかかるプログラム作成支援装置の構成例を示す図
【図１２】実施の形態３にかかるプログラム作成支援装置の構成例を示す図
【図１３】実施の形態４にかかるプログラム作成支援装置の構成例を示す図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態にかかるプログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、本発明の実施の形態１にかかるプログラム作成支援装置の構成例を示す図である。実施の形態１にかかるプログラム作成支援装置１００は、入力受付部１１および文字列入力完了判断部１２を含んで構成される入力操作受付部１と、文字列解析部２と、外部データ解析部３と、用語一覧生成部４１および使用頻度評価部４２を含んで構成される使用用語一覧更新部４と、候補リスト生成部５と、候補表示処理部６と、表示部７と、使用用語一覧２００とを備える。
【００１２】
プログラム作成支援装置１００は、ＰＬＣを動作させるためのプロジェクトデータを作成する装置である。また、プログラム作成支援装置１００は、プロジェクトデータの作成作業を支援するための機能を有する。プロジェクトデータは、ＰＬＣで実行されるプログラム、ＰＬＣがプログラムを実行する際に使用されるパラメータなどを含む。ＰＬＣはシーケンサと呼ばれる場合がある。また、ＰＬＣで実行されるプログラムはシーケンスプログラムとも呼ばれる。なお、図１では、プログラム作成支援装置１００が作成するプロジェクトデータについての記載を省略しているが、プログラム作成支援装置１００は作成中のプロジェクトデータを保持しているものとする。
【００１３】
ここで、プログラム作成支援装置１００の図１に示す各構成要素を実現するハードウェアの構成について説明する。図２は、実施の形態１にかかるプログラム作成支援装置１００のハードウェア構成の一例を示す図である。図２に示すように、プログラム作成支援装置１００は、演算装置１１０、記憶装置１２０、表示装置１３０、入力装置１４０および通信装置１５０により実現される。
【００１４】
演算装置１１０は、ＣＰＵ（Central  Processing  Unit）、システムＬＳＩ（Large  Scale  Integration）などである。記憶装置１２０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、ハードディスクドライブ、ＳＳＤ（Solid  State  Drive）、着脱可能なメモリデバイス、またはこれらの組み合わせたものである。表示装置１３０は、液晶モニタ、ディスプレイなどである。入力装置１４０は、マウス、キーボード、タッチパネルなどである。通信装置１５０は、他の装置との通信を有線または無線によって実現する。
【００１５】
なお、プログラム作成支援装置１００を実現するハードウェアは、パーソナルコンピュータなどの電子計算機であってもよい。電子計算機でプログラム作成支援装置１００を実現する場合、プログラム作成支援装置１００として動作させるためのプログラムを電子計算機が備える記憶装置にインストールし、このプログラムを電子計算機のプロセッサが実行することによりプログラム作成支援装置１００が実現される。電子計算機をプログラム作成支援装置１００として動作させるためのプログラムは、例えば、ＣＤ（Compact  Disc）−ＲＯＭ、ＤＶＤ（Digital  Versatile  Disc）−ＲＯＭなどの記録媒体に書き込まれた状態で提供される。電子計算機をプログラム作成支援装置１００として動作させるためのプログラムは、インターネットなどの通信ネットワークを介して提供される形態であってもよい。
【００１６】
図２に示すように、入力受付部１１、文字列入力完了判断部１２、文字列解析部２、外部データ解析部３、用語一覧生成部４１、使用頻度評価部４２、候補リスト生成部５および候補表示処理部６は、演算装置１１０により実現される。表示部７は表示装置１３０により実現される。使用用語一覧２００は記憶装置１２０で保持される。記憶装置１２０は、プログラム作成支援装置１００が作成するプロジェクトデータ２１０も保持する。
【００１７】
図１の説明に戻り、入力操作受付部１において、入力受付部１１は、プロジェクトデータ作成のための文字入力操作などの各種入力操作をユーザより受け付ける。文字列入力完了判断部１２は、入力受付部１１を用いて行われる文字列の入力が完了したか否かを判断する。文字列入力完了判断部１２は、例えば、文字入力画面に入力完了ボタンが存在する場合は入力完了ボタンが押されると文字列の入力が完了したと判断する。文字列入力完了判断部１２は、Ｅｎｔｅｒキーが押された場合に文字列の入力が完了したと判断してもよい。その他の方法で判断しても構わない。
【００１８】
文字列解析部２は、文字列入力完了判断部１２が文字列の入力が完了したと判断した場合に、入力が確定した文字列を解析してこの文字列に含まれる用語を抽出する。文字列解析部２は、例えば、区切り文字として予め定められた文字を文字列から探し出し、２つの区切り文字に挟まれた文字列を用語として抽出する。区切り文字は、句点、読点、カンマ、空白、などとする。ユーザが区切り文字を指定できる構成としてもよい。文字列解析部２は、プロジェクトデータの作成に用いられる一般的な用語が文字列に含まれているか否かを確認し、用語が含まれている場合にそれを抽出してもよい。
【００１９】
外部データ解析部３は、外部データ３００に含まれるプロジェクトデータ３１０および辞書データ３２０を取得し、これらのデータを解析して用語を抽出する。外部データ解析部３は、上記の文字列解析部２と同様に、データに含まれる文字列を解析して区切り文字を探し出し、２つの区切り文字に挟まれた文字列を用語として抽出する。図１では外部データ３００が複数のプロジェクトデータ３１０と辞書データ３２０とを含む場合の例を示したが、外部データ３００は、少なくとも１つ以上のプロジェクトデータ３１０、または、辞書データ３２０を含んでいればよい。
【００２０】
外部データ３００に含まれるプロジェクトデータ３１０は、プログラム作成支援装置１００または他の装置が過去に作成済みのプロジェクトデータである。辞書データ３２０は、ファクトリーオートメーション（ＦＡ：Factory  Automation）に関連する各種用語を説明する文字列データを含んで構成される。
【００２１】
使用用語一覧更新部４において、用語一覧生成部４１は、使用頻度評価部４２による各用語の使用頻度の評価結果に基づいて使用用語一覧２００の生成および更新を行う。使用頻度評価部４２は、文字列解析部２および外部データ解析部３が抽出した用語である使用用語のそれぞれについて、使用用語それぞれの使用頻度を評価する。本実施の形態において、使用頻度評価部４２は、各使用用語が使用されている回数をカウントし、カウント値が大きいものを使用頻度が高いと判断する。なお、この判断方法は一例であり、他の方法で判断しても構わない。
【００２２】
使用用語一覧２００は、文字列解析部２および外部データ解析部３で抽出された各用語が登録されるデータベースであり、各用語を一覧形式で保持する。各用語は、使用頻度評価部４２での評価結果すなわち使用回数と対応付けられた状態で使用用語一覧２００に登録される。使用用語一覧２００の詳細については別途説明する。
【００２３】
候補リスト生成部５は、使用用語一覧２００に登録された用語および使用回数と、入力受付部１１が入力を受け付けた文字列とに基づいて、入力受付部１１が入力を受け付ける用語の候補リストを生成する。候補表示処理部６は、候補リスト生成部５が生成した候補リストに従い、入力受付部１１が入力を受け付ける用語の候補を表示部７に表示させる。
【００２４】
つづいて、プログラム作成支援装置１００の動作の詳細について説明する。まず、プログラムの作成支援に用いる使用用語一覧２００を生成する動作について、図３を参照しながら説明する。図３は、実施の形態１にかかるプログラム作成支援装置１００の第１の動作例を示すフローチャートであり、外部データ３００に含まれるプロジェクトデータ３１０に基づいて使用用語一覧２００を生成する場合の動作例を示す。
【００２５】
プログラム作成支援装置１００が外部データ３００に含まれるプロジェクトデータ３１０に基づいて使用用語一覧２００を生成する動作は、使用用語一覧２００に登録する用語を外部データ３００から抽出するステップＳ１０と、抽出した用語を使用用語一覧２００に登録するステップＳ２０とで構成される。プログラム作成支援装置１００が使用用語一覧２００を生成する動作は、使用用語一覧２００の生成開始を指示する操作をユーザより受け付けた場合に実行する。
【００２６】
プログラム作成支援装置１００が使用用語一覧２００に登録する用語を外部データ３００から抽出するステップＳ１０では、まず、外部データ解析部３が、プロジェクトデータ３１０にラベルファイルが存在するかを確認する（ステップＳ１１）。外部データ３００に複数のプロジェクトデータ３１０が含まれる場合、外部データ解析部３は、複数のプロジェクトデータ３１０それぞれについて、ラベルファイルが存在するかを確認する。ラベルファイルとは、ＰＬＣが制御する各機器の状態に応じて値が変化する変数であるデバイスに付与されるラベルの定義が記述されたファイルである。
【００２７】
ラベルファイルの構成は、例えば図４に示すものとなる。図４は、実施の形態１にかかるプログラム作成支援装置１００が使用用語一覧２００を生成する際に用いるラベルファイルの一例を示す図である。図４に示すように、ラベルファイルは、ラベルの名称を示すラベル名と、ラベルが付与されたデバイスのデータ型を示すデータ型と、ラベルのコメントとを含んで構成される。
【００２８】
外部データ解析部３は、ラベルファイルが存在する場合（ステップＳ１１：Ｙｅｓ）、ラベルファイルに含まれるラベル名およびラベルのコメントから用語を抽出する（ステップＳ１２）。このとき、外部データ解析部３は、上述したように、ラベル名およびラベルのコメントから区切り文字を探し出し、２つの区切り文字に挟まれた文字列を用語として抽出する。なお、ラベル名およびラベルのコメントにおいて同じ用語が複数回にわたって使用されている可能性があるが、外部データ解析部３は、重複して使用されている用語のそれぞれを１つの用語として抽出する。例えば、用語「装置」が１０回使用されている場合、外部データ解析部３は、「装置」を１０回抽出する。
【００２９】
外部データ解析部３は、ステップＳ１２を実行するか、ラベルファイルが存在しない場合（ステップＳ１１：Ｎｏ）、プロジェクトデータ３１０にデバイスコメントファイルが存在するかを確認する（ステップＳ１３）。外部データ３００に複数のプロジェクトデータ３１０が含まれる場合、外部データ解析部３は、複数のプロジェクトデータ３１０それぞれについて、デバイスコメントファイルが存在するかを確認する。デバイスコメントファイルとは、上述したデバイスのコメントが記述されたファイルであり、例えば図５に示す構成となる。なお、図５は、実施の形態１にかかるプログラム作成支援装置１００が使用用語一覧２００を生成する際に用いるデバイスコメントファイルの一例を示す図である。図５に示すように、デバイスコメントファイルは、デバイスの名称を示すデバイス名と、デバイスのコメントとを含んで構成される。
【００３０】
外部データ解析部３は、デバイスコメントファイルが存在する場合（ステップＳ１３：Ｙｅｓ）、デバイスのコメントから用語を抽出する（ステップＳ１４）。外部データ解析部３は、ラベル名、ラベルのコメントから用語を抽出する場合と同様の方法でデバイスのコメントから用語を抽出する。
【００３１】
外部データ解析部３がステップＳ１４の処理を終了するか、デバイスコメントファイルが存在しない場合（ステップＳ１３：Ｎｏ）、ステップＳ１０、すなわち、使用用語一覧２００に登録する用語を外部データ３００から抽出する処理が終了となり、ステップＳ２０が開始となる。
【００３２】
プログラム作成支援装置１００が抽出した用語を使用用語一覧２００に登録するステップＳ２０では、まず、使用頻度評価部４２が、未評価の用語が存在するかを確認する（ステップＳ２１）。未評価の用語とは、ステップＳ１０で抽出された用語のうち、使用用語一覧２００への登録処理、具体的には後述するステップＳ２２〜Ｓ２５に示す処理が済んでいない用語である。なお、ステップＳ２０を開始した直後のステップＳ２１では、判定結果が「Ｙｅｓ」となる。
【００３３】
未評価の用語が存在しない場合（ステップＳ２１：Ｎｏ）、ステップＳ２０は終了となる。
【００３４】
未評価の用語が存在する場合（ステップＳ２１：Ｙｅｓ）、使用頻度評価部４２は、未評価の用語の中の１つを選択し（ステップＳ２２）、使用用語一覧２００に登録済みか否かを確認する（ステップＳ２３）。選択した用語が使用用語一覧２００に登録されていない場合（ステップＳ２３：Ｎｏ）、用語一覧生成部４１が、使用用語一覧２００に用語を登録するとともに、この用語の使用回数を１に設定する（ステップＳ２５）。使用用語一覧２００は、例えば図６に示す構成のデータである。図６は、実施の形態１にかかるプログラム作成支援装置１００が生成する使用用語一覧２００の一例を示す図である。図６に示すように、使用用語一覧２００は、用語および使用回数を含んで構成される。ステップＳ２５において、用語一覧生成部４１は、使用頻度評価部４２がステップＳ２２で選択した用語を受け取り、これを使用用語一覧２００の「用語」欄に登録し、「使用回数」欄に１を設定する。ステップＳ２５が完了した後は、ステップＳ２１に戻り、使用頻度評価部４２が未評価の用語があるかを再度確認する。
【００３５】
一方、選択した用語が使用用語一覧２００に登録済の場合（ステップＳ２３：Ｙｅｓ）、用語一覧生成部４１が、用語の使用回数を１つ繰り上げる（ステップＳ２４）。すなわち、用語一覧生成部４１は、使用用語一覧２００に登録済の用語のうち、使用頻度評価部４２がステップＳ２２で選択した用語の使用回数を１つ繰り上げる。ステップＳ２４が完了した後は、ステップＳ２１に戻り、使用頻度評価部４２が未評価の用語があるかを再度確認する。
【００３６】
プログラム作成支援装置１００は、以上のステップＳ１０およびＳ２０を実行することで、外部のプロジェクトデータ３１０に基づいて使用用語一覧２００を生成する。なお、プログラム作成支援装置１００は、使用用語一覧２００の生成動作で同じプロジェクトデータ３１０を重複して使用することがないよう、使用用語一覧２００の生成動作で使用済みのプロジェクトデータ３１０の情報を記憶する。記憶する情報は、例えばプロジェクトデータ３１０のプロジェクト名、ファイル名など、プロジェクトデータ３１０を一意に示す情報とする。
【００３７】
外部のプロジェクトデータ３１０に基づいて使用用語一覧２００を生成する場合の動作について説明したが、辞書データ３２０に基づいて使用用語一覧２００を生成する場合の動作は図７に示すものとなる。図７は、実施の形態１にかかるプログラム作成支援装置１００の第２の動作例を示すフローチャートであり、外部データ３００に含まれる辞書データ３２０に基づいて使用用語一覧２００を生成する場合の動作例を示す。
【００３８】
図７に示すように、プログラム作成支援装置１００が外部データ３００に含まれる辞書データ３２０に基づいて使用用語一覧２００を生成する場合の動作は、図３に示すフローチャートのステップＳ１０をステップＳ３０に置き換えたものとなる。
【００３９】
図７に示すステップＳ３０では、外部データ解析部３が、辞書データ３２０に含まれる文字列から用語を抽出する。このステップＳ３０で外部データ解析部３が文字列を抽出する方法は、図３に示すステップＳ１２でラベル名、ラベルのコメントから用語を抽出する方法、ステップＳ１４でデバイスのコメントから用語を抽出する方法と同様である。ステップＳ３０は、外部データ解析部３が辞書データ３２０に含まれる文字列から用語を抽出した後は、使用頻度評価部４２および用語一覧生成部４１が、ステップＳ２１〜Ｓ２５を実行して使用用語一覧２００を生成する。
【００４０】
つづいて、プログラム作成支援装置１００がプロジェクトデータを作成する際の動作について説明する。プログラム作成支援装置１００は、プロジェクトデータの作成作業において文字の入力を受け付ける際、使用用語一覧２００に基づいて、入力候補の用語を表示部７に表示する。この動作により、作業者による用語の入力作業を支援するとともに、使用する用語の統一化を実現する。また、プログラム作成支援装置１００は、文字列の入力を受け付けるごとに、入力された文字列に基づいて使用用語一覧２００を更新する。この動作をフローチャートで示すと図８のようになる。なお、図８は、実施の形態１にかかるプログラム作成支援装置１００の第３の動作例を示すフローチャートである。
【００４１】
プログラム作成支援装置１００の入力受付部１１は、文字の入力があるかを確認する（ステップＳ４１）。文字の入力が無い場合（ステップＳ４１：Ｎｏ）、入力受付部１１は、確認を続ける。文字の入力がある場合（ステップＳ４１：Ｙｅｓ）、候補リスト生成部５および候補表示処理部６が、表示部７に用語の入力候補を表示させる（ステップＳ４２）。具体的には、候補リスト生成部５が、入力された文字に関連する用語を使用用語一覧２００から読み出し、読み出した用語を使用回数が多い順に並べて、用語の入力候補のリストを生成する。候補表示処理部６は、候補リスト生成部５が生成したリストを表示部７に表示する。候補リスト生成部５は、例えば、図９に示すリストを生成する。図９は、実施の形態１にかかるプログラム作成支援装置１００の候補リスト生成部５が生成する用語の入力候補リストの一例を示す図である。図９は、入力受付部１１が文字「ｍ」、「ｉ」、「ｔ」の入力を順番に受け付けた時点で生成する入力候補リストの例を示す（図１０参照）。図１０は、実施の形態１にかかるプログラム作成支援装置１００が表示する文字入力受け付け画面の一例を示す図であり、ラベル名を入力しているときの表示例を示している。図９に示す例では、「ＭＩＴ」の使用回数が最も多く、次に「ＭＩＴＥ」の使用回数が多い。そのため、図１０に示す文字入力受け付け画面では図９のリストに従い「ＭＩＴ」、「ＭＩＴＥ」、「ＭＩＴ水戸」、「ＭＩＴＯＳＩＳ」、…の順番で用語の入力候補を表示する。
【００４２】
なお、図９および図１０に示す例では、候補リスト生成部５が、入力中の文字列（例では「ｍｉｔ」）と前方一致する用語を使用用語一覧２００から読み出して入力候補リストを生成する場合の例を示したがこれに限定されない。候補リスト生成部５は、入力中の文字と部分一致する用語を読み出して入力候補リストを生成してもよい。入力中の文字列に対応する用語が多数存在する場合、候補リスト生成部５は、使用回数が上位の一定数の用語を抽出して入力候補リストを生成してもよい。
【００４３】
図８の説明に戻り、ステップＳ４２を実行後、文字列入力完了判断部１２が、文字列が確定したか、すなわち、文字列の入力が終了したかを判定する（ステップＳ４３）。文字列入力完了判断部１２は、例えば、図１０に示す文字入力受け付け画面を表示部７が表示している場合、画面右下の入力完了ボタンが押された場合に文字列の入力が終了したと判断する。文字列が確定していない場合（ステップＳ４３：Ｎｏ）、ステップＳ４１に戻り、入力受付部１１が、文字の入力があるかを確認する。
【００４４】
文字列が確定した場合（ステップＳ４３：Ｙｅｓ）、文字列解析部２が、確定した文字列から用語を抽出する（ステップＳ４４）。文字列解析部２が文字列から用語を抽出する方法は、上述した外部データ解析部３が、図３に示すステップＳ１２でラベル名、ラベルのコメントから用語を抽出する方法、ステップＳ１４でデバイスのコメントから用語を抽出する方法と同様である。ステップＳ４４において文字列解析部２が文字列から用語を抽出した後は、ステップＳ４５〜Ｓ４９が実行される。これらのステップＳ４５〜Ｓ４９はそれぞれ、図３および図７に示すステップＳ２１〜Ｓ２５と同様の処理である。そのため、ステップＳ４５〜Ｓ４９については説明を省略する。
【００４５】
以上のように、本実施の形態にかかるプログラム作成支援装置１００は、プロジェクトデータの作成作業で文字列が入力されると文字列を解析して用語を抽出する文字列解析部２と、ユーザから指示を受けると外部データ３００に含まれるプロジェクトデータ３１０および辞書データ３２０を解析して用語を抽出する外部データ解析部３とを備える。プログラム作成支援装置１００は、また、文字列解析部２および外部データ解析部３が抽出した各用語と各用語の使用回数とを対応付けて使用用語一覧２００に登録する使用用語一覧更新部４を備える。プログラム作成支援装置１００は、さらに、使用用語一覧２００に基づいて、プロジェクトデータの作成作業での文字列入力受け付け時に、入力を受け付ける用語の候補リストを生成する候補リスト生成部５と、候補リストに基づいて、入力を受け付ける用語の候補を表示部７に表示する候補表示処理部６とを備える。プログラム作成支援装置１００によれば、複数のプロジェクトデータそれぞれで使用する用語を統一化することができ、他のプロジェクトデータとの間で用語を統一化しながらプロジェクトデータを作成する際の作業者の負担を軽減できる。
【００４６】
なお、本実施の形態において、文字列解析部２および外部データ解析部３は、解析処理で同じ用語を発見した場合に、同じ用語を複数回抽出することとしたが、同じ用語の抽出回数をカウントし、各用語と抽出回数とを解析結果として使用頻度評価部４２に出力するようにしてもよい。
【００４７】
実施の形態２．
図１１は、実施の形態２にかかるプログラム作成支援装置１００ａの構成例を示す図である。プログラム作成支援装置１００ａは、実施の形態１にかかるプログラム作成支援装置１００にインタフェース部８を追加した構成である。インタフェース部８を備える点以外はプログラム作成支援装置１００と同様であるため、インタフェース部８以外の構成については説明を省略する。
【００４８】
インタフェース部８は、データ書込部８１およびデータ読出部８２を含んで構成される。データ書込部８１は、プログラム作成支援装置１００ａ内で生成した使用用語一覧２００をＰＬＣ４００の図示を省略した記憶部に書き込む。ＰＬＣ４００に書き込まれた使用用語一覧２００は、使用用語一覧４１０としてＰＬＣ４００で保持される。データ読出部８２は、ＰＬＣ４００が保持する使用用語一覧４１０をＰＬＣ４００から読み出す。プログラム作成支援装置１００ａは、ＰＬＣ４００から読み出した使用用語一覧４１０を使用用語一覧２００として保持する。プログラム作成支援装置１００ａは、使用用語一覧２００を保持している状態でＰＬＣ４００から使用用語一覧４１０を読み出した場合、読み出した使用用語一覧４１０を上書きして使用用語一覧２００を更新する。
【００４９】
本実施の形態にかかるプログラム作成支援装置１００ａによれば、ＰＬＣ４００で実行されているプロジェクトデータを改修する場合に、改修するプロジェクトデータに対応する使用用語一覧４１０を使用用語一覧２００として使用することができ、改修前のプロジェクトデータで使用する用語と改修後のプロジェクトデータで使用する用語の統一化が可能となる。よって、用語の統一化を実現しつつプロジェクトデータを改修する際の作業者の負担を軽減できる。
【００５０】
なお、プログラム作成支援装置１００ａは使用用語一覧２００を保持せずに、ＰＬＣ４００のみが使用用語一覧４１０を保持する構成としてもよい。この場合、プログラム作成支援装置１００ａの使用用語一覧更新部４（用語一覧生成部４１および使用頻度評価部４２）は、ＰＬＣ４００が接続されている状態の時に、実施の形態１で説明した使用用語一覧２００の生成動作を行う。
【００５１】
実施の形態３．
図１２は、実施の形態３にかかるプログラム作成支援装置１００ｂの構成例を示す図である。プログラム作成支援装置１００ｂは、実施の形態２にかかるプログラム作成支援装置１００ａにデータ変換部９を追加した構成である。データ変換部９を備える点以外はプログラム作成支援装置１００ａと同様であるため、データ変換部９以外の構成については説明を省略する。
【００５２】
データ変換部９は、使用用語一覧２００のデータ形式を第１の形式から第２の形式に変換してインタフェース部８に受け渡すとともに、インタフェース部８がＰＬＣ４００から読み出した使用用語一覧４１０のデータ形式を第２の形式から第１の形式に変換する。データ変換部９は、例えば、使用用語一覧２００を圧縮して使用用語一覧４１０を生成し、使用用語一覧４１０を解凍して使用用語一覧２００を生成する。すなわち、データ変換部９は、使用用語一覧２００に圧縮処理を行うことでデータ形式を第１の形式から第２の形式に変換し、使用用語一覧４１０に解凍処理を行うことでデータ形式を第２の形式から第１の形式に変換する。これにより、ＰＬＣ４００に書き込むデータ量を削減できる。ここでは圧縮処理および解凍処理によりデータ形式を変換することとしたが、他の処理、例えば、暗号化処理および復号処理によりデータ形式を変換してもよい。
【００５３】
実施の形態４．
図１３は、実施の形態４にかかるプログラム作成支援装置１００ｃの構成例を示す図である。プログラム作成支援装置１００ｃは、実施の形態３にかかるプログラム作成支援装置１００ｂのインタフェース部８をインタフェース部８ｃに置き換え、候補リスト生成部５を削除した構成である。また、プログラム作成支援装置１００ｃに接続するＰＬＣ４００ｃが、候補リスト生成部４２０を備える構成である。候補リスト生成部５を削除した点およびインタフェース部８ｃを備える点以外はプログラム作成支援装置１００ｂと同様であるため、インタフェース部８ｃ以外の構成については説明を省略する。
【００５４】
プログラム作成支援装置１００ｃのインタフェース部８ｃは、データ書込部８１およびデータ中継部８３を含んで構成される。データ書込部８１は、プログラム作成支援装置１００ｂのインタフェース部８が備えるデータ書込部８１と同じ処理を行う。データ中継部８３は、入力受付部１１および候補表示処理部６とＰＬＣ４００ｃとの間でデータを中継する。
【００５５】
ＰＬＣ４００ｃの候補リスト生成部４２０は、プログラム作成支援装置１００ｂが備える候補リスト生成部５と同様の処理を行う。すなわち、実施の形態４にかかるプログラム作成支援装置１００ｃは、プログラム作成支援装置１００ｂの候補リスト生成部５で実行する処理をＰＬＣ４００ｃの候補リスト生成部４２０で実行するようにしたものである。候補リスト生成部４２０は、入力受付部１１が入力を受け付けた文字列をデータ中継部８３経由で受け取り、受け取った文字列とＰＬＣ４００ｃが保持している使用用語一覧４１０とに基づいて用語の候補リストを生成する。候補リスト生成部４２０は、生成した候補リストをデータ中継部８３経由で候補表示処理部６に出力する。
【００５６】
このように、プログラム作成支援装置１００ｃに接続されたＰＬＣ４００ｃが候補リスト生成部４２０を備え、ＰＬＣ４００ｃで用語の候補リストを生成する構成としてもよい。
【００５７】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００５８】
１  入力操作受付部、２  文字列解析部、３  外部データ解析部、４  使用用語一覧更新部、５，４２０  候補リスト生成部、６  候補表示処理部、７  表示部、８，８ｃ  インタフェース部、９  データ変換部、１１  入力受付部、１２  文字列入力完了判断部、４１  用語一覧生成部、４２  使用頻度評価部、８１  データ書込部、８２  データ読出部、８３  データ中継部、１００，１００ａ，１００ｂ，１００ｃ  プログラム作成支援装置、１１０  演算装置、１２０  記憶装置、１３０  表示装置、１４０  入力装置、１５０  通信装置、２００，４１０  使用用語一覧、２１０，３１０  プロジェクトデータ、３００  外部データ、３２０  辞書データ、４００，４００ｃ  ＰＬＣ。
【要約】
プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援装置（１００）は、プロジェクトデータを作成するための文字列の入力を受け付ける入力受付部（１１）と、入力受付部が入力を受け付けた文字列を解析して文字列に含まれる用語を抽出する文字列解析部（２）と、作成済みのプロジェクトデータ（３１０）、および、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データ（３２０）、の少なくとも一方を含む外部データ（３００）を解析して外部データに含まれる用語を抽出する外部データ解析部（３）と、文字列解析部および外部データ解析部が抽出した用語の使用回数を算出する使用頻度評価部（４２）と、使用頻度評価部が算出した使用回数に基づいて、入力受付部が入力を受け付ける用語の候補を表示部（７）に表示させる候補表示処理部（６）と、を備える。【図１】
0006837608.tif 000002
【図２】
0006837608.tif 000003
【図３】
0006837608.tif 000004
【図４】
0006837608.tif 000005
【図５】
0006837608.tif 000006
【図６】
0006837608.tif 000007
【図７】
0006837608.tif 000008
【図８】
0006837608.tif 000009
【図９】
0006837608.tif 000010
【図１０】
0006837608.tif 000011
【図１１】
0006837608.tif 000012
【図１２】
0006837608.tif 000013
【図１３】
0006837608.tif 000014