JP6837608B1 - プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム - Google Patents

プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム Download PDF

Info

Publication number
JP6837608B1
JP6837608B1 JP2020535153A JP2020535153A JP6837608B1 JP 6837608 B1 JP6837608 B1 JP 6837608B1 JP 2020535153 A JP2020535153 A JP 2020535153A JP 2020535153 A JP2020535153 A JP 2020535153A JP 6837608 B1 JP6837608 B1 JP 6837608B1
Authority
JP
Japan
Prior art keywords
unit
input
character string
terms
program creation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020535153A
Other languages
English (en)
Other versions
JPWO2021156940A1 (ja
Inventor
賢治 戸堀
賢治 戸堀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6837608B1 publication Critical patent/JP6837608B1/ja
Publication of JPWO2021156940A1 publication Critical patent/JPWO2021156940A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援装置(100)は、プロジェクトデータを作成するための文字列の入力を受け付ける入力受付部(11)と、入力受付部が入力を受け付けた文字列を解析して文字列に含まれる用語を抽出する文字列解析部(2)と、作成済みのプロジェクトデータ(310)、および、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データ(320)、の少なくとも一方を含む外部データ(300)を解析して外部データに含まれる用語を抽出する外部データ解析部(3)と、文字列解析部および外部データ解析部が抽出した用語の使用回数を算出する使用頻度評価部(42)と、使用頻度評価部が算出した使用回数に基づいて、入力受付部が入力を受け付ける用語の候補を表示部(7)に表示させる候補表示処理部(6)と、を備える。

Description

本発明は、プログラマブルロジックコントローラ(Programmable Logic Controller、以下PLCと称する)で実行されるプログラムの作成を支援するプログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラムに関する。
特許文献1には、プログラムを作成する際に、入力を受け付けた文字列に応じて、命令語の選択候補、または、命令語の関連情報の選択候補を表示装置に表示し、選択候補の中から入力する命令語または関連情報を選択させる発明が記載されている。特許文献1に記載の発明によれば、正しい命令語および関連情報を正しい文法に従ってプログラムに記述することを支援することができ、効率的なプログラム作成作業を実現できる。
特開2011−28552号公報
PLCで実行されるプログラムは大規模となる場合があり、その場合、複数の作業者が分担してプログラムを作成する。複数の作業者が分担してプログラムを作成する場合、プログラムのデバッグ作業、改修作業などが効率的に行えるよう、プログラムに記述する用語を統一化しておくことが重要となる。すなわち、各作業者は、同じ意味の複数の用語が混在することがないように気を付けながらプログラムを作成する必要がある。用語が統一化されていない場合、プログラムの修正が必要となった場合に、プログラムを作成した作業者とは異なる作業者が修正を行う際に時間を要するといった問題が生じる可能性がある。また、プログラムの作成作業では過去に作成したプログラムを流用して新しいプログラムを作成する場合がある。この場合も、流用する部分で使用されている用語と、新たに作成する部分で使用される用語とを統一化することが重要となる。
特許文献1に記載の発明では1つのプログラム内で用語を統一化することが可能であるが、過去に作成済みのプログラムなど、他のプログラムとの間で用語を統一することはできず、作業者の負担が大きい、という問題があった。
本発明は、上記に鑑みてなされたものであって、他のプログラムとの間で用語を統一化しながらプログラムを作成する際の作業者の負担を軽減することが可能なプログラム作成支援装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援装置であって、プロジェクトデータを作成するための文字列の入力を受け付ける入力受付部と、入力受付部が入力を受け付けた文字列を解析して文字列に含まれる用語を抽出する文字列解析部と、プログラム作成支援装置および他のプログラム作成支援装置によって作成済みのプロジェクトデータ、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データを含む外部データを解析して外部データに含まれる用語を抽出する外部データ解析部と、を備える。プログラム作成支援装置は、また、文字列解析部および外部データ解析部が抽出した用語である使用用語に基づいて、使用用語それぞれの使用回数を算出する使用頻度評価部と、入力受付部が文字の入力を受け付けるごとに、入力を受け付け済みかつ文字列として確定する前の1つ以上の文字と、使用頻度評価部が算出した使用回数とに基づいて、入力受付部が入力を受け付ける用語の候補を表示部に表示させる候補表示処理部と、を備える。
本発明にかかるプログラム作成支援装置は、他のプログラムとの間で用語を統一化しながらプログラムを作成する際の作業者の負担を軽減することができる、という効果を奏する。
本発明の実施の形態1にかかるプログラム作成支援装置の構成例を示す図 実施の形態1にかかるプログラム作成支援装置のハードウェア構成の一例を示す図 実施の形態1にかかるプログラム作成支援装置の第1の動作例を示すフローチャート 実施の形態1にかかるプログラム作成支援装置が使用用語一覧を生成する際に用いるラベルファイルの一例を示す図 実施の形態1にかかるプログラム作成支援装置が使用用語一覧を生成する際に用いるデバイスコメントファイルの一例を示す図 実施の形態1にかかるプログラム作成支援装置が生成する使用用語一覧の一例を示す図 実施の形態1にかかるプログラム作成支援装置の第2の動作例を示すフローチャート 実施の形態1にかかるプログラム作成支援装置の第3の動作例を示すフローチャート 実施の形態1にかかるプログラム作成支援装置の候補リスト生成部が生成する用語の入力候補リストの一例を示す図 実施の形態1にかかるプログラム作成支援装置が表示する文字入力受け付け画面の一例を示す図 実施の形態2にかかるプログラム作成支援装置の構成例を示す図 実施の形態3にかかるプログラム作成支援装置の構成例を示す図 実施の形態4にかかるプログラム作成支援装置の構成例を示す図
以下に、本発明の実施の形態にかかるプログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1にかかるプログラム作成支援装置の構成例を示す図である。実施の形態1にかかるプログラム作成支援装置100は、入力受付部11および文字列入力完了判断部12を含んで構成される入力操作受付部1と、文字列解析部2と、外部データ解析部3と、用語一覧生成部41および使用頻度評価部42を含んで構成される使用用語一覧更新部4と、候補リスト生成部5と、候補表示処理部6と、表示部7と、使用用語一覧200とを備える。
プログラム作成支援装置100は、PLCを動作させるためのプロジェクトデータを作成する装置である。また、プログラム作成支援装置100は、プロジェクトデータの作成作業を支援するための機能を有する。プロジェクトデータは、PLCで実行されるプログラム、PLCがプログラムを実行する際に使用されるパラメータなどを含む。PLCはシーケンサと呼ばれる場合がある。また、PLCで実行されるプログラムはシーケンスプログラムとも呼ばれる。なお、図1では、プログラム作成支援装置100が作成するプロジェクトデータについての記載を省略しているが、プログラム作成支援装置100は作成中のプロジェクトデータを保持しているものとする。
ここで、プログラム作成支援装置100の図1に示す各構成要素を実現するハードウェアの構成について説明する。図2は、実施の形態1にかかるプログラム作成支援装置100のハードウェア構成の一例を示す図である。図2に示すように、プログラム作成支援装置100は、演算装置110、記憶装置120、表示装置130、入力装置140および通信装置150により実現される。
演算装置110は、CPU(Central Processing Unit)、システムLSI(Large Scale Integration)などである。記憶装置120は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスクドライブ、SSD(Solid State Drive)、着脱可能なメモリデバイス、またはこれらの組み合わせたものである。表示装置130は、液晶モニタ、ディスプレイなどである。入力装置140は、マウス、キーボード、タッチパネルなどである。通信装置150は、他の装置との通信を有線または無線によって実現する。
なお、プログラム作成支援装置100を実現するハードウェアは、パーソナルコンピュータなどの電子計算機であってもよい。電子計算機でプログラム作成支援装置100を実現する場合、プログラム作成支援装置100として動作させるためのプログラムを電子計算機が備える記憶装置にインストールし、このプログラムを電子計算機のプロセッサが実行することによりプログラム作成支援装置100が実現される。電子計算機をプログラム作成支援装置100として動作させるためのプログラムは、例えば、CD(Compact Disc)−ROM、DVD(Digital Versatile Disc)−ROMなどの記録媒体に書き込まれた状態で提供される。電子計算機をプログラム作成支援装置100として動作させるためのプログラムは、インターネットなどの通信ネットワークを介して提供される形態であってもよい。
図2に示すように、入力受付部11、文字列入力完了判断部12、文字列解析部2、外部データ解析部3、用語一覧生成部41、使用頻度評価部42、候補リスト生成部5および候補表示処理部6は、演算装置110により実現される。表示部7は表示装置130により実現される。使用用語一覧200は記憶装置120で保持される。記憶装置120は、プログラム作成支援装置100が作成するプロジェクトデータ210も保持する。
図1の説明に戻り、入力操作受付部1において、入力受付部11は、プロジェクトデータ作成のための文字入力操作などの各種入力操作をユーザより受け付ける。文字列入力完了判断部12は、入力受付部11を用いて行われる文字列の入力が完了したか否かを判断する。文字列入力完了判断部12は、例えば、文字入力画面に入力完了ボタンが存在する場合は入力完了ボタンが押されると文字列の入力が完了したと判断する。文字列入力完了判断部12は、Enterキーが押された場合に文字列の入力が完了したと判断してもよい。その他の方法で判断しても構わない。
文字列解析部2は、文字列入力完了判断部12が文字列の入力が完了したと判断した場合に、入力が確定した文字列を解析してこの文字列に含まれる用語を抽出する。文字列解析部2は、例えば、区切り文字として予め定められた文字を文字列から探し出し、2つの区切り文字に挟まれた文字列を用語として抽出する。区切り文字は、句点、読点、カンマ、空白、などとする。ユーザが区切り文字を指定できる構成としてもよい。文字列解析部2は、プロジェクトデータの作成に用いられる一般的な用語が文字列に含まれているか否かを確認し、用語が含まれている場合にそれを抽出してもよい。
外部データ解析部3は、外部データ300に含まれるプロジェクトデータ310および辞書データ320を取得し、これらのデータを解析して用語を抽出する。外部データ解析部3は、上記の文字列解析部2と同様に、データに含まれる文字列を解析して区切り文字を探し出し、2つの区切り文字に挟まれた文字列を用語として抽出する。図1では外部データ300が複数のプロジェクトデータ310と辞書データ320とを含む場合の例を示したが、外部データ300は、少なくとも1つ以上のプロジェクトデータ310、または、辞書データ320を含んでいればよい。
外部データ300に含まれるプロジェクトデータ310は、プログラム作成支援装置100または他の装置が過去に作成済みのプロジェクトデータである。辞書データ320は、ファクトリーオートメーション(FA:Factory Automation)に関連する各種用語を説明する文字列データを含んで構成される。
使用用語一覧更新部4において、用語一覧生成部41は、使用頻度評価部42による各用語の使用頻度の評価結果に基づいて使用用語一覧200の生成および更新を行う。使用頻度評価部42は、文字列解析部2および外部データ解析部3が抽出した用語である使用用語のそれぞれについて、使用用語それぞれの使用頻度を評価する。本実施の形態において、使用頻度評価部42は、各使用用語が使用されている回数をカウントし、カウント値が大きいものを使用頻度が高いと判断する。なお、この判断方法は一例であり、他の方法で判断しても構わない。
使用用語一覧200は、文字列解析部2および外部データ解析部3で抽出された各用語が登録されるデータベースであり、各用語を一覧形式で保持する。各用語は、使用頻度評価部42での評価結果すなわち使用回数と対応付けられた状態で使用用語一覧200に登録される。使用用語一覧200の詳細については別途説明する。
候補リスト生成部5は、使用用語一覧200に登録された用語および使用回数と、入力受付部11が入力を受け付けた文字列とに基づいて、入力受付部11が入力を受け付ける用語の候補リストを生成する。候補表示処理部6は、候補リスト生成部5が生成した候補リストに従い、入力受付部11が入力を受け付ける用語の候補を表示部7に表示させる。
つづいて、プログラム作成支援装置100の動作の詳細について説明する。まず、プログラムの作成支援に用いる使用用語一覧200を生成する動作について、図3を参照しながら説明する。図3は、実施の形態1にかかるプログラム作成支援装置100の第1の動作例を示すフローチャートであり、外部データ300に含まれるプロジェクトデータ310に基づいて使用用語一覧200を生成する場合の動作例を示す。
プログラム作成支援装置100が外部データ300に含まれるプロジェクトデータ310に基づいて使用用語一覧200を生成する動作は、使用用語一覧200に登録する用語を外部データ300から抽出するステップS10と、抽出した用語を使用用語一覧200に登録するステップS20とで構成される。プログラム作成支援装置100が使用用語一覧200を生成する動作は、使用用語一覧200の生成開始を指示する操作をユーザより受け付けた場合に実行する。
プログラム作成支援装置100が使用用語一覧200に登録する用語を外部データ300から抽出するステップS10では、まず、外部データ解析部3が、プロジェクトデータ310にラベルファイルが存在するかを確認する(ステップS11)。外部データ300に複数のプロジェクトデータ310が含まれる場合、外部データ解析部3は、複数のプロジェクトデータ310それぞれについて、ラベルファイルが存在するかを確認する。ラベルファイルとは、PLCが制御する各機器の状態に応じて値が変化する変数であるデバイスに付与されるラベルの定義が記述されたファイルである。
ラベルファイルの構成は、例えば図4に示すものとなる。図4は、実施の形態1にかかるプログラム作成支援装置100が使用用語一覧200を生成する際に用いるラベルファイルの一例を示す図である。図4に示すように、ラベルファイルは、ラベルの名称を示すラベル名と、ラベルが付与されたデバイスのデータ型を示すデータ型と、ラベルのコメントとを含んで構成される。
外部データ解析部3は、ラベルファイルが存在する場合(ステップS11:Yes)、ラベルファイルに含まれるラベル名およびラベルのコメントから用語を抽出する(ステップS12)。このとき、外部データ解析部3は、上述したように、ラベル名およびラベルのコメントから区切り文字を探し出し、2つの区切り文字に挟まれた文字列を用語として抽出する。なお、ラベル名およびラベルのコメントにおいて同じ用語が複数回にわたって使用されている可能性があるが、外部データ解析部3は、重複して使用されている用語のそれぞれを1つの用語として抽出する。例えば、用語「装置」が10回使用されている場合、外部データ解析部3は、「装置」を10回抽出する。
外部データ解析部3は、ステップS12を実行するか、ラベルファイルが存在しない場合(ステップS11:No)、プロジェクトデータ310にデバイスコメントファイルが存在するかを確認する(ステップS13)。外部データ300に複数のプロジェクトデータ310が含まれる場合、外部データ解析部3は、複数のプロジェクトデータ310それぞれについて、デバイスコメントファイルが存在するかを確認する。デバイスコメントファイルとは、上述したデバイスのコメントが記述されたファイルであり、例えば図5に示す構成となる。なお、図5は、実施の形態1にかかるプログラム作成支援装置100が使用用語一覧200を生成する際に用いるデバイスコメントファイルの一例を示す図である。図5に示すように、デバイスコメントファイルは、デバイスの名称を示すデバイス名と、デバイスのコメントとを含んで構成される。
外部データ解析部3は、デバイスコメントファイルが存在する場合(ステップS13:Yes)、デバイスのコメントから用語を抽出する(ステップS14)。外部データ解析部3は、ラベル名、ラベルのコメントから用語を抽出する場合と同様の方法でデバイスのコメントから用語を抽出する。
外部データ解析部3がステップS14の処理を終了するか、デバイスコメントファイルが存在しない場合(ステップS13:No)、ステップS10、すなわち、使用用語一覧200に登録する用語を外部データ300から抽出する処理が終了となり、ステップS20が開始となる。
プログラム作成支援装置100が抽出した用語を使用用語一覧200に登録するステップS20では、まず、使用頻度評価部42が、未評価の用語が存在するかを確認する(ステップS21)。未評価の用語とは、ステップS10で抽出された用語のうち、使用用語一覧200への登録処理、具体的には後述するステップS22〜S25に示す処理が済んでいない用語である。なお、ステップS20を開始した直後のステップS21では、判定結果が「Yes」となる。
未評価の用語が存在しない場合(ステップS21:No)、ステップS20は終了となる。
未評価の用語が存在する場合(ステップS21:Yes)、使用頻度評価部42は、未評価の用語の中の1つを選択し(ステップS22)、使用用語一覧200に登録済みか否かを確認する(ステップS23)。選択した用語が使用用語一覧200に登録されていない場合(ステップS23:No)、用語一覧生成部41が、使用用語一覧200に用語を登録するとともに、この用語の使用回数を1に設定する(ステップS25)。使用用語一覧200は、例えば図6に示す構成のデータである。図6は、実施の形態1にかかるプログラム作成支援装置100が生成する使用用語一覧200の一例を示す図である。図6に示すように、使用用語一覧200は、用語および使用回数を含んで構成される。ステップS25において、用語一覧生成部41は、使用頻度評価部42がステップS22で選択した用語を受け取り、これを使用用語一覧200の「用語」欄に登録し、「使用回数」欄に1を設定する。ステップS25が完了した後は、ステップS21に戻り、使用頻度評価部42が未評価の用語があるかを再度確認する。
一方、選択した用語が使用用語一覧200に登録済の場合(ステップS23:Yes)、用語一覧生成部41が、用語の使用回数を1つ繰り上げる(ステップS24)。すなわち、用語一覧生成部41は、使用用語一覧200に登録済の用語のうち、使用頻度評価部42がステップS22で選択した用語の使用回数を1つ繰り上げる。ステップS24が完了した後は、ステップS21に戻り、使用頻度評価部42が未評価の用語があるかを再度確認する。
プログラム作成支援装置100は、以上のステップS10およびS20を実行することで、外部のプロジェクトデータ310に基づいて使用用語一覧200を生成する。なお、プログラム作成支援装置100は、使用用語一覧200の生成動作で同じプロジェクトデータ310を重複して使用することがないよう、使用用語一覧200の生成動作で使用済みのプロジェクトデータ310の情報を記憶する。記憶する情報は、例えばプロジェクトデータ310のプロジェクト名、ファイル名など、プロジェクトデータ310を一意に示す情報とする。
外部のプロジェクトデータ310に基づいて使用用語一覧200を生成する場合の動作について説明したが、辞書データ320に基づいて使用用語一覧200を生成する場合の動作は図7に示すものとなる。図7は、実施の形態1にかかるプログラム作成支援装置100の第2の動作例を示すフローチャートであり、外部データ300に含まれる辞書データ320に基づいて使用用語一覧200を生成する場合の動作例を示す。
図7に示すように、プログラム作成支援装置100が外部データ300に含まれる辞書データ320に基づいて使用用語一覧200を生成する場合の動作は、図3に示すフローチャートのステップS10をステップS30に置き換えたものとなる。
図7に示すステップS30では、外部データ解析部3が、辞書データ320に含まれる文字列から用語を抽出する。このステップS30で外部データ解析部3が文字列を抽出する方法は、図3に示すステップS12でラベル名、ラベルのコメントから用語を抽出する方法、ステップS14でデバイスのコメントから用語を抽出する方法と同様である。ステップS30は、外部データ解析部3が辞書データ320に含まれる文字列から用語を抽出した後は、使用頻度評価部42および用語一覧生成部41が、ステップS21〜S25を実行して使用用語一覧200を生成する。
つづいて、プログラム作成支援装置100がプロジェクトデータを作成する際の動作について説明する。プログラム作成支援装置100は、プロジェクトデータの作成作業において文字の入力を受け付ける際、使用用語一覧200に基づいて、入力候補の用語を表示部7に表示する。この動作により、作業者による用語の入力作業を支援するとともに、使用する用語の統一化を実現する。また、プログラム作成支援装置100は、文字列の入力を受け付けるごとに、入力された文字列に基づいて使用用語一覧200を更新する。この動作をフローチャートで示すと図8のようになる。なお、図8は、実施の形態1にかかるプログラム作成支援装置100の第3の動作例を示すフローチャートである。
プログラム作成支援装置100の入力受付部11は、文字の入力があるかを確認する(ステップS41)。文字の入力が無い場合(ステップS41:No)、入力受付部11は、確認を続ける。文字の入力がある場合(ステップS41:Yes)、候補リスト生成部5および候補表示処理部6が、表示部7に用語の入力候補を表示させる(ステップS42)。具体的には、候補リスト生成部5が、入力された文字に関連する用語を使用用語一覧200から読み出し、読み出した用語を使用回数が多い順に並べて、用語の入力候補のリストを生成する。候補表示処理部6は、候補リスト生成部5が生成したリストを表示部7に表示する。候補リスト生成部5は、例えば、図9に示すリストを生成する。図9は、実施の形態1にかかるプログラム作成支援装置100の候補リスト生成部5が生成する用語の入力候補リストの一例を示す図である。図9は、入力受付部11が文字「m」、「i」、「t」の入力を順番に受け付けた時点で生成する入力候補リストの例を示す(図10参照)。図10は、実施の形態1にかかるプログラム作成支援装置100が表示する文字入力受け付け画面の一例を示す図であり、ラベル名を入力しているときの表示例を示している。図9に示す例では、「MIT」の使用回数が最も多く、次に「MITE」の使用回数が多い。そのため、図10に示す文字入力受け付け画面では図9のリストに従い「MIT」、「MITE」、「MIT水戸」、「MITOSIS」、…の順番で用語の入力候補を表示する。
なお、図9および図10に示す例では、候補リスト生成部5が、入力中の文字列(例では「mit」)と前方一致する用語を使用用語一覧200から読み出して入力候補リストを生成する場合の例を示したがこれに限定されない。候補リスト生成部5は、入力中の文字と部分一致する用語を読み出して入力候補リストを生成してもよい。入力中の文字列に対応する用語が多数存在する場合、候補リスト生成部5は、使用回数が上位の一定数の用語を抽出して入力候補リストを生成してもよい。
図8の説明に戻り、ステップS42を実行後、文字列入力完了判断部12が、文字列が確定したか、すなわち、文字列の入力が終了したかを判定する(ステップS43)。文字列入力完了判断部12は、例えば、図10に示す文字入力受け付け画面を表示部7が表示している場合、画面右下の入力完了ボタンが押された場合に文字列の入力が終了したと判断する。文字列が確定していない場合(ステップS43:No)、ステップS41に戻り、入力受付部11が、文字の入力があるかを確認する。
文字列が確定した場合(ステップS43:Yes)、文字列解析部2が、確定した文字列から用語を抽出する(ステップS44)。文字列解析部2が文字列から用語を抽出する方法は、上述した外部データ解析部3が、図3に示すステップS12でラベル名、ラベルのコメントから用語を抽出する方法、ステップS14でデバイスのコメントから用語を抽出する方法と同様である。ステップS44において文字列解析部2が文字列から用語を抽出した後は、ステップS45〜S49が実行される。これらのステップS45〜S49はそれぞれ、図3および図7に示すステップS21〜S25と同様の処理である。そのため、ステップS45〜S49については説明を省略する。
以上のように、本実施の形態にかかるプログラム作成支援装置100は、プロジェクトデータの作成作業で文字列が入力されると文字列を解析して用語を抽出する文字列解析部2と、ユーザから指示を受けると外部データ300に含まれるプロジェクトデータ310および辞書データ320を解析して用語を抽出する外部データ解析部3とを備える。プログラム作成支援装置100は、また、文字列解析部2および外部データ解析部3が抽出した各用語と各用語の使用回数とを対応付けて使用用語一覧200に登録する使用用語一覧更新部4を備える。プログラム作成支援装置100は、さらに、使用用語一覧200に基づいて、プロジェクトデータの作成作業での文字列入力受け付け時に、入力を受け付ける用語の候補リストを生成する候補リスト生成部5と、候補リストに基づいて、入力を受け付ける用語の候補を表示部7に表示する候補表示処理部6とを備える。プログラム作成支援装置100によれば、複数のプロジェクトデータそれぞれで使用する用語を統一化することができ、他のプロジェクトデータとの間で用語を統一化しながらプロジェクトデータを作成する際の作業者の負担を軽減できる。
なお、本実施の形態において、文字列解析部2および外部データ解析部3は、解析処理で同じ用語を発見した場合に、同じ用語を複数回抽出することとしたが、同じ用語の抽出回数をカウントし、各用語と抽出回数とを解析結果として使用頻度評価部42に出力するようにしてもよい。
実施の形態2.
図11は、実施の形態2にかかるプログラム作成支援装置100aの構成例を示す図である。プログラム作成支援装置100aは、実施の形態1にかかるプログラム作成支援装置100にインタフェース部8を追加した構成である。インタフェース部8を備える点以外はプログラム作成支援装置100と同様であるため、インタフェース部8以外の構成については説明を省略する。
インタフェース部8は、データ書込部81およびデータ読出部82を含んで構成される。データ書込部81は、プログラム作成支援装置100a内で生成した使用用語一覧200をPLC400の図示を省略した記憶部に書き込む。PLC400に書き込まれた使用用語一覧200は、使用用語一覧410としてPLC400で保持される。データ読出部82は、PLC400が保持する使用用語一覧410をPLC400から読み出す。プログラム作成支援装置100aは、PLC400から読み出した使用用語一覧410を使用用語一覧200として保持する。プログラム作成支援装置100aは、使用用語一覧200を保持している状態でPLC400から使用用語一覧410を読み出した場合、読み出した使用用語一覧410を上書きして使用用語一覧200を更新する。
本実施の形態にかかるプログラム作成支援装置100aによれば、PLC400で実行されているプロジェクトデータを改修する場合に、改修するプロジェクトデータに対応する使用用語一覧410を使用用語一覧200として使用することができ、改修前のプロジェクトデータで使用する用語と改修後のプロジェクトデータで使用する用語の統一化が可能となる。よって、用語の統一化を実現しつつプロジェクトデータを改修する際の作業者の負担を軽減できる。
なお、プログラム作成支援装置100aは使用用語一覧200を保持せずに、PLC400のみが使用用語一覧410を保持する構成としてもよい。この場合、プログラム作成支援装置100aの使用用語一覧更新部4(用語一覧生成部41および使用頻度評価部42)は、PLC400が接続されている状態の時に、実施の形態1で説明した使用用語一覧200の生成動作を行う。
実施の形態3.
図12は、実施の形態3にかかるプログラム作成支援装置100bの構成例を示す図である。プログラム作成支援装置100bは、実施の形態2にかかるプログラム作成支援装置100aにデータ変換部9を追加した構成である。データ変換部9を備える点以外はプログラム作成支援装置100aと同様であるため、データ変換部9以外の構成については説明を省略する。
データ変換部9は、使用用語一覧200のデータ形式を第1の形式から第2の形式に変換してインタフェース部8に受け渡すとともに、インタフェース部8がPLC400から読み出した使用用語一覧410のデータ形式を第2の形式から第1の形式に変換する。データ変換部9は、例えば、使用用語一覧200を圧縮して使用用語一覧410を生成し、使用用語一覧410を解凍して使用用語一覧200を生成する。すなわち、データ変換部9は、使用用語一覧200に圧縮処理を行うことでデータ形式を第1の形式から第2の形式に変換し、使用用語一覧410に解凍処理を行うことでデータ形式を第2の形式から第1の形式に変換する。これにより、PLC400に書き込むデータ量を削減できる。ここでは圧縮処理および解凍処理によりデータ形式を変換することとしたが、他の処理、例えば、暗号化処理および復号処理によりデータ形式を変換してもよい。
実施の形態4.
図13は、実施の形態4にかかるプログラム作成支援装置100cの構成例を示す図である。プログラム作成支援装置100cは、実施の形態3にかかるプログラム作成支援装置100bのインタフェース部8をインタフェース部8cに置き換え、候補リスト生成部5を削除した構成である。また、プログラム作成支援装置100cに接続するPLC400cが、候補リスト生成部420を備える構成である。候補リスト生成部5を削除した点およびインタフェース部8cを備える点以外はプログラム作成支援装置100bと同様であるため、インタフェース部8c以外の構成については説明を省略する。
プログラム作成支援装置100cのインタフェース部8cは、データ書込部81およびデータ中継部83を含んで構成される。データ書込部81は、プログラム作成支援装置100bのインタフェース部8が備えるデータ書込部81と同じ処理を行う。データ中継部83は、入力受付部11および候補表示処理部6とPLC400cとの間でデータを中継する。
PLC400cの候補リスト生成部420は、プログラム作成支援装置100bが備える候補リスト生成部5と同様の処理を行う。すなわち、実施の形態4にかかるプログラム作成支援装置100cは、プログラム作成支援装置100bの候補リスト生成部5で実行する処理をPLC400cの候補リスト生成部420で実行するようにしたものである。候補リスト生成部420は、入力受付部11が入力を受け付けた文字列をデータ中継部83経由で受け取り、受け取った文字列とPLC400cが保持している使用用語一覧410とに基づいて用語の候補リストを生成する。候補リスト生成部420は、生成した候補リストをデータ中継部83経由で候補表示処理部6に出力する。
このように、プログラム作成支援装置100cに接続されたPLC400cが候補リスト生成部420を備え、PLC400cで用語の候補リストを生成する構成としてもよい。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
1 入力操作受付部、2 文字列解析部、3 外部データ解析部、4 使用用語一覧更新部、5,420 候補リスト生成部、6 候補表示処理部、7 表示部、8,8c インタフェース部、9 データ変換部、11 入力受付部、12 文字列入力完了判断部、41 用語一覧生成部、42 使用頻度評価部、81 データ書込部、82 データ読出部、83 データ中継部、100,100a,100b,100c プログラム作成支援装置、110 演算装置、120 記憶装置、130 表示装置、140 入力装置、150 通信装置、200,410 使用用語一覧、210,310 プロジェクトデータ、300 外部データ、320 辞書データ、400,400c PLC。

Claims (8)

  1. プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援装置であって、
    前記プロジェクトデータを作成するための文字列の入力を受け付ける入力受付部と、
    前記入力受付部が入力を受け付けた文字列を解析して前記文字列に含まれる用語を抽出する文字列解析部と、
    前記プログラム作成支援装置および他のプログラム作成支援装置によって作成済みのプロジェクトデータ、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データを含む外部データを解析して前記外部データに含まれる用語を抽出する外部データ解析部と、
    前記文字列解析部および前記外部データ解析部が抽出した用語である使用用語に基づいて、前記使用用語それぞれの使用回数を算出する使用頻度評価部と、
    前記入力受付部が文字の入力を受け付けるごとに、入力を受け付け済みかつ文字列として確定する前の1つ以上の文字と、前記使用頻度評価部が算出した使用回数とに基づいて、前記入力受付部が入力を受け付ける用語の候補を表示部に表示させる候補表示処理部と、
    を備えることを特徴とするプログラム作成支援装置。
  2. 前記使用用語が当該使用用語の使用回数と対応付けられた状態で登録された一覧表である使用用語一覧を生成する用語一覧生成部、
    を備えることを特徴とする請求項1に記載のプログラム作成支援装置。
  3. 前記使用用語一覧をプログラマブルロジックコントローラに書き込む書込み処理と、前記使用用語一覧をプログラマブルロジックコントローラから読み出す読出し処理とを行うインタフェース部、
    を備えることを特徴とする請求項2に記載のプログラム作成支援装置。
  4. 前記用語一覧生成部が生成した前記使用用語一覧に対して圧縮処理または暗号化処理を実行し、前記使用用語一覧のデータ形式を第1の形式から第2の形式に変換して前記インタフェース部に受け渡し、前記インタフェース部が前記プログラマブルロジックコントローラから読み出した前記使用用語一覧のデータ形式を前記第2の形式から前記第1の形式に変換するデータ変換部、
    を備えることを特徴とする請求項3に記載のプログラム作成支援装置。
  5. 前記インタフェース部は、前記使用用語一覧および前記入力受付部が入力を受け付けた文字を前記プログラマブルロジックコントローラに出力し、前記入力受付部が入力を受け付ける用語の候補リストを前記プログラマブルロジックコントローラに作成させ、
    前記候補表示処理部は、前記プログラマブルロジックコントローラが生成した前記候補リストを前記表示部に表示させる、
    ことを特徴とする請求項3に記載のプログラム作成支援装置。
  6. 前記使用用語一覧および前記入力受付部が入力を受け付けた文字に基づいて、前記入力受付部が入力を受け付ける用語の候補リストを生成する候補リスト生成部、
    を備え、
    前記候補表示処理部は、前記候補リスト生成部が生成した前記候補リストを前記表示部に表示させる、
    ことを特徴とする請求項2から4のいずれか一つに記載のプログラム作成支援装置。
  7. プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援装置が実行するプログラム作成支援方法であって、
    前記プロジェクトデータを作成するための文字列の入力を受け付ける入力受付ステップと、
    前記入力受付ステップで入力を受け付けた文字列を解析して前記文字列に含まれる用語を抽出する文字列解析ステップと、
    前記プログラム作成支援装置および他のプログラム作成支援装置によって作成済みのプロジェクトデータ、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データを含む外部データを解析して前記外部データに含まれる用語を抽出する外部データ解析ステップと、
    前記文字列解析ステップおよび前記外部データ解析ステップで抽出した用語である使用用語に基づいて、前記使用用語それぞれの使用回数を算出する使用頻度評価ステップと、
    前記入力受付ステップで文字の入力を受け付けるごとに、入力を受け付け済みかつ文字列として確定する前の1つ以上の文字と、前記使用頻度評価ステップで算出した使用回数とに基づいて、前記入力受付ステップで入力を受け付ける用語の候補を表示部に表示させる候補表示ステップと、
    を含むことを特徴とするプログラム作成支援方法。
  8. プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援装置を実現するプログラム作成支援プログラムであって、
    前記プロジェクトデータを作成するための文字列の入力を受け付ける入力受付ステップと、
    前記入力受付ステップで入力を受け付けた文字列を解析して前記文字列に含まれる用語を抽出する文字列解析ステップと、
    前記プログラム作成支援装置および他のプログラム作成支援装置によって作成済みのプロジェクトデータ、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データを含む外部データを解析して前記外部データに含まれる用語を抽出する外部データ解析ステップと、
    前記文字列解析ステップおよび前記外部データ解析ステップで抽出した用語である使用用語に基づいて、前記使用用語それぞれの使用回数を算出する使用頻度評価ステップと、
    前記入力受付ステップで文字の入力を受け付けるごとに、入力を受け付け済みかつ文字列として確定する前の1つ以上の文字と、前記使用頻度評価ステップで算出した使用回数とに基づいて、前記入力受付ステップで入力を受け付ける用語の候補を表示部に表示させる候補表示ステップと、
    を含むことを特徴とするプログラム作成支援プログラム。
JP2020535153A 2020-02-04 2020-02-04 プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム Active JP6837608B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/004143 WO2021156940A1 (ja) 2020-02-04 2020-02-04 プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム

Publications (2)

Publication Number Publication Date
JP6837608B1 true JP6837608B1 (ja) 2021-03-03
JPWO2021156940A1 JPWO2021156940A1 (ja) 2021-08-12

Family

ID=74673585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020535153A Active JP6837608B1 (ja) 2020-02-04 2020-02-04 プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム

Country Status (3)

Country Link
JP (1) JP6837608B1 (ja)
CN (1) CN115039042A (ja)
WO (1) WO2021156940A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005032111A (ja) * 2003-07-09 2005-02-03 Sharp Corp 文字列処理装置、文字列処理方法、プログラム及び記録媒体
JP2010165040A (ja) * 2009-01-13 2010-07-29 Toshiba Corp 語分割装置および方法
JP2011028562A (ja) * 2009-07-27 2011-02-10 Keyence Corp プログラム作成支援装置、プログラム作成支援方法及びコンピュータプログラム
JP2011028552A (ja) * 2009-07-27 2011-02-10 Keyence Corp プログラム作成支援装置、プログラム作成支援方法及びコンピュータプログラム
JP2013065158A (ja) * 2011-09-16 2013-04-11 Yahoo Japan Corp 端末装置、方法及びプログラム
WO2014080490A1 (ja) * 2012-11-22 2014-05-30 三菱電機株式会社 プログラム作成支援装置、方法および記録媒体
JP6509468B1 (ja) * 2018-04-27 2019-05-08 三菱電機株式会社 プログラマブル表示システム及びプログラマブル表示器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5496947B2 (ja) * 2011-05-27 2014-05-21 株式会社Nttドコモ 機能提示システム、端末装置及びプログラム
JP2014026514A (ja) * 2012-07-27 2014-02-06 Fujitsu Ltd 文字入力支援プログラム、文字入力支援方法および文字入力支援装置
WO2014132427A1 (ja) * 2013-02-28 2014-09-04 発紘電機株式会社 作画エディタ装置、プログラム
CN108027823B (zh) * 2015-07-13 2022-07-12 帝人株式会社 信息处理装置、信息处理方法以及计算机可读取的存储介质
JP6422614B1 (ja) * 2018-08-09 2018-11-14 株式会社三菱電機ビジネスシステム 文章入力支援システム、文章入力支援方法、及び文章入力支援プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005032111A (ja) * 2003-07-09 2005-02-03 Sharp Corp 文字列処理装置、文字列処理方法、プログラム及び記録媒体
JP2010165040A (ja) * 2009-01-13 2010-07-29 Toshiba Corp 語分割装置および方法
JP2011028562A (ja) * 2009-07-27 2011-02-10 Keyence Corp プログラム作成支援装置、プログラム作成支援方法及びコンピュータプログラム
JP2011028552A (ja) * 2009-07-27 2011-02-10 Keyence Corp プログラム作成支援装置、プログラム作成支援方法及びコンピュータプログラム
JP2013065158A (ja) * 2011-09-16 2013-04-11 Yahoo Japan Corp 端末装置、方法及びプログラム
WO2014080490A1 (ja) * 2012-11-22 2014-05-30 三菱電機株式会社 プログラム作成支援装置、方法および記録媒体
JP6509468B1 (ja) * 2018-04-27 2019-05-08 三菱電機株式会社 プログラマブル表示システム及びプログラマブル表示器

Also Published As

Publication number Publication date
JPWO2021156940A1 (ja) 2021-08-12
WO2021156940A1 (ja) 2021-08-12
CN115039042A (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
EP2657850A2 (en) Mathematical expression input apparatus, mathematical expression modification method, and storage medium storing program
JP5726387B2 (ja) システム構築支援装置
JP5454783B2 (ja) Plcのプログラミングにおける変数名の入力支援方法、plcのプログラミングにおける変数名の入力支援装置、及びコンピュータプログラム
JP2007011605A (ja) ソフトウェア動作仕様のモデル検査支援装置およびこれを備えたモデル検査システム並びにモデル検査支援プログラム
CN108885444B (zh) 信息管理装置、信息管理方法及信息管理系统
JP6837608B1 (ja) プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム
JP5023038B2 (ja) プログラム生成用プログラム及びプログラム生成装置
JP4777740B2 (ja) テスト支援システム
JP2017084074A (ja) データベース装置、作業者情報検索システム、及び作業者情報検索方法
JP3765299B2 (ja) 情報処理装置
JP2013257624A (ja) データ入力支援装置、方法、およびプログラム
JP2008117029A (ja) 運用作業手順作成時の不正手順チェックアウト方法、障害発生防止のためのコマンド生成方法、および自動実行コマンド生成システム、ならびにそのプログラム
JP5299898B2 (ja) データベース生成装置、データベース生成方法及びコンピュータプログラム
JP6902513B2 (ja) ソースコード生成支援装置およびソースコード生成支援方法
US11921496B2 (en) Information processing apparatus, information processing method and computer readable medium
JP2014186678A (ja) 部品生成システムおよび方法ならびにプログラム
JP5304191B2 (ja) 分数表示装置
JP3824468B2 (ja) データ管理システム
JP4576872B2 (ja) 情報処理装置およびプログラム
JP6407481B1 (ja) プログラム作成装置
JP5581894B2 (ja) データ処理プログラム自動生成システム
JP2008134847A (ja) 自然文作成装置、その制御方法及びコンピュータプログラム
JP2019139577A (ja) データ検索方法、データ検索装置及びプログラム
JP2017220193A (ja) 宿泊施設評価支援システムおよび宿泊施設評価支援方法
JP2014081715A (ja) プログラム作成支援装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200623

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200623

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210209

R150 Certificate of patent or registration of utility model

Ref document number: 6837608

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250