(57)【要約】【課題】ＵＩ（User Interface）に含まれるオブジェクト画像の転送時間を減らすことができる。【解決手段】情報処理装置は、ＵＩの作成画面２０を表示する表示部と、ＵＩを構成する候補となる複数のオブジェクト画像を格納する記憶部と、複数のオブジェクト画像の任意のオブジェクト画像の選択を受け付けるとともに、当該選択されたオブジェクト画像を作成画面２０の任意の位置に配置する操作を受け付ける操作受付部と、ＵＩのビルド指示を受け付けたことに基づいて、作成画面２０に配置されたオブジェクト画像を含むＵＩを構成する実行ファイル３１を出力するビルド部とを備える。ビルド部は、２つ以上のオブジェクト画像が作成画面２０に配置された状態でビルド指示を受け付けた場合に、当該２つ以上のオブジェクト画像を含む合成画像３２を生成し、合成画像３２内における合成元のオブジェクト画像のそれぞれの座標情報と、合成画像３２とをさらに出力する。【選択図】図６
2018128953.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の装置に対する操作を受け付けるためのユーザインターフェイスを作成する開発環境を提供することが可能な情報処理装置であって、
前記ユーザインターフェイスを作成するための作成画面を表示するための表示部と、
前記ユーザインターフェイスを構成する候補となる複数のオブジェクト画像を格納するための記憶部と、
前記複数のオブジェクト画像の任意のオブジェクト画像の選択を受け付けるとともに、当該選択されたオブジェクト画像を前記作成画面の任意の位置に配置するための操作を受け付ける操作受付部と、
前記ユーザインターフェイスのビルド指示を受け付けたことに基づいて、前記作成画面に配置されたオブジェクト画像を含むユーザインターフェイスを構成するための実行ファイルを出力するビルド部とを備え、
前記ビルド部は、前記複数のオブジェクト画像の２つ以上のオブジェクト画像が前記作成画面に配置された状態で前記ビルド指示を受け付けた場合に、当該２つ以上のオブジェクト画像を含む合成画像を生成し、当該合成画像内における合成元のオブジェクト画像のそれぞれの座標情報と、当該合成画像とをさらに出力する、情報処理装置。
【請求項２】
前記情報処理装置は、前記実行ファイルの実行指示を受け付けた場合に、前記座標情報に基づいて前記合成画像から前記合成元のオブジェクト画像を取得するとともに、当該合成元のオブジェクト画像のそれぞれを前記ユーザインターフェイスに配置するための構成部をさらに備える、請求項１に記載の情報処理装置。
【請求項３】
前記ビルド部は、前記作成画面に配置されている前記２つ以上のオブジェクト画像の中から前記作成画面内における参照回数が相対的に多い複数のオブジェクト画像を特定し、当該複数のオブジェクト画像から前記合成画像を生成する、請求項１または２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、前記ユーザインターフェイス内における各オブジェクト画像についてユーザによる利用状況を規定している履歴情報を取得し、前記利用状況に基づいて前記合成元のオブジェクト画像の中から前記ユーザによる利用頻度が高い複数のオブジェクト画像を特定し、当該複数のオブジェクト画像から前記合成画像を生成し直すための最適化部をさらに備える、請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記情報処理装置は、前記作成画面に配置されたオブジェクト画像の内から前記合成画像に含めるオブジェクト画像を選択するための操作を受け付ける選択受付部をさらに備える、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
制御対象の装置に対する操作を受け付けるためのユーザインターフェイスを作成する開発環境を提供することが可能な情報処理システムであって、
前記ユーザインターフェイスを作成するための作成画面を表示するための表示部と、
前記ユーザインターフェイスを構成する候補となる複数のオブジェクト画像を格納するための記憶部と、
前記複数のオブジェクト画像の任意のオブジェクト画像の選択を受け付けるとともに、当該選択されたオブジェクト画像を前記作成画面の任意の位置に配置するための操作を受け付ける操作受付部と、
前記ユーザインターフェイスのビルド指示を受け付けたことに基づいて、前記作成画面に配置されたオブジェクト画像を含むユーザインターフェイスを構成するための実行ファイルを出力するビルド部とを備え、
前記ビルド部は、前記複数のオブジェクト画像の２つ以上のオブジェクト画像が前記作成画面に配置された状態で前記ビルド指示を受け付けた場合に、当該２つ以上のオブジェクト画像を含む合成画像を生成し、当該合成画像内における合成元のオブジェクト画像のそれぞれの座標情報と、当該合成画像とをさらに出力する、情報処理システム。
【請求項７】
制御対象の装置に対する操作を受け付けるためのユーザインターフェイスの作成方法であって、
前記ユーザインターフェイスを作成するための作成画面を表示するステップと、
前記ユーザインターフェイスを構成する候補となる複数のオブジェクト画像を準備するステップと、
前記複数のオブジェクト画像の任意のオブジェクト画像の選択を受け付けるとともに、当該選択されたオブジェクト画像を前記作成画面の任意の位置に配置するための操作を受け付けるステップと、
前記ユーザインターフェイスのビルド指示を受け付けたことに基づいて、前記作成画面に配置されたオブジェクト画像を含むユーザインターフェイスを構成するための実行ファイルを出力するステップとを備え、
前記出力するステップは、前記複数のオブジェクト画像の２つ以上のオブジェクト画像が前記作成画面に配置された状態で前記ビルド指示を受け付けた場合に、当該２つ以上のオブジェクト画像を含む合成画像を生成し、当該合成画像内における合成元のオブジェクト画像のそれぞれの座標情報と、当該合成画像とをさらに出力するステップを含む、ユーザインターフェイスの作成方法。
【請求項８】
制御対象の装置に対する操作を受け付けるためのユーザインターフェイスの作成プログラムであって、
前記作成プログラムは、コンピュータに、
前記ユーザインターフェイスを作成するための作成画面を表示するステップと、
前記ユーザインターフェイスを構成する候補となる複数のオブジェクト画像を準備するステップと、
前記複数のオブジェクト画像の任意のオブジェクト画像の選択を受け付けるとともに、当該選択されたオブジェクト画像を前記作成画面の任意の位置に配置するための操作を受け付けるステップと、
前記ユーザインターフェイスのビルド指示を受け付けたことに基づいて、前記作成画面に配置されたオブジェクト画像を含むユーザインターフェイスを構成するための実行ファイルを出力するステップとを実行させ、
前記出力するステップは、前記複数のオブジェクト画像の２つ以上のオブジェクト画像が前記作成画面に配置された状態で前記ビルド指示を受け付けた場合に、当該２つ以上のオブジェクト画像を含む合成画像を生成し、当該合成画像内における合成元のオブジェクト画像のそれぞれの座標情報と、当該合成画像とをさらに出力するステップを含む、ユーザインターフェイスの作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御対象の装置に対する操作を受け付けるユーザインターフェイスを作成するための技術に関する。
【背景技術】
【０００２】
様々な製造現場において、ＰＬＣ（Programmable Logic Controller）などの制御装置が導入されている。ＰＬＣは、製造装置や製造設備などに応じて設計された制御プログラムに従って製造現場における各種生産装置を制御する。このようなＰＬＣに対する操作指示は、ＰＬＣと通信可能に構成されているＨＭＩ（Human Machine Interface）などのプログラマブル表示器によって実現される。
【０００３】
製造現場の作業者は、プログラマブル表示器に表示されるユーザインターフェイス（以下、「ＵＩ（User Interface）」ともいう。）を操作することで各種生産装置を遠隔操作することができる。このようなＵＩに関し、特表２０１６−５０６５５９号公報（特許文献１）は、ボタンやテキストなどの複数のオブジェクトをスクリーン上に表示するＨＭＩを開示している。ユーザは、ＨＭＩ上に表示されている各オブジェクトをタッチ操作することで、当該オブジェクトに関連付けられている指令を生産装置に出力することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１６−５０６５５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
生産装置を操作するためのＵＩは、プログラマブル表示器とは別に用意されたＵＩの開発ツールにて作成される。設計者は、ＵＩの開発ツールがインストールされたＰＣ（Personal Computer）などの情報処理装置を用いて、製造装置や製造設備などに応じた様々なＵＩを開発することができる。
【０００６】
ＵＩの開発ツールにおいては、ＵＩを構成する候補となる複数のオブジェクト画像（たとえば、ボタンなど）が予め準備されている。開発者は、それらのオブジェクト画像の中から任意のオブジェクト画像を選択することができ、ＵＩの作成画面の任意の位置にオブジェクト画像を配置することができる。当該開発ツールは、ビルド指示を受け付けたことに基づいてＵＩのビルド処理を実行し、作成画面に配置されたオブジェクト画像を構成とするＵＩを出力する。出力されたＵＩは、プログラマブル表示器に転送される。このとき、ＵＩを構成するオブジェクト画像が個々に転送されると、通信回数が増加し、転送時間が長くなってしまう。したがって、ＵＩに含まれるオブジェクト画像の転送時間を減らすための技術が望まれている。
【課題を解決するための手段】
【０００７】
ある局面に従うと、制御対象の装置に対する操作を受け付けるためのユーザインターフェイスを作成する開発環境を提供することが可能な情報処理装置は、上記ユーザインターフェイスを作成するための作成画面を表示するための表示部と、上記ユーザインターフェイスを構成する候補となる複数のオブジェクト画像を格納するための記憶部と、上記複数のオブジェクト画像の任意のオブジェクト画像の選択を受け付けるとともに、当該選択されたオブジェクト画像を上記作成画面の任意の位置に配置するための操作を受け付ける操作受付部と、上記ユーザインターフェイスのビルド指示を受け付けたことに基づいて、上記作成画面に配置されたオブジェクト画像を含むユーザインターフェイスを構成するための実行ファイルを出力するビルド部とを備える。上記ビルド部は、上記複数のオブジェクト画像の２つ以上のオブジェクト画像が上記作成画面に配置された状態で上記ビルド指示を受け付けた場合に、当該２つ以上のオブジェクト画像を含む合成画像を生成し、当該合成画像内における合成元のオブジェクト画像のそれぞれの座標情報と、当該合成画像とをさらに出力する。
【０００８】
好ましくは、上記情報処理装置は、上記実行ファイルの実行指示を受け付けた場合に、上記座標情報に基づいて上記合成画像から上記合成元のオブジェクト画像を取得するとともに、当該合成元のオブジェクト画像のそれぞれを上記ユーザインターフェイスに配置するための構成部をさらに備える。
【０００９】
好ましくは、上記ビルド部は、上記作成画面に配置されている上記２つ以上のオブジェクト画像の中から上記作成画面内における参照回数が相対的に多い複数のオブジェクト画像を特定し、当該複数のオブジェクト画像から上記合成画像を生成する。
【００１０】
好ましくは、上記情報処理装置は、上記ユーザインターフェイス内における各オブジェクト画像についてユーザによる利用状況を規定している履歴情報を取得し、上記利用状況に基づいて上記合成元のオブジェクト画像の中から上記ユーザによる利用頻度が高い複数のオブジェクト画像を特定し、当該複数のオブジェクト画像から上記合成画像を生成し直すための最適化部をさらに備える。
【００１１】
好ましくは、上記情報処理装置は、上記作成画面に配置されたオブジェクト画像の内から上記合成画像に含めるオブジェクト画像を選択するための操作を受け付ける選択受付部をさらに備える。
【００１２】
他の局面に従うと、制御対象の装置に対する操作を受け付けるためのユーザインターフェイスを作成する開発環境を提供することが可能な情報処理システムは、上記ユーザインターフェイスを作成するための作成画面を表示するための表示部と、上記ユーザインターフェイスを構成する候補となる複数のオブジェクト画像を格納するための記憶部と、上記複数のオブジェクト画像の任意のオブジェクト画像の選択を受け付けるとともに、当該選択されたオブジェクト画像を上記作成画面の任意の位置に配置するための操作を受け付ける操作受付部と、上記ユーザインターフェイスのビルド指示を受け付けたことに基づいて、上記作成画面に配置されたオブジェクト画像を含むユーザインターフェイスを構成するための実行ファイルを出力するビルド部とを備える。上記ビルド部は、上記複数のオブジェクト画像の２つ以上のオブジェクト画像が上記作成画面に配置された状態で上記ビルド指示を受け付けた場合に、当該２つ以上のオブジェクト画像を含む合成画像を生成し、当該合成画像内における合成元のオブジェクト画像のそれぞれの座標情報と、当該合成画像とをさらに出力する。
【００１３】
他の局面に従うと、制御対象の装置に対する操作を受け付けるためのユーザインターフェイスの作成方法は、上記ユーザインターフェイスを作成するための作成画面を表示するステップと、上記ユーザインターフェイスを構成する候補となる複数のオブジェクト画像を準備するステップと、上記複数のオブジェクト画像の任意のオブジェクト画像の選択を受け付けるとともに、当該選択されたオブジェクト画像を上記作成画面の任意の位置に配置するための操作を受け付けるステップと、上記ユーザインターフェイスのビルド指示を受け付けたことに基づいて、上記作成画面に配置されたオブジェクト画像を含むユーザインターフェイスを構成するための実行ファイルを出力するステップとを備える。上記出力するステップは、上記複数のオブジェクト画像の２つ以上のオブジェクト画像が上記作成画面に配置された状態で上記ビルド指示を受け付けた場合に、当該２つ以上のオブジェクト画像を含む合成画像を生成し、当該合成画像内における合成元のオブジェクト画像のそれぞれの座標情報と、当該合成画像とをさらに出力するステップを含む。
【００１４】
他の局面に従うと、制御対象の装置に対する操作を受け付けるためのユーザインターフェイスの作成プログラムは、コンピュータに、上記ユーザインターフェイスを作成するための作成画面を表示するステップと、上記ユーザインターフェイスを構成する候補となる複数のオブジェクト画像を準備するステップと、上記複数のオブジェクト画像の任意のオブジェクト画像の選択を受け付けるとともに、当該選択されたオブジェクト画像を上記作成画面の任意の位置に配置するための操作を受け付けるステップと、上記ユーザインターフェイスのビルド指示を受け付けたことに基づいて、上記作成画面に配置されたオブジェクト画像を含むユーザインターフェイスを構成するための実行ファイルを出力するステップとを実行させる。上記出力するステップは、上記複数のオブジェクト画像の２つ以上のオブジェクト画像が上記作成画面に配置された状態で上記ビルド指示を受け付けた場合に、当該２つ以上のオブジェクト画像を含む合成画像を生成し、当該合成画像内における合成元のオブジェクト画像のそれぞれの座標情報と、当該合成画像とをさらに出力するステップを含む。
【発明の効果】
【００１５】
ある局面において、ＵＩに含まれるオブジェクト画像の転送時間を減らすことができる。
【００１６】
本開示の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００１７】
【図１】第１の実施の形態に従う情報処理システムの全体構成を示す模式図である。
【図２】ＵＩの開発ツールにおける作成画面の一例を示す図である。
【図３】比較例に従う情報処理装置によるビルド処理の出力結果をプログラマブル表示器１００に転送するときにおけるデータフローを示す図である。
【図４】比較例に従う情報処理装置によるビルド処理を概略的に示す概念図である。
【図５】第１の実施の形態に従う情報処理装置によるビルド処理を概略的に示す概念図である。
【図６】第１の実施の形態に従う情報処理装置によるビルド処理の出力結果をプログラマブル表示器に転送するときにおけるデータフローを示す図である。
【図７】第１の実施の形態における座標情報のデータ構造の一例を示す図である。
【図８】第１の実施の形態に従う情報処理システムの機能構成の一例を示す図である。
【図９】第１の実施の形態に従う情報処理装置によるビルド処理を表わすフローチャートである。
【図１０】第１の実施の形態に従うプログラマブル表示器によるＵＩの構成処理を表わすフローチャートである。
【図１１】第１の実施の形態に従う情報処理システムの主要なハードウェア構成を示すブロック図である。
【図１２】第２の実施の形態に従う情報処理システムの装置構成の一例を示す図である。
【図１３】第３の実施の形態に従う情報処理装置によるＵＩのビルド処理を概略的に示す概念図である。
【図１４】第４の実施の形態に従うプログラマブル表示器の最適化処理を概略的に示す概念図である。
【図１５】第４の実施の形態における履歴情報のデータ構造の一例を示す図である。
【図１６】第４の実施の形態における合成画像の最適化処理を実現するための機能構成の一例を示す図である。
【図１７】第５の実施の形態に従う情報処理装置におけるＵＩの作成画面を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
【００１９】
＜第１の実施の形態＞
［Ａ．情報処理システム１の全体構成］
まず、本実施の形態の情報処理システム１の全体構成について説明する。図１は、本実施の形態の情報処理システム１の全体構成を示す模式図である。図１を参照して、情報処理システム１は、実際に製造作業が行われる製造現場２と、製造現場２に対してリモートで閲覧や操作が可能なリモートサイト４とを含む。製造現場２とリモートサイト４とは、任意のネットワーク６（たとえば、インターネットやＶＰＮ（Virtual Private Network）など）を介してネットワーク接続されているとする。なお、製造現場２とリモートサイト４との間の通信は、セキュアであることが好ましく、典型的には、送受信するデータの暗号化、および／または、通信回線自体をセキュアなものにするといった手法が採用される。
【００２０】
製造現場２には、製造装置やロボットなどを制御するコントローラ２００と、コントローラ２００に接続されるプログラマブル表示器１００とが配置される。
【００２１】
コントローラ２００は、ＰＬＣ（Programmable Logic Controller）と称される産業用のコントローラであり、図示しない制御対象の装置（製造装置やロボットなど）との間で、フィールド信号（各種センサで検出された入力信号（アナログおよび／またはデジタル）、ならびに、各種アクチュエータへ与える出力信号（アナログおよび／またはデジタル））を遣り取りすることで、これらの装置を制御する。
【００２２】
図１に示す製造現場２では、コントローラ２００とフィールドバス１４を介してリモートＩ／Ｏ（Input/Output）装置２０２が接続されている。リモートＩ／Ｏ装置２０２は、コントローラ２００から離れた位置にある制御対象の装置との間でフィールド信号を遣り取りする。
【００２３】
プログラマブル表示器１００は、コントローラ２００とフィールドバス１２を介して接続されており、コントローラ２００が保持している情報をユーザに対して表示するとともに、ユーザからの操作に従って、コントローラ２００に対して内部コマンドを送出する。プログラマブル表示器１００に表示されるＨＭＩ（Human Machine Interface）画面は、ユーザが任意に作成できるようになっており、一般的には、製造現場２に応じた画面や情報が表示できるように作成される。
【００２４】
プログラマブル表示器１００における表示画面（すなわち、ＵＩ）は、外部装置（以下、「情報処理装置３００」と総称する。）において作成することができる。外部装置としては、プログラマブル表示器１００と何らかの手段で通信できるデバイスであれば、特に制限はなく、たとえば、パーソナルコンピュータ、スマートフォン、別のプログラマブル表示器などを用いることができる。プログラマブル表示器１００と通信する手段としては、ＵＳＢ（Universal Serial Bus）通信、シリアル通信、パラレル通信、有線ネットワーク（たとえば、イーサネット（登録商標））、無線ネットワーク（たとえば、無線ＬＡＮやＢＬＵＥＴＯＯＴＨ（登録商標））などの公知の手段を用いることができる。
【００２５】
図１の情報処理システム１においては、情報処理装置３００としてパーソナルコンピュータを例示し、これらのパーソナルコンピュータは、ネットワークを介して、直接的または間接的にプログラマブル表示器１００と接続される。より具体的には、製造現場２には、ネットワーク８を介してプログラマブル表示器１００と接続される、情報処理装置３００＿１が配置され、リモートサイト４には、ネットワーク６およびネットワーク１０を介してプログラマブル表示器１００と接続される、情報処理装置３００＿２，３００＿３が配置される例を示す。
【００２６】
情報処理装置３００＿１〜３００＿３（以下、「情報処理装置３００」とも総称する。）の各々は、ＵＩを作成するためのＵＩの開発ツールがインストールされている。開発者は、ＵＩの開発ツールを利用してプログラマブル表示器１００に表示する任意のＵＩを作成することができる。情報処理装置３００で作成されたＵＩは、プログラマブル表示器１００に送信される。
【００２７】
［Ｂ．ＵＩの開発ツール］
情報処理装置３００には、プログラマブル表示器１００で表示するＵＩを作成するための開発ツールがインストールされている。当該開発ツールは、たとえば、オムロン社製のＳｙｓｍａｃ  Ｓｔｕｄｉｏである。
【００２８】
以下では、図２を参照して、プログラマブル表示器１００で表示するＵＩの開発ツールについて説明する。図２は、ＵＩの開発ツールにおける作成画面の一例を示す図である。
【００２９】
開発ツールには、ＵＩを構成する候補となるオブジェクト画像が予め準備されている。オブジェクト画像は、たとえば、ボタン画像、生産装置の各種部品を表わすアイコン画像、その他の画像（静止画像、動画像）などである。各オブジェクト画像には、所定のファンクションが関連付けられている。設計者は、各オブジェクト画像に、任意のファンクションを定義することもできる。
【００３０】
オブジェクト画像は、項目群２１において種類別に分類されている。設計者は、項目群２１のいずれかの項目を選択すると、選択した項目に関連付けられているオブジェクト画像群を展開することができる。設計者は、展開されたオブジェクト画像群のいずれかのオブジェクト画像を選択することができ、選択したオブジェクト画像を作業領域２２の任意の位置に配置することができる。オブジェクト画像の選択操作や配置操作は、マウス操作やタッチ操作などで実現される。図２の例では、オブジェクト画像３０Ａ〜３０Ｄが作成画面２０に配置されている。
【００３１】
設計者は、作成画面２０にオブジェクト画像３０Ａ〜３０Ｄを配置した状態で、プロジェクトメニュー２３を展開して表示されるビルドボタン（図示しない）を押下することで、オブジェクト画像３０Ａ〜３０Ｄを構成とするＵＩのビルド処理を実行することができる。
【００３２】
［Ｃ．ビルド処理］
図３〜図７を参照して、比較例に従う情報処理装置３００ＸによるＵＩのビルド処理と、本実施の形態に従う情報処理装置３００によるＵＩのビルド処理とについて説明する。
【００３３】
図３は、比較例に従う情報処理装置３００Ｘによるビルド処理の出力結果をプログラマブル表示器１００に転送するときにおけるデータフローを示す図である。図４は、比較例に従う情報処理装置３００Ｘによるビルド処理を概略的に示す概念図である。
【００３４】
ステップＳ１０Ｘにおいて、設計者は、情報処理装置３００Ｘに対してビルド操作を行ったとする。情報処理装置３００Ｘは、ビルド指示を受け付けたことに基づいて、ＵＩのビルド処理を実行する。情報処理装置３００Ｘは、ビルド結果２８として、作成画面２０に配置されたオブジェクト画像３０Ａ〜３０Ｄと、ＵＩの実行ファイル３１とを出力する。実行ファイル３１は、たとえば、ＥＸＥ（Executable）ファイルである。実行ファイル３１には、ＵＩ上におけるオブジェクト画像３０Ａ〜３０Ｄの座標値などが規定されている。
【００３５】
ステップＳ１２Ｘにおいて、設計者は、ビルド結果２８をプログラマブル表示器１００に転送するための操作を行ったとする。情報処理装置３００Ｘは、ビルド結果２８の転送指示を受け付けたことに基づいて、プログラマブル表示器１００との通信を確立し、オブジェクト画像３０Ａ〜３０Ｄと、実行ファイル３１との転送を開始する。
【００３６】
ステップＳ１４Ｘにおいて、情報処理装置３００Ｘは、オブジェクト画像３０Ａ〜３０Ｄと、実行ファイル３１とをプログラマブル表示器１００に転送する。このとき、情報処理装置３００Ｘは、オブジェクト画像３０Ａ〜３０Ｄを順に転送する。そのため、情報処理装置３００Ｘとプログラマブル表示器１００との間の通信回数は、ＵＩの作成ツールに配置されたオブジェクト画像の数に応じて多くなる。そこで、本実施の形態に従う情報処理装置３００は、このようなオブジェクト画像の転送にかかる通信回数を低減する。
【００３７】
図５は、本実施の形態に従う情報処理装置３００によるビルド処理を概略的に示す概念図である。図６は、本実施の形態に従う情報処理装置３００によるビルド処理の出力結果をプログラマブル表示器１００に転送するときにおけるデータフローを示す図である。
【００３８】
ステップＳ１０において、設計者は、情報処理装置３００に対してビルド操作を行ったとする。情報処理装置３００は、ビルド指示を受け付けたことに基づいて、ＵＩのビルド処理を実行する。本実施の形態においては、情報処理装置３００は、２つ以上のオブジェクト画像がＵＩの作成画面２０に配置された状態でビルド指示を受け付けた場合には、当該２つ以上のオブジェクト画像を含む合成画像を生成する。このとき、各オブジェクト画像は、合成画像上で互いに重ならないように並べられる。図６の例では、オブジェクト画像３０Ａ〜３０Ｄが並べられた合成画像３２が生成されている。このとき、情報処理装置３００は、合成画像３２内における合成元のオブジェクト画像３０Ａ〜３０Ｄの座標値を図７に示される座標情報３２４に記憶する。
【００３９】
図７は、座標情報３２４のデータ構造の一例を示す図である。座標情報３２４において、各オブジェクト画像のファイルＩＤと、各オブジェクト画像のファイル名と、合成画像３２上における各オブジェクト画像の座標値とが関連付けられている。当該座標値は、たとえば、合成画像３２上の基準座標と各オブジェクト画像のサイズとで表わされる。当該基準値は、たとえば、合成画像３２上の各オブジェクト画像の端点（たとえば、左上端）であり、各オブジェクト画像のサイズは、横幅および高さで表わされる。座標情報３２４は、実行ファイル３１に含まれた状態で出力されてもよいし、実行ファイル３１とは別個に出力されてもよい。
【００４０】
再び図５および図６を参照して、ステップＳ１２において、設計者は、ビルド結果２８をプログラマブル表示器１００に転送するための操作を行ったとする。情報処理装置３００は、ビルド結果２８の転送指示を受け付けたことに基づいて、プログラマブル表示器１００との通信を確立し、実行ファイル３１と合成画像３２との転送を開始する。
【００４１】
ステップＳ１４において、情報処理装置３００は、実行ファイル３１と合成画像３２とをプログラマブル表示器１００に転送する。このとき、情報処理装置３００は、オブジェクト画像３０Ａ〜３０Ｄを含む合成画像３２をプログラマブル表示器１００に１回の通信で転送する。そのため、オブジェクト画像３０Ａ〜３０Ｄが個々に転送されるよりも、通信回数を低減することができる。その結果、ビルド結果２８の転送時間が短縮される。
【００４２】
［Ｄ．ＵＩの構成処理］
プログラマブル表示器１００は、実行ファイル３１に対する実行指示（たとえば、クリック操作）をユーザから受け付けたことに基づいて、オブジェクト画像をＵＩ上に配置してＵＩを構成する。以下では、図４および図６を再び参照して、比較例に従う情報処理装置３００ＸによるＵＩの構成処理と、本実施の形態に従う情報処理装置３００によるＵＩの構成処理とについて説明する。
【００４３】
図４を参照して、比較例に従うプログラマブル表示器１００Ｘは、実行ファイル３１の実行指示を受け付けたことに基づいて、オブジェクト画像３０Ａ〜３０Ｄと、実行ファイル３１とをプログラマブル表示器１００Ｘのストレージに書き込む。このとき、プログラマブル表示器１００Ｘは、オブジェクト画像３０Ａ〜３０Ｄを個々にストレージに書き込むため、書き込み時間が長くなってしまう。
【００４４】
次に、プログラマブル表示器１００Ｘは、ストレージに書き込まれたオブジェクト画像３０Ａ〜３０Ｄに個々にアクセスし、オブジェクト画像３０Ａ〜３０Ｄをプログラマブル表示器１００Ｘのキャッシュメモリに書き込む。このとき、キャッシュメモリへの書き込みは、ＯＳ（Operating System）のファイルシステムが必要なファイルをストレージから検索し、当該ファイルをストレージから読み出すことで実現される。そのため、オブジェクト画像の数が多くなるほど、ファイルの検索時間が長くなり、ファイルの読み出し回数が多くなる。オブジェクト画像３０Ａ〜３０Ｄは、キャッシュメモリに個々に書き込まれるため、書き込み時間が長くなってしまう。
【００４５】
次に、プログラマブル表示器１００Ｘは、キャッシュメモリに書き込まれたオブジェクト画像３０Ａ〜３０Ｄに個々にアクセスし、実行ファイル３１に規定されるオブジェクト画像３０Ａ〜３０Ｄの座標値に基づいて各オブジェクト画像をＵＩ上に配置し、ＵＩを構成する。
【００４６】
このように、比較例に従うプログラマブル表示器１００Ｘにおいては、オブジェクト画像の数が多くなるほど、ストレージにおける必要ファイルの検索時間や必要ファイルの読み出し回数が増えてしまう。また、オブジェクト画像３０Ａ〜３０Ｄがストレージやキャッシュメモリに個々に書き込まれるため、ＵＩの描画時間が長くなってしまう。
【００４７】
図６を参照して、本実施の形態に従うプログラマブル表示器１００は、実行ファイル３１の実行指示を受け付けたことに基づいて、実行ファイル３１と合成画像３２とをプログラマブル表示器１００のストレージに書き込む。このとき、ストレージに対する合成画像３２の書き込み回数は１回で済む。そのため、ストレージへの書き込み時間が比較例に比べて短縮される。
【００４８】
次に、プログラマブル表示器１００は、ストレージに書き込まれた合成画像３２にアクセスし、合成画像３２をプログラマブル表示器１００のキャッシュメモリに書き込む。このとき、キャッシュメモリに対する合成画像３２の書き込み回数は１回で済む。また、複数のオブジェクト画像が合成画像３２として纏められているため、ストレージにおける必要ファイルの検索時間や必要ファイルの読み出し回数が比較例と比べて少なくなる。
【００４９】
次に、プログラマブル表示器１００は、上述の座標情報３２４（図７参照）に基づいて合成画像３２から合成元のオブジェクト画像３０Ａ〜３０Ｄを切り出し、オブジェクト画像３０Ａ〜３０Ｄを取得する。その後、プログラマブル表示器１００は、オブジェクト画像３０Ａ〜３０ＤのそれぞれをＵＩ上に配置し、ＵＩを構成する。
【００５０】
このように、本実施の形態に従うプログラマブル表示器１００においては、ストレージやキャッシュメモリに対する合成画像３２の書き込みが１回で済むため、ＵＩの描画時間は、比較例よりも短縮される。これにより、ユーザによる表示操作の応答性が改善される。特に、ＵＩの１回目の表示時には、ストレージやキャッシュメモリへの書き込み処理が発生するため、ＵＩの１回目の描画時間が短縮される。また、複数のオブジェクト画像が合成画像として纏められることで、ファイル数が減り、データの断片化が抑制される。
【００５１】
［Ｅ．機能構成］
図８を参照して、本実施の形態に従う情報処理システム１の機能構成について説明する。図８は、情報処理システム１の機能構成の一例を示す図である。
【００５２】
図８に示されるように、情報処理システム１は、主要な装置構成として、プログラマブル表示器１００と、情報処理装置３００とを含む。プログラマブル表示器１００は、主要なハードウェア構成として、制御装置１０１と、記憶装置１２０とを含む。制御装置１０１は、機能構成の一例として、通信部１５２と、構成部１５４とを含む。情報処理装置３００は、主要なハードウェア構成として、制御装置３０１と、記憶装置３２０とを含む。制御装置３０１は、機能構成の一例として、操作受付部３５２と、ビルド部３５４と、通信部３５６とを含む。
【００５３】
操作受付部３５２は、ＵＩを構成する候補となる複数のオブジェクト画像３０の中から任意のオブジェクト画像の選択を受け付けるとともに、当該選択されたオブジェクト画像３０をＵＩの作成画面２０の任意の位置に配置するための操作を受け付ける。オブジェクト画像３０の選択操作や配置操作は、たとえば、作成画面２０に対するマウス操作やタッチ操作で実現される。
【００５４】
ビルド部３５４は、ＵＩのビルド操作を受け付けたことに基づいて、作成画面２０に配置されたオブジェクト画像３０を含むＵＩを構成するための実行ファイル３１を出力する。このとき、ビルド部３５４は、２つ以上のオブジェクト画像３０が作成画面２０に配置された状態でビルド操作を受け付けた場合には、当該２つ以上のオブジェクト画像３０を含む合成画像３２を生成し、合成画像３２内における合成元のオブジェクト画像３０のそれぞれの座標情報３２４（図７参照）と、合成画像３２とをさらに出力する。合成画像３２および座標情報３２４は、実行ファイル３１に含まれた状態で出力されてもよいし、実行ファイル３１と別個に出力されてもよい。
【００５５】
なお、生成される合成画像３２の数は、１つである必要はなく、２つ以上であってもよい。合成画像３２のデータサイズが大きい場合には、メモリキャッシュの占有率が大きくなったり、ストレージへのファイルアクセスの負荷が増える可能性があり、意図するよりも性能が改善されないことがある。したがって、好ましくは、合成画像３２のデータサイズが予め定められたサイズよりも大きい場合には、ビルド部３５４は、合成画像３２が予め定められたサイズよりも小さくなるように合成画像３２を分割する。
【００５６】
通信部３５６は、情報処理装置３００の通信インターフェイス３０５（図１１参照）を制御し、プログラマブル表示器１００との通信を実現する。通信部３５６は、ユーザから転送操作を受け付けたことに基づいて、通信インターフェイス３０５を介して、ビルド部３５４から出力されるビルド結果をプログラマブル表示器１００に送信する。
【００５７】
通信部１５２は、プログラマブル表示器１００の通信インターフェイス１０５（図１１参照）を制御し、情報処理装置３００との通信を実現する。通信部１５２は、通信インターフェイス１０５を介して、情報処理装置３００からビルド結果を受信すると、当該ビルド結果を記憶装置１２０に格納する。
【００５８】
構成部１５４は、実行ファイル３１の実行操作を受け付けた場合に、上述の座標情報３２４（図７参照）に基づいて合成画像３２から合成元のオブジェクト画像を切り出す。その後、構成部１５４は、実行ファイル３１に規定されている各オブジェクト画像のＵＩ上の座標情報に基づいて、当該合成元のオブジェクト画像のそれぞれをＵＩ上に配置する。構成されたＵＩは、プログラマブル表示器１００の後述のディスプレイ１０４（図１１参照）に表示される。
【００５９】
なお、図８に示される情報処理装置３００の機能構成の一部または全部は、プログラマブル表示器１００に実装されてもよい。たとえば、操作受付部３５２およびビルド部３５４は、プログラマブル表示器１００に実装されてもよい。すなわち、ＵＩの開発プログラムは、情報処理装置３００ではなく、プログラマブル表示器１００にインストールされてもよい。また、図８に示されるプログラマブル表示器１００の機能構成の一部または全部は、情報処理装置３００に実装されてもよい。たとえば、構成部１５４は、情報処理装置３００に設けられてもよい。
【００６０】
［Ｆ．制御構造］
（Ｆ１．ビルド処理のフロー）
図９を参照して、ＵＩのビルド処理のフローについて説明する。図９は、情報処理装置３００によるビルド処理を表わすフローチャートである。図９の処理は、情報処理装置３００の制御装置３０１がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、プログラマブル表示器１００、回路素子、またはその他のハードウェアによって実行されてもよい。
【００６１】
ステップＳ１１０において、制御装置３０１は、上述の操作受付部３５２（図８参照）として、ＵＩのビルド操作を受け付けたか否かを判断する。一例として、制御装置３０１は、ＵＩの作成画面２０（図２参照）におけるビルドボタンの押下を検知したことに基づいて、ＵＩのビルド操作を受け付けたと判断する。制御装置３０１は、ＵＩのビルド操作を受け付けたと判断した場合（ステップＳ１１０においてＹＥＳ）、制御をステップＳ１１２に切り替える。そうでない場合には（ステップＳ１１０においてＮＯ）、制御装置３０１は、ステップＳ１１０の処理を再び実行する。
【００６２】
ステップＳ１１２において、制御装置３０１は、上述のビルド部３５４（図８参照）として、ＵＩの作成画面２０に配置されたオブジェクト画像を並べた合成画像３２（図６参照）を生成する。このとき、制御装置３０１は、合成画像３２内における各オブジェクト画像の座標値を上述の座標情報３２４（図７参照）に書き込む。
【００６３】
ステップＳ１１４において、制御装置３０１は、上述のビルド部３５４として、ＵＩを構成するための実行ファイル３１（図６参照）を生成する。このとき、制御装置３０１は、ＵＩの作成画面２０に配置されたオブジェクト画像の配置位置に基づいて、ＵＩ上における各オブジェクト画像の座標値を実行ファイル３１に書き込む。
【００６４】
ステップＳ１１６において、制御装置３０１は、上述の通信部３５６（図８参照）として、ビルド結果の転送指示を受け付けたことに基づいて、ステップＳ１１２で生成された合成画像３２および座標情報３２４と、ステップＳ１１４で生成された実行ファイル３１とをプログラマブル表示器１００に送信する。このとき、合成画像３２および座標情報３２４は、実行ファイル３１に書き込まれた状態で一体的に送信されてもよいし、実行ファイル３１とは別個に送信されてもよい。
【００６５】
（Ｆ２．ＵＩの構成処理のフロー）
図１０を参照して、プログラマブル表示器１００によるＵＩの構成処理のフローチャートについて説明する。図１０は、プログラマブル表示器１００によるＵＩの構成処理を表わすフローチャートである。図１０の処理は、プログラマブル表示器１００の制御装置３０１がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、情報処理装置３００、回路素子、またはその他のハードウェアによって実行されてもよい。
【００６６】
ステップＳ１５０において、制御装置１０１は、上述の構成部１５４（図８参照）として、情報処理装置３００から受信した実行ファイル３１に対して実行指示を受け付けたか否かを判断する。制御装置１０１は、情報処理装置３００から受信した実行ファイル３１に対して実行指示を受け付けたと判断した場合（ステップＳ１５０においてＹＥＳ）、制御をステップＳ１５２に切り替える。そうでない場合には（ステップＳ１５０においてＮＯ）、制御装置１０１は、ステップＳ１５０の処理を再び実行する。
【００６７】
ステップＳ１５２において、制御装置１０１は、上述の構成部１５４として、上述の座標情報３２４（図７参照）に基づいて、情報処理装置３００から受信した合成画像３２から各オブジェクト画像を切り出す。
【００６８】
ステップＳ１５４において、制御装置１０１は、上述の構成部１５４として、実行ファイル３１に規定されている各オブジェクト画像のＵＩ上の座標値に基づいて、ステップＳ１５２で得られた各オブジェクト画像をＵＩ上に配置する。
【００６９】
ステップＳ１５６において、制御装置１０１は、プログラマブル表示器１００のディスプレイ１０４（図１１参照）にステップＳ１５４で構成されたＵＩを表示させる。
【００７０】
［Ｇ．情報処理システム１のハードウェア構成］
図１１を参照して、情報処理システム１のハードウェア構成の一例について説明する。図１１は、情報処理システム１の主要なハードウェア構成を示すブロック図である。
【００７１】
図１１に示されるように、情報処理システム１は、プログラマブル表示器１００と、情報処理装置３００とで構成されている。プログラマブル表示器１００および情報処理装置３００は、互いにネットワーク接続されている。以下では、プログラマブル表示器１００および情報処理装置３００のハードウェア構成について順に説明する。
【００７２】
（Ｇ１．プログラマブル表示器１００のハードウェア構成）
図１１に示されるように、プログラマブル表示器１００は、制御装置１０１と、ＲＯＭ（Read  Only  Memory）１０２と、ＲＡＭ（Random  Access  Memory）１０３と、ディスプレイ１０４と、通信インターフェイス１０５と、Ｉ／Ｏインターフェイス１０６と、フィールドバスインターフェイス１０７と、記憶装置１２０とを備える。
【００７３】
制御装置１０１は、プログラマブル表示器１００を制御する。制御装置１０１は、たとえば、少なくとも１つの集積回路によって構成される。集積回路は、たとえば、少なくとも１つのＣＰＵ（Central  Processing  Unit）、少なくとも１つのＡＳＩＣ（Application  Specific  Integrated  Circuit）、少なくとも１つのＦＰＧＡ（Field  Programmable  Gate  Array）、またはそれらの組み合わせなどによって構成される。
【００７４】
制御装置１０１は、ＵＩの表示プログラム１２２などの各種プログラムを実行することでプログラマブル表示器１００の動作を制御する。制御装置１０１は、表示プログラム１２２の実行命令を受け付けたことに基づいて、記憶装置１２０からＲＯＭ１０２に表示プログラム１２２を読み出す。ＲＡＭ１０３は、ワーキングメモリとして機能し、表示プログラム１２２の実行に必要な各種データを一時的に格納する。
【００７５】
ディスプレイ１０４は、たとえば、液晶ディスプレイ、有機ＥＬ（Electro  Luminescence）ディスプレイ、またはその他の表示機器である。ディスプレイ１０４は、タッチパネルに重ねられており、プログラマブル表示器１００に対する各種操作をタッチ操作で受け付ける。ディスプレイ１０４は、実行ファイル３１に対する実行指示を受け付けたことに基づいて生成されたＵＩを表示する。
【００７６】
通信インターフェイス１０５、Ｉ／Ｏインターフェイス１０６、およびフィールドバスインターフェイス１０７は、プログラマブル表示器１００と外部装置とのデータの遣り取りを仲介する。より具体的には、通信インターフェイス１０５は、ネットワーク８（図１参照）などを介した、情報処理装置３００との通信を仲介する。通信インターフェイス１０５としては、たとえば、イーサネットに従う通信が可能なコンポーネントを採用することができる。Ｉ／Ｏインターフェイス１０６は、各種のユーザインターフェイス装置（たとえば、キーボード、マウスなど）との通信を仲介する。Ｉ／Ｏインターフェイス１０６としては、たとえば、ＵＳＢ通信やシリアル通信が可能なコンポーネントを採用することができる。フィールドバスインターフェイス１０７は、コントローラ２００との間のデータの遣り取りを仲介する。フィールドバスインターフェイス１０７は、としては、ＥｔｈｅｒＣＡＴ（登録商標）に従う通信が可能なコンポーネントを採用してもよいし、通信インターフェイス１０５と同様に、イーサネットに従う通信が可能なコンポーネントを採用してもよい。
【００７７】
記憶装置１２０は、たとえば、フラッシュメモリなどの記憶媒体である。一例として、記憶装置１２０は、情報処理装置３００によるＵＩのビルド結果（実行ファイル３１、合成画像３２、および上述の座標情報３２４）と、ＵＩの表示プログラム１２２などを格納する。ビルド結果および表示プログラム１２２の格納場所は、記憶装置１２０に限定されず、制御装置１０１の記憶領域（たとえば、キャッシュメモリなど）、ＲＯＭ１０２、ＲＡＭ１０３、外部機器（たとえば、情報処理装置３００やサーバー）などに格納されていてもよい。
【００７８】
なお、ＵＩの表示プログラム１２２は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、本実施の形態に従う処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う表示プログラム１２２の趣旨を逸脱するものではない。さらに、表示プログラム１２２によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、プログラマブル表示器１００と情報処理装置３００とが協働して、表示プログラム１２２を実行するように構成されてもよい。さらに、少なくとも１つのサーバーが表示プログラム１２２の処理の一部を実行する所謂クラウドサービスのような形態でプログラマブル表示器１００が構成されてもよい。
【００７９】
（Ｇ２．情報処理装置３００のハードウェア構成）
引き続き図１１を参照して、情報処理装置３００のハードウェア構成について説明する。
【００８０】
情報処理装置３００は、制御装置３０１と、ＲＯＭ３０２と、ＲＡＭ３０３と、ディスプレイ３０４と、通信インターフェイス３０５と、Ｉ／Ｏインターフェイス３０６と、記憶装置３２０とを含む。
【００８１】
制御装置３０１は、情報処理装置３００を制御する。制御装置３０１は、たとえば、少なくとも１つの集積回路によって構成される。集積回路は、たとえば、少なくとも１つのＣＰＵ、少なくとも１つのＡＳＩＣ、少なくとも１つのＦＰＧＡ、またはそれらの組み合わせなどによって構成される。
【００８２】
制御装置３０１は、ＵＩの開発プログラム３２２などの各種プログラムを実行することで情報処理装置３００を制御する。制御装置３０１は、ＵＩの開発プログラム３２２の実行命令を受け付けたことに基づいて、記憶装置３２０からＲＯＭ３０２に開発プログラム３２２を読み出す。ＲＡＭ３０３は、ワーキングメモリとして機能し、開発プログラム３２２の実行に必要な各種データを一時的に格納する。
【００８３】
ディスプレイ３０４は、たとえば、液晶ディスプレイ、有機ＥＬディスプレイ、またはその他の表示機器である。ディスプレイ３０４は、タッチパネルに重ねられており、情報処理装置３００に対する各種操作をタッチ操作で受け付ける。ディスプレイ３０４は、開発プログラム３２２を実行したことに基づいて表示される作成画面２０（図２参照）などを表示する。
【００８４】
通信インターフェイス３０５およびＩ／Ｏインターフェイス３０６は、情報処理装置３００と外部装置とのデータの遣り取りを仲介する。より具体的には、通信インターフェイス３０５は、ネットワーク１０（図１参照）などを介した、情報処理装置３００との通信を仲介する。通信インターフェイス３０５としては、たとえば、イーサネットに従う通信が可能なコンポーネントを採用することができる。Ｉ／Ｏインターフェイス３０６は、各種のユーザインターフェイス装置（たとえば、キーボード、マウスなど）との通信を仲介する。Ｉ／Ｏインターフェイス３０６としては、たとえば、ＵＳＢ通信やシリアル通信が可能なコンポーネントを採用することができる。
【００８５】
記憶装置３２０は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。一例として、記憶装置３２０は、ＵＩを構成する候補となるオブジェクト画像３０と、ＵＩのビルド結果（実行ファイル３１、合成画像３２、および上述の座標情報３２４）と、ＵＩの開発プログラム３２２などを格納する。オブジェクト画像３０、ＵＩのビルド結果、および開発プログラム３２２の格納場所は、記憶装置３２０に限定されず、制御装置３０１の記憶領域（たとえば、キャッシュメモリなど）、ＲＯＭ３０２、ＲＡＭ３０３、外部機器（たとえば、プログラマブル表示器１００やサーバー）などに格納されていてもよい。
【００８６】
なお、ＵＩの開発プログラム３２２は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、本実施の形態に従う処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う開発プログラム３２２の趣旨を逸脱するものではない。さらに、開発プログラム３２２によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、プログラマブル表示器１００と情報処理装置３００とが協働して、開発プログラム３２２を実行するように構成されてもよい。さらに、少なくとも１つのサーバーが開発プログラム３２２の処理の一部を実行する所謂クラウドサービスのような形態で情報処理装置３００が構成されてもよい。
【００８７】
［Ｈ．第１の実施の形態のまとめ］
以上のようにして、本実施の形態に従う情報処理装置３００は、２つ以上のオブジェクト画像がＵＩの作成画面に配置された状態でビルド指示を受け付けた場合には、当該オブジェクト画像を含んだ合成画像を生成する。生成された合成画像は、実行ファイルとともにプログラマブル表示器１００に送信される。合成画像がプログラマブル表示器１００に送信されることで、オブジェクト画像が個々にプログラマブル表示器１００に送信されるよりも、通信回数が少なくなる。その結果、ビルド結果の転送時間が短縮される。
【００８８】
プログラマブル表示器１００は、情報処理装置３００から受信した実行ファイルの実行指示を受け付けたことに基づいて、合成画像をキャッシュメモリに書き込む。その後、プログラマブル表示器１００は、合成画像内のオブジェクト画像の座標値を規定している上述の座標情報３２４に基づいて、合成画像から各オブジェクト画像を切り出す。このように、キャッシュメモリに対する合成画像の書き込み回数は１回で済むので、オブジェクト画像を個々にキャッシュメモリに書き込むよりも、書き込み時間が短縮される。また、複数のオブジェクト画像が合成画像として纏められているため、ストレージにおける必要ファイルの検索時間や必要ファイルの読み出し回数が少なくなる。その結果、ＵＩを構成する時間を短縮することができ、ＵＩの描画時間が短縮される。
【００８９】
特に、ＦＡの分野では、生産品の品質を確保するためにも、プログラマブル表示器１００に対する操作ミスが許されない。このとき、ＵＩの描画時間が長くかかると、描画中にＵＩが操作されるなどして、操作ミスが発生してしまう可能性がある。しかしながら、本実施の形態に従うプログラマブル表示器１００は、ＵＩの描画時間を短縮することができるので、このような操作ミスの発生を抑制することができる。
【００９０】
＜第２の実施の形態＞
図１２を参照して、第２の実施の形態に従う情報処理システム１について説明する。図１２は、情報処理システム１の装置構成の一例を示す図である。
【００９１】
第１の実施の形態においては、情報処理装置３００により出力されるビルド結果２８がプログラマブル表示器１００に格納されていた。これに対して、第２の実施の形態においては、情報処理装置３００により出力されるビルド結果２８がサーバー４００上に格納される。その他の点については、第１の実施の形態に従う情報処理システム１と同じであるので、以下では、それらの説明については繰り返さない。
【００９２】
プログラマブル表示器１００は、ＵＩの表示操作を受け付けると、ＵＩの取得要求をサーバー４００に送信する。サーバー４００は、プログラマブル表示器１００からＵＩの取得要求を受信すると、上述のＵＩの構成処理を実行する（図１０参照）。サーバー４００は、当該構成処理により得られたＵＩをプログラマブル表示器１００に送信する。プログラマブル表示器１００は、サーバー４００からＵＩを受信すると、当該ＵＩをディスプレイ１０４（図１１参照）に表示する。
【００９３】
なお、ＵＩの取得要求を送信する情報処理端末は、プログラマブル表示器１００に限定されない。たとえば、ＵＩの取得要求を送信する情報処理端末は、時計型のウェラブル端末１００Ａであってもよいし、眼鏡型のウェラブル端末１００Ｂであってもよいし、スマートフォンやタブレット端末などの携帯端末１００Ｃであってもよいし、Ｗｅｂブラウザ１００Ｄであってもよい。
【００９４】
このように、ビルド結果２８がサーバー４００に格納されていることで、設計者は、ビルド結果２８を一元的に管理することができる。その結果、設計者は、ＵＩの更新時には、サーバー４００に格納されているビルド結果２８のみを書き換えればよいので、ＵＩの更新を容易に行うことができる。
【００９５】
＜第３の実施の形態＞
［Ａ．概要］
第１の実施の形態に従う情報処理装置３００は、ビルド処理時において、ＵＩの作成画面２０（図２参照）に配置されたオブジェクト画像を全て用いて合成画像を生成していた。しかしながら、合成画像に含まれるオブジェクト画像の中にはユーザによって利用される可能性が低いものがある。そのようなオブジェクト画像を含んだ状態で合成画像が生成されると、ＵＩの構成処理時におけるキャッシュメモリやストレージへの合成画像の書き込み時間が無駄にかかってしまう。
【００９６】
そこで、第３の実施の形態に従う情報処理装置３００は、ビルド処理時において、ＵＩの作成画面２０に配置されたオブジェクト画像の中からユーザが利用する可能性が高いオブジェクト画像を特定し、当該オブジェクト画像を用いて合成画像を生成する。これにより、ＵＩの構成処理時におけるキャッシュメモリやストレージへの合成画像の書き込み時間がさらに短縮される。
【００９７】
その他の点については、第１の実施の形態に従う情報処理装置３００と同じであるので、以下ではそれらの説明については繰り返さない。
【００９８】
［Ｂ．ビルド処理］
図１３を参照して、本実施の形態に従う情報処理装置３００によるＵＩのビルド処理について説明する。図１３は、本実施の形態に従う情報処理装置３００によるＵＩのビルド処理を概略的に示す概念図である。
【００９９】
上述したように、開発者は、ＵＩを構成する候補となる複数のオブジェクト画像の中から任意のオブジェクト画像を選択することができ、選択したオブジェクト画像をＵＩの作成画面２０（図２参照）の任意の位置に配置することができる。このとき、開発者は、同一のオブジェクト画像を作成画面２０の異なる位置または異なるページに配置することができる。すなわち、同一のオブジェクト画像は、作成画面２０において複数回参照され得る。参照回数が多いオブジェクト画像は、ユーザによって利用される可能性が高くなる。そこで、情報処理装置３００のビルド部３５４（図８参照）は、作成画面２０に配置されているオブジェクト画像の中から作成画面２０内における参照回数が相対的に多い複数のオブジェクト画像を特定し、当該複数のオブジェクト画像から合成画像を生成する。
【０１００】
図１３には、複数のページ（３ページ）で構成されているＵＩ２５が示されている。設計者は、ＵＩの作成画面２０において各ページの任意の位置にオブジェクト画像を配置することができる。図１３の例では、ページ「１」には、オブジェクト画像３０Ａ〜３０Ｃが配置されている。ページ「２」には、オブジェクト画像３０Ｂ〜３０Ｄが配置されている。ページ「３」には、オブジェクト画像３０Ｃ，３０Ｅが配置されている。すなわち、作成画面２０におけるオブジェクト画像３０Ａの参照回数は１回である。作成画面２０におけるオブジェクト画像３０Ｂの参照回数は２回である。作成画面２０におけるオブジェクト画像３０Ｃの参照回数は３回である。作成画面２０におけるオブジェクト画像３０Ｄの参照回数は１回である。作成画面２０におけるオブジェクト画像３０Ｅの参照回数は１回である。
【０１０１】
情報処理装置３００は、作成画面２０に配置されているオブジェクト画像３０Ａ〜３０Ｅの中から参照回数が相対的に多いオブジェクト画像を選択する。このときのオブジェクト画像の選択方法は、任意の方法が採用される。たとえば、参照回数が所定値よりも多いオブジェクト画像が選択される。あるいは、参照回数が多い上位所定数のオブジェクト画像が選択されてもよい。図１３の例では、参照回数が２回以上であるオブジェクト画像３０Ｂ，３０Ｃが選択されている。情報処理装置３００は、参照回数が相対的に多いオブジェクト画像３０Ｂ，３０Ｃから合成画像３２Ａを生成する。また、情報処理装置３００は、残りのオブジェクト画像３０Ａ，３０Ｄ，３０Ｅから合成画像３２Ｂを生成する。これにより、ユーザに利用される可能性が高い合成画像３２Ａと、ユーザに利用される可能性が合成画像３２Ａよりは低い合成画像３２Ｂが生成される。
【０１０２】
［Ｃ．第３の実施の形態のまとめ］
以上のようにして、本実施の形態に従う情報処理装置３００は、作成画面２０に配置されているオブジェクト画像の中から作成画面２０内における参照回数が相対的に多い複数のオブジェクト画像を特定し、当該複数のオブジェクト画像から合成画像を生成する。このように、ユーザに利用される可能性が高い一部のオブジェクト画像で合成画像が生成されることで、合成画像のデータサイズが小さくなり、情報処理装置３００は、合成画像によるキャッシュメモリの占有率を抑制することができる。また、情報処理装置３００は、利用頻度が低いオブジェクト画像をキャッシュメモリに書き込むことを抑制することができる。これにより、キャッシュメモリの利用効率が改善され、ＵＩの描画時間が短縮される。
【０１０３】
＜第４の実施の形態＞
［Ａ．概要］
上述の第３の実施の形態においては、ＵＩの作成画面２０（図２参照）における参照回数が相対的に多いオブジェクト画像から合成画像が生成されていた。これに対して、第４の実施の形態においては、過去の利用頻度が高いオブジェクト画像から合成画像が生成される。これにより、ユーザにより利用される可能性が高いオブジェクト画像をキャッシュメモリやストレージに展開することができ、メモリの使用効率が改善される。
【０１０４】
その他の点については、第１〜第３の実施の形態に従う情報処理装置３００と同じであるので、以下ではそれらの説明については繰り返さない。
【０１０５】
［Ｂ．最適化処理］
図１４および図１５を参照して、本実施の形態に従うプログラマブル表示器１００による合成画像の最適化処理について説明する。図１４は、本実施の形態に従うプログラマブル表示器１００の最適化処理を概略的に示す概念図である。
【０１０６】
図１４には、複数のページ（３ページ）で構成されているＵＩ２５が示されている。図１４の例では、ページ「１」は、オブジェクト画像３０Ａ〜３０Ｃを含む。ページ「２」は、オブジェクト画像３０Ｂ，３０Ｃを含む。ページ「３」は、オブジェクト画像３０Ｄ，３０Ｅを含む。
【０１０７】
プログラマブル表示器１００は、ＵＩ２５上のオブジェクト画像の利用状況を監視する。より具体的には、プログラマブル表示器１００は、自身に表示されるＵＩの利用状況をユーザごとに監視し、ＵＩ上のオブジェクト画像の利用回数を図１５に示される履歴情報１２４に書き込む。図１５は、履歴情報１２４のデータ構造の一例を示す図である。
【０１０８】
履歴情報１２４は、たとえば、プログラマブル表示器１００の記憶装置１２０（図１１参照）に格納されている。履歴情報１２４において、ＵＩ２５の各ページに含まれる各オブジェクト画像についての利用状況がユーザごとに規定されている。オブジェクト画像の利用状況は、たとえば、オブジェクト画像のクリック回数やページ表示回数などを示す利用回数で表わされる。あるいは、オブジェクト画像の利用状況は、所定期間内におけるオブジェクト画像の利用頻度で表わされてもよい。
【０１０９】
プログラマブル表示器１００は、合成画像の最適化処理の実行指示を受け付けると、履歴情報１２４に規定されているオブジェクト画像の利用状況を参照して、ＵＩ２５上のオブジェクト画像の利用状況を各ユーザについて特定する。図１４の例では、ユーザ「Ａ」は、オブジェクト画像３０Ａ〜３０Ｃを含むページ「１」と、オブジェクト画像３０Ｂ，３０Ｃを含むページ「２」とを過去に利用している。ユーザ「Ｂ」は、オブジェクト画像３０Ｂ，３０Ｃを含むページ「２」と、オブジェクト画像３０Ｄ，３０Ｅを含むページ「３」とを過去に利用している。すなわち、ページ「２」は、ユーザ「Ａ」，「Ｂ」の両方に利用されている。そのため、ページ「２」に含まれるオブジェクト画像３０Ｂ，３０Ｃが今後利用される可能性は、他のオブジェクト画像よりも高い。
【０１１０】
プログラマブル表示器１００は、オブジェクト画像３０Ａ〜３０Ｄの中からユーザによる利用頻度が高いオブジェクト画像３０Ｂ，３０Ｃを特定すると、オブジェクト画像３０Ｂ，３０Ｃから合成画像を生成し直す。その結果、合成画像３２Ｃが新たに生成される。このように、合成画像の生成に用いるオブジェクト画像が最適化されることにより、ユーザの利用頻度が高いオブジェクト画像を合成画像に含めることができる。その結果、ユーザに利用される可能性が高いオブジェクト画像をキャッシュメモリやストレージに展開することができ、メモリの使用効率が改善される。
【０１１１】
プログラマブル表示器１００は、残りのオブジェクト画像３０Ｄ，３０Ｅから合成画像３２Ｄを生成する。利用頻度の低いオブジェクト画像３０Ａについては、合成されずに単体で保持される。
【０１１２】
このように、ユーザごとの使用態様に合わせて最適化が実現される。その結果、ユーザごとに操作性が改善される。この効果は、複数のユーザで利用される可能性が高い装置（たとえば、プログラマブル表示器１００）において特に顕著に表れる。
【０１１３】
生成された合成画像３２Ｃ，３２Ｄは、ＵＩの構成処理が実行される前にプログラマブル表示器１００のキャッシュメモリに書き込まれる。好ましくは、合成画像３２Ｃ，３２Ｄがキャッシュメモリに書き込まれるタイミングは、プログラマブル表示器１００を利用するユーザによって変えられる。ユーザの識別は、既存の技術が応用される。一例として、ユーザは、プログラマブル表示器１００にログインしたユーザ情報によって識別される。あるいは、ユーザの識別は、顔認証技術によって実現される。
【０１１４】
一例として、全てのユーザ（ユーザ「Ａ」，「Ｂ」）が利用する合成画像３２Ｃは、プログラマブル表示器１００の起動直後にキャッシュメモリに書き込まれる。一方で、ユーザ「Ｂ」のみが利用する合成画像３２Ｄは、ユーザ「Ｂ」がプログラマブル表示器１００にログインしたタイミングでキャッシュメモリに書き込まれる。
【０１１５】
［Ｃ．機能構成］
図１６を参照して、上述の最適化処理を実現するための機能構成について説明する。図１６は、合成画像の最適化処理を実現するための機能構成の一例を示す図である。
【０１１６】
図１６（Ａ）に示されるように、プログラマブル表示器１００は、監視部１６０と、最適化部１６２とを含む。
【０１１７】
監視部１６０は、上述の実行ファイル３１が実行されたことに基づいて、ＵＩに対するユーザ操作の監視を開始し、ＵＩ上のオブジェクト画像の利用状況を上述の履歴情報１２４に書き込む。一例として、監視部１６０は、ＵＩ上のオブジェクト画像に対する操作（たとえば、クリック操作など）を検知した場合に、当該オブジェクト画像の利用回数を履歴情報１２４において増加する。あるいは、監視部１６０は、ＵＩ上のあるページが表示された場合に、当該ページに含まれるオブジェクト画像の利用回数を履歴情報１２４において増加する。
【０１１８】
最適化部１６２は、最適化指示を受け付けたことに基づいて、上述の最適化処理を実行する。より具体的には、最適化部１６２は、履歴情報１２４に規定されているオブジェクト画像の利用状況に基づいてユーザによる利用頻度が高いオブジェクト画像を特定し、当該複数のオブジェクト画像から合成画像３２を生成し直す。最適化指示は、所定のユーザ操作に基づいて発行されてもよいし、予め定められた期間（たとえば、１ヶ月）ごとに発行されてもよい。
【０１１９】
なお、合成画像３２、履歴情報１２４、監視部１６０、および最適化部１６２は、必ずしもプログラマブル表示器１００に実装される必要はなく、他の装置に実装されてもよい。
【０１２０】
たとえば、図１６（Ｂ）に示されるように、履歴情報１２４は、サーバー４００に格納されていてもよい。この場合、サーバー４００は、通信可能な複数のプログラマブル表示器１００から、ＵＩ上のオブジェクト画像の使用状況を収集することができる。最適化部１６２は、プログラマブル表示器１００の起動時や、システムメニューにある最適化処理の実行ボタンが押下されたタイミングで、最適化処理を実行する。
【０１２１】
他の例として、図１６（Ｃ）に示されるように、最適化部１６２は、情報処理装置３００に実装されてもよい。この場合、最適化部１６２は、情報処理装置３００にインストールされているＵＩの開発ツールの一機能として実装される。最適化部１６２は、ＵＩの開発ツールにおいてビルド操作を受け付けたタイミングで、プログラマブル表示器１００から履歴情報１２４を読み出し、最適化処理を実行する。
【０１２２】
さらに他の例として、図１６（Ｄ）に示されるように、履歴情報１２４がサーバー４００に格納され、最適化部１６２が情報処理装置３００に実装されてもよい。この場合、最適化部１６２は、情報処理装置３００にインストールされているＵＩの開発ツールの一機能として実装される。最適化部１６２は、ＵＩの開発ツールにおいてビルド操作を受け付けたタイミングで、サーバー４００から履歴情報１２４を読み出し、最適化処理を実行する。情報処理装置３００は、最適化処理により更新された合成画像をプログラマブル表示器１００に転送する。
【０１２３】
［Ｄ．第４の実施の形態のまとめ］
以上のようにして、本実施の形態に従うプログラマブル表示器１００は、ＵＩ上におけるオブジェクト画像の利用状況を監視し、当該利用状況に基づいて、現在の合成画像の合成元のオブジェクト画像の内から、利用頻度が相対的に高いオブジェクト画像を特定し、当該オブジェクト画像で合成画像を生成し直す。これにより、ユーザにより利用される可能性が高いオブジェクト画像のみをキャッシュメモリやストレージに展開することができ、メモリの使用効率が改善される。
【０１２４】
＜第５の実施の形態＞
［Ａ．概要］
第３，第４の実施の形態に従う情報処理装置３００は、ビルド処理時において、ＵＩの作成画面２０（図２参照）に配置されたオブジェクト画像の中からユーザに利用される可能性が高いオブジェクト画像を特定し、当該オブジェクト画像から合成画像を生成していた。これに対して、第５の実施の形態に従う情報処理装置３００は、合成画像の生成に用いられるオブジェクト画像を選択可能に構成されている。
【０１２５】
その他の点については、第１〜第４の実施の形態に従う情報処理装置３００と同じであるので、以下ではそれらの説明については繰り返さない。
【０１２６】
［Ｂ．ＵＩの開発環境］
図１７を参照して、第５の実施の形態に従う情報処理装置３００について説明する。図１７は、第５の実施の形態に従う情報処理装置３００におけるＵＩの作成画面２０を示す図である。
【０１２７】
図１７に示されるように、設計者がＵＩの作成画面２０（図２参照）に対してビルド操作を行うと、情報処理装置３００は、作成画面２０に配置されたオブジェクト画像３０Ａ〜３０Ｄの内から合成画像に含めるオブジェクト画像を選択するための操作を受け付ける選択画面４０（選択受付部）を表示する。
【０１２８】
選択画面４０には、オブジェクト画像３０Ａを表わすオブジェクト画像４１Ａと、オブジェクト画像３０Ｂを表わすオブジェクト画像４１Ｂと、オブジェクト画像３０Ｃを表わすオブジェクト画像４１Ｃと、オブジェクト画像３０Ｄを表わすオブジェクト画像４１Ｄとを含む。オブジェクト画像４１Ａ〜４１Ｄには、チェックボックス４２Ａ〜４２Ｄがそれぞれ設けられている。設計者は、チェックボックス４２Ａ〜４２Ｄを選択（チェック）することで、合成に用いるオブジェクト画像を個々に選択することができる。図１７の例では、オブジェクト画像４１Ａ〜４１Ｃが選択されており、オブジェクト画像４１Ｄは選択されていない。
【０１２９】
情報処理装置３００は、ＯＫボタン４３の押下を検知すると、ビルド処理を開始し、選択されたオブジェクト画像４１Ａ〜４１Ｃから合成画像を生成する。情報処理装置３００は、キャンセルボタン４４の押下を検知すると、ビルド処理を中止し、選択画面４０を閉じる。
【０１３０】
［Ｃ．第５の実施の形態のまとめ］
以上のようにして、本実施の形態に従う情報処理装置３００は、合成に用いるオブジェクト画像を選択できるように構成されている。これにより、設計者は、合成に用いる任意のオブジェクト画像を選択することができ、設計の自由度が増す。
【０１３１】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１３２】
１  情報処理システム、２  製造現場、４  リモートサイト、６，８，１０  ネットワーク、１２，１４  フィールドバス、２０  作成画面、２１  項目群、２２  作業領域、２３  プロジェクトメニュー、２８  ビルド結果、３０，３０Ａ〜３０Ｅ，４１Ａ〜４１Ｄ  オブジェクト画像、３１  実行ファイル、３２，３２Ａ〜３２Ｄ  合成画像、４０  選択画面、４２Ａ〜４２Ｄ  チェックボックス、４３  ＯＫボタン、４４  キャンセルボタン、１００，１００Ｘ  プログラマブル表示器、１００Ａ，１００Ｂ  ウェラブル端末、１００Ｃ  携帯端末、１００Ｄ  ブラウザ、１０１，３０１  制御装置、１０２，３０２  ＲＯＭ、１０３，３０３  ＲＡＭ、１０４，３０４  ディスプレイ、１０５，３０５  通信インターフェイス、１０６，３０６  インターフェイス、１０７  フィールドバスインターフェイス、１２０，３２０  記憶装置、１２２  表示プログラム、１２４  履歴情報、１５２，３５６  通信部、１５４  構成部、１６０  監視部、１６２  最適化部、２００  コントローラ、２０２  リモートＩ／Ｏ装置、３００，３００Ｘ  情報処理装置、３２２  開発プログラム、３２４  座標情報、３５２  操作受付部、３５４  ビルド部、４００  サーバー。
【図１】
2018128953.tif 000003
【図２】
2018128953.tif 000004
【図３】
2018128953.tif 000005
【図４】
2018128953.tif 000006
【図５】
2018128953.tif 000007
【図６】
2018128953.tif 000008
【図７】
2018128953.tif 000009
【図８】
2018128953.tif 000010
【図９】
2018128953.tif 000011
【図１０】
2018128953.tif 000012
【図１１】
2018128953.tif 000013
【図１２】
2018128953.tif 000014
【図１３】
2018128953.tif 000015
【図１４】
2018128953.tif 000016
【図１５】
2018128953.tif 000017
【図１６】
2018128953.tif 000018
【図１７】
2018128953.tif 000019
【手続補正書】
【提出日】平成30年4月6日(2018.4.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
通信インターフェイス１０５、Ｉ／Ｏインターフェイス１０６、およびフィールドバスインターフェイス１０７は、プログラマブル表示器１００と外部装置とのデータの遣り取りを仲介する。より具体的には、通信インターフェイス１０５は、ネットワーク８（図１参照）などを介した、情報処理装置３００との通信を仲介する。通信インターフェイス１０５としては、たとえば、イーサネットに従う通信が可能なコンポーネントを採用することができる。Ｉ／Ｏインターフェイス１０６は、各種のユーザインターフェイス装置（たとえば、キーボード、マウスなど）との通信を仲介する。Ｉ／Ｏインターフェイス１０６としては、たとえば、ＵＳＢ通信やシリアル通信が可能なコンポーネントを採用することができる。フィールドバスインターフェイス１０７は、コントローラ２００との間のデータの遣り取りを仲介する。フィールドバスインターフェイス１０７としては、ＥｔｈｅｒＣＡＴ（登録商標）に従う通信が可能なコンポーネントを採用してもよいし、通信インターフェイス１０５と同様に、イーサネットに従う通信が可能なコンポーネントを採用してもよい。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
通信インターフェイス３０５およびＩ／Ｏインターフェイス３０６は、情報処理装置３００と外部装置とのデータの遣り取りを仲介する。より具体的には、通信インターフェイス３０５は、ネットワーク１０（図１参照）などを介した、情報処理装置３００との通信を仲介する。通信インターフェイス３０５としては、たとえば、イーサネットに従う通信が可能なコンポーネントを採用することができる。Ｉ／Ｏインターフェイス３０６は、各種の入力デバイス３０７（たとえば、キーボード、マウスなど）との通信を仲介する。Ｉ／Ｏインターフェイス３０６としては、たとえば、ＵＳＢ通信やシリアル通信が可能なコンポーネントを採用することができる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００９３
【補正方法】変更
【補正の内容】
【００９３】
なお、ＵＩの取得要求を送信する情報処理端末は、プログラマブル表示器１００に限定されない。たとえば、ＵＩの取得要求を送信する情報処理端末は、時計型のウェアラブル端末１００Ａであってもよいし、眼鏡型のウェアラブル端末１００Ｂであってもよいし、スマートフォンやタブレット端末などの携帯端末１００Ｃであってもよいし、Ｗｅｂブラウザ１００Ｄであってもよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１３２
【補正方法】変更
【補正の内容】
【０１３２】
１  情報処理システム、２  製造現場、４  リモートサイト、６，８，１０  ネットワーク、１２，１４  フィールドバス、２０  作成画面、２１  項目群、２２  作業領域、２３  プロジェクトメニュー、２８  ビルド結果、３０，３０Ａ〜３０Ｅ，４１Ａ〜４１Ｄ  オブジェクト画像、３１  実行ファイル、３２，３２Ａ〜３２Ｄ  合成画像、４０  選択画面、４２Ａ〜４２Ｄ  チェックボックス、４３  ＯＫボタン、４４  キャンセルボタン、１００，１００Ｘ  プログラマブル表示器、１００Ａ，１００Ｂ  ウェアラブル端末、１００Ｃ  携帯端末、１００Ｄ  ブラウザ、１０１，３０１  制御装置、１０２，３０２  ＲＯＭ、１０３，３０３  ＲＡＭ、１０４，３０４  ディスプレイ、１０５，３０５  通信インターフェイス、１０６，３０６  インターフェイス、１０７  フィールドバスインターフェイス、１２０，３２０  記憶装置、１２２  表示プログラム、１２４  履歴情報、１５２，３５６  通信部、１５４  構成部、１６０  監視部、１６２  最適化部、２００  コントローラ、２０２  リモートＩ／Ｏ装置、３００，３００Ｘ  情報処理装置、３２２  開発プログラム、３２４  座標情報、３５２  操作受付部、３５４  ビルド部、４００  サーバー。