(57)【要約】【課題】複数の表示画面に複数のウィンドウを表示する際に、ウィンドウの表示位置を適切な位置に制御できるようにする。【解決手段】第１の表示画面１６−１に対応する第１の座標系と、第２の表示画面１６−２に対応する第２の座標系と、を管理する座標管理手段１１１と、第１及び第２の表示画面１６−１及び１６−２の一方に第１のウィンドウを表示するとともに、第１のウィンドウに関連付けられた第２のウィンドウの表示位置の決定に用いる座標系を、前記第１及び第２の表示画面１６−１及び１６−２の選択条件に従って前記第１及び第２の座標系から選択する表示制御手段１１２と、を備える。【選択図】図２
2012194765.tif 000002
【特許請求の範囲】
【請求項１】
第１の表示画面に対応する第１の座標系と、第２の表示画面に対応する第２の座標系と、を管理する座標管理手段と、
前記第１及び第２の表示画面の一方に第１のウィンドウを表示するとともに、前記第１のウィンドウに関連付けられた第２のウィンドウの表示位置の決定に用いる座標系を、前記第１及び第２の表示画面の選択条件に従って前記第１及び第２の座標系から選択する表示制御手段と、
を備えた、表示システム。
【請求項２】
前記選択条件は、ポインティングデバイスのカーソルの座標が含まれる表示画面を選択することであり、
前記表示制御手段は、前記選択した表示画面に対応する座標系を基準に前記第２のウィンドウの表示位置を決定する、請求項１に記載の表示システム。
【請求項３】
前記第２のウィンドウは、前記第１のウィンドウに設定されたターゲットに対する操作に応じて呼び出されるサブウィンドウである、請求項１又は２に記載の表示システム。
【請求項４】
前記第１及び第２の表示画面は、それぞれ別個の表示装置に表示される画面である、請求項１〜３のいずれか１項に記載の表示システム。
【請求項５】
第１の表示画面に対応する第１の座標系と第２の表示画面に対応する第２の座標系とを管理する表示システムにおける表示制御方法であって、
前記第１及び第２の表示画面の一方に第１のウィンドウを表示する処理と、
前記第１のウィンドウに関連付けられた第２のウィンドウの表示位置の決定に用いる座標系を、前記第１及び第２の表示画面の選択条件に従って前記第１及び第２の座標系から選択する処理と、
を含む表示制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一態様は、複数の表示画面に複数のウィンドウを表示する技術に関する。
【背景技術】
【０００２】
従来、プラントの操作と監視とを行なうための画面を表示する、プラント制御システムの表示装置が知られている。
【０００３】
当該表示装置では、マルチウィンドウの環境下で効率的な操作と監視を行なうために、操作監視用のウィンドウをグループ化し、グループ化したウィンドウセットを管理する。また、プラントで発生したメッセージをシステムメッセージウィンドウとしてウィンドウの重ね合わせの最上位に表示するよう、ウィンドウの重ね合わせの切り替えを行なう。
【０００４】
これにより、システムメッセージウィンドウを常に最前面ウィンドウとして表示し続けることができ、マルチウィンドウ環境でシステムメッセージウィンドウが他のウィンドウの背後に隠れ、プラントで発生したメッセージを見落とすことが防止される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−１２４２８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術は、表示装置の単一の表示画面に表示する複数ウィンドウの管理及び重ね合わせの切り替えについて教示するに留まる。
【０００７】
本発明の目的の一つは、複数の表示画面に複数のウィンドウを表示する際に、ウィンドウの表示位置を適切な位置に制御できるようにすることにある。
【０００８】
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【０００９】
本発明の表示システムの一態様は、第１の表示画面に対応する第１の座標系と、第２の表示画面に対応する第２の座標系と、を管理する座標管理手段と、前記第１及び第２の表示画面の一方に第１のウィンドウを表示するとともに、前記第１のウィンドウに関連付けられた第２のウィンドウの表示位置の決定に用いる座標系を、前記第１及び第２の表示画面の選択条件に従って前記第１及び第２の座標系から選択する表示制御手段と、を備える。
【００１０】
ここで、前記選択条件は、ポインティングデバイスのカーソルの座標が含まれる表示画面を選択することであり、前記表示制御手段は、前記選択した表示画面に対応する座標系を基準に前記第２のウィンドウの表示位置を決定する、こととしてもよい。
【００１１】
また、前記第２のウィンドウは、前記第１のウィンドウに設定されたターゲットに対する操作に応じて呼び出されるサブウィンドウである、こととしてもよい。
【００１２】
さらに、前記第１及び第２の表示画面は、それぞれ別個の表示装置に表示される画面である、こととしてもよい。
【００１３】
また、本発明の表示システムにおける表示制御方法の一態様は、第１の表示画面に対応する第１の座標系と第２の表示画面に対応する第２の座標系とを管理する表示システムにおける表示制御方法であって、前記第１及び第２の表示画面の一方に第１のウィンドウを表示する処理と、前記第１のウィンドウに関連付けられた第２のウィンドウの表示位置の決定に用いる座標系を、前記第１及び第２の表示画面の選択条件に従って前記第１及び第２の座標系から選択する処理と、を含む。
【図面の簡単な説明】
【００１４】
【図１】一実施形態に係る表示システムの一例を示すブロック図である。
【図２】図１に例示した表示システムの機能ブロック図である。
【図３】図１に例示した表示システムにおいて表示されるグラフィックウィンドウの一例を示す図である。
【図４】図１に例示した表示システムにおいて用いられるレイアウト設定ウィンドウの一例を示す図である。
【図５】図１に例示した表示システムにおいて用いられるレイアウト設定ウィンドウの一例を示す図である。
【図６】図１に例示した表示システムにおけるモニタの表示例を示す図である。
【図７】図１に例示した表示システムにおけるモニタの表示例を示す図である。
【図８】図１に例示した表示システムの動作（ウィンドウ表示制御）を説明するフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形（各実施例を組み合わせる等）して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【００１６】
〔１〕一実施形態の説明
図１は、一実施形態に係る表示システムの一例を示すブロック図である。図１に示す表示システム１は、例示的に、ＣＰＵ（Central Processing Unit）１１、ＲＡＭ（Random Access Memory）１２、ＲＯＭ（Read Only Memory）１３、ハードディスク等の記憶装置１４、１又は複数のインターフェース（Ｉ／Ｆ）１５Ａ〜１５Ｄ、複数のモニタ１６−１〜１６−Ｎ（Ｎは自然数であり、以下ではＮ＝２と仮定する）、キーボード１７、マウス１８等のポインティングデバイスを備える。
【００１７】
キーボード１７及びマウス１８は、表示システム１のユーザが表示システム１に情報を入力するために用いられる入力デバイスの一例である。キーボード１７は、タッチパネル式のものでもよい。入力情報の一例は、どのモニタ１６−ｉ（ｉ＝１〜Ｎのいずれか）にどのウィンドウをどのようなレイアウト（座標）で表示させるか等を指定する情報である。ウィンドウレイアウトの設定例については図４を用いて後述する。
【００１８】
モニタ１６−ｉは、それぞれ、液晶ディスプレイ、ＰＤＰ（プラズマ・ディスプレイ・パネル）、ＨＭＤ（ヘッドマウントディスプレイ）等の表示装置である。モニタ１６−ｉは、例えばＣＰＵ１１による表示制御の下、ＲＡＭ１２やＲＯＭ１３、記憶装置１４に記憶されているデータを表示する。なお、モニタ１６−ｉのいずれか又はすべては、情報入力が可能なタッチパネル式のものでもよい。
【００１９】
インターフェース１５Ａ〜１５Ｄは、それぞれモニタ１６−ｉ、キーボード１７及びマウス１８等の周辺機器（ペリフェラル）を接続するために用いられるインターフェースである。当該インターフェースには、例示的に、ＵＳＢ、ＩＥＥＥ１３９４、シリアル、パラレル、赤外線、無線等のインターフェースを用いることができる。
【００２０】
記憶装置１４は、例えばモニタ１６−ｉの表示画面制御を行なう表示制御プログラムを記憶する。表示制御プログラムは、コンピュータ読取可能な記録媒体に記録された形態で提供することができる。記録媒体には、例えば、ハードディスク、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＢＤ（Blue-ray Disk）、ＲＯＭカートリッジ、バッテリバックアップ付きＲＡＭカートリッジ、フラッシュメモリカートリッジ、不揮発性ＲＡＭカートリッジ等が含まれる。コンピュータの一例である表示システム１は当該記録媒体から表示制御プログラムを読み取って記憶装置１４やＲＡＭ１２に転送し格納して用いる。また、表示制御プログラムは、例えばインターネット等の通信ネットワークを介して表示システム１に提供することもできる。
【００２１】
なお、「コンピュータ」とは、例示的に、ハードウェアとオペレーティングシステム（ＯＳ）とを含む概念であり、ＯＳの制御の下で動作するハードウェアを意味することがある。また、ＯＳが不要でプログラム単独でハードウェアを動作させることが可能な場合には、そのハードウェアがコンピュータに相当すると位置付けることができる。ハードウェアは、ＣＰＵ等の演算装置と、記録媒体に記録されたプログラムを読み取り可能な読み取り装置とを含むことができる。
【００２２】
表示制御プログラムは、上述のようなコンピュータに、表示システム１としての機能を実現させるプログラムコードを含んでいる。その機能の一部はプログラムではなくＯＳによって実現されてもよい。
【００２３】
ＲＯＭ１３は、不揮発性記憶媒体の一例であり、例えば、表示システム１が起動する際に、ＣＰＵ１１にマイクロコードを設定したり、各部を初期化したり、記憶装置１４からＯＳ等を起動し、プログラムが実行されるような指示を行なったりするためのプログラムやデータを記憶する。
【００２４】
ＲＡＭ１２は、揮発性記憶媒体の一例であり、ＣＰＵ１１の作業領域（ワークメモリ）を提供する。
【００２５】
ＣＰＵ１１は、演算処理能力を備えたプロセッサの一例である。ＣＰＵ１１は、ＲＯＭ１３や記憶装置１４に記憶されたプログラムやデータ、インターフェース１５Ａ〜１５Ｄを通じて与えられる各種入力情報を作業領域であるＲＡＭ１２に展開し、展開したプログラム等に従って動作することにより、コンピュータを表示システム１として機能させる。なお、ＣＰＵ１１の代わりに、ＭＰＵ（Micro Processing Unit）や、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Processor）を用いてもよい。
【００２６】
次に、図２に図１に例示した表示システム１の機能ブロック図を示す。図２に示す表示システム１は、上述したようにＣＰＵ１１がＲＡＭ１２、ＲＯＭ１３及び記憶装置１４と協働して表示制御プログラムを実行することよって、例示的に、モニタ／ウィンドウ管理部１１１及びウィンドウ表示制御部１１２としての機能を有する。
【００２７】
モニタ／ウィンドウ管理部（以下、単に「管理部」ともいう。）１１１は、例示的に、モニタ１６−ｉを識別する情報（以下「モニタＩＤ」と称する。）や、個々のモニタ１６−ｉの表示領域に対応する座標系及びサイズのデータ、モニタ１６−ｉのいずれかに表示する１又は複数のウィンドウのデータ等、をＲＡＭ１２やＲＯＭ１３、記憶装置１４において管理する。
【００２８】
「モニタＩＤ」は、例示的に、メインモニタとサブモニタ、あるいはプライマリモニタとセカンダリモニタといったモニタ１６−ｉの名称や、モニタ１６−ｉに割り当てられた番号等であってよい。
【００２９】
「ウィンドウ」には、１又は複数のアプリケーションがグラフィカルユーザインタフェース（ＧＵＩ）で表示するウィンドウが含まれてよい。別言すると、モニタ／ウィンドウ管理部１１１は、個々のアプリケーションに依存しない独立したウィンドウ管理を可能にする。
【００３０】
「ウィンドウのデータ」には、モニタ１６−ｉの表示画面におけるウィンドウの名称や、種類、表示位置（座標データ）、表示サイズ、表示形式等を示すデータ（以下「属性データ」という。）が含まれてよい。
【００３１】
「ウィンドウ」の一例は、プラント等の監視制御のために表示されるプラント監視制御ウィンドウである。プラント監視制御ウィンドウには、例示的に、グラフィックウィンドウ、グラフィックサブウィンドウ等の複数種類のウィンドウが含まれてよい。
【００３２】
グラフィックウィンドウは、例えばプラント等に配置されたポンプ、タンク、バルブ等の機器や、当該機器の運転状態等を検出するセンサ等の計器類、それらの接続関係を示す配管等を、所定の画面部品（アイコン等）データを用いて視覚的に表示するウィンドウである。
【００３３】
図３に、グラフィックウィンドウ１６０の表示例を示す。図３は、プラント設備の一例である減圧軽油脱硫装置の構成を視覚的に表示している。図３には、例示的に、反応塔供給加熱炉（Ｆ−１）、積留塔供給加熱炉（Ｆ−２）、アミンタンク、サワーガスタンク、硫化水素回収系、配管等の要素がそれぞれに対応する画面部品を用いて表示されている。
【００３４】
このようなグラフィックウィンドウ１６０には、他のウィンドウやプログラム等を呼び出すスクリプト等の簡易的なプログラムを関連付けることができる。例えばグラフィックウィンドウ１６０の所定位置に設定（表示）されるメニューやアイコンに所定のイベントの発生に応じて別のウィンドウを出現（例えばポップアップ表示）させるスクリプトを関連付けておくことで、当該イベントの発生に応じて別のウィンドウをモニタ１６−ｉの画面に出現させることができる。
【００３５】
別のウィンドウの一例は、グラフィックウィンドウに関連付けられたグラフィックサブウィンドウ１６１である。また、所定のイベントが発生する例としては、メニューやボタン（以下「ターゲット」ともいう。）に対するユーザの操作（例えばマウスクリック）が挙げられる。
【００３６】
グラフィックサブウィンドウ１６１は、例えばグラフィックウィンドウに表示されている画面部品に対応する機器や計器類の詳細や設定（制御パラメータやリミット値等）、状態等の情報を表示する。
【００３７】
グラフィックサブウィンドウ１６１には、例示的に、機器や計器類についてのアラーム情報を表示するアラームサブウィンドウ、機器や計器類についてのメッセージを表示するメッセージサブウィンドウ、機器や計器類の状態を表示したり調整したりするために用いられるフェイスプレートサブウィンドウ、計器類の計測値のヒストリカルデータやリアルタイムデータを表示するトレンドサブウィンドウ等が含まれてよい。
【００３８】
上述した各種ウィンドウは、モニタ／ウィンドウ管理部１１１において、適宜、相互に関連付けることで階層化して管理することができる。
【００３９】
ウィンドウ表示制御部１１２は、管理部１１１で管理されている上記各種ウィンドウの属性データに基づいて、当該ウィンドウをモニタ１６−ｉの表示画面に表示するための制御を行なう。
【００４０】
表示制御には、１又は複数のウィンドウを表示システム１のユーザが使い易いようにモニタ１６−ｉにおいてレイアウトする制御や、ウィンドウに表示された監視対象ポイントや操作ポイント等に対する操作に応じたスクリプトの実行等が含まれてよい。
【００４１】
モニタ１６−ｉに表示するウィンドウのレイアウトは、上述した各種のウィンドウ別に設定することが可能である。図４及び図５にＧＵＩを用いたレイアウト設定ウィンドウ１１０の一例を示す。
【００４２】
レイアウト設定ウィンドウ１１０には、例示的に、所定の設定項目を有する設定タブがウィンドウ＃０〜＃Ｍ（Ｍは自然数であり、例えば６）別に用意されている。ユーザは、設定を行ないたい設定タブをマウスクリック等によって選択して、選択したウィンドウ＃ｊ（ｊ＝０〜Ｍのいずれか）について設定項目（フィールド）に応じた設定データの入力を行なう。
【００４３】
設定項目の一例としては、ウィンドウ＃ｊに関する「基本データ」や、ウィンドウ＃ｊを表示すべき「位置とサイズ」等が挙げられる。「基本データ」には、例示的に、当該ウィンドウ＃ｊの表示の有効／無効を制御するデータ（フラグ）、当該ウィンドウ＃ｊの表示先「モニタ」を指定する情報が含まれてよい。
【００４４】
表示先「モニタ」の指定は、モニタＩＤ（例えば、プライマリ＝１、セカンダリ＝２等）で明示的に行なってもよいし、他のパラメータ、例えばマウスカーソルの現在の表示位置に依存して表示先の「モニタ」が決まるようにしてもよい。例示的に、「カーソル位置依存」（例えば、モニタＩＤ＝０）を指定すると、マウスカーソルが表示されているモニタ１６−ｉにウィンドウ＃ｊを表示させる設定となる。
【００４５】
ウィンドウ＃ｊを表示すべき「位置」の設定は、例示的に、「基本データ」により特定されたモニタ（「カーソル位置依存」の場合はマウスカーソルが現在表示されているモニタ）１６−ｉの座標を入力することで行なう。別言すると、ウィンドウ＃ｊの表示位置の指定は、「モニタ」と当該「モニタ」に対応する座標系における「座標」（相対座標）との組み合わせで行なうことができる。
【００４６】
別言すると、本実施形態におけるウィンドウ＃ｊの表示位置の管理、制御は、複数のモニタ１６−ｉの表示画面を１つの表示画面として管理する座標系（絶対座標）を基準にするのではなく、モニタ１６−ｉ別の表示画面に対応する座標系（相対座標）を基準にする。
【００４７】
なお、モニタ１６−ｉに対応する座標系の基準座標や、モニタ１６−ｉに表示するウィンドウ＃ｊの基準となる座標は、自由に設定してよいが、非限定的な一例として、モニタ１６−ｉの表示領域やウィンドウ＃ｊに向かって例えば左上角や右下角等に決めておくと設定が容易である。
【００４８】
図４の例では、「基本データ」により特定されたモニタ１６−ｉに向かって左上角を基準座標（原点）とし、当該原点を基準にウィンドウ＃ｊの基準座標（例えば左上角の座標）を例えばピクセル単位で設定できることを示している。表示するウィンドウ＃ｊの「サイズ」（幅×高さ）は、例えばピクセル単位で設定できる。図４には、モニタ１６−ｉの左上角（原点）として画面サイズと同じサイズ（１２８０×１０２４）でウィンドウ＃０が表示される設定が例示されている。
【００４９】
一方、図５の例は、別のウィンドウ＃１についての設定例を示しており、例えばモニタ１６−ｉの左上角を原点として１７０×８８０のサイズのウィンドウ（サブウィンドウ）＃１の左上角が（１０８０，１２０）の座標に位置するようウィンドウ＃１（フェイスプレート＄ＦＳＰ）を（モニタ１６−ｉの常に前面に）表示させる設定例を示している。
【００５０】
図４及び図５に例示した設定により、例えばウィンドウ＃０とサブウィンドウ＃１とを図３や図６に例示するようなレイアウトでモニタ１６−ｉに表示させることが可能になる。
【００５１】
以上のようにしてレイアウト設定ウィンドウ１１０の各設定項目に入力された情報は、例えば「ＯＫ」ボタンをマウスクリックすることで、既述の属性データの一例としてモニタ／ウィンドウ管理部１１１にて記憶、管理される。
【００５２】
以下、本実施形態の表示システム１による表示制御の一例について、図６〜図８を用いて詳述する。なお、以下では、便宜的に、モニタ数がＮ＝２の場合であり、モニタ１６−１が第１の表示画面を表示するプライマリモニタ、モニタ１６−２が第２の表示画面を表示するセカンダリモニタであると仮定する。また、プライマリモニタ１６−１に対応する座標系が第１の座標系の一例であり、セカンダリモニタ１６−２に対応する第２の座標系の一例である。
【００５３】
まず、プライマリモニタ１６−１及びセカンダリモニタ１６−２のいずれか一方（例えば図６に例示するようにプライマリモニタ１６−１）に、例えば図３に例示した減圧軽油脱硫装置についてのグラフィックウィンドウ１６０が表示されているとする。当該グラフィックウィンドウ１６０は、第１のウィンドウの一例である。
【００５４】
なお、他方の表示内容は不問であるが、図６には、例示的に、減圧軽油脱硫装置に対して設定された複数の監視ポイントについてのトレンドグラフを並列的に表示するウィンドウ（グループウィンドウ）１６２が表示された様子を示している。
【００５５】
かかる表示状態において、ユーザが、例えば当該グラフィックウィンドウ１６０に表示されたアイコン等のターゲットに対する操作（例えばマウスクリック等）を行なう。すると、当該ターゲットに関連付けられたスクリプトがウィンドウ表示制御部１１２にて実行され、当該ターゲットに対応するグラフィックサブウィンドウ（例えばフェイスプレートサブウィンドウ）１６１が呼び出される（ポップアップ表示される）。当該サブウィンドウ１６１は第２のウィンドウの一例である。呼び出されたサブウィンドウ１６１は、既述のレイアウト設定ウィンドウ１１０（図４参照）を通じて指定された座標に自動的に配置される。
【００５６】
ここで、仮に、指定された座標がプライマリモニタ１６−１の表示領域に対応する座標系を基準にした絶対座標で指定されていたとする。この場合、サブウィンドウの呼び出し元のグラフィックウィンドウ（以下「親ウィンドウ」ともいう。）１６０がプライマリモニタ１６−１に表示されていたとすると、親ウィンドウ１６０から呼び出されたサブウィンドウ１６１は、プライマリモニタ１６−１に所期の位置に表示される。
【００５７】
しかし、例えば図７に点線枠１６１で示すように、親ウィンドウ１６０がセカンダリモニタ１６−２に表示された状態でサブウィンドウ１６１が呼び出されると、サブウィンドウ１６１は、プライマリモニタ１６−１の表示領域に対応する座標系を基準にした絶対座標指定のため、親ウィンドウ１６０が表示されているセカンダリモニタ１６−２とは異なるプライマリモニタ１６−１に表示されてしまう。
【００５８】
これは、呼び出し元のウィンドウと関係性のあるサブウィンドウが、呼び出し元のウィンドウが表示されているモニタ１６−２とは異なるモニタ１６−１に表示される結果になることを意味する。別言すると、プライマリモニタ１６−１には、その表示内容とは無関係あるいは関係性の低いサブウィンドウが表示されることになる。結果として、ユーザの誤認識や誤操作を誘発する可能性がある。
【００５９】
そこで、本実施形態では、図４を用いて説明したように、呼び出し元のウィンドウと関係性のあるサブウィンドウの表示位置を、「モニタ」を指定する情報と当該「モニタ」に対応する座標を基準にした「相対座標」との組み合わせで指定する。
【００６０】
これにより、サブウィンドウは、その呼び出し方法（例えばスクリプトの記述内容）を変更しなくても、指定されたモニタ１６−ｉに望ましい位置で表示させることができる。仮に、モニタ１６−ｉの指定（別言すると、モニタ１６−ｉの選択条件）を「カーソル位置依存」に設定しておけば、サブウィンドウは、当該サブウィンドウの呼び出し元である親ウィンドウが表示されているモニタ１６−ｉに表示させることができる。
【００６１】
図８に、以上のようなウィンドウ表示制御を実現するフローチャートの一例を示す。まず、或るウィンドウがモニタ１６−ｉのいずれかに表示されている状態で、当該ウィンドウのサブウィンドウＡ（以下、単に「ウィンドウＡ」と表記する。）が呼び出されると（処理Ｐ１０）、ウィンドウ表示制御部１１２は、管理部１１１から当該ウィンドウＡのモニタＩＤ（例示的にモニタ番号）と相対座標とを取得する（処理Ｐ２０）。
【００６２】
次いで、ウィンドウ表示制御部１１２は、モニタ番号（＃Ｎ）＝０であるか否か（すなわち、「カーソル位置依存」が指定されているか否か）をチェックする（処理Ｐ３０）。「カーソル位置依存」が指定されていれば（処理Ｐ３０でＹＥＳであれば）、ウィンドウ表示制御部１１２は、マウスカーソルの現在位置（座標）を検知（取得）する（処理Ｐ４０）。
【００６３】
さらに、ウィンドウ表示制御部１１２は、モニタ番号Ｎを１に設定した上で（処理Ｐ５０）、モニタ＃番号Ｎ＝１のモニタ１６−１が存在するか否かをチェックする（処理Ｐ６０）。モニタ番号Ｎ＝１のモニタ１６−１が存在すれば（処理Ｐ６０でＹＥＳであれば）、ウィンドウ表示制御部１１２は、管理部１１１から当該モニタ１６−１の表示領域の座標とサイズとを取得する（処理Ｐ７０）。
【００６４】
そして、ウィンドウ表示制御部１１２は、マウスカーソルの現在位置座標と、取得したモニタ１６−１の座標及びサイズとを比較することにより、マウスカーソルの現在位置座標がモニタ１６−１の表示領域に含まれているか否か、すなわちマウスカーソルがモニタ１６−１に表示されているか否かをチェックする（処理Ｐ８０）。
【００６５】
マウスカーソルがモニタ１６−１に表示されていなければ（処理Ｐ８０でＮＯであれば）、ウィンドウ表示制御部１１２は、モニタ番号Ｎを１つインクリメント（Ｎ＝Ｎ＋１）し（処理Ｐ９０）、他のモニタ１６−２にマウスカーソルが表示されているか否かを同様にチェックする（処理Ｐ６０）。
【００６６】
モニタ１６−１（又は１６−２）にマウスカーソルが表示されていれば（処理Ｐ８０でＹＥＳであれば）、ウィンドウ表示制御部１１２は、当該モニタ１６−１（又は１６−２）に対応する座標系（あるいは当該座標系の基準座標）を取得し（処理Ｐ１２０）、当該座標系の基準座標とウィンドウＡの相対座標とを加算した座標にウィンドウＡを表示する（処理Ｐ１３０）。別言すると、ウィンドウ表示制御部１１２は、各モニタ１６−１及び１６−２のそれぞれに対応する座標系のうち、マウスカーソルの座標が含まれる座標系を選択し、選択した座標系を基準にウィンドウＡの表示位置を決定する。
【００６７】
ここで、ウィンドウＡが親ウィンドウのターゲットに対してマウスクリック等の操作によって呼び出された場合、マウスカーソルは、当該操作を行なったモニタ１６−ｉ、すなわちウィンドウＡの呼び出し元である親ウィンドウを表示しているモニタ１６−ｉに表示されている確率が高い。したがって、ウィンドウＡは、マウスクリック等の操作の行なわれたモニタ１６−ｉ、別言すれば、ユーザが作業中のモニタ１６−ｉに表示されることになる。
【００６８】
なお、マウスカーソルがＮ個のどのモニタ１６−ｉにも表示されていない場合（接続ミス等でモニタ数が０とＣＰＵ１１で認識されている場合を含む）、ウィンドウ表示制御部１１２は、例えばエラーメッセージを出力する（処理Ｐ１００）。エラーメッセージの出力先は、存在している（ＣＰＵ１１が接続を認識している）モニタ１６−ｉでもよいし、ＣＰＵ１１（図１参照）に接続されたプリンタ等の周辺機器でもよい。
【００６９】
また、「カーソル位置依存」が指定されていない場合（処理Ｐ３０でＮＯの場合）、ウィンドウ表示制御部１１２は、レイアウト設定ウィンドウ１１０でウィンドウＡについて指定されたモニタ番号（例えばプライマリモニタなら１、セカンダリモニタなら２）を変数Ｎに設定する（処理Ｐ１１０）。
【００７０】
これにより、ウィンドウ表示制御部１１２は、当該モニタ番号Ｎのモニタ１６−ｉに対応する座標系（あるいは当該座標系の基準座標）を取得し（処理Ｐ１２０）、当該座標系の基準座標とウィンドウＡの相対座標とを加算した座標にウィンドウＡを表示する（処理Ｐ１３０）。
【００７１】
以上のように、本実施形態によれば、複数のモニタ１６−ｉを備えた表示システム１において、サブウィンドウの表示位置を、モニタ１６−ｉの選択条件に従って選択した座標系を基準にした相対座標で制御するので、座標系を変換したり、親ウィンドウに設定するスクリプトの内容を変更したりしなくても、サブウィンドウを所期のモニタ１６−ｉに適切な位置で表示することが可能となる。
【００７２】
また、モニタ１６−ｉの選択条件の一例として「カーソル位置依存」を指定しておくことで、サブウィンドウを、当該サブウィンドウの呼び出し元である親ウィンドウが表示されているモニタ１６−ｉに表示させることができる。したがって、ユーザが作業中のモニタ１６−ｉを自動的に認識あるいは推定して、当該モニタ１６−ｉにサブウィンドウを表示させることができる。結果として、ユーザのプラント監視制御に係る作業効率の向上、ユーザの誤認識や誤操作の低減を図ることができ、ひいてはプラント等の保守コストの低減化に寄与する。
【００７３】
〔２〕その他
上述した実施形態では、モニタ１６−ｉ（基準座標系）の選択条件の一例がマウスカーソルの「カーソル位置依存」である例について説明したが、例えばキーボード１７による文字入力等の作業中に表示されるカーソルの表示位置に依存してモニタ１６−ｉ（基準座標系）が選ばれるようにしてもよい。
【００７４】
また、上述した実施形態では、モニタ数Ｎ＝２の場合を中心に表示システム１の動作（ウィンドウ表示制御）について説明したが、図８のフローチャートに例示したように本実施形態のウィンドウ表示制御はＮ≧３の場合に一般化することができる。
【００７５】
さらに、上述した実施形態では、第１の表示画面及び第２の表示画面がそれぞれ別個のモニタ１６−１及び１６−２に表示される態様を例にしたが、同じモニタの表示領域を第１及び第２の表示画面に分割した場合についても上述した実施形態を適用できる。
【００７６】
また、上述した実施形態では、プラントの監視制御に用いられる各種ウィンドウの表示制御に本実施形態を適用したが、当該実施形態は、一般的なマルチウィンドウシステムにおける各種ウィンドウの表示制御に適用してもよい。
【符号の説明】
【００７７】
１…表示システム、１１…ＣＰＵ、１２…ＲＡＭ、１３…ＲＯＭ、１４…記憶装置、１５Ａ〜１５Ｄ…インターフェース、１６−１〜１６−Ｎ…モニタ、１７…キーボード、１８…マウス（ポインティングデバイス）、１１０…レイアウト設定ウィンドウ、１１１…モニタ／ウィンドウ管理部、１１２…ウィンドウ表示制御部、１６０…グラフィックウィンドウ、１６１…グラフィックサブウィンドウ、１６２…グループウィンドウ
【図１】
2012194765.tif 000003
【図２】
2012194765.tif 000004
【図３】
2012194765.tif 000005
【図４】
2012194765.tif 000006
【図５】
2012194765.tif 000007
【図６】
2012194765.tif 000008
【図７】
2012194765.tif 000009
【図８】
2012194765.tif 000010