(57)【要約】  プログラマブル表示器は、複数の機器を制御する制御装置に接続され前記制御装置に対するユーザインターフェースとして機能するプログラマブル表示器であって、複数のオブジェクトが１つの複合オブジェクトとして紐付けられたクラス定義情報を含む作画データを取得する取得手段と、前記クラス定義情報に従って、複合オブジェクトインスタンスを生成するインスタンス生成手段と、前記生成された複合オブジェクトインスタンスに従って、前記複合オブジェクトに対応した画面を表示部に表示する表示制御手段とを備え、前記生成されたインスタンスは、前記複数のオブジェクトと、前記複数のオブジェクトの間でデータを受け渡す際に相互参照されるインスタンス用仮想デバイスとを有する。
2012117539.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器を制御する制御装置に接続され前記制御装置に対するユーザインターフェースとして機能するプログラマブル表示器であって、
複数のオブジェクトが１つの複合オブジェクトとして紐付けられたクラス定義情報を含む作画データを取得する取得手段と、
前記クラス定義情報に従って、複合オブジェクトインスタンスを生成するインスタンス生成手段と、
前記生成された複合オブジェクトインスタンスに従って、前記複合オブジェクトに対応した画面を表示部に表示する表示制御手段と、
を備え、
前記生成されたインスタンスは、
前記複数のオブジェクトと、
前記複数のオブジェクトの間でデータを受け渡す際に相互参照されるインスタンス用仮想デバイスと、
を有する
ことを特徴とするプログラマブル表示器。
【請求項２】
前記複数のオブジェクトは、
それぞれ前記画面の一部となるべき複数の表示オブジェクトと、
前記表示オブジェクトに関連した機能オブジェクトと、
前記表示オブジェクト又は前記機能オブジェクトの動作を規定するスクリプトオブジェクトと、
を有する
ことを特徴とする請求項１に記載のプログラマブル表示器。
【請求項３】
複数の機器を制御する制御装置に接続され前記制御装置に対するユーザインターフェースとして機能するプログラマブル表示器で実行されるべき作画データを作成する作画データの作成方法であって、
複数のオブジェクトを１つの複合オブジェクトとして紐付けて定義して、クラス定義情報を生成する生成工程と、
前記複数のオブジェクトの間の関係を規定するように、前記生成されたクラス定義情報を編集する編集工程と、
前記編集されたクラス定義情報を含むように、前記プログラマブル表示器へ供給すべき作画データを作成する作成工程と、
を備えたことを特徴とする作画データの作成方法。
【請求項４】
前記複数のオブジェクトは、前記プログラマブル表示器において表示される画面の一部となるべき複数の表示オブジェクトを有し、
前記編集工程は、
第１の表示オブジェクトと第２の表示オブジェクトとの配置関係が連動するか独立であるかを規定する配置編集工程と、
前記第１の表示オブジェクトと前記第２の表示オブジェクトとの大きさが連動するか独立であるかを規定する大きさ編集工程と、
を有する
ことを特徴とする請求項３に記載の作画データの作成方法。
【請求項５】
前記プログラマブル表示器が、前記クラス定義情報を含む前記作画データを取得する取得工程と、
前記プログラマブル表示器が、前記クラス定義情報に従って、複合オブジェクトインスタンスを生成する第２の生成工程と、
前記プログラマブル表示器が、前記生成された複合オブジェクトインスタンスに従って、前記複合オブジェクトに対応した画面を表示部に表示する表示工程と、
をさらに備え、
前記表示工程では、前記配置編集工程で規定された配置関係と前記大きさ編集工程で規定された大きさの関係とに基づいて、前記第１の表示オブジェクトと前記第２の表示オブジェクトとを前記表示部に表示する
ことを特徴とする請求項４に記載の作画データの作成方法。
【請求項６】
前記複数のオブジェクトは、前記プログラマブル表示器において表示される画面の一部となるべき複数の表示オブジェクトを有し、
前記編集工程では、第１の表示オブジェクトの配置を第２の表示オブジェクトに対する相対座標により規定する
ことを特徴とする請求項３に記載の作画データの作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル表示器、及び作画データの作成方法に関する。
【背景技術】
【０００２】
プログラマブル表示器のユーザ（画面設計者）が画面設計を行う際にユーザが必要な機能が無い場合には、画面設計用の作画ソフトウェアを用いて複数の表示オブジェクトを組合せたり、作画ソフトウェアのプログラミング機能（スクリプト）を併用して希望する機能を実現したりする必要がある。【０００３】
これには、プログラマブル表示器内部に設けられた内部デバイスや、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）等の機器のデバイスを用いて、複数のオブジェクトやスクリプト同士を関連付けることが行われる。【０００４】
しかしながら、この方法では、作成したオブジェクトを流用・改造する際に、個々のオブジェクトやスクリプトの設定を変更する必要が生じるうえ、関連付けのために、他と重複のないデバイスの割当てが必要となる。また、サイズを変更する場合に、例えば複数のオブジェクトをグループ化しまとめて拡大・縮小する方法があるが、これでは、全てのオブジェクトのサイズが変更されてしまう。このため、１つのオブジェクト（例えば、スイッチ）のサイズはそのままにしながら他のオブジェクト（例えば、グラフ）のみのサイズを変更するといった操作を一括して行うことが困難である。これにより、プログラマブル表示器の画面設計用の作画データの保守性が低下する傾向にある。また、手間もかかるため、ユーザ側における画面設計の工数を増大させる傾向にある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４１７５０４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
プログラマブル表示器のメーカは、上記問題の解決のため、ユーザから要望を受ける度にその要望に応じた機能を個別に開発している。このため、タイムリーな機能の提供が困難である。また、ユーザから要望を受ける度にその要望に応じた機能を次々に追加していくと、作画ソフトウェアの機能の肥大化により、結果的に画面設計が複雑になってしまう。【０００７】
また、機能開発を行わずに複合的な機能のサンプルデータを提供する場合もあるが、この場合は、流用・改造時の問題を解決することが困難である。すなわち、依然として、作成したオブジェクトを流用・改造する際に、個々のオブジェクトやスクリプトの設定を変更する必要が生じるうえ、関連付けのために、他と重複のないデバイスの割当てが必要となる。【０００８】
本発明は、上記に鑑みてなされたものであって、既存の複数のオブジェクトの組合せで実現できる機能をユーザ側で簡単に設定することに適したプログラマブル表示器、及び作画データの作成方法を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明の１つの側面にかかるプログラマブル表示器は、複数の機器を制御する制御装置に接続され前記制御装置に対するユーザインターフェースとして機能するプログラマブル表示器であって、複数のオブジェクトが１つの複合オブジェクトとして紐付けられたクラス定義情報を含む作画データを取得する取得手段と、前記クラス定義情報に従って、複合オブジェクトインスタンスを生成するインスタンス生成手段と、前記生成された複合オブジェクトインスタンスに従って、前記複合オブジェクトに対応した画面を表示部に表示する表示制御手段とを備え、前記生成されたインスタンスは、前記複数のオブジェクトと、前記複数のオブジェクトの間でデータを受け渡す際に相互参照されるインスタンス用仮想デバイスとを有することを特徴とする。さらに、複合オブジェクトを構成する各オブジェクトの位置関係及び大きさの関係を規定する仕組みを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、プログラマブル表示器において、既存の複数のオブジェクトが１つの複合オブジェクトとして紐付けて定義されたクラス定義情報に応じて、複合オブジェクトに対応した画面を表示部に表示する。これにより、既存の複数のオブジェクトの組合せで実現できる機能をユーザ側で簡単に設定することに適したプログラマブル表示器を得ることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態にかかるプログラマブル表示器を適用したシステムの構成を示す図である。
【図２】図２は、実施の形態にかかる作画装置、プログラマブル表示器、及びＰＬＣの構成を示す図である。
【図３】図３は、実施の形態におけるクラス定義情報の構成を示す図である。
【図４】図４は、実施の形態における生成された複合オブジェクトインスタンスの構成を示す図である。
【図５】図５は、実施の形態における仮想デバイスの構成を示す図である。
【図６】図６は、実施の形態におけるスクリプトの構成を示す図である。
【図７】図７は、実施の形態におけるクラス定義情報の編集画面を示す図である。
【図８】図８は、実施の形態におけるクラス定義情報の編集画面を示す図である。
【図９】図９は、実施の形態におけるクラス定義情報の編集内容を示す図である。
【図１０】図１０は、実施の形態におけるクラス定義情報の編集内容を示す図である。
【図１１】図１１は、実施の形態における作画データの構成を示す図である。
【図１２】図１２は、実施の形態における作画データの構成を示す図である。
【図１３】図１３は、実施の形態における作画データの編集画面を示す図である。
【図１４】図１４は、実施の形態における作画データの編集内容を示す図である。
【図１５】図１５は、実施の形態における作画データの編集内容を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかるプログラマブル表示器の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態．
【００１３】
実施の形態にかかるプログラマブル表示器１００が適用された制御システム１０の概略構成について図１を用いて説明する。図１は、制御システム１０の概略構成を示す図である。
【００１４】
制御システム１０は、複数の機器の制御に用いられる制御システムである。制御システム１０は、作画装置４００、プログラマブル表示器１００、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）２００、及び複数の機器３０１〜３０３を備える。なお、本明細書においてオペレータとは、プログラマブル表示器１００を操作する人を意味する。また、本明細書においてユーザとは作画装置４００を介してプログラマブル表示器１００の画面を設計する画面設計者を意味する。
【００１５】
作画装置４００は、プログラマブル表示器１００に接続されている。作画装置４００は、ユーザからの操作に応じて、プログラマブル表示器１００上に表示すべき画面の設計データである作画データを作成する。作画装置４００は、作画データをプログラマブル表示器１００へ供給する。
【００１６】
プログラマブル表示器１００は、作画装置４００及びＰＬＣ２００に接続されている。プログラマブル表示器１００は、作画装置４００から受けた作画データに従って、作画装置４００で設計された画面をその表示画面上に表示する。プログラマブル表示器１００は、その表示画面を介してオペレータからの操作を受けて、オペレータからの操作に従い、ＰＬＣ２００内に保持されたデータを読み出したりＰＬＣ２００内に保持されたデータを書き換えたりする。すなわち、プログラマブル表示器１００は、ＰＬＣ２００に対するユーザインターフェースとして機能する。
【００１７】
ＰＬＣ２００は、プログラマブル表示器１００及び複数の機器３０１〜３０３に接続されている。ＰＬＣ２００は、複数の機器３０１〜３０３を制御する。
【００１８】
次に、作画装置４００の内部構成について図２を用いて説明する。図２は、作画装置４００、プログラマブル表示器１００、及びＰＬＣ２００の各内部構成を示す図である。
【００１９】
作画装置４００は、作画ソフトウェア４１１がインストールされており、ユーザからの操作を受けて、プログラマブル表示器１００上に表示すべき画面の設計を行う。作画装置４００は、例えば、パーソナルコンピュータなどの端末装置である。具体的には、作画装置４００は、制御部４０１、記憶部４１０、操作部４０２、及び通信処理部４０４を有する。
【００２０】
制御部４０１は、作画装置４００の各部を全体的に制御する。記憶部４１０には、作画ソフトウェア４１１がインストールされ記憶されている。操作部４０２は、ユーザからの起動指示を受けて制御部４０１へ供給する。制御部４０１は、その起動指示に応じて、作画ソフトウェア４１１を記憶部４１０から読み出し、作画ソフトウェア４１１の内容を解釈し、作画ソフトウェア４１１の機能を処理・実行する。例えば、制御部４０１は、作画ソフトウェア４１１に従い、所定の編集画面（例えば、図７に示す複合オブジェクト編集画面）を表示部４０３上に表示する。
【００２１】
例えば、制御部４０１は、作画ソフトウェア４１１に従い、複数のオブジェクト１１３１〜１１３６（図４参照）を１つの複合オブジェクトとして紐付けることを指定する生成指示を、操作部４０２を介してユーザから受ける。制御部４０１は、その生成指示に応じて、複数のオブジェクト１１３１〜１１３６を１つの複合オブジェクトとして紐付けて定義して、クラス定義情報４１３を生成する（生成工程）。すなわち、作画ソフトウェア４１１は、複数のオブジェクト１１３１〜１１３６が紐付けられた１つの複合オブジェクトを１つのクラスとして捉え、そのクラスを定義するクラス定義情報４１３を生成する。それとともに、制御部４０１は、作画ソフトウェア４１１に従い、編集画面を生成指示が反映されたものに更新して表示部４０３上に表示する。
【００２２】
ここで、複数のオブジェクト１１３１〜１１３６は、複数の表示オブジェクト１１３１、１１３２、複数の機能オブジェクト１１３３、１１３４、複数のスクリプトオブジェクト１１３５、１１３６などを含む。各オブジェクトの詳細については後述する。
【００２３】
例えば、制御部４０１は、作画ソフトウェア４１１に従い、複数のオブジェクト１１３１〜１１３６の間の関係を指定する編集指示を、操作部４０２を介してユーザから受ける。制御部４０１は、その編集指示に応じて、複数のオブジェクト１１３１〜１１３６の間の関係を示す情報を追加してクラス定義情報４１３を更新する。すなわち、制御部４０１は、編集指示に応じて、複数のオブジェクト１１３１〜１１３６の間の関係を規定するように、クラス定義情報４１３を編集する（編集工程）。それとともに、制御部４０１は、作画ソフトウェア４１１に従い、編集画面を編集指示が反映されたものに更新して表示部４０３上に表示する。
【００２４】
例えば、制御部４０１は、作画ソフトウェア４１１に従い、クラス定義の編集内容を確定するための確定指示を、操作部４０２を介してユーザから受けて制御部４０１へ供給する。制御部４０１は、その確定指示に応じて、クラス定義情報４１３の編集内容を確定し、確定されたクラス定義情報４１３を含む作画データ（例えば、図１１に示すＸＭＬデータ）を自動生成する。また、制御部４０１は、作画ソフトウェア４１１に従い、複合オブジェクトを画面上に配置する配置指示を、操作部４０２を介してユーザから受ける。制御部４０１は、その配置指示に応じて、複合オブジェクトの画面上における配置位置を規定するように、作画データ（ＸＭＬデータ）を更新する。すなわち、制御部４０１は、編集されたクラス定義情報４１３を含むように、プログラマブル表示器１００へ供給すべき作画データ４１２を作成して記憶部４１０に記憶する（作成工程）。
【００２５】
操作部４０２は、作画データをプログラマブル表示器１００へ送信することを指定する送信指示を、ユーザから受けて制御部４０１経由で通信処理部４０４へ供給する。通信処理部４０４は、クラス定義情報４１３を含む作画データ４１２を制御部４０１経由で記憶部４１０から読み出してプログラマブル表示器１００へ送信する。
【００２６】
次に、プログラマブル表示器１００の内部構成について図２を用いて説明する。
【００２７】
プログラマブル表示器１００は、制御部１０１、通信処理部１０２、内部メモリ１１０、タッチパネル付き表示画面１０６、入力制御部１０５、作画データ処理部１０３、表示制御部１０４、及び通信処理部１０７を備える。
【００２８】
制御部１０１は、プログラマブル表示器１００の各部を全体的に制御する。通信処理部（取得手段）１０２は、作画装置４００から送信された作画データを受信して、受信したデータを一旦、プログラマブル表示器１００内に設けた不揮発性メモリ（ＦｌａｓｈＲＯＭ等）に格納する。プログラマブル表示器１００は、不揮発性メモリから適宜、作画データを読み出し、内部メモリ１１０の記憶領域１１０ａに格納する。内部メモリ１１０は、ユーザ（画面設計者）が自由に値を格納・参照するための記憶素子（例えば、ＲＡＭなどのメモリ）であり、記憶領域１１０ａは、内部メモリ１１０内における静的な記憶領域である。この場合、内部メモリ１１０の記憶領域１１０ａは、ユーザ（画面設計者）により作画装置４００を介して作成された作画データ１１１を記憶する。作画データ１１１は、複数のオブジェクト１１３１〜１１３６（図４参照）が紐付けられた１つの複合オブジェクトのクラス定義情報１１２を含んでいる。
【００２９】
なお、内部メモリ１１０の記憶領域１１０ｄは、内部デバイス１１５を記憶している。記憶領域１１０ｄは、内部メモリ１１０内における記憶領域である。内部デバイス１１５は、オブジェクト間で情報（データ）を共有する場合などに用いることができる。
【００３０】
タッチパネル付き表示画面１０６は、表示部１０６１と入力部１０６２との機能を兼ねており、グラフィックや文字を表示し、かつ表示画面におけるオペレータの操作部位を検出し、該操作部位に対応した入力情報をプログラマブル表示器１００に入力する。入力制御部１０５は、タッチパネル付き表示画面１０６からの入力情報を判定し、該入力情報を制御部１０１に供給する。入力制御部１０５は、例えば、タッチパネル付き表示画面１０６からの入力情報を作画データ１１１の起動指示と判定し、作画データ１１１の起動指示を制御部１０１経由で作画データ処理部１０３へ供給する。
【００３１】
作画データ処理部（インスタンス生成手段）１０３は、作画データの起動指示に応じて、制御部１０１経由で内部メモリ１１０から作画データ１１１を読み出して解釈し、その解釈結果に従い複合オブジェクインスタンス１１３を生成し制御部１０１経由で内部メモリ１１０の記憶領域１１０ｂに記憶する。記憶領域１１０ｂは、内部メモリ１１０内における動的な記憶領域である。すなわち、作画データ処理部１０３は、作画データ１１１に含まれるクラス定義情報１１２に従い、複合オブジェクインスタンス１１３を生成するとともにその生成された複合オブジェクインスタンス１１３に内部メモリ１１０内の動的な記憶領域１１０ｂを割り当てて記憶させる。
【００３２】
表示制御部１０４は、生成された複合オブジェクインスタンス１１３を制御部１０１経由で内部メモリ１１０から読み出し、その生成された複合オブジェクインスタンス１１３に従って、複合オブジェクトに対応した画面データ１１４を生成し制御部１０１経由で内部メモリ１１０の記憶領域１１０ｃに記憶する。記憶領域１１０ｃは、内部メモリ１１０内における動的な記憶領域である。それとともに、表示制御部１０４は、生成された複合オブジェクインスタンス１１３に従って、画面データ１１４に応じた画面、すなわち複合オブジェクトに対応した画面（例えば、図１５に示す複数の表示オブジェクト１１３１ａ、１１３２ａ、１１３２ｂ、１１３４ａを含む画面）を表示部１０６１に表示する。
【００３３】
このとき、表示制御部１０４は、制御部１０１及び通信処理部１０７経由でＰＬＣ２００から機器のデータを読み出して画面データ１１４に含めるように画面データ１１４を生成する。機器のデータは、例えば、ＰＬＣ２００内のデバイス、すなわちプログラマブル表示器１００に対する外部デバイス２１０に記憶された複数の機器３０１、３０２、３０３のデータＤ１０００、Ｍ１０００、Ｘ１０００を含む。
【００３４】
なお、作画データ処理部１０３は、入力部１０６２及び入力制御部１０５を介して作画データの終了指示を受けたら、制御部１０１経由で内部メモリ１１０の記憶領域１１０ｂにアクセスし、記憶領域１１０ｂから複合オブジェクインスタンス１１３を削除する。
【００３５】
次に、ＰＬＣ２００の内部構成について図２を用いて説明する。
【００３６】
ＰＬＣ２００は、制御部２０１、通信処理部２０２、（プログラマブル表示器１００に対する）外部デバイス２１０、及び通信処理部２０３を備える。
【００３７】
制御部２０１は、ＰＬＣ２００の各部を全体的に制御する。通信処理部２０２は、複数の機器３０１〜３０３から所定の信号を受信したり、複数の機器３０１〜３０３へ所定の制御信号を送信したりする。外部デバイス２１０の記憶領域２１０ａには、複数の機器３０１、３０２、３０３のデータＤ１０００、Ｍ１０００、Ｘ１０００が記憶されている。
【００３８】
機器３０１は、例えば工場のラインに設置された温度センサであり、工場のラインにおける所定の場所の温度を測定しその測定温度をＰＬＣ２００へ入力する。機器３０２は、例えば工場のラインに設置されたランプであり、所定の条件が満たされた際に点灯する。機器３０３は、例えば工場のラインに設置されたスイッチであり、所定の条件が満たされた際にＯＮ／ＯＦＦする。
【００３９】
例えば、通信処理部２０２は、機器（温度センサ）３０１から入力された測定温度を受信して制御部２０１経由で外部デバイス２１０に機器３０１のデータＤ１０００として記憶する。また、制御部２０１は、機器３０１のデータ（測定温度）Ｄ１０００を通信処理部２０３経由でプログラマブル表示器１００へ送信する。プログラマブル表示器１００は、例えば、図６に示すような、複合オブジェクインスタンス１１３に含まれるスクリプトオブジェクト１１３６を実行し、Ｄ１０００（測定温度）が閾値（例えば１０（℃））を超えていれば、機器３０２のデータＭ１０００をＯＮさせて外部デバイス２１０内の機器３０２のデータＭ１０００を書き換える。そして、制御部２０１は、外部デバイス２１０内の機器３０２のデータＭ１０００に応じた制御信号を生成して通信処理部２０２経由で機器３０２（ランプ）へ供給する。これにより、機器（ランプ）３０２を点灯させる。このように、例えば、工場のラインにおける所定の場所の温度が閾値を超えて高くなったことを工場のラインの作業者へ報知することができる。
【００４０】
次に、複合オブジェクトのクラス定義情報について、図３を用いて説明する。図３は、複合オブジェクトのクラス定義情報のデータ構造を示す図である。クラス定義情報４１３とクラス定義情報１１２とは同様のデータ構造を有するので、以下では、クラス定義情報４１３のデータ構造について中心に説明する。
【００４１】
複合オブジェクトのクラス定義情報４１３は、アドオンパッケージ名４１３１、アドオンパッケージバージョン４１３２、複合オブジェクト名４１３３、インスタンス用仮想デバイス使用有無４１３４、及び複数の使用オブジェクト・機能４１３５−１〜４１３５−Ｎを有する。
【００４２】
アドオンパッケージ名４１３１は、複合オブジェクトを使用するためのアドオンパッケージの名称であり、作画ソフトウェア４１１においてアドオン（インポート）すべき候補として複数の複合オブジェクトをまとめて呼び出す際などに使用される。アドオンパッケージ名４１３１は、複合オブジェクトのクラスにおける属性に相当する。アドオンパッケージ名４１３１は、例えば、「デジスイッチ」である。
【００４３】
アドオンパッケージバージョン４１３２は、上記のアドオンパッケージのバージョンである。アドオンパッケージバージョン４１３２は、例えば、「１．００Ａ」である。
【００４４】
複合オブジェクト名４１３３は、複合オブジェクトを識別するための名称である。複合オブジェクト名４１３３は、複合オブジェクトのクラスにおけるクラス名に相当する。複合オブジェクト名４１３３は、例えば、「ＤｉｇｉＳｗｉｔｃｈ」である。
【００４５】
インスタンス用仮想デバイス使用有無４１３４は、複合オブジェクトでのインスタンス用仮想デバイスの使用の有無を指定するための情報である。インスタンス用仮想デバイス使用有無４１３４は、例えば、「Ｅｎａｂｌｅ」である。上記の作画装置４００の説明では、インスタンス用仮想デバイスの使用が「Ｅｎａｂｌｅ」に指定された場合について説明している。
【００４６】
複数の使用オブジェクト４１３５−１〜４１３５−Ｎは、複合オブジェクトに含めるべきオブジェクトの個数分（例えば、Ｎ個分）用意する。各使用オブジェクト４１３５−１〜４１３５−Ｎは、複合オブジェクトで使用されるオブジェクトを定義するための情報であり、互いに同様のデータ構造を有する。例えば、使用オブジェクト４１３５−１は、識別名４１３６−１、配置情報４１３７−１、及びデフォルト値４１３８−１を有する。
【００４７】
識別名４１３６−１は、個々のオブジェクトを識別するための名称である。識別名４１３６−１は、複合オブジェクトのクラスにおける属性に相当する。識別名４１３６−１は、例えば、「ＰｌｕｓＳｗｉｔｃｈ」である。
【００４８】
配置情報４１３７−１は、自オブジェクトの他のオブジェクトに対する相対的な位置関係を規定する情報である。配置情報４１３７−１は、複合オブジェクトのクラスにおけるメソッドに相当する。配置情報４１３７−１は、例えば、「ＮｕｍＤｉｓｐのＴｏｐ  Ｃｅｎｔｅｒを基準にＰｌｕｓＳｗｉｔｃｈのＢｏｔｔｏｍ  Ｃｅｎｔｅｒをオフセット０，０で配置する」である。
【００４９】
デフォルト値４１３８−１は、後述のように自オブジェクトに関連付けられる各種プロパティに対するデフォルト値を規定する情報である。デフォルト値４１３８−１は、複合オブジェクトのクラスにおけるメソッドに相当する。
【００５０】
次に、図２の内部メモリ１１０内の動的な記憶領域１１０ｂに生成される複合オブジェクインスタンス１１３の構成について、図４を用いて説明する。図４は、記憶領域１１０ｂに生成される複合オブジェクインスタンス１１３の構成を示す図である。
【００５１】
複合オブジェクインスタンス１１３は、複数のオブジェクト１１３１〜１１３６及びインスタンス用仮想デバイス１１３７を含む。
【００５２】
複数のオブジェクト１１３１〜１１３６は、複数の表示オブジェクト１１３１、１１３２、複数の機能オブジェクト１１３３、１１３４、複数のスクリプトオブジェクト１１３５、１１３６などを含む。複数の表示オブジェクト１１３１、１１３２は、それぞれ画面（図１５参照）の一部となるべき表示オブジェクトである。機能オブジェクト１１３３、１１３４は、表示オブジェクト１１３１、１１３２に関連した機能のオブジェクトである。スクリプトオブジェクト１１３５、１１３６は、表示オブジェクト１１３１、１１３２や機能オブジェクト１１３３、１１３４の動作を規定するスクリプトのオブジェクトである。
【００５３】
表示オブジェクト１１３１は、例えば、機器（温度センサ）３０１による測定温度を表示するための表示オブジェクト１１３１ａ（図１５参照）に対応したものである。表示オブジェクト１１３１には、その表示のためのプロパティ（設定情報）として例えばモニタデバイス１１３１ａ及び文字サイズ１１３１ｂなどが関連付けられている。モニタデバイス１１３１ａは、例えば、モニタ（監視）される対象が機器（温度センサ）３０１であることを示す情報である。文字サイズ１１３１ｂは、表示される文字の大きさを示す情報である。
【００５４】
表示オブジェクト１１３２は、例えば、グラフ１１３３ａをスクロールするためのスイッチ１１３２ａ、１１３２ｂ（図１５参照）に対応したものである。表示オブジェクト１１３２にも、図示しないが、所定のプロパティ（設定情報）が関連付けられている。
【００５５】
機能オブジェクト１１３３は、例えば、機器（温度センサ）３０１による測定温度のログ情報を取得するロギング機能に対応したものである。なお、機能オブジェクト１１３３は、例えば、所定のトリガの成立時に検索してアラームを表示するアラーム表示機能であってもよいし、オペレータがプログラマブル表示器１００に対して行った操作のログ情報を取得して表示する操作ログ表示機能であってもよい。
【００５６】
機能オブジェクト１１３４は、例えば、機能オブジェクト（ロギング機能）１１３３により取得された測定温度のログ情報からグラフ１１３４ａ（図１５参照）を生成して表示するヒストリカルトレンドグラフ表示機能であってもよい。
【００５７】
スクリプトオブジェクト１１３５は、例えば、機器（温度センサ）３０１による測定温度（Ｄ１０００）が閾値（１０℃）を超えたら表示オブジェクト１１３２（すなわち、スイッチ１１３２ａ、１１３２ｂ）を点滅させることを規定したスクリプトであってもよい。
【００５８】
スクリプトオブジェクト１１３６は、例えば、図６に示すようなスクリプトであってもよい。図６に示すスクリプトは、機器（温度センサ）３０１による測定温度（Ｄ１０００）が閾値（１０℃）を超えたら機器（ランプ）３０２を点灯させることを規定したスクリプトであってもよい。
【００５９】
インスタンス用仮想デバイス１１３７は、複合オブジェクインスタンス１１３が生成された際に、複合オブジェクインスタンス１１３内に動的に生成される仮想的なデバイスである。すなわち、インスタンス用仮想デバイス１１３７には、複合オブジェクインスタンス１１３が生成された際に、内部メモリ１１０内の動的な記憶領域１１０ｂの一部が割り当てられている。インスタンス用仮想デバイス１１３７は、複数のオブジェクト１１３１〜１１３６の間でデータを受け渡す際に相互参照される。
【００６０】
例えば、機能オブジェクト（ロギング機能）１１３３が機器（温度センサ）３０１による測定温度のログ情報を取得する際に、表示オブジェクト１１３１からインスタンス用仮想デバイス１１３７を介して機能オブジェクト（ロギング機能）１１３３へ測定温度のデータが供給される。
【００６１】
あるいは、例えば、機能オブジェクト（ヒストリカルトレンドグラフ表示機能）１１３４がグラフを生成する際に、機能オブジェクト（ロギング機能）１１３３からインスタンス用仮想デバイス１１３７を介して機能オブジェクト（ヒストリカルトレンドグラフ表示機能）１１３４へ測定温度のログ情報が供給される。
【００６２】
あるいは、例えば、スクリプトオブジェクト１１３５がスクリプトの処理を実行する際に、表示オブジェクト１１３１からインスタンス用仮想デバイス１１３７を介してスクリプトオブジェクト１１３５へ測定温度のデータが供給される。また、スクリプトの処理が実行された後に、スクリプトオブジェクト１１３５からインスタンス用仮想デバイス１１３７を介して表示オブジェクト１１３２へ、スイッチ１１３２ａ、１１３２ｂを点滅させるべき旨の情報が供給される。
【００６３】
あるいは、例えば、スクリプトオブジェクト１１３６がスクリプトの処理を実行する際に、表示オブジェクト１１３１からインスタンス用仮想デバイス１１３７を介してスクリプトオブジェクト１１３６へ測定温度のデータが供給される。
【００６４】
なお、インスタンス用仮想デバイス１１３７は複合オブジェクインスタンス１１３に含まれるオブジェクト１１３１〜１１３６からアクセス可能であり、他のインスタンスからはアクセス不可である。
【００６５】
次に、インスタンス用仮想デバイス１１３７の構成について図５を用いて説明する。図５は、インスタンス用仮想デバイス１１３７の構成を示す図である。
【００６６】
インスタンス用仮想デバイス１１３７は、１６ビットデバイス領域１１３７ａ、３２ビットデバイス領域１１３７ｂ、及びビットデバイス領域１１３７ｃを有する。
【００６７】
１６ビットデバイス領域１１３７ａは、データ長が１６ビットであるデータを受け渡す際に利用される領域である。例えば、機器（温度センサ）３０１による測定温度は、１６ビットのデータで表すことに適しているので、１６ビットデバイス領域１１３７ａを介して受け渡される。具体的には、１６ビットデバイス領域１１３７ａは、連続的な仮想アドレス０〜Ｎ１を有する配列ｔｈｉｓ．ｗｏｒｄ１６[０]〜ｔｈｉｓ．ｗｏｒｄ１６[Ｎ１]で指定される。すなわち、データの受け渡し元は、仮想アドレス０〜Ｎ１を指定し、受け渡すべきデータを指定された仮想アドレス０〜Ｎ１を添え字とする配列要素に代入する。そして、データの受け取り先は、その指定された仮想アドレスの配列要素を参照してデータを受け取る。
【００６８】
例えば、上記の例で言えば、機能オブジェクト（ロギング機能）１１３３が機器（温度センサ）３０１による測定温度のログ情報を取得する際に、表示オブジェクト１１３１が仮想アドレス０を指定し、次のように測定温度の値を代入する。
【００６９】
ｔｈｉｓ．ｗｏｒｄ１６[０]＝２０．５（℃）
そして、機能オブジェクト（ロギング機能）１１３３は、ｔｈｉｓ．ｗｏｒｄ１６[０]を参照して、測定温度のデータ「２０．５（℃）」を受け取る。
【００７０】
同様に、３２ビットデバイス領域１１３７ｂは、連続的な仮想アドレス０〜Ｎ２を有する配列ｔｈｉｓ．ｗｏｒｄ３２[０]〜ｔｈｉｓ．ｗｏｒｄ３２[Ｎ２]で指定される。すなわち、データの受け渡し元は、仮想アドレス０〜Ｎ２を指定し、受け渡すべきデータを指定された仮想アドレス０〜Ｎ２を添え字とする配列要素に代入する。そして、データの受け取り先は、その指定された仮想アドレスの配列要素を参照してデータを受け取る。
【００７１】
同様に、ビットデバイス領域１１３７ｂは、連続的な仮想アドレス０〜Ｎ３を有する配列ｔｈｉｓ．ｗｏｒｄ[０]〜ｔｈｉｓ．ｗｏｒｄ[Ｎ３]で指定される。例えば、機器（ランプ）３０２のＯＮ／ＯＦＦ状態は、１ビットのデータで表すことに適しているので、ビットデバイス領域１１３７ｂを介して受け渡される。すなわち、データの受け渡し元は、仮想アドレス０〜Ｎ３を指定し、受け渡すべきデータを指定された仮想アドレス０〜Ｎ３を添え字とする配列要素に代入する。そして、データの受け取り先は、その指定された仮想アドレスの配列要素を参照してデータを受け取る。
【００７２】
なお、複合オブジェクトのクラス定義は、複合オブジェクト名で表記されるクラス（オブジェクト）のメンバ変数として記述してもよい。この場合、メンバ変数は、オブジェクトをインスタンス化する際、自動的にインスタンス用仮想デバイスの先頭から割り付ける。このインスタンス用仮想デバイスへのメンバ変数の割付は、プログラマブル表示器１００のファームウェア側でインスタンス生成時に行われてもよいし、作画装置４００の作画ソフトウェアでインスタンス化した時点で行われてもよい。
【００７３】
また、配列名におけるthisは自インスタンスを示すものであるが、他インスタンスの参照がなければ省略されてもよい。
【００７４】
次に、表示オブジェクトに関連付けられるプロパティについて図１４を用いて説明する。
【００７５】
使用オブジェクト・機能の識別名により、複合オブジェクト内の個々のオブジェクト、機能を特定し、そのプロパティ名を仮想的なデバイスとして取り扱う。
【００７６】
プロパティ名として、図１４に示すように、オブジェクトのプロパティ（属性）を特定するための文字列を割り当てる。各プロパティの識別名として
this.(オブジェクトの識別名).(プロパティ名)
を用いる。これにより、例えば、表示オブジェクトＡの文字サイズをデバイス値に基づきスクリプトから変更できる。すなわち、表示オブジェクトＡの識別名をObj_Aとするとき、スクリプトに次の記述を追加する。
【００７７】
this.Obj_A.text_height = [w:GD1000];
この記述により、表示オブジェクトＡの文字高さを「GD1000」の文字高さと同じものにできる。あるいは、スクリプトに次の記述を追加する。
【００７８】
this.Obj_A.text_width = [w:GD1001];
この記述により、表示オブジェクトＡの文字高さを「GD1001」の文字高さと同じものにできる。あるいは、スクリプトに次の記述を追加する。
【００７９】
あるいは、表示オブジェクトＡの文字サイズ、色を表示オブジェクトＢに一致させるようにスクリプトから変更できる。すなわち、表示オブジェクトＡの識別名をObj_Aとし、表示オブジェクトＢの識別名をObj_Bとするとき、スクリプトに次の記述を追加する。
【００８０】
this.Obj_A.text_height = this.Obj_B.text_height;
この記述により、表示オブジェクトＡの文字高さを表示オブジェクトＢの文字高さと同じものにできる。あるいは、スクリプトに次の記述を追加する。
【００８１】
this.Obj_A.text_width = this.Obj_B.text_width;
この記述により、表示オブジェクトＡの文字幅を表示オブジェクトＢの文字幅と同じものにできる。あるいは、スクリプトに次の記述を追加する。
【００８２】
this.Obj_A.text_color = this.Obj_B.text_color;
この記述により、表示オブジェクトＡの文字色を表示オブジェクトＢの文字色と同じものにできる。
【００８３】
スクリプトを用いて複合オブジェクトに含まれる各オブジェクトのプロパティを変更する際の処理タイミングは、例えば周期的なものであってもよい。この場合、複合オブジェクト更新要求（通常は周期的に発生）→スクリプト処理実行→オブジェクト更新の手順で変更される。このように、複合オブジェクトにおけるスクリプトの処理タイミングは、複合オブジェクトの更新処理に同期して実行する。すなわち、複合オブジェクトは一括して更新する。
【００８４】
なお、プログラマブル表示器のスクリプト処理はオブジェクトの描画更新とは非同期で処理されるのが一般的である。
【００８５】
一方、プログラマブル表示器のオブジェクトスクリプトという機能がある。この場合は、上記のようにオブジェクトの描画更新タイミングでスクリプトを実行する機能を持つ。このオブジェクトスクリプトでは、個々のオブジェクト（たとえば、Obj_A, Obj_Bそれぞれに相当）ごとに独立しているため、複合オブジェクトに含まれる別のオブジェクトに対するアクセスができない。また、個々のオブジェクトはオブジェクトごとに順に更新処理が行われるため、複数のオブジェクトに対して同時にスクリプトの処理結果の反映を行うこともできない。
【００８６】
それに対して、本実施の形態では、複合オブジェクトに含まれるオブジェクトのプロパティに対し、スクリプトや、複合オブジェクトを構成する別のオブジェクトからアクセス可能とするとともに、複合オブジェクトの更新は、その複合オブジェクトを制御するスクリプトも含めて同期して一度に処理することで、上記問題を解決できる。
【００８７】
次に、作画装置４００において作画ソフトウェア４１１により実行される作画データ４１２の作成方法について図７〜図１０を用いて説明する。
【００８８】
作画ソフトウェア４１１には、複合オブジェクト定義のための設定を行う画面（ダイアログ）定義を読み取り、解釈し設定・表示するしくみを設ける。また、作画データ中に複合オブジェクトが使用されているときに、該当するアドオンがあれば、そのアドオンで設定可能とする。該当するアドオンが無い場合、その複合オブジェクトは移動可能だが編集不可能とする。編集不可能であることは、エラーダイアログなどで通知する。
【００８９】
作画ソフトウェア４１１内に、複合オブジェクトの作成支援する機能（ツール）を用意する（以下、「複合オブジェクト設計ツール」とする）。複合オブジェクト設計ツールでは、プログラマブル表示器１００で使用可能なオブジェクトやスクリプト等の機能を配置・設定できる。
【００９０】
複数のオブジェクトを配置する場合、図１０に示すように、一つ基準となるオブジェクト１００１に対し、その他のオブジェクト（サブオブジェクト）１００２の配置、サイズの関係を設定できる。
【００９１】
具体的には、サブオブジェクト１００２の基準座標を、基準オブジェクト１００１の基準座標からの相対座標で指定できる。サブオブジェクト１００２の基準座標は、図１０に「左上」の場合が例示されているが、図９に示すようにそれ以外の部分であっても良い。基準オブジェクト１００１の基準座標は、図１０に「左上」の場合が例示されているが、図９に示すようにそれ以外の部分であっても良い。
【００９２】
また、基準オブジェクト１００１とサブオブジェクト１００２との配置関係が連動するか独立であるかを規定する（配置編集工程）。例えば、図９に示す「配置連動」について「連動」を規定した場合、図１０に示すサブオブジェクト１００２は基準オブジェクト１００１の移動に合わせて移動する。図９に示す「配置連動」について「独立」を規定した場合、図１０に示すサブオブジェクト１００２の相対座標は任意に変更可能である。
【００９３】
また、基準オブジェクト１００１とサブオブジェクト１００２との大きさが連動するか独立であるかを規定する（大きさ編集工程）。例えば、図９に示す「サイズ」について「基準オブジェクトに連動」を規定した場合、図１０に示すサブオブジェクト１００２は基準オブジェクト１００１の拡大・縮小と同比率で拡大・縮小する。例えば、図９に示す「サイズ」について「基準オブジェクトの幅に連動」を規定した場合、図１０に示すサブオブジェクト１００２は、その幅を、基準オブジェクト１００１の幅の拡大・縮小と同比率で拡大・縮小する。例えば、図９に示す「サイズ」について「基準オブジェクトの高さに連動」を規定した場合、図１０に示すサブオブジェクト１００２は、その高さを、基準オブジェクト１００１の高さの拡大・縮小と同比率で拡大・縮小する。例えば、図９に示す「サイズ」について「基準オブジェクトと独立」を規定した場合、図１０に示すサブオブジェクト１００２は大きさを任意に変更可能である。
【００９４】
具体的な作画データ４１２の作成方法の手順は、例えば、次のようになる。
【００９５】
複合オブジェクト設計ツールを起動すると、図７に示す複合オブジェクト編集画面７０１及び複合オブジェクト編集ダイアログ７０２が作画装置４００の表示部４０３上に表示される。複合オブジェクト編集ダイアログ７０２の欄７０３に、アドオンパッケージ名として例えば「デジスイッチ」を入力する。また、欄７０４に、機能・オブジェクト名として例えば「ＤｉｇｉＳｗｉｔｃｈ」を入力する。
【００９６】
次に、たとえばメニューから「オブジェクト追加」などの選択操作を行うことにより、複合オブジェクト編集画面７０１内に、複合オブジェクトにて使用する各種オブジェクト７０１ａ〜７０１ｃを配置する。ここで、複合オブジェクト内のオブジェクトを構成オブジェクトと呼ぶことにする。また、たとえばメニューから「スクリプト追加」などの選択操作などの選択操作を行うことにより、必要なスクリプトを追加する。追加された構成オブジェクトやスクリプト等の構成要素は、複合オブジェクト編集ダイアログ７０２上の一覧に追加され表示される。
【００９７】
そして、構成オブジェクトやスクリプトに識別名を割り当てる。すなわち、複合オブジェクト編集ダイアログ７０２内で、構成オブジェクトやスクリプトに対する識別名（文字列）を入力して指定する。
【００９８】
次に、構成オブジェクト間の位置関係を定義する。すなわち、複合オブジェクト編集ダイアログ７０２内で、位置関係を定義する構成オブジェクトを選択し、自身が基準となるか他の構成オブジェクトを基準とするかを指定する。
【００９９】
他の構成オブジェクトを基準とする場合には、その対象となる構成オブジェクトを指定し、図９に示すような連動の方法を指定する。
【０１００】
そして、インスタンス用仮想デバイス使用有無を指定する。例えば、チェックボックス７０５をクリックして、構成オブジェクト間やスクリプトで情報を共有する（すなわち、データを受け渡す必要がある）場合には、インスタンス用仮想デバイスを使用するよう設定する。
【０１０１】
複合オブジェクト用プロパティと構成オブジェクトのプロパティとの割り当てを行う。たとえばメニューから「プロパティ定義」などの選択操作を行うことにより、図８（ａ）に示すプロパティ定義ダイアログ８０１が作画装置４００の表示部４０３上に表示される。
【０１０２】
プロパティ定義ダイアログ８０１により、複合オブジェクトで使用するプロパティの種別とプロパティ名を定義する。プロパティ定義ダイアログ８０１のＯＫボタン８０３を押すと編集内容が確定する。なお、キャンセルボタン８０４を押すと編集内容がキャンセルされる。
【０１０３】
次に、個々の複合オブジェクトプロパティに対し、構成オブジェクトのプロパティを紐づける。例えば、プロパティ定義ダイアログ８０１内のプロパティ「ＭｏｎｉｔｏｒＤｅｖｉｃｅ」用のボタン８０２をクリックすると、図８（ｂ）に示すプロパティ紐付けダイアログ８０５が表示される。たとえばメニューから「オブジェクト追加」などの選択操作を行うことにより、プロパティ「ＭｏｎｉｔｏｒＤｅｖｉｃｅ」を関連付けるべき表示オブジェクトをプロパティ紐付けダイアログ８０５内に表示させる。そして、プロパティ紐付けダイアログ８０５のＯＫボタン８０６を押すと編集内容が確定する。なお、キャンセルボタン８０７を押すと編集内容がキャンセルされる。
【０１０４】
上記の設定が完了した後、例えば、図７に示す複合オブジェクト編集画面７０１の保存ボタン７０６を押すとクラス定義の編集内容が確定するとともに、図１１に示すようなＸＭＬデータを作画データ４１２として自動生成する。すなわち、複合オブジェクトの定義宣言＜ＰａｃｋａｇｅＩｎｆｏｒｍａｔｉｏｎ＞〜＜／ＰａｃｋａｇｅＩｎｆｏｒｍａｔｉｏｎ＞のブロックを生成する。このブロックは、複合オブジェクトのクラス定義情報４１３として情報である。なお、図７に示す複合オブジェクト編集画面７０１で、キャンセルボタン７０７を押すとクラス定義の編集内容がキャンセルされる。
【０１０５】
図１１に示すＸＭＬデータにおいて、記述４１３２ａは、アドオンパッケージバージョン４１３２（図３参照）に対応したものである。記述４１３１ａは、アドオンパッケージ名４１３１（図３参照）に対応したものである。記述４１３３ａは、複合オブジェクト名４１３３（図３参照）に対応したものである。記述４１３４ａは、インスタンス用仮想デバイス使用有無４１３４（図３参照）に対応したものである。
【０１０６】
記述４１３５−１ａ〜４１３５−Ｎａは、複数の使用オブジェクト４１３５−１〜４１３５−Ｎ（図３参照）に対応したものである。記述４１３５−１ａのうち、記述４１３６−１ａは、識別名４１３６−１（図３参照）に対応したものである。記述４１３７−１ａは、配置情報４１３７−１（図３参照）に対応したものである。記述４１３８−１ａは、デフォルト値４１３８−１（図３参照）に対応したものである。
【０１０７】
次に、表示オブジェクトに関連付けられた各種プロパティをデフォルト値から変更する方法について、図１２及び図１３を用いて説明する。
【０１０８】
上記のように自動生成されたＸＭＬデータに対して、図１２に示すように、作画設定ユーザインターフェース画面を定義するための、＜ＳｅｔｔｉｎｇＳｃｒｅｅｎＤｅｆｉｎｉｔｉｏｎ＞〜＜／ＳｅｔｔｉｎｇＳｃｒｅｅｎＤｅｆｉｎｉｔｉｏｎ＞のブロック１２０１を追加する。これは、ＨＴＭＬエディタに類するような画面設計ツールを用いて、もしくは、テキストエディタ等で作成する。
【０１０９】
例えば、コンボボックスやタイトルなど基本的な部品を用意する。また、チェックボックス、プレビューなどの基本構成要素を自由に配置できる。各設定欄には、複数のオブジェクトに共通した設定を割付できる。設定項目については、その項目での設定値を反映する対象を、オブジェクトの識別名＋プロパティ名で指定できる。
【０１１０】
例えば、デバイス入力欄を示す＜Ｄｅｖｉｃｅｉｎｐｕｔ＞〜＜／Ｄｅｖｉｃｅｉｎｐｕｔ＞には、その設定値を反映する対象として、ＮｕｍＤｉｓｐ．Ｄｅｖｉｃｅ、ＰｌｕｓＳｗｉｔｃｈ．Ｄｅｖｉｃｅ、ＭｉｎｕｓＳｗｉｔｃｈ．Ｄｅｖｉｃｅが指定されている。これにより、１つの設定項目を複数のオブジェクトに対して同時に反映可能とする。
【０１１１】
そして、たとえばメニューから「プロパティ編集」などの選択操作を行うことにより、図１３に示すプロパティ編集画面１３０１が作画装置４００の表示部４０３上に表示される。
【０１１２】
プロパティ編集画面１３０１のデバイス欄１３０２でモニタ対象のデバイスが「Ｄ１０００」に変更されると、３つの表示オブジェクトＮｕｍＤｉｓｐ、ＰｌｕｓＳｗｉｔｃｈ、ＭｉｎｕｓＳｗｉｔｃｈに対して一括でそのデバイスが「Ｄ１０００」に変更される。
【０１１３】
データ形式欄１３０９でデータ形式が「符号付ＢＩＮ１６」に変更されると、３つの表示オブジェクトＮｕｍＤｉｓｐ、ＰｌｕｓＳｗｉｔｃｈ、ＭｉｎｕｓＳｗｉｔｃｈに対して一括でそのデータ形式が「符号付ＢＩＮ１６」に変更される。
【０１１４】
フォント欄１３０３でフォントが「ストローク」に変更されると、１つの表示オブジェクトＮｕｍＤｉｓｐに対してそのフォントが「ストローク」に変更される。
【０１１５】
文字色欄１３０４で文字色が「白」に変更されると、１つの表示オブジェクトＮｕｍＤｉｓｐに対してその文字色が「白」に変更される。
【０１１６】
サイズ欄１３０５でフォントサイズが「６４」に変更されると、１つの表示オブジェクトＮｕｍＤｉｓｐに対してそのフォントサイズが「６４」に変更される。
【０１１７】
図形欄１３０６で図形が「四角＿立体＿枠線固定＿押し込み」に変更されると、２つの表示オブジェクトＰｌｕｓＳｗｉｔｃｈ、ＭｉｎｕｓＳｗｉｔｃｈに対して一括でその図形が「四角＿立体＿枠線固定＿押し込み」に変更される。
【０１１８】
プロパティ編集画面１３０１のＯＫボタン１３０７を押すと編集内容が確定する。なお、キャンセルボタン１３０８を押すと編集内容がキャンセルされる。
【０１１９】
以上のように、実施の形態にかかる作画データの作成方法では、作画装置４００において、複数のオブジェクトを１つの複合オブジェクトとして紐付けて定義してクラス定義情報４１３を生成し、複数のオブジェクトの間の関係を規定するように、生成されたクラス定義情報４１３を編集する。そして、編集されたクラス定義情報４１３を含む作画データ４１２を作成する。これにより、既存機能を連携し新たな機能を構築する仕組みを提供できる。すなわち、既存の複数のオブジェクトの組合せで実現できる機能をユーザ側で簡単に設定できる。
【０１２０】
また、実施の形態にかかる作画データの作成方法では、基準の表示オブジェクトとサブの表示オブジェクトとの配置関係が連動するか独立であるかを規定する。また、基準の表示オブジェクトとサブの表示オブジェクトとの大きさが連動するか独立であるかを規定する。これにより、複数の表示オブジェクトの配置・大きさの変更をユーザ側で簡単に設定できる。
【０１２１】
また、実施の形態にかかる作画データの作成方法では、サブの表示オブジェクトの配置を、基準の表示オブジェクトに対する相対座標により規定する。これにより、複数の表示オブジェクトの配置をユーザ側で簡単に設定できる。
【０１２２】
また、実施の形態にかかるプログラマブル表示器１００では、上記のクラス定義情報４１３を含む作画データ４１２を作画装置４００から受信し、クラス定義情報１１２（クラス定義情報４１３）に従って複合オブジェクインスタンス１１３を生成し、生成された複合オブジェクインスタンス１１３に従って、複合オブジェクトに対応した画面を表示部１０６１に表示する。このように、プログラマブル表示器１００は、上記の作画データの作成方法に適した構成を有しており、上記の作画データの作成方法に適した動作を行う。すなわち、実施の形態によれば、既存の複数のオブジェクトの組合せで実現できる機能をユーザ側で簡単に設定することに適したプログラマブル表示器を得ることができる。
【０１２３】
ここで、仮に、プログラマブル表示器１００において、上記のように生成された複合オブジェクインスタンス１１３がインスタンス用仮想デバイス１１３７を有しない場合について考える。この場合、例えば、表示オブジェクト１１３１から表示オブジェクト１１３２へデータを受け渡すためには、図４に破線で示すように、表示オブジェクト１１３１が内部メモリ１１０内の内部デバイス１１５又は空き領域１１０ｅや外部デバイスの空き領域２１０ｂにデータを一時記憶させる必要があり、表示オブジェクト１１３２が内部メモリ１１０内の内部デバイス１１５又は空き領域１１０ｅや外部デバイスの空き領域２１０ｂにデータを参照して取得する必要がある。これにより、表示オブジェクト１１３１から表示オブジェクト１１３２へ受け渡すべきデータ、すなわち中間的なデータのために、内部メモリ１１０内の内部デバイス１１５又は空き領域１１０ｅや外部デバイスの空き領域２１０ｂが消費されてしまう。また、この内部メモリ１１０をユーザが参照することを前提に他の画面を作成してしまうと、あとからのアドレス変更がしにくい。
【０１２４】
それに対して、実施の形態にかかるプログラマブル表示器１００では、生成された複合オブジェクインスタンス１１３がインスタンス用仮想デバイス１１３７を有する。このため、複合オブジェクトで複数機能・オブジェクト間でやり取りするデバイスは、内部デバイスの空き領域１１０ｄ等とは独立した、オブジェクトのインスタンス毎に固有のメモリを用いることができるので、内部デバイス１００内の内部デバイス１１５又は空き領域１１０ｅ等が消費されることを防止できる。また、インスタンス用仮想デバイス１１３７内のアドレスは仮想的なアドレスなので、アドレス変更も容易である。
【０１２５】
なお、上記の実施形態では、複合オブジェクトのクラス定義から１つのインスタンスを生成する場合について説明したが、複合オブジェクトのクラス定義から複数のインスタンスを生成しても良い。この場合でも、インスタンス用仮想デバイス１１３７は、インスタンスごとにインスタンス内に生成される。
【０１２６】
また、上記の実施形態では、１つの複合オブジェクトのクラス定義について説明しているが、複数の複合オブジェクトのクラス定義があり、これらに応じたインスタンスが複数生成されてもよい。
【産業上の利用可能性】
【０１２７】
以上のように、本発明にかかるプログラマブル表示器は、複数の機器の制御に有用である。
【符号の説明】
【０１２８】
１０  制御システム
１００  プログラマブル表示器
１０１  制御部
１０２  通信処理部
１０３  作画データ処理部
１０４  表示制御部
１０５  入力制御部
１０６  タッチパネル付き表示画面
１０７  通信処理部
１１０  内部デバイス
１１０ａ〜１１０ｃ  記憶領域
１１０ｄ  空き領域
１１１  作画データ
１１２  クラス定義情報
１１３  複号オブジェクトインスタンス
１１４  画面データ
２００  ＰＬＣ
２０１  制御部
２０２  通信処理部
２０３  通信処理部
２１０  外部デバイス
２１０ａ  記憶領域
２１０ｂ  空き領域
３０１〜３０３  機器
４００  作画装置
４０１  制御部
４０２  操作部
４０３  表示部
４１０  記憶部
４１１  作画ソフトウェア
４１２  作画データ
４１３  クラス定義情報
１０６１  表示部
１０６２  入力部
【図１】
2012117539.tif 000003
【図２】
2012117539.tif 000004
【図３】
2012117539.tif 000005
【図４】
2012117539.tif 000006
【図５】
2012117539.tif 000007
【図６】
2012117539.tif 000008
【図７】
2012117539.tif 000009
【図８】
2012117539.tif 000010
【図９】
2012117539.tif 000011
【図１０】
2012117539.tif 000012
【図１１】
2012117539.tif 000013
【図１２】
2012117539.tif 000014
【図１３】
2012117539.tif 000015
【図１４】
2012117539.tif 000016
【図１５】
2012117539.tif 000017
【手続補正書】
【提出日】平成23年11月14日(2011.11.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の機器を制御する制御装置に接続され前記制御装置に対するユーザインターフェースとして機能するプログラマブル表示器であって、
複数のオブジェクトが１つの複合オブジェクトとして紐付けられるように前記プログラマブル表示器のユーザ（画面設計者）の指示に応じて自動生成されたクラス定義情報を含む作画データを取得する取得手段と、
前記クラス定義情報に従って、複合オブジェクトインスタンスを生成するインスタンス生成手段と、
前記生成された複合オブジェクトインスタンスに従って、前記複合オブジェクトに対応した画面を表示部に表示する表示制御手段と、
を備え、
前記生成されたインスタンスは、
前記複数のオブジェクトと、
前記複数のオブジェクトの間でデータを受け渡す際に相互参照されるインスタンス用仮想デバイスと、
を有し、
前記クラス定義情報は、
前記複数のオブジェクトを互いに識別する複数のオブジェクト識別情報と、
前記複数のオブジェクトの属性を示す複数のプロパティと、
前記複数のオブジェクトにおけるプロパティ変更時の連動動作を規定する複数の連動情報と、
前記インスタンス用仮想デバイスを使用するか否かを示す仮想デバイス使用情報と、
を含み、
前記複数の連動情報のそれぞれは、自分のプロパティの変更に関する連動先となる他のオブジェクトを指定する連動先指定情報を含み、
前記インスタンス生成手段は、前記インスタンス用仮想デバイスを使用することが前記仮想デバイス使用情報により示される場合、前記インスタンス用仮想デバイスを介して前記複数のオブジェクトを結合して１つのインスタンス内に組み込むことにより、前記複合オブジェクトインスタンスを生成する
ことを特徴とするプログラマブル表示器。
【請求項２】
前記複数のオブジェクトは、
それぞれ前記画面の一部となるべき複数の表示オブジェクトと、
前記表示オブジェクトに関連した機能オブジェクトと、
前記表示オブジェクト又は前記機能オブジェクトの動作を規定するスクリプトオブジェクトと、
を有する
ことを特徴とする請求項１に記載のプログラマブル表示器。
【請求項３】
複数の機器を制御する制御装置に接続され前記制御装置に対するユーザインターフェースとして機能するプログラマブル表示器で実行されるべき作画データを作成する作画データの作成方法であって、
前記プログラマブル表示器のユーザ（画面設計者）の指示に応じて、複数のオブジェクトを１つの複合オブジェクトとして紐付けて定義して、クラス定義情報を自動生成する生成工程と、
前記複数のオブジェクトの間の関係を規定するように、前記生成されたクラス定義情報を編集する編集工程と、
前記編集されたクラス定義情報を含むように、前記プログラマブル表示器へ供給すべき作画データを作成する作成工程と、
を備え、
前記クラス定義情報は、
前記複数のオブジェクトを互いに識別する複数のオブジェクト識別情報と、
前記複数のオブジェクトの属性を示す複数のプロパティと、
前記複数のオブジェクトにおけるプロパティ変更時の連動動作を規定する複数の連動情報と、
前記インスタンス用仮想デバイスを使用するか否かを示す仮想デバイス使用情報と、
を含み、
前記複数の連動情報のそれぞれは、自分のプロパティの変更に関する連動先となる他のオブジェクトを指定する連動先指定情報を含み、
前記仮想デバイス使用情報は、前記プログラマブル表示器のインスタンス生成手段が、前記インスタンス用仮想デバイスを使用することが前記仮想デバイス使用情報により示される場合、前記インスタンス用仮想デバイスを介して前記複数のオブジェクトを結合して１つのインスタンス内に組み込むことにより、複合オブジェクトインスタンスを生成するための情報である
ことを特徴とする作画データの作成方法。
【請求項４】
前記複数のオブジェクトは、前記プログラマブル表示器において表示される画面の一部となるべき複数の表示オブジェクトを有し、
前記編集工程は、
第１の表示オブジェクトと第２の表示オブジェクトとの配置関係が連動するか独立であるかを規定する配置編集工程と、
前記第１の表示オブジェクトと前記第２の表示オブジェクトとの大きさが連動するか独立であるかを規定する大きさ編集工程と、
を有する
ことを特徴とする請求項３に記載の作画データの作成方法。
【請求項５】
前記プログラマブル表示器が、前記クラス定義情報を含む前記作画データを取得する取得工程と、
前記プログラマブル表示器が、前記クラス定義情報に従って、複合オブジェクトインスタンスを生成する第２の生成工程と、
前記プログラマブル表示器が、前記生成された複合オブジェクトインスタンスに従って、前記複合オブジェクトに対応した画面を表示部に表示する表示工程と、
をさらに備え、
前記表示工程では、前記配置編集工程で規定された配置関係と前記大きさ編集工程で規定された大きさの関係とに基づいて、前記第１の表示オブジェクトと前記第２の表示オブジェクトとを前記表示部に表示する
ことを特徴とする請求項４に記載の作画データの作成方法。
【請求項６】
前記複数のオブジェクトは、前記プログラマブル表示器において表示される画面の一部となるべき複数の表示オブジェクトを有し、
前記編集工程では、第１の表示オブジェクトの配置を第２の表示オブジェクトに対する相対座標により規定する
ことを特徴とする請求項３に記載の作画データの作成方法。
【手続補正書】
【提出日】平成24年9月21日(2012.9.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の機器を制御する制御装置に接続され前記制御装置に対するユーザインターフェースとして機能するプログラマブル表示器であって、
複数のオブジェクトが１つの複合オブジェクトとして紐付けられるように前記プログラマブル表示器のユーザの指示に応じて自動生成されたクラス定義情報を含む作画データを取得する取得手段と、
前記クラス定義情報に従って、複合オブジェクトインスタンスを生成するインスタンス生成手段と、
前記生成された複合オブジェクトインスタンスに従って、前記複合オブジェクトに対応した画面を表示部に表示する表示制御手段と、
を備え、
前記生成されたインスタンスは、
前記複数のオブジェクトと、
前記複数のオブジェクトの間でデータを受け渡す際に相互参照されるインスタンス用仮想デバイスと、
を有し、
前記クラス定義情報は、
前記複数のオブジェクトを互いに識別する複数のオブジェクト識別情報と、
前記複数のオブジェクトの属性を示す複数のプロパティと、
前記複数のオブジェクトにおけるプロパティ変更時の連動動作を規定する複数の連動情報と、
前記インスタンス用仮想デバイスを使用するか否かを示す仮想デバイス使用情報と、
を含み、
前記複数の連動情報のそれぞれは、自分のプロパティの変更に関する連動先となる他のオブジェクトを指定する連動先指定情報を含み、
前記インスタンス生成手段は、前記インスタンス用仮想デバイスを使用することが前記仮想デバイス使用情報により示される場合、前記インスタンス用仮想デバイスを介して前記複数のオブジェクトを結合して１つのインスタンス内に組み込むことにより、前記複合オブジェクトインスタンスを生成し、
前記インスタンス用仮想デバイスは、前記複数のオブジェクトの間でデータを受け渡す際に相互参照される仮想的なメモリであり、
前記インスタンス用仮想デバイスは、仮想アドレスを添え字とする配列要素であり、
前記インスタンス用仮想デバイスは、前記生成されたインスタンスの外部からアクセスできないように構成されており、
前記自動生成されたクラス定義情報は、マークアップ言語により記述され、
前記自動生成されたクラス定義情報には、作画設定ユーザインターフェース画面を定義するためのブロックがマークアップ言語でさらに追加される
ことを特徴とするプログラマブル表示器。
【請求項２】
前記複数のオブジェクトは、
それぞれ前記画面の一部となるべき複数の表示オブジェクトと、
前記表示オブジェクトに関連した機能オブジェクトと、
前記表示オブジェクト又は前記機能オブジェクトの動作を規定するスクリプトオブジェクトと、
を有する
ことを特徴とする請求項１に記載のプログラマブル表示器。
【請求項３】
複数の機器を制御する制御装置に接続され前記制御装置に対するユーザインターフェースとして機能するプログラマブル表示器で実行されるべき作画データを作成する作画データの作成方法であって、
前記プログラマブル表示器のユーザの指示に応じて、複数のオブジェクトを１つの複合オブジェクトとして紐付けて定義して、クラス定義情報を自動生成する生成工程と、
前記複数のオブジェクトの間の関係を規定するように、前記生成されたクラス定義情報を編集する編集工程と、
前記編集されたクラス定義情報を含むように、前記プログラマブル表示器へ供給すべき作画データを作成する作成工程と、
を備え、
前記クラス定義情報は、
前記複数のオブジェクトを互いに識別する複数のオブジェクト識別情報と、
前記複数のオブジェクトの属性を示す複数のプロパティと、
前記複数のオブジェクトにおけるプロパティ変更時の連動動作を規定する複数の連動情報と、
前記複数のオブジェクトの間でデータを受け渡す際に相互参照されるインスタンス用仮想デバイスを使用するか否かを示す仮想デバイス使用情報と、
を含み、
前記複数の連動情報のそれぞれは、自分のプロパティの変更に関する連動先となる他のオブジェクトを指定する連動先指定情報を含み、
前記仮想デバイス使用情報は、前記プログラマブル表示器のインスタンス生成手段が、前記インスタンス用仮想デバイスを使用することが前記仮想デバイス使用情報により示される場合、前記インスタンス用仮想デバイスを介して前記複数のオブジェクトを結合して１つのインスタンス内に組み込むことにより、複合オブジェクトインスタンスを生成するための情報であり、
前記インスタンス用仮想デバイスは、前記複数のオブジェクトの間でデータを受け渡す際に相互参照される仮想的なメモリであり、
前記インスタンス用仮想デバイスは、仮想アドレスを添え字とする配列要素であり、
前記インスタンス用仮想デバイスは、前記生成されたインスタンスの外部からアクセスできないように構成されており、
前記自動生成されたクラス定義情報は、マークアップ言語により記述され、
前記作画データの作成方法は、
前記自動生成されたクラス定義情報に、作画設定ユーザインターフェース画面を定義するためのブロックがマークアップ言語をさらに追加する追加工程をさらに備えた
ことを特徴とする作画データの作成方法。
【請求項４】
前記複数のオブジェクトは、前記プログラマブル表示器において表示される画面の一部となるべき複数の表示オブジェクトを有し、
前記編集工程は、
第１の表示オブジェクトと第２の表示オブジェクトとの配置関係が連動するか独立であるかを規定する配置編集工程と、
前記第１の表示オブジェクトと前記第２の表示オブジェクトとの大きさが連動するか独立であるかを規定する大きさ編集工程と、
を有する
ことを特徴とする請求項３に記載の作画データの作成方法。
【請求項５】
前記プログラマブル表示器が、前記クラス定義情報を含む前記作画データを取得する取得工程と、
前記プログラマブル表示器が、前記クラス定義情報に従って、複合オブジェクトインスタンスを生成する第２の生成工程と、
前記プログラマブル表示器が、前記生成された複合オブジェクトインスタンスに従って、前記複合オブジェクトに対応した画面を表示部に表示する表示工程と、
をさらに備え、
前記表示工程では、前記配置編集工程で規定された配置関係と前記大きさ編集工程で規定された大きさの関係とに基づいて、前記第１の表示オブジェクトと前記第２の表示オブジェクトとを前記表示部に表示する
ことを特徴とする請求項４に記載の作画データの作成方法。
【請求項６】
前記複数のオブジェクトは、前記プログラマブル表示器において表示される画面の一部となるべき複数の表示オブジェクトを有し、
前記編集工程では、第１の表示オブジェクトの配置を第２の表示オブジェクトに対する相対座標により規定する
ことを特徴とする請求項３に記載の作画データの作成方法。
【国際調査報告】
2012117539.tif 000018
2012117539.tif 000019