(58)【調査した分野】(Int.Cl.,DB名)
前記第1表示制御部は、前記親グループの直下に属するグループであって、前記検索グループ名に対応するグループ以外のグループである兄弟グループの名称を、前記検索グループ名と共に表示する
ことを特徴とする請求項1に記載の情報処理装置。
前記第2表示制御部は、前記表示画面に表示された前記兄弟グループの名称を選択する指示を受け付けたとき、選択された兄弟グループの名称に対応するグループに含まれるデータを編集するための表示画面を表示する
ことを特徴とする請求項2に記載の情報処理装置。
請求項1に記載の情報処理装置としてコンピュータを機能させるための情報処理プログラムであって、前記検索部、前記第1表示制御部、および前記第2表示制御部としてコンピュータを機能させるための情報処理プログラム。
【発明を実施するための形態】
【0022】
〔実施形態1〕
以下、本発明の実施形態1について、
図1から
図8に基づいて詳細に説明する。本発明の実施の一形態に係るサポート装置100(情報処理装置)の理解を容易にするため、以下にまず、制御システム1の概要について整理しておく。
【0023】
(制御システムの概要)
まず、本実施形態に係る制御システム1の概要を
図2に基づいて説明する。
図2は、制御システム1の概要を示す図である。
【0024】
制御システム1は、複数のPLC2(PLC2a、PLC2b、PLC2c、PLC2d)と、サポート装置100と、を含む。PLC2a、PLC2b、PLC2c、PLC2d、およびサポート装置100は、EtherCAT(登録商標)を介して相互に通信可能に接続されている。なお、以下の説明において、PLC2について、PLC2が複数あり、それぞれのPLC2を区別する必要がある場合には、符号に「a」、「b」、「c」、「d」等の添え字を付して、例えば、PLC2a、PLC2b、PLC2c、PLC2dと記載して区別する。逆に、PLC2a、PLC2b、PLC2c、PLC2dを特に区別する必要がない場合は単に「PLC2」と称する。同様に、後述するCPUユニット21、システムバス22、電源ユニット23、IO(Input/Output)ユニット24および25、モニタ装置3、検出センサ5、リレー6等についても、それぞれを区別する必要がある場合は、符号に「a」、「b」、「c」、「d」等の添え字を付し、それぞれを区別する必要が特にない場合は、該添え字を省略する。
【0025】
各PLC2は、典型的には、CPUユニット21と、電源ユニット23と、IOユニット24およびIOユニット25を含む。CPUユニット21はプログラムを実行する。電源ユニット23は、CPUユニット21などへ電力を供給する。IOユニット24およびIOユニット25は、フィールドからの信号を遣り取りする。例えば、IOユニット24は、フィールド機器である検出センサ5から入力信号を取得し、また、IOユニット25は、CPUユニット21でのプログラムの実行結果に応じてフィールド機器であるリレー6を駆動する。IOユニット24およびIOユニット25は、CPUユニット21とシステムバス22を介して接続されている。
【0026】
各モニタ装置3は、表示部と、操作部と、それぞれCPUユニット21a〜21dと通信する通信部と、各部を制御する制御部と、を備える。各モニタ装置3の操作部による操作に応じて、PLC2は各種の設定の変更が可能である。また、各モニタ装置3の表示部は、それぞれ対応するPLC2の所定の情報を表示する。
【0027】
サポート装置100は、PLC2で実行されるプログラムおよび設定情報を生成する。また、サポート装置100は、PLC2の運転状態、および各種データの値などを監視する。さらに、サポート装置100は、ユーザによる実行可能プログラムの生成を支援するため、デバック機能およびシミュレーション機能を有していてもよい。サポート装置100は、例えば、接続ケーブル4によって、PLC2のCPUユニット21に接続される。なお、サポート装置100は、例えば、DVD−ROM9に格納されたプログラム(実行処理プログラム)を実行するパーソナルコンピュータによって、前記の機能を実現する。また、サポート装置100は、DVD−ROM9に格納されたプログラムと同様のプログラムを上位のホストコンピュータなどからネットワークを通じてダウンロードして該プログラムを実行するパーソナルコンピュータによって、前記の機能を実現するように構成してもよい。
【0028】
次に、PLC2で実行されるプログラムおよび設定情報など、サポート装置100が管理するデータについて、すなわち、PLC2で利用されるデータについて、概要を説明する。なお、以下では、前記プログラムおよび設定情報の構築に必要なデータ群を「プロジェクト」と総称する。
【0029】
(サポート装置を用いてユーザに編集されるデータの概要)
サポート装置100は、制御システム1の構築のためのデバイスの構成の設計に必要なデータ、および制御システム1の構築のためのプログラム構成の設計に必要なデータを、グループに分類し、グループ名(設計項目名)を付して、階層構造的に管理している。
【0030】
例えば、PLC2で実行されるプログラムについて、サポート装置100は、全体の流れを示すメインプログラムに対し、各工程単位で実行する処理ステップ(セクション)をサブプログラムとし、該サブプログラムをメインプログラムに対して階層的に関係づけて管理している。サポート装置100は、セクション(サブプログラム)に設計項目名(セクション名)を付すとともに、該設計項目名の付された各サブプログラムの接続関係を示すディレクトリを作成することにより、階層構造を管理している。
【0031】
ここで、PLC2は、例えば、IEC(International Electrotechnical Commission)61131−3に準拠している。IEC61131−3において、変数(信号名)は、属性として、変数の型およびアドレスが定義され得る。IEC61131−3においてプログラミングは、基本的に、変数を用いて行われる。IEC61131−3における「変数」とは、データを格納する対象(メモリ)に付ける名前である。なお、IEC61131−3における「変数」について、外部入出力などの絶対アドレスが必要なものに対してのみアドレスが指定される。外部入出力以外の絶対アドレスが必要でないものに対しては自動的にアドレスが割り付けられる。
【0032】
ここで、「変数」には、グローバル変数と、ローカル変数とが含まれる。「グローバル変数」とは、複数のプログラムから参照される変数である。「ローカル変数」とは、1つのプログラムから参照される変数である。
【0033】
プログラムは、ユーザプログラム、モーション演算プログラム、およびシーケンス命令演算プログラムの総称である。「ユーザプログラム」は、ユーザの制御対象(例えば、対象のラインおよびプロセス)に応じて作成される。サポート装置100は、ラダーロジック(ラダー言語)などによって記述されたラダープログラム(ソースプログラム)をコンパイルすることにより、ユーザプログラムを生成する。ラダーロジックは、論理回路を記述するための手法で、多くのPLCで採用されているプログラム言語である。ユーザプログラムは、例えば、CPUユニット21に含まれるマイクロプロセッサで実行可能なオブジェクトプログラム形式で生成される。「モーション演算プログラム」は、ユーザプログラムによる指示に従って実行され、サーボモータドライバおよびパルスモータドライバなどのモータドライバに対して出力する指令値を実行されるごとに算出するプログラムである。「シーケンス命令演算プログラム」は、ユーザプログラムで使用される所定のシーケンス命令が実行されるときに呼び出され、該命令の内容を実現するために実行されるプログラムである。
【0034】
サポート装置100は、制御システム1の構築のためのプログラム構成の設計に必要なデータを、例えば、セクション(サブプログラム)というグループを最下層のグループとする、階層構造を有する複数のグループに分類して管理する。つまり、サポート装置100は、各「プログラム」を、複数のセクションを含む、該複数のセクションの直上の階層のグループとして管理している。また、サポート装置100は、「プロジェクト」を、複数のプログラムを含む、プログラムの直上の階層のグループとして管理している。すなわち、サポート装置100は、制御システム1の構築のためのプログラム構成の設計に必要なデータを、階層構造を有する複数のグループに分類して管理している。また、サポート装置100は、制御システム1の構築のためのデバイスの構成の設計に必要なデータを、階層構造を有する複数のグループに分類して管理している。ここで、デバイスの構成の設計に必要なデータとは、PLC2によって制御される各種デバイスに関する設計データであり、例えば、デバイスが通信装置である場合の通信条件を示すデータや、デバイスがモータを含む装置の場合の当該モータの回転角度などの動作条件を示すデータなど、様々なデータが考えられる。これらデータの複数のグループによる管理の詳細は後述する。
【0035】
次に、PLC2で実行されるプログラムおよび設定情報など、PLC2で利用されるデータを以上に説明したように階層的に管理しているサポート装置100について、
図1を用いて説明する。
【0036】
(サポート装置の概要)
最初にサポート装置100の概要を説明しておけば、以下の通りである。すなわち、サポート装置100(情報処理装置)は、PLC2(制御装置)で利用されるデータを含んで構成されるプロジェクトを作成するための情報処理装置であって、前記データは、階層的に管理された複数のグループに分類され、入力された入力文字を含む、前記グループの名称である検索グループ名を検索する検索グループ名取得部1121と、検索グループ名取得部1121によって検索された前記検索グループ名と、前記検索グループ名に対応するグループが属する、該グループの1つ上の階層(直上の階層)のグループである親グループの名称とを含む表示画面を表示する第1表示制御部1131と、第1表示制御部1131によって表示された前記検索グループ名の1つを選択する指示を受け付けたとき、選択された検索グループ名に対応するグループに含まれるデータを編集するための表示画面を表示する第2表示制御部1132と、を備えている。なお、以下において、第1表示制御部1131によって表示された前記検索グループ名の1つを選択する指示を受け付けたときに、第2表示制御部1132が表示する表示画面は、編集画像とも呼び、例えば、
図5に例示する編集用画像232である。また、PLC2で利用される「データ」とは、例えば、1つ1つのラダープログラムであり、その場合、「グループ(設計項目)」とは、該ラダープログラムを含むセクション(サブプログラム)を指す。同様に、PLC2で利用される「データ」について、「軸システム変数」という「グループ(設計項目)」には、
図3に示す通り、デバイスの構成の設計に必要なデータである、「Carrier_Axis.Status.Discrete」、「PitAdjust_Axis.Status.Discrete」、「Cm_Di_ロボット_BUSY」等のデータが含まれる。
【0037】
上記の構成によれば、サポート装置100の検索グループ名取得部1121は、PLC2で利用されるデータが分類された、階層的に管理された複数のグループの名称の各々を対象に、検索を行う。そして、サポート装置100の第2表示制御部1132は、検索結果として表示部140に上記親グループの名称と共に表示された検索グループ名の1つを選択する操作を受け付けたとき、該検索グループ名に対応するグループに含まれるデータを編集するための編集用画像232(
図5参照)を表示する。したがって、サポート装置100によってユーザは、PLC2で利用されるデータから目的のデータ(例えば、編集対象のデータ)を容易に探し出すことができる。つまり、ユーザは、簡易な操作で迅速に、目的のデータを編集するための編集画像にアクセスすることができ、サポート装置100によれば、ユーザによるプロジェクトの作成の作業効率を向上させることができる。
【0038】
また、サポート装置100の第1表示制御部1131は、前記検索グループ名を、前記親グループの名称と対応付けて、表示部140に表示する。したがって、ユーザは所望の検索グループ名を容易に検索できるとともに、該検索グループに対応するグループが属する親グループを容易に確認することができる。したがって、ユーザは、例えば編集作業の対象グループのグループ名に類似するグループ名を有する他グループがある場合であっても、該対象グループおよび該他グループのそれぞれの親グループを確認することにより、誤って該他グループを選択してしまうことを避けることができる。
【0039】
(サポート装置の構成の詳細)
図1は、サポート装置100の要部構成を示すブロック図である。サポート装置100は、サポート装置100の機能を統括して制御する制御部110と、操作部120と、サポート装置100が使用する各種データを格納している記憶部130と、表示部140と、通信処理部150と、を備えている。なお、記載の簡潔性を担保するため、本実施形態に直接関係のない構成(例えば、サポート装置100が、PLC2の運転状態などを監視し、また、ユーザによる実行可能プログラムの生成を支援するためのデバック機能およびシミュレーション機能を行うための構成など)は、説明およびブロック図から省略している。ただし、実施の実情に則して、サポート装置100は、当該省略された構成を備えてもよい。
【0040】
操作部120は、サポート装置100のユーザの入力操作を受け付けて制御部110に出力する入力装置である。操作部120は、例えば、キーボード、マウス等であり、操作部120が受け付けた操作は、制御部110(具体的には、操作取得部111)においてユーザからの命令として受け付けられる。表示部140は、制御部110(具体的には、表示制御部113)の制御に従って画像を表示するディスプレイである。通信処理部150は、PLC2等と通信するためのインターフェースである。
【0041】
(制御部の構成)
図示の制御部110には、機能ブロックとして、操作取得部111と、検索部112と、表示制御部113と、が含まれている。制御部110の各機能ブロックは、例えば、CPU(Central Processing Unit)などが、ROM(Read Only Memory)、NVRAM(Non-Volatile Random Access Memory)などで実現された記憶装置(記憶部130)に記憶されているプログラム(情報処理プログラム)を不図示のRAM(Random Access Memory)などに読み出して実行することで実現できる。以下、詳細を説明する。
【0042】
操作取得部111は、操作部120が受け付けたユーザの入力操作に応じた入力信号を受け付け、該入力信号の内容に基づいて、ユーザが行った操作を特定し、該操作に応じた指示を、検索部112および表示制御部113の少なくとも一方に出力する。
【0043】
詳細は後述するが、例えば、操作部120が
図4に例示する検索ウィンドウ300を表示させる操作を受け付けることにより、操作取得部111は、表示制御部113に、検索ウィンドウ300を表示部140に表示させる指示を出力する。
【0044】
また、操作部120が、
図4の検索ウィンドウ300の文字入力領域310に入力検索文字(入力文字)を入力する操作を受け付けることにより、操作取得部111は、検索部112に、該入力文字に適合するグループ名(設計項目名)を検索させる指示を出力する。
【0045】
さらに、操作部120が、検索ウィンドウ300の検索結果リスト320(
図4参照)に表示された検索結果であるグループ名の1つを選択する操作を受け付けることにより、操作取得部111は、第2表示制御部1132に、該グループ名に対応するグループに含まれるデータを編集するための編集用画像232(編集画像;
図5)を表示部140に表示させる指示を出力する。
【0046】
検索部112は、検索グループ名取得部1121と、親グループ名取得部1122とを含む。検索グループ名取得部1121は、記憶部130に格納されているプロジェクトデータ131を参照して、操作取得部111から通知された入力検索文字に適合するグループ名を検索する。すなわち、検索グループ名取得部1121は、前記入力検索文字を含むグループ名である検索グループ名を検索する。
【0047】
ここで、プロジェクトデータ131には、PLC2で利用されるデータを含んで構成される、1つ以上のプロジェクトが格納されている。プロジェクトに含まれるデータは、プロジェクトごとに、階層的に管理された複数のグループに分類されて、プロジェクトデータ131に格納されている。また、プロジェクトに含まれる複数のグループの階層構造、および各グループの名称に係る情報についても、プロジェクトごとに、プロジェクトデータ131に格納されている。
【0048】
検索グループ名取得部1121は、プロジェクトデータ131を参照して、プロジェクトデータ131に格納されている1つ以上のプロジェクトについて、プロジェクトに含まれる複数のグループの階層構造、および各グループの名称に係る情報を取得する。そして、検索グループ名取得部1121は、前記グループの名称の中から、操作取得部111から通知された入力検索文字を含むグループの名称を抽出することにより、該グループの名称を検索グループ名として取得する。
【0049】
親グループ名取得部1122は、検索グループ名取得部1121が取得した前記検索グループ名に対応するグループが属する、該グループの直上の階層のグループである親グループの名称(親グループ名)を、プロジェクトデータ131を参照して、取得する。そして、検索部112は、検索グループ名取得部1121によって取得された前記検索グループ名と、親グループ名取得部1122によって取得された前記親グループ名とを対応付けて、表示制御部113(具体的には、第1表示制御部1131)に通知する。
【0050】
表示制御部113は、表示部140に編集画像等の各種の情報(画像)を表示させる。表示制御部113には、第1表示制御部1131と、第2表示制御部1132とが含まれている。第1表示制御部1131は、検索部112によって検索された検索グループ名を、該検索グループ名に対応するグループが属する、該グループの直上の階層のグループである親グループの名称とともに、表示部140に表示する。第1表示制御部1131は、上記検索グループ名を上記親グループ名のみと対応付けて、表示部140に表示させるのが好ましい。すなわち、第1表示制御部1131は、上記検索グループ名を、上記検索グループ名に対応するグループが属する、該グループの1つ上の階層(直上の階層)のグループである親グループの名称のみと対応付けて、表示部140に表示するのが好ましく、第1表示制御部1131は、上記検索グループ名を、例えば、上記親グループのさらに1つ上の階層のグループである祖父母グループの名称と対応付けて表示しない方が望ましい。ユーザにとって、上記検索グループ名に対応するグループの接続先を確認するには、該グループの親グループの名称を確認できれば十分であり、また、親グループの名称の加えてさらに祖父グループの名称まで表示されていると、ユーザにとって煩雑な感が強くなり、上記検索グループ名に対応するグループの接続先を確認するのがかえって困難になる場合も生じ得るからである。
【0051】
第2表示制御部1132は、第1表示制御部1131によって表示部140に表示された検索グループ名の1つを選択する操作があると、該検索グループ名に対応するグループに含まれるデータを編集するための編集画像(例えば、
図5に例示する編集用画像232)を表示部140に表示する。
【0052】
(記憶部に格納されているデータ)
記憶部130は、サポート装置100が実行する(1)制御プログラム、(2)OSプログラム、(3)各種機能を実行するためのアプリケーションプログラム(情報処理プログラム)、および(4)該アプリケーションプログラムを実行するときに読み出す各種データを格納している。前記の(1)〜(4)のデータは、例えば、ROM(read only memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)、HDD(Hard Disc Drive)等の不揮発性記憶装置に記憶される。また、記憶部130は、プロジェクトデータ131を格納している。
【0053】
プロジェクトデータ131には、PLC2で利用される1つ以上のプロジェクトが、以下の情報を含んで格納されている。すなわち、プロジェクトごとに、該プロジェクトに含まれるデータ、該データが分類されるグループおよびの該グループの名称(例えば、「セクション0」という名称のグループに、どのような内容のラダープログラムが含まれるか、など)、グループの階層構造(例えば、「プロジェクト」の直下の階層にプログラムの階層があり、「プログラム」の直下の階層に「セクション」の階層がある、など)の情報が、プロジェクトデータ131に格納されている。なお、「直下の階層」とは、「1つ下の階層」を指す。
【0054】
次に、ユーザがサポート装置100を用いてPLC2a〜2dで利用されるデータを含んで構成されるプロジェクトを作成する際に、サポート装置100の表示部140に表示されるメインウィンドウ200について説明する。ここで、プロジェクトは、データを複数のPLC2a〜2dの各々に対して含んでいる。表示制御部113は、複数のPLC2a〜2dのうちから1つを選択する入力と、データの1つを選択するための入力とが受け付けられた場合、選択された1つのPLC2に関する、選択された1つのデータを編集するための編集画像を表示部140に表示させる。
【0055】
(メインウィンドウについて)
図3は、サポート装置100の表示制御部113が表示部140に表示するメインウィンドウ200の一例を説明するための図であり、特に、PLC2で利用されるデータを含んで構成されるプロジェクトをユーザがサポート装置100において作成している際に、サポート装置100の表示部140に表示されるユーザインターフェースの一例を説明する図である。
図3に示すように、メインウィンドウ200は、ツールバー210の紙面下方に、編集対象とするデータをユーザが選択するためのナビゲーション領域220、およびプログラム等を編集するためのエディット領域230等を含んで構成される。
【0056】
ナビゲーション領域220は、複数のPLC2のうちから1つのPLC2を選択するためのPLC選択領域221と、デバイスの構成およびセットアップ(
図3における“Configuration and Setup”)に関連するデータ、および、プログラミング(
図3における“Programming”)に関連するデータ、の各々を指定するための複数の設計項目(EtherCAT,CPU/Expansion Racks,…)がツリー状に表示される設計項目メニュー領域222(以下、「メニュー領域222」と略記する)とを有している。
【0057】
メニュー領域222には、PLC選択領域221で選択されたPLC2で利用されるデータを含むグループの相互関係が、グループ名を用いてツリー状に表示されている。メニュー領域222の表示は、制御部110がプロジェクトデータ131を参照することにより実行される。
【0058】
具体的には、メニュー領域222の“Configuration and Setup”の欄には、所望の制御システム1の構築のためのデバイスの構成の設計に必要な設計項目名(グループ名)が、階層構造的に(図ではツリー状に)配列されて表示されている。また、メニュー領域222の“Programming”の欄には、所望の制御システム1の構築のためのプログラム構成の設計に必要な設計項目名(グループ名)が、階層構造的に(図ではツリー状に)配列されて表示されている。なお、以下では、最上位の階層を、第1階層とし、第1階層から階層が下がるに連れて、順に、第2階層、第3階層、・・・とする。
【0059】
たとえば、メニュー領域222の“Programming”の欄において、グループ名(設計項目名)“POUs”を第1階層のグループ名であるとすると、第2階層のグループ名は“Programs”である。グループ名が“Programs”であるグループ(設計項目)には、第3階層のグループとして、グループ名が“System Definition”、“Input”、“ErrWatch”、・・・等のグループが属する。そして、グループ名が“System Definition”である第3階層のグループには、グループ名が“SystemDef”である、第4階層のグループが属している。同様に、グループ名が“Input”である第3階層のグループには、グループ名が“ハードスイッチ入力受付”、“NS_設定値入力”、“軸システム変数入力”、・・・等の第4階層のグループが属している。本実施形態では、第4階層が「セクション」の階層(最下層)に対応している。なお、以下では、階層の区切りを記号“\”を用いて示すことにより、1つのグループ名を特定することとする。
【0060】
PLC選択領域221においてPLC2を表す“NJ501_1”が選択されると、サポート装置100の表示制御部113は、メニュー領域222に、“NJ501_1”で利用されるデータを含むグループの名称を、階層的に表示する。そして、メニュー領域222に表示された複数のグループ名の中から“POUs\Programs\Input”のグループに含まれる設計項目名2221(“軸システム変数入力”)がユーザによって選択されると、サポート装置100の表示制御部113は、エディット領域230に、“軸システム変数入力”というグループ名(設計項目名)のグループに含まれるデータを編集するための編集用画像231を表示する。編集用画像231は、「軸システム変数入力」に対応付けられたラダープログラム(PLC2で利用されるデータ)を編集するための画像である。当該ラダープログラムは、予めユーザによって作成されたものである。
【0061】
ここで、サポート装置100の表示制御部113は、編集画像(例えば、編集用画像231)を、エディット領域230に、タブ形式で表示する。例えば、編集用画像231のタブは、“軸システム変数入力”というグループ名のグループに含まれるデータを編集するための画像である。各タブ(各編集画像)には、タブ名として、各編集画像において編集可能なデータを含むグループの名称(グループ名)が表示される。なお、
図3の状態は、ユーザが、編集用画像231の初期表示状態(ラング番号1から順に、ラング番号2、ラング番号3、・・・のデータが表示されている状態)から、編集用画像231を下方向にスクロールさせた後の表示状態を表している。
【0062】
ユーザは、編集用画像231において、ラダープログラムに含まれる編集可能なデータから1つのデータを操作キー、マウス等の操作により選択することができる。
図3には、ユーザが、ラング番号9の命令識別情報2311(“X1_Axis.Details.InHome”)を選択した状態が示されている。なお、「命令識別情報」とは、ラングにおける入力命令または出力命令を識別するための情報である。
【0063】
以上に説明したように、サポート装置100の表示制御部113は、プログラム構成の設計に必要な、サブプログラム(セクション)などの複数のグループ(設計項目)の相互関係について、グループの名称(例えば、セクション名などの設計項目名)を用いてツリー状に表示する。なお、サポート装置100の表示制御部113は、プログラム構成の設計に必要な設計項目名だけでなく、制御システム1の構築のためのデバイスの構成の設計に必要な設計項目名(グループ名)についても、同様に、階層構造的に表示する。
【0064】
例えば、
図3に例示するメニュー領域222の“Configuration and Setup”というグループ名(設計項目名)のグループには、その直下の階層に、“EtherCAT”、“CPU/Expansion Racks”、“I/O Map”、“Controller Setup”、“Motion Control Setup”、“Cam Data Settings”、・・・といったグループ名のグループが、属している。
【0065】
例えば、“EtherCAT”の編集画像において、ユーザは、EtherCATにおける、マスタとスレーブとを設定するとともに、マスタの設定内容およびスレーブの設定内容を編集することができる。“CPU/Expansion Racks”の編集画像において、ユーザは、CPU・増設ラックに装着するユニット構成を作成し、またそこから高機能ユニットの設定をすることができる。“I/O Map”の編集画像においては、ユニットのI/OポートのRead/Write属性およびデータ型が表示され、ユーザは、ポートに変数を割り付けることができる。“Controller Setup”の編集画像において、ユーザは、コントローラの動作に関する設定をすることができる。“Controller Setup”のグループの直下には、「電源投入時モード」などのPLC機能モジュールの動作、ルーチングテーブル、およびコントローラ異常の重要度変更に関する設定に係る“動作設定”のグループと、コントローラに内蔵されているEtherNet(登録商標)/IPポートを使用した通信のための設定に係る“内蔵EtherNet/IPポート設定”のグループとがある。“Motion Control Setup”の編集画像において、ユーザは、モーション命令で利用する軸を登録し、軸が利用するサーボドライブ、エンコーダを軸に関連付け、軸のパラメータを設定することができる。“Cam Data Settings”の編集画像において、ユーザは、電子カムのデータを生成するための設定を行うことができる。また、図には示されていないが、“タスク設定”の編集画像において、ユーザは、プログラムの実行単位であるタスクを設定することができ、具体的には、タスクの実行周期および実行タイミング、タスクで実行するプログラム、タスクで実行するI/Oリフレッシュ、タスク間で共有する変数を定義することができる。
【0066】
そして、例えば、“Cam Data Settings”というグループ名のグループには、その直下の階層に、“V_Y”、“V_Z”、“EOU_Y”、・・・といったグループ名のグループが、属している。また、図には示されていないが、“EtherCAT” というグループ名のグループには、その直下の階層に、EtherCATにおいて設定されるマスタとスレーブとを含むグループが、属している。
【0067】
図3を用いて以上に説明したように、サポート装置100の表示制御部113は、PLC2で利用されるデータを、階層的に管理された複数のグループ(設計項目)に分類し、該グループの相互関係を、グループの名称(設計項目名)を用いてツリー状に表示する。なお、既に説明した通り、サポート装置100は、PLC2で利用されるデータについて、メインウィンドウ200に表示する際に採用しているのと同様の管理方法(構造的な管理方法)を用いて、記憶部130のプロジェクトデータ131に格納している。
【0068】
そして、以上に説明したメインウィンドウ200が表示部140に表示された状態において、グループ名(設計項目名)の検索機能を呼び出す操作(例えば、「Ctrl+Shift+Sキー」の押下)を検出すると、サポート装置100の検索部112は、表示部140に検索ウィンドウ300を表示する。
【0069】
(検索ウィンドウについて)
図4は、サポート装置100の表示制御部113が表示部140に表示する検索ウィンドウ300について、入力検索文字(入力文字)を「se」として検索した場合の検索結果の一例を説明するための図である。
図4に示すように、検索ウィンドウ300は、ユーザが入力検索文字を入力するための文字入力領域310と、文字入力領域310に入力された入力検索文字に基づく検索結果が表示される検索結果リスト320と、を含む。検索結果リスト320は、前記入力検索文字に基づいて検索部112によって検索されたグループ名である検索グループ名が表示される検索グループ名表示領域321と、該検索グループ名に対応するグループが属する、該グループの直上の階層のグループである親グループの名称が表示される親グループ名表示領域322と、を含む。
図4に示すように、入力検索文字に基づいて検索された検索グループ名に、該検索グループ名に対応するグループが属する親グループの名称(親グループ名)が、対応付けて表示される。
図4の検索ウィンドウ300の検索結果リスト320には、文字入力領域310に入力された「se」という入力検索文字に基づく検索結果として、「Section0−プログラム0」、「Section1−プログラム0」、「Section2−プログラム0」、・・・、および「SectionX−プログラム1」が表示されている。すなわち、「プログラム0」を親グループとする「Section0〜Section9」と、「プログラム1」を親グループとする「SectionX」とが、表示制御部113によって、検索結果リスト320に表示されている。
【0070】
(検索ウィンドウの概要)
ここで先ず、サポート装置100の表示制御部113が提供する検索ウィンドウ300について、理解を容易にするため、ユーザによる検索ウィンドウ300の利用方法の概要を説明しておく。
【0071】
ユーザが、検索ウィンドウ300の文字入力領域310に、エディット領域230に表示させたいグループのグループ名の一部を入力すると、検索部112により検索処理が実行され、サポート装置100の第1表示制御部1131は、文字入力領域310に入力された文字列(入力検索文字)を含む、メインウィンドウ200内の表示項目(例えば、メニュー領域222に表示されるグループ名)を、検索結果リスト320に表示する。検索結果リスト320には、検索結果(検索グループ名)が、メインウィンドウ200(特に、メニュー領域222)における表示順に、上から順に表示される。検索結果リスト320には、検索結果(検索グループ名)と共に、該検索グループ名に対応するグループが属する、該グループの直上の階層のグループである親グループの名称が表示される。
【0072】
検索結果リスト320に表示された検索結果(検索グループ名)の1つを選択する操作(例えば、該検索結果をダブルクリックする操作、または、該検索結果を選択してEnterキーを押下する操作)を受け付けると、サポート装置100の第2表示制御部1132は、検索結果(検索グループ名)に対応するグループ(設計項目)を編集するための編集画像(例えば、編集用画像232)をエディット領域230に表示する。
【0073】
したがって、サポート装置100により、ユーザは、メニュー領域222に表示されるグループ名(設計項目名)の中から、エディット領域230に表示させたいデータを含むグループの名称を検索することができる。例えば、メニュー領域222に表示されるプログラムおよびセクションの数が多い時に、目的のプログラムおよびセクションをすばやく表示させることができる。
【0074】
次に、具体例を用いてユーザがグループ名を検索する際のサポート装置100の処理について説明する。以下では特に、ユーザが「セクション名」を検索する場合を例に説明するが、例えば「カム定義」等を検索する場合も同様である。
【0075】
(検索方法について)
例えば、文字入力領域310に入力検索文字として「test」が入力されると、サポート装置100の第1表示制御部1131は、「TestProgram」(『Test』Program;なお、『』は入力検索文字に対応する文字を示す。)および「LadderTest」(Ladder『Test』)などの「test」を含むグループ名(例えば、セクション名)を、検索結果として、検索結果リスト320の検索グループ名表示領域321に表示する。また、例えば、入力検索文字として「te2」が入力されると、第1表示制御部1131は、「TestProgram2」(『Te』stProgram『2』)および「LadderTest2」(Ladder『Te』st『2』)などのグループ名を、検索グループ名表示領域321に表示する。
【0076】
サポート装置100による検索方法について詳細を説明すれば以下の通りである。すなわち、検索部112(具体的には、検索グループ名取得部1121)は、プロジェクトデータ131を参照して、プロジェクトデータ131に格納されている1つ以上のプロジェクトについて、プロジェクトに含まれるグループの名称の中から、入力検索文字を含むグループの名称を抽出する。具体的には、検索部112は、前記プロジェクトに含まれるグループの名称であって、該名称の最初の文字が前記入力検索文字に一致する名称、該名称に含まれる大文字英字が前記入力検索文字に一致する名称、該名称に含まれる全角文字が前記入力検索文字に一致する名称、および、該名称に含まれる数字が前記入力検索文字に一致する名称を、検索グループ名として抽出する。入力検索文字が複数の文字である場合、検索部112は、各入力検索文字について先頭から順に前記の検索方法を実行し、抽出するグループ名を絞り込む。
【0077】
前記検索方法を実行することにより、文字入力領域310に入力検索文字として、例えば、「I」(『I』nitialSetting0)、「InS」(『In』itial『S』etting0)、「0」(InitialSetting『0』)、「IS0」(『I』nitial『S』etting『0』)が入力されると、サポート装置100の第1表示制御部1131は、「InitialSetting0」というグループ名(設計項目名)を、検索グループ名表示領域321に表示する。
【0078】
前記検索方法を採用することによって、サポート装置100の検索部112(具体的には、検索グループ名取得部1121)は、グループ名に様々な言語が用いられている場合であっても、該グループ名に対して、入力検索文字に基づく曖昧検索を、例えば数字などを用いて、実行することができる。したがって、サポート装置100により、PLC2で利用されるプロジェクトを、相互に言語の異なる国の間で管理運用する場合にも、前記グループ名を翻訳せずにプロジェクトを継続することができる。
【0079】
なお、検索した対象の説明をツールチップで表示してもよい。
【0080】
(検索結果の利用について)
図5は、
図4に例示した検索ウィンドウ300の検索結果リスト320(検索グループ名表示領域321−親グループ名表示領域322)においてユーザにより「Section0−プログラム0」が選択された場合に、サポート装置100の表示制御部113が表示部140に表示するメインウィンドウ200の一例を説明するための図である。
【0081】
図4に例示した検索ウィンドウ300の検索結果リスト320には、「Section0−プログラム0」、「Section1−プログラム0」、「Section2−プログラム0」、・・・が表示されている。ここで、「Section0−プログラム0」を選択する操作があると、第2表示制御部1132は、
図5に示すように、「プログラム0」のプログラムに属する「Section0」のグループ(セクション)に含まれるデータを編集するための編集用画像232を表示部140に表示する。
【0082】
図5に示すメインウィンドウ200のエディット領域230には、タブ名称232Nameが「Section0−プログラム0」である、「プログラム0」のプログラムに属する、「Section0」のグループに含まれるデータを編集するための編集用画像232が表示されている。
【0083】
図5に示すメインウィンドウ200が表示部140に表示された状態において、グループ名(項目名)の検索機能を呼び出す操作をさらに検出すると、サポート装置100の表示制御部113は、表示部140に再度、検索ウィンドウ300を表示する。
【0084】
図6は、サポート装置100の表示制御部113が表示部140に表示する検索ウィンドウ300について、入力検索文字を「軸変」として検索した場合の検索結果の一例を説明するための図である。
【0085】
図6に例示した検索ウィンドウ300の検索結果リスト320には、文字入力領域310に入力された「軸変」という入力検索文字に基づく検索結果として、「軸システム変数入力−Input」が表示されている。
図6の検索結果リスト320に示されているように、「軸システム変数入力」というグループ名のグループは、その直上の階層にある、「Input」というグループ名のグループに属する。そして、「軸システム変数入力−Input」を選択する操作があると、第2表示制御部1132は、
図7に示すように、「軸システム変数入力」のグループに含まれるデータを編集するための編集用画像232を表示部140に表示する。
【0086】
なお、
図6は、プログラム構成の設計に必要な設計項目名(グループ名)が検索される一例を示しているが、サポート装置100の検索部112が検索することのできるグループ名(項目名)は、プログラム構成の設計に必要な設計項目名に限られるものではない。他の例として、デバイスの構成の設計に必要な設計項目(グループ名)が検索される場合について説明する。例えば、
図3に例示する検索ウィンドウ300において、文字入力領域310に文字列「EOU」が入力されると、第1表示制御部1131は、検索結果として、検索グループ名表示領域321に、「EOU_Y」、「EOU_Z」を表示する。また、このとき、第1表示制御部1131は、親グループ名表示領域322に、「Cam Data Settings」を表示する。すなわち、第1表示制御部1131は、検索グループ名である「EOU_Y」および「EOU_Z」というグループ名を、「EOU_Y」および「EOU_Z」というグループ名のグループが属する、該グループの直上の階層にある、「Cam Data Settings」というグループ名(親グループ名)と対応付けて、表示する。
【0087】
図7は、
図6に例示した検索ウィンドウ300においてユーザにより「軸システム変数入力−Input」が選択された場合に、サポート装置100の表示制御部113が表示部140に表示するメインウィンドウ200の一例を説明するための図である。
図7に示すメインウィンドウ200のエディット領域230には、タブ名称231Nameが「軸システム変数入力−Input」である、「軸システム変数入力」のグループに含まれるデータを編集するための編集用画像231が表示されている。
【0088】
(サポート装置が実行する処理について)
以上に説明したサポート装置100について、サポート装置100が実行する処理の概要を整理しておく。
図8は、サポート装置100が実行する処理の流れを示すフローチャートである。
【0089】
図8に示すように、サポート装置100の検索グループ名取得部1121は、検索ウィンドウ300の文字入力領域310に入力検索文字(入力文字)が入力されると、先ず、プロジェクトデータ131を参照して、該入力検索文字を含むグループ名(検索グループ名)を検索(取得)する。次に、親グループ名取得部1122は、前記検索グループ名に対応するグループが属する、親グループの名称(親グループ名)を取得する(S20)。そして、第1表示制御部1131は、検索ウィンドウ300の検索結果リスト320に、前記検索グループ名と、前記親グループ名とを対応付けて表示する(S30)。第2表示制御部1132は、検索ウィンドウ300の検索結果リスト320に表示した前記検索グループ名の1つを選択する操作を受け付けることにより、選択された検索グループ名に対応するグループに含まれるデータを編集するための編集画像(例えば、編集用画像231および232)を表示部140に表示する(S40)。
【0090】
以上を整理すれば、サポート装置100が実行する情報処理方法は、PLC2(制御装置)で利用されるデータを含んで構成されるプロジェクトを作成するための情報処理装置の情報処理方法であって、前記データは、階層的に管理された複数のグループに分類され、入力された入力文字(入力検索文字)を含む、前記グループの名称である検索グループ名を検索する検索ステップ(S10)と、前記検索ステップにて検索した前記検索グループ名と、前記検索グループ名に対応するグループが属する、該グループの1つ上の階層のグループである親グループの名称とを含む表示画面を表示する第1表示制御ステップ(S30)と、前記第1表示制御ステップにて表示した前記検索グループ名の1つを選択する指示を受け付けたとき、選択された検索グループ名に対応するグループに含まれるデータを編集するための表示画面を表示する第2表示制御ステップ(S40)と、を含む。したがって、サポート装置100が実行する情報処理方法によって、ユーザは、PLC2で利用されるデータから、目的のデータ(例えば、編集作業等の対象データ)を容易に探し出すことができる。
【0091】
〔実施形態2〕
以下、本発明の他の実施形態について、
図9および
図10に基づいて説明する。なお、説明の便宜上、上述した各実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【0092】
図9は、本発明の実施形態2に係るサポート装置101(情報処理装置)の要部構成を示すブロック図である。
【0093】
図9に示すように、サポート装置101は、
図1に例示したサポート装置100の構成に加えて、PLC2(制御装置)で利用されるデータを編集するための表示画面を閉じる操作があったとき、該データを含むグループのグループ名を記憶部170に格納する履歴管理部161をさらに備え、検索部112によって検索された前記検索グループ名が複数あると、第1表示制御部1131は、検索部112によって検索された前記検索グループ名であって、履歴管理部161によって記憶部170に格納された最新の所定件数のグループ名を、検索部112によって検索された他の検索グループ名に優先して表示する。なお、PLC2で利用されるデータを編集するための表示画面とは、例えば、編集用画像231および232である。
【0094】
上記の構成によれば、サポート装置101の第1表示制御部1131は、検索部112によって検索された前記検索グループ名であって、履歴管理部161によって記憶部170に格納された最新の所定件数のグループ名を、他の検索グループ名に優先して表示する。ここで、履歴管理部161によって記憶部170に格納された最新の所定件数(例えば、10件)のグループ名は、直近で前記閉じる操作のあった10件の表示画面において編集可能なデータを含むグループのグループ名である。つまり、履歴管理部161によって記憶部170に格納された最新の所定件数のグループ名は、直近の編集を基準として数えて、ユーザが所定回数(例えば、10回)以前に編集した可能性の高いデータを含むグループのグループ名であると考えられる。したがって、ユーザは、前記所定回数以前に編集したデータを含むグループのグループ名をより容易に探し出すことができ、デバイスおよびプログラムの構成の設計作業における能率を向上させることができる。
【0095】
履歴管理部161は、PLC2で利用されるデータの1つを編集するための編集画像(例えば、「Section0」のグループ(セクション)に含まれるデータを編集するための編集用画像232)を閉じる操作があったとき、該データを含むグループのグループ名を記憶部170の履歴テーブル171に格納する。
【0096】
記憶部170には、
図1に例示したサポート装置100の記憶部130に格納されているデータに加えて、履歴テーブル171が格納されている。履歴テーブル171には、ユーザによって閉じられた編集画像において編集可能なデータを含むグループ(例えば、セクションなどの設計項目)の名称(グループ名)が格納される。例えば、「プログラム0」のプログラムに属する、「Section0」のグループに含まれるデータを編集するための編集用画像232を閉じる操作があると、履歴管理部161は、以下の処理を実行する。すなわち、履歴管理部161は、「Section0」というグループ名を、「Section0」のグループに含まれるデータを編集するための編集用画像232を閉じる操作があった日時情報(日付および時刻)と共に、履歴テーブル171に格納する。履歴管理部161は、編集画像が閉じられた日時情報と共に、該編集画像において編集可能なデータを含むグループのグループ名を、履歴テーブル171に格納する。したがって、例えば、検索結果リスト320における前記検索グループ名の表示順序について、前記編集画像が閉じられてからの経過時間が少ない順に、前記検索グループ名を表示してもよい。
【0097】
なお、「検索部112によって検索された前記検索グループ名であって、履歴管理部161によって記憶部170に格納された最新の所定件数のグループ名を、検索部112によって検索された他の検索グループ名に優先してユーザに選択されるよう表示する」とは、例えば以下のように表示することである。すなわち、「検索部112によって検索された前記検索グループ名であって、履歴管理部161によって記憶部170に格納された最新の所定件数のグループ名」を、反転表示、ハイライト表示、ランプ表示、変色表示、点滅表示等々のように、前記「他の検索グループ名」と識別可能な表示態様において表示してもよい。また、「検索部112によって検索された前記検索グループ名であって、履歴管理部161によって記憶部170に格納された最新の所定件数のグループ名」を、前記「他の検索グループ名」よりも、検索結果一覧表示領域の上位(早く表示される上方の位置)に表示してもよい。
【0098】
図10は、サポート装置101の表示制御部113が表示部140に表示する検索ウィンドウ400について、入力検索文字を「se」として検索した場合の検索結果の一例を説明するための図である。
図10に示すように、検索ウィンドウ400は、
図4に例示した検索ウィンドウ300と比較して、以下の点において異なる。すなわち、
図10に例示する検索ウィンドウ400の検索結果リスト320(検索グループ名表示領域321−親グループ名表示領域322)において、「Section0−プログラム0」は、ハイライト表示がなされている。言い換えれば、「Section0−プログラム0」には、ハイライト421が付与されている。
【0099】
例えば、「プログラム0」の「Section0」に含まれるデータを編集するための編集用画像232がユーザによって閉じられると、履歴管理部161は、「Section0」というグループ名を、編集用画像232が閉じられた日時情報と共に、履歴テーブル171に格納する。
【0100】
そして、第1表示制御部1131は、履歴テーブル171を参照して、検索部112から通知された検索グループ名の中に、履歴テーブル171に格納されているグループ名のうち最新の所定件数(例えば、10件)のグループ名があるか否かを判定する。つまり、第1表示制御部1131は、履歴テーブル171に格納されているグループ名の中から、格納日時が現時点に近い順に、前記最新の所定件数のグループ名を取得し、該所定件数のグループ名と、検索部112から通知された検索グループ名とを比較する。そして、第1表示制御部1131は、前記検索グループ名の中に、履歴テーブル171に格納された前記最新の所定件数のグループ名があると判定すると、該グループ名を、他の検索グループ名に優先して表示する。すなわち、第1表示制御部1131は、例えば、前記検索グループであって、履歴テーブル171に格納された前記最新の所定件数のグループ名に、ハイライト421を付与して、検索結果リスト320に表示する。
【0101】
以上のように、サポート装置101によれば、直近で前記閉じる操作のあった、前記所定件数(例えば、10件)の表示画面において編集可能なデータを含むグループのグループ名は、他の検索グループ名に優先して表示される。したがって、ユーザは、例えば、数回前に編集したデータを含むグループのグループ名をより容易に探し出すことができ、デバイスおよびプログラムの構成の設計作業における能率を向上させることができる。
【0102】
なお、検索部112によって検索された前記検索グループ名が複数あると、第1表示制御部1131は、検索部112によって検索された前記検索グループ名であって、履歴管理部161によって過去の所定期間内に記憶部170に格納されたグループ名を、検索部112によって検索された他の検索グループ名に優先して表示してもよい。
【0103】
〔実施形態3〕
以下、本発明の他の実施形態について、
図11および
図12に基づいて説明する。なお、説明の便宜上、上述した各実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【0104】
最初に、本発明の実施形態3に係るサポート装置102(情報処理装置)の概要について説明しておけば、以下の通りである。すなわち、サポート装置102の第1表示制御部1131は、前記親グループの直下に属するグループであって、前記検索グループ名に対応するグループ以外のグループである兄弟グループの名称を、前記検索グループ名と共に表示する。
【0105】
上記の構成によれば、サポート装置102は、後述する検索ウィンドウ500の文字入力領域310に入力された入力検索文字に基づいて検索を行ない、検索結果である検索グループ名とともに、前記兄弟グループの名称(兄弟グループ名)を、検索結果リスト520に表示する。例えば、検索ウィンドウ500において、セクション名またはカム定義名が入力検索文字として入力された場合、サポート装置102の第1表示制御部1131は、検索結果リスト520に、検索グループ名として、セクション名またはカム定義名を表示するとともに、該セクション名または該カム定義名と同じ階層にある、他のセクション名またはカム定義名の一覧を表示する。
【0106】
したがって、サポート装置102は、ユーザに、検索グループ名とともに兄弟グループ名を通知することができ、ユーザは、容易に、該検索グループ名に関連するグループ名を確認することができる。
【0107】
図11は、サポート装置102の要部構成を示すブロック図である。
図11に示すように、サポート装置102は、
図1に例示したサポート装置100に比べて、以下の点において相違する。すなわち、サポート装置102の検索部114は、サポート装置100の検索グループ名取得部1121および親グループ名取得部1122に加えて、兄弟グループ名取得部1141を含む。
【0108】
兄弟グループ名取得部1141は、プロジェクトデータ131を参照して、以下の処理を実行する。すなわち、兄弟グループ名取得部1141は、先ず、検索グループ名取得部1121が取得した検索グループ名に対応するグループが属する、該グループの直上
の階層のグループである親グループの名称(親グループ名)を取得する。兄弟グループ名取得部1141は、次に、前記親グループの直下の階層のグループであって、前記親グループに属する、検索グループ名に対応するグループ以外のグループである兄弟グループの名称(兄弟グループ名)を取得する。
【0109】
なお、兄弟グループ名取得部1141は、親グループ名取得部1122から親グループ名を取得し、プロジェクトデータ131を参照して、該親グループ名に対応するグループ(親グループ)の直下の階層のグループであって、該親グループに属する、検索グループ名に対応するグループ以外のグループである兄弟グループの名称を取得してもよい。
【0110】
そして、検索部114は、検索グループ名取得部1121によって取得された前記検索グループ名と、親グループ名取得部1122によって取得された前記親グループ名と、兄弟グループ名取得部1141によって取得された前記兄弟グループ名とを対応付けて、表示制御部113(具体的には、第1表示制御部1131)に通知する。第1表示制御部1131は、検索部114から通知された、前記検索グループ名、前記親グループ名、および前記兄弟グループ名を対応付けて、検索ウィンドウ500の検索結果リスト520に表示する。
【0111】
図12は、サポート装置102の表示制御部113が表示部140に表示する検索ウィンドウ500について、入力検索文字を「S5」として検索した場合の検索結果の一例を説明するための図である。
図12に示すように、検索ウィンドウ500の検索結果リスト520は、
図4に例示した検索結果リスト520と比べて、検索グループ名表示領域321と、親グループ名表示領域322とに加えて、兄弟グループ名表示領域521を含む。兄弟グループ名表示領域521には、親グループ名表示領域322に表示されている親グループの直下の階層のグループであって(つまり、前記検索グループ名に対応するグループと同じ階層のグループであって)、該親グループに属する、前記検索グループ名に対応するグループ以外のグループが表示される。ただし、兄弟グループ名表示領域521には、親グループ名表示領域322に表示されている親グループの直下の階層のグループであって、該親グループに属する全てのグループが表示されてもよい。つまり、前記検索グループ名は、検索グループ名表示領域321と兄弟グループ名表示領域521とに重複して表示されてもよい。すなわち、サポート装置102の第1表示制御部1131は、前記検索グループ名と、前記親グループ名と、前記兄弟グループ名とを対応付けて表示することができればよい。
【0112】
例えば、「プログラム0」のプログラムに、「Section1」、「Section2」、「Section3」、・・・、「Section10」が属している場合、検索ウィンドウ500の文字入力領域310に「S5」という入力検索文字が入力されると、サポート装置102の第1表示制御部1131は、以下の情報を、表示部140に表示する。すなわち、検索グループ名取得部1121は、「S5」という入力検索文字を含むグループ名である「Section5」を、検索グループ名として取得する。また、親グループ名取得部1122は、「Section5」のグループ(セクション)の親グループ(プログラム)の名称である「プログラム0」を、親グループ名として取得する。さらに、兄弟グループ名取得部1141は、「プログラム0」に属する「Section5」以外のグループ(セクション)の名称である「Section1」、「Section2」、「Section3」、・・・、「Section10」を、兄弟グループ名として取得する。その結果、サポート装置102の第1表示制御部1131は、検索結果リスト520の検索グループ名表示領域321に「Section5」を、親グループ名表示領域322に「プログラム0」を、兄弟グループ名表示領域521に「Section1」、「Section2」、「Section3」、・・・、「Section10」を、表示する。なお、上述の通り、兄弟グループ名表示領域521には、「Section5」が表示されてもよい。
【0113】
そして、サポート装置102の第2表示制御部1132は、表示部140(特に、検索ウィンドウ500の検索結果リスト520)に表示された前記兄弟グループの名称を選択する指示を受け付けたとき、選択された兄弟グループの名称に対応するグループに含まれるデータを編集するための編集画像を表示部140に表示する。
【0114】
例えば、
図12に例示する検索結果リスト520の兄弟グループ名表示領域521に表示された「Section0」を選択する操作があると、サポート装置102の第2表示制御部1132は、「プログラム0」のプログラムに属する、「Section0」のグループ(セクション)に含まれるデータを編集するための表示画面を表示する。ここで、「Section0」のグループ(セクション)に含まれるデータを編集するための表示画面とは、例えば、編集用画像232である。
【0115】
したがって、ユーザは、簡易な操作で迅速に、目的のデータ(例えば、「Section5」に含まれるデータ)に関連するデータ(例えば、「Section0」に含まれるデータ)を編集するための表示画面(例えば、編集用画像232)にアクセスすることができる。したがって、サポート装置102によれば、ユーザによるプロジェクトの作成の作業効率を向上させることができる。
【0116】
〔ソフトウェアによる実現例〕
サポート装置100、101および102の各ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。後者の場合、サポート装置100、101および102を
図13に示すようなコンピュータ(電子計算機)を用いて構成することができる。
【0117】
図13は、サポート装置100、101および102として利用可能なコンピュータの構成を例示したブロック図である。
【0118】
コンピュータ600は、
図13に示すように、バス610を介して互いに接続された演算装置620と、主記憶装置630と、補助記憶装置640と、入出力インターフェース650とを備えている。演算装置620、主記憶装置630、および補助記憶装置640は、それぞれ、例えばCPU、RAM(random access memory)、ハードディスクドライブであってもよい。なお、主記憶装置630は、コンピュータ読み取り可能な「一時的でない有形の媒体」であればよく、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブル論理回路などを用いることができる。
【0119】
入出力インターフェース650には、入力装置700および出力装置800が接続される。サポート装置100、101および102の入力装置700および出力装置800は、他のサーバまたは装置から送信されるデータの受信、および他のサーバまたは装置へのデータの送信を行う。サポート装置100、101および102の入力装置700および出力装置800は、さらに、ユーザからの音声および文字等の入力操作の取得、およびユーザへの発話等を行う。
【0120】
補助記憶装置640には、コンピュータ600をサポート装置100、101および102として動作させるための各種プログラムが格納されている。そして、演算装置620は、補助記憶装置640に格納された前記各プログラムを主記憶装置630上に展開し、主記憶装置630上に展開された前記各プログラムに含まれる命令を実行することによって、コンピュータ600を、サポート装置100、101および102が備える各部として機能させる。
【0121】
なお、ここでは、内部記録媒体である補助記憶装置640に記録されている前記各プログラムを用いてコンピュータ600を機能させる構成について説明したが、外部記録媒体に記録されているプログラムを用いてもよい。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して前記コンピュータに供給されてもよい。なお、本発明は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0122】
〔変形例〕
上記においては、PLCで利用されるデータの一例として、ラダープログラム、グローバル変数、EtherCATの設定情報等を例に挙げて説明したが、プロジェクトに含まれるデータであればこれに限定されるものではない。たとえば、前記データは、ストラクチャードテキストであってもよい。なお、ストラクチャードテキストは、PLC用のプログラム言語であって、IEC61131−3で定義される言語である。ストラクチャードテキストにおいては、プログラムはテキスト形式により作成される。
【0123】
〔まとめ〕
本発明の態様1に係る情報処理装置(サポート装置100、101および102)は、制御装置(PLC2)で利用されるデータを含んで構成されるプロジェクトを作成するための情報処理装置であって、前記データは、階層的に管理された複数のグループに分類され、入力された入力文字を含む、前記グループの名称である検索グループ名を検索する検索部(112)と、前記検索部によって検索された前記検索グループ名と、前記検索グループ名に対応するグループが属する、該グループの1つ上の階層のグループである親グループの名称とを含む表示画面を表示する第1表示制御部(1131)と、前記第1表示制御部によって表示された前記検索グループ名の1つを選択する指示を受け付けたとき、選択された検索グループ名に対応するグループに含まれるデータを編集するための表示画面を表示する第2表示制御部(1132)と、を備えている。
【0124】
上記の構成によれば、前記情報処理装置は、前記制御装置で利用されるデータが分類された、階層的に管理された複数のグループの名称の各々を対象に、検索を行う。そして、前記情報処理装置は、検索結果として前記表示画面に表示した検索グループ名の1つを選択する操作を受け付けることにより、該検索グループ名に対応するグループに含まれるデータを編集するための表示画面を表示する。ここで、前記制御装置で利用されるデータの編集とは、例えば、前記制御装置を含む制御システムの構築のためのデバイスおよびプログラムの構成の設計作業である。前記情報処理装置によって、ユーザは、前記制御装置で利用されるデータの中から、編集作業等の対象データを容易に探し出すことができる。つまり、ユーザは、簡易な操作で迅速に、編集作業等の対象データを編集するための表示画面にアクセスすることができる。よって、前記情報処理装置によれば、ユーザによるプロジェクトの作成の作業効率を向上させることができる。また、前記情報処理装置は、前記検索グループ名を、前記親グループの名称と対応付けて、表示画面に表示する。したがって、ユーザは所望の検索グループ名を容易に検索できるとともに、該検索グループに対応するグループが属する親グループを確認することができる。したがって、ユーザは、例えば編集作業の対象グループのグループ名に類似するグループ名を有する他グループがある場合であっても、該対象グループおよび該他グループのそれぞれの親グループを確認することにより、誤って該他グループを選択してしまうことを避けることができる。
【0125】
本発明の態様2に係る情報処理装置(サポート装置101)は、前記態様1において、前記データを編集するための表示画面を閉じる操作があったとき、該データを含むグループのグループ名を記憶部(130)に格納する履歴管理部(161)をさらに備え、前記検索部によって検索された前記検索グループ名が複数あると、前記第1表示制御部は、前記検索部によって検索された前記検索グループ名であって、前記履歴管理部によって前記記憶部に格納された最新の所定件数のグループ名を、前記検索部によって検索された他の検索グループ名に優先して表示してもよい。
【0126】
上記の構成によれば、前記情報処理装置は、前記検索部によって検索された前記検索グループ名であって、前記履歴管理部によって前記記憶部に格納された最新の所定件数のグループ名を、他の検索グループ名に優先して表示する。ここで、前記履歴管理部によって前記記憶部に格納された最新の所定件数(例えば、10件)のグループ名は、直近で前記閉じる操作のあった10件の表示画面において編集可能なデータを含むグループのグループ名である。つまり、前記履歴管理部によって前記記憶部に格納された最新の所定件数のグループ名は、直近の編集を基準として数えて、ユーザが所定回数(例えば、10回)以前に編集した可能性の高いデータを含むグループのグループ名であると考えられる。したがって、ユーザは、前記所定回数以前に編集したデータを含むグループのグループ名をより容易に探し出すことができ、デバイスおよびプログラムの構成の設計作業における能率を向上させることができる。
【0127】
本発明の態様3に係る情報処理装置(サポート装置102)は、前記態様1または2において、前記第1表示制御部は、前記親グループの直下に属するグループであって、前記検索グループ名に対応するグループ以外のグループである兄弟グループの名称を、前記検索グループ名と共に表示してもよい。
【0128】
上記の構成によれば、前記情報処理装置は、前記検索グループ名とともに、前記兄弟グループの名称を表示する。したがって、前記情報処理装置は、ユーザに、検索グループ名とともに兄弟グループ名を通知することができ、ユーザは、容易に、該検索グループ名に関連するグループ名を確認することができる。
【0129】
本発明の態様4に係る情報処理装置は、前記態様3において、前記第2表示制御部は、前記表示画面に表示された前記兄弟グループの名称を選択する指示を受け付けたとき、選択された兄弟グループの名称に対応するグループに含まれるデータを編集するための表示画面を表示してもよい。
【0130】
上記の構成によれば、前記情報処理装置は、前記兄弟グループの名称を選択する操作があると、該兄弟グループの名称に対応するグループに含まれるデータを編集するための編集画像を表示画面に表示する。したがって、ユーザは、簡易な操作で迅速に、目的のデータ(つまり、前記検索グループ名に対応するグループに含まれるデータ)に関連するデータ(つまり、前記兄弟グループに含まれるデータ)を編集するための編集画像にアクセスすることができ、前記情報処理装置は、ユーザによるプロジェクトの作成の作業効率を向上させることができる。
【0131】
本発明の態様5に係る情報処理方法は、制御装置で利用されるデータを含んで構成されるプロジェクトを作成するための情報処理装置の情報処理方法であって、前記データは、階層的に管理された複数のグループに分類され、入力された入力文字を含む、前記グループの名称である検索グループ名を検索する検索ステップ(S10)と、前記検索ステップにて検索した前記検索グループ名と、前記検索グループ名に対応するグループが属する、該グループの1つ上の階層のグループである親グループの名称とを含む表示画面を表示する第1表示制御ステップ(S30)と、前記第1表示制御ステップにて表示した前記検索グループ名の1つを選択する指示を受け付けたとき、選択された検索グループ名に対応するグループに含まれるデータを編集するための表示画面を表示する第2表示制御ステップ(S40)と、を含む。
【0132】
上記の制御方法によれば、態様1と同様の効果を奏する。
【0133】
本発明の各態様に係る情報処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記情報処理装置が備える各部(ソフトウェア要素に限る)として動作させることにより前記情報処理装置をコンピュータにて実現させる情報処理装置の情報処理プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【0134】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。