(57)【特許請求の範囲】
【請求項１】
監視対象装置に接続するハイブリッドレンダリングＨＭＩ端末装置であって、
前記監視対象装置の状態を表す第１パーツおよび第２パーツが配置されたＨＭＩ画面を表示するＷｅｂブラウザと、
前記監視対象装置からの信号データがアナログ数値データである場合に、当該信号データに関連付いた前記第１パーツをＷｅｂＧＬレンダリングにより描画するＷｅｂＧＬレンダリング処理部と、
前記監視対象装置からの信号データがアナログ数値データ以外のデータである場合に、当該信号データに関連付いた前記第２パーツをＳＶＧレンダリングにより描画するＳＶＧレンダリング処理部と、
を備えることを特徴とするハイブリッドレンダリングＨＭＩ端末装置。
【請求項２】
前記ＷｅｂＧＬレンダリングは、ｏｆｆｃａｎｖａｓ領域に数値データの文字列表現に必要なフォントを予め描画し、ＷｅｂＧＬのテクスチャマッピング機能を用いて、前記ｏｆｆｃａｎｖａｓ領域から前記アナログ数値データを表現する文字列をｃａｎｖａｓ領域に転送することにより前記第１パーツを描画し、
前記ＳＶＧレンダリングは、前記Ｗｅｂブラウザが管理するＤＯＭ内のｓｖｇエレメントを更新することにより前記第２パーツを描画すること、
を特徴とする請求項１記載のハイブリッドレンダリングＨＭＩ端末装置。
【請求項３】
前記アナログ数値データは、電圧データ若しくは電流データであること、
を特徴とする請求項１又は２記載のハイブリッドレンダリングＨＭＩ端末装置。
【請求項４】
監視対象装置に接続するハイブリッドレンダリングＨＭＩ端末装置であって、
Ｗｅｂブラウザを表示するディスプレイと、
プログラムを実行するプロセッサと、
前記プロセッサにより実行されると、
前記監視対象装置の状態を表す第１パーツおよび第２パーツが配置されたＨＭＩ画面を前記Ｗｅｂブラウザに表示し、
前記監視対象装置からの信号データがアナログ数値データである場合に、当該信号データに関連付いた前記第１パーツをＷｅｂＧＬレンダリングにより描画し、
前記監視対象装置からの信号データがアナログ数値データ以外のデータである場合に、当該信号データに関連付いた前記第２パーツをＳＶＧレンダリングにより描画する、
処理を行うプログラムを記憶するメモリと、
を備えるハイブリッドレンダリングＨＭＩ端末装置。
【請求項５】
前記メモリは、メインメモリとＧＰＵメモリとを備え、
前記ＷｅｂＧＬレンダリングは、前記メインメモリ上の領域に数値データの文字列表現に必要なフォントを予め描画し、ＷｅｂＧＬのテクスチャマッピング機能を用いて、前記領域から、前記アナログ数値データを表現する文字列を前記ＧＰＵメモリへ転送することにより前記第１パーツを描画し、
前記ＳＶＧレンダリングは、前記メインメモリ上で、前記Ｗｅｂブラウザが管理するＤＯＭ内のｓｖｇエレメントを更新することにより、前記第２パーツを描画する、
請求項４記載のハイブリッドレンダリングＨＭＩ端末装置。
【請求項６】
前記アナログ数値データは、電圧データ若しくは電流データであること、
を特徴とする請求項４又は５記載のハイブリッドレンダリングＨＭＩ端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂブラウザ上でＳＣＡＤＡ ＨＭＩが動作するハイブリッドレンダリングＨＭＩ端末装置に関する。
【背景技術】
【０００２】
ＳＣＡＤＡ（Ｓｕｐｅｒｖｉｓｏｒｙ Ｃｏｎｔｒｏｌ Ａｎｄ Ｄａｔａ Ａｃｑｕｉｓｉｔｉｏｎ）は、社会インフラシステムを監視制御する仕組みとして知られている。社会インフラシステムは、鉄鋼圧延システム、電力送変電システム、上下水道処理システム、ビル管理システム、道路システムなどである。【０００３】
ＳＣＡＤＡは、産業制御システムの一種であり、コンピュータによるシステム監視とプロセス制御を行う。ＳＣＡＤＡでは、システムの処理性能に合わせた即応性（リアルタイム性）が必要である。【０００４】
ＳＣＡＤＡは一般に次のようなサブシステムから構成される。
（１）ＨＭＩ（Ｈｕｍａｎ Ｍａｃｈｉｎｅ Ｉｎｔｅｒｆａｃｅ）
ＨＭＩは、対象プロセス（監視対象装置）のデータをオペレータに提示し、オペレータがプロセスを監視し制御できるようにする機構である。例えば特許文献１には、ＳＣＡＤＡクライアント上で動作するＨＭＩ画面を備えるＳＣＡＤＡ ＨＭＩが開示されている。
（２）監視制御システム
監視制御システムは、プロセス上の信号データを収集し、プロセスに対して制御コマンドを送る。ＰＬＣ（Ｐｒｏｇｒａｍａｂｌｅ Ｌｏｇｉｃ Ｃｏｎｔｒｏｌｌｅｒ）などによって構成される。
（３）遠方入出力装置（Ｒｅｍｏｔｅ Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  ：ＲＩＯ）
遠方入出力装置は、プロセス内に設置されたセンサと接続し、センサの信号をデジタルのデータに変換し、そのデジタルデータを監視制御システムに送る。
（４）通信基盤
通信基盤は、監視制御システムと遠方入出力装置を接続する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】日本特開２０１７−２７２１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
Ｗｅｂブラウザ上でＨＭＩ画面を動作させるＳＣＡＤＡ ＨＭＩを構築する場合、ＨＭＩ画面は、ＳＶＧ形式の図面が、Ｗｅｂブラウザが管理するＤＯＭに読み込まれて表示される。ＨＭＩ画面上のパーツの色変えのためにＤＯＭ内のｓｖｇエレメントの変更を行った場合、Ｗｅｂブラウザはその変更を検知して、ＨＭＩ画面を更新する。このようなＳＶＧレンダリングの描画性能は低速であり、ＤＯＭ ＧＣ（Ｇａｒｂａｇｅ Ｃｏｌｌｅｃｔｉｏｎ）が発生しやすく、その際には表示遅延が発生する。【０００７】
ところで、ＳＣＡＤＡが監視対象とする装置は、高速に動作、変化している場合がある。そうしたシステムのＳＣＡＤＡ ＨＭＩでは、監視対象装置からの信号データを高速に表示する必要がある。しかし、上述したＳＶＧレンダリング方式では、この要求に応えられない。【０００８】
本発明は、上述のような課題を解決するためになされたもので、Ｗｅｂブラウザ上で動作するＨＭＩ画面を遅延なく表示できるハイブリッドレンダリングＨＭＩ端末装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的の達成のため、本発明に係るハイブリッドレンダリングＨＭＩ端末装置は以下のように構成される。【００１０】
本発明に係るハイブリッドレンダリングＨＭＩ端末装置は、Ｗｅｂブラウザと、ＷｅｂＧＬ（Ｗｅｂ Ｇｒａｐｈｉｃｓ Ｌｉｂｒａｒｙ）レンダリング処理部と、ＳＶＧレンダリング処理部と、を備える。【００１１】
Ｗｅｂブラウザは、監視対象装置の状態を表す第１パーツおよび第２パーツが配置されたＨＭＩ画面を表示する。第１パーツはアナログ数値データを表示するパーツである。第２パーツはアナログ数値データ以外のデータを表示するパーツである。【００１２】
ＷｅｂＧＬレンダリング処理部は、監視対象装置からの信号データがアナログ数値データである場合に、当該信号データに関連付いた第１パーツをＷｅｂＧＬレンダリングにより描画する。好ましくは、ＷｅｂＧＬレンダリングは、ｏｆｆｃａｎｖａｓ領域（メインメモリ領域）に数値データの文字列表現に必要なフォントを予め描画する。そして、ＷｅｂＧＬのテクスチャマッピング機能を用いて、ｏｆｆｃａｎｖａｓ領域（前記メインメモリ領域）からアナログ数値データを表現する文字列をｃａｎｖａｓ領域（ＧＰＵメモリ領域）に転送することにより第１パーツを描画する。【００１３】
ＳＶＧレンダリング処理部は、監視対象装置からの信号データがアナログ数値データ以外のデータである場合に、当該信号データに関連付いた第２パーツをＳＶＧレンダリングにより描画する。ＳＶＧレンダリングは、Ｗｅｂブラウザが管理するＤＯＭ内のｓｖｇエレメントを更新することにより第２パーツを描画する。
【発明の効果】
【００１４】
本発明によれば、高い描画性能を発揮するＷｅｂＧＬレンダリングと、ＨＭＩの開発コスト軽減に寄与するＳＶＧレンダリングとのハイブリッドレンダリング方式を採用することで、Ｗｅｂブラウザ上で動作するＨＭＩ画面を遅延なく表示すると共に、ＳＣＡＤＡ ＨＭＩの効率的に開発することができる。
【図面の簡単な説明】
【００１５】
【図１】ＳＣＡＤＡのシステム構成を示す図である。
【図２】ＳＶＧレンダリングとＷｅｂＧＬレンダリングの表示方式を比較した図である。
【図３】ハイブリッドレンダリング方式のＨＭＩ端末装置の概要を説明するための図である。
【図４】ＨＭＩ端末装置のＷｅｂブラウザ上で動作するＨＭＩ Ｗｅｂランタイムの構成について説明するための図である。
【図５】ＷｅｂＧＬレンダリング処理部におけるフォント属性の管理について説明するための図である。
【図６】ＳＣＡＤＡ Ｗｅｂ ＨＭＩシステムが有するハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施の形態について詳細に説明する。但し、以下に示す実施の形態において各要素の個数、数量、量、範囲等の数に言及した場合、特に明示した場合や原理的に明らかにその数に特定される場合を除いて、その言及した数にこの発明が限定されるものではない。また、以下に示す実施の形態において説明する構造等は、特に明示した場合や明らかに原理的にそれに特定される場合を除いて、この発明に必ずしも必須のものではない。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。
【００１７】
実施の形態１．
＜全体システム＞
図１は、ＳＣＡＤＡのシステム構成を示す図である。ＳＣＡＤＡは、ＨＭＩ３、監視制御システム４、通信基盤５、ＲＩＯ６をサブシステムとして備え、監視対象装置７に接続する。本明細書では、ＳＣＡＤＡ ＨＭＩ 実行環境であるＨＭＩ３と、ＳＣＡＤＡ ＨＭＩ 開発環境である図面作成装置１とを含めてＳＣＡＤＡ Ｗｅｂ ＨＭＩシステムと称する。
【００１８】
監視制御システム４、通信基盤５、ＲＩＯ６に関する説明は、背景技術で述べた通りであるため省略する。監視対象装置７は、監視制御対象のプラントを構成するセンサ、アクチュエータなどである。
【００１９】
図面作成装置１は、図面エディタ１１を備える。開発環境である図面作成装置１は、図面エディタ１１によりＨＭＩ図面データ２を生成する。ＨＭＩ図面データ２は、ベクターデータであるＳＶＧ（Ｓｃａｌａｂｌｅ Ｖｅｃｔｏｒ Ｇｒａｐｈｉｃｓ）データ２１と、パーツランタイム属性データ２２を含む。
【００２０】
ＨＭＩ３（ＨＭＩサブシステム）は、ＨＭＩサーバ装置３１と、ＨＭＩ端末装置３２とを備える。実行環境であるＨＭＩ３は、ＨＭＩ図面データ２を読み込んでＷｅｂブラウザ３２１上で動作するＨＭＩ Ｗｅｂランタイム３２２（Ｗｅｂアプリケーション）と、ＨＭＩ Ｓｅｒｖｅｒランタイム３１１とが協調し、ＨＭＩサブシステムとして動作する。
【００２１】
＜図面作成装置＞
図面作成装置１が備える図面エディタ１１は、高度な図面編集機能と、図面データをＳＶＧ形式で保存できる機能を有する。図面エディタ１１は、一例として、Ｍｉｃｒｏｓｏｆｔ Ｖｉｓｉｏ（登録商標）である。
【００２２】
図面作成装置１上で動作する図面エディタ１１は、製図部１２と、パーツランタイム属性生成部１３と、ＨＭＩ図面データ出力部１４とを備える。
【００２３】
製図部１２は、ディスプレイ１ｃ（図６）上に、図面を作成するために必要なパーツのプロトタイプが配列されたステンシルエリアと、図面が描かれる製図エリアとを並べて表示する。また、製図部１２は、入出力インタフェース１ｄ（図６）を用いて、開発者に選択されたステンシルエリア上のパーツを、製図エリアの図面上に配置可能である。
【００２４】
パーツの種類には、例えば、ＤＩ（Ｄｉｇｉｔａｌ Ｉｎｐｕｔ）信号パーツ、ＡＩ（Ａｎａｌｏｇ Ｉｎｐｕｔ）信号パーツ、ＤＯ（Ｄｉｇｉｔａｌ Ｏｕｔｐｕｔ）信号パーツ、ＡＯ（Ａｎａｌｏｇ Ｏｕｔｐｕｔ）信号パーツなどがある。
【００２５】
製図エリアの図面上の任意の位置に配置されたパーツは、色、形、位置、大きさなどの静的表示属性を有する。
【００２６】
パーツランタイム属性生成部１３は、製図エリアの図面上にパーツが配置されたときに、当該パーツに固有の、パーツランタイム属性データを自動生成する。具体的には、パーツランタイム属性生成部１３は、パーツが配置されたときに、当該パーツと監視対象装置７とを関連付ける固有の信号名称（アイテム）と、監視対象装置７からの信号データの変化に応じた当該パーツの動的な表示内容と、を関連付けたパーツランタイム属性データを自動生成する。固有の信号名称は、画面ＩＤ、画面内のデバイス番号、パーツ種別を組み合わせて生成される。各パーツは、固有の信号名称を介して信号データや制御コマンドと関連付けられる。
【００２７】
例えば、パーツランタイム属性生成部１３は、ＤＩ信号パーツが配置されたときに、当該パーツと監視対象装置７とを関連付ける固有のデジタル信号名称と、監視対象装置７からの信号データの値がＯＦＦに変化した場合の当該パーツの表示色（色コード）と、を関連付けたパーツランタイム属性データを自動生成する。
【００２８】
また、パーツランタイム属性生成部１３は、ＡＩ信号パーツが配置されたときに、当該パーツと監視対象装置７とを関連付ける固有のアナログ信号名称と、監視対象装置７からの信号データの値を表示するための表示形態（例えば「９９９９．９９」）と、を関連付けたパーツランタイム属性データを自動生成する。
【００２９】
ＨＭＩ画面の監視制御機能を発揮させるために図面上の各パーツについて生成されたパーツランタイム属性データは、ＨＭＩサブシステムの実行時に読み込まれる。
【００３０】
ＨＭＩ図面データ出力部１４は、製図エリアに描かれたパーツが配置された図面のＳＶＧデータ２１と、パーツランタイム属性データ２２とを含むＨＭＩ図面データ２を出力する。ＳＶＧデータ２１は、ｓｖｇエレメントの属性として、配置されたパーツの静的表示属性（色、形、位置、大きさ）を含む。
【００３１】
＜ハイブリッドレンダリング方式のＨＭＩ端末装置＞
ＨＭＩ端末装置３２は、Ｗｅｂブラウザ３２１と、ＨＭＩ Ｗｅｂランタイム３２２と、ＤＯＭ（Ｄｏｃｕｍｅｎｔ Ｏｂｊｅｃｔ Ｍｏｄｅｌ）３２３を予め備える。
【００３２】
Ｗｅｂブラウザ３２１は、少なくとも１つのＳＶＧデータ２１を読み込んでＨＭＩ画面を表示する。ＨＭＩ画面は、ベクターデータで定義された図面を複数組み合わせて構成されている。ＳＶＧ形式の図面（ＳＶＧデータ２１）は、ＨＭＩ Ｗｅｂランタイム３２２によってＷｅｂブラウザ３２１が管理するＤＯＭ（Ｄｏｃｕｍｅｎｔ Ｏｂｊｅｃｔ Ｍｏｄｅｌ）３２３に読み込まれ、描画される。
【００３３】
図２は、ＳＶＧレンダリングとＷｅｂＧＬレンダリングの表示方式を比較した図である。ＨＭＩ Ｗｅｂランタイム３２２が、ＨＭＩ画面上のパーツの色変えのためにＤＯＭ３２３内のｓｖｇエレメントの変更（例えば、色属性の色コードを変更）を行った場合、Ｗｅｂブラウザ３２１はその変更を検知して、ＨＭＩ画面を更新する。このようなＳＶＧレンダリングは、ＤＯＭ内の情報量の増加に伴い描画性能が低下し、また、ＤＯＭ ＧＣ（Ｇａｒｂａｇｅ Ｃｏｌｌｅｃｔｉｏｎ）が発生しやすく、その際には表示遅延が発生する。
【００３４】
ＳＣＡＤＡが監視対象とする監視対象装置７は、高速に動作、変化している場合がある。そのＨＭＩサブシステムでは監視対象装置７が出力した信号の値を高速に表示する必要がある。しかし、上述したＳＶＧレンダリング方式では、この要求に応えられない。
【００３５】
プロセッサ３２ａの１つであるＧＰＵ（Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）を直接操作して描画を行うＷｅｂＧＬでは、ＳＶＧレンダリング方式に比して高速に描画される。また、ＤＯＭ ＧＣも発生しない。そのため、ＷｅｂＧＬレンダリング方式は、高速な描画が要求される場合に適している。一方で、高度な図面編集機能を持つ図面エディタ１１が生成するＳＶＧデータ２１は複雑であり、すべてのパーツをＷｅｂレンダリングで描画することは難しい（開発コストがかかる）。
【００３６】
そこで、本実施形態のシステムでは、ＳＶＧレンダリングとＷｅｂＧＬレンダリングとを適宜使い分けたハイブリッドレンダリング方式を採用する。
【００３７】
図３は、ハイブリッドレンダリング方式のＨＭＩ端末装置３２の概要を説明するための図である。ＳＣＡＤＡシステムで高速に変更する必要があるパーツは、アナログ数値データを表示するＡＩ信号パーツである。電圧や電流などのアナログ数値データは、常に変動しており、そうした変動を画面上にリアルタイムに反映することは重要である。ＡＩ信号パーツのみをＷｅｂＧＬレンダリングで描画することは、ＨＭＩサブシステムの要求仕様に合致している。
【００３８】
そこで、本実施形態では、ＡＩ信号パーツの表示更新に際しては、ＷｅｂＧＬレンダリング方式で、ＤＯＭ３２３のｃａｎｖａｓエレメント３２３ｂを用いてＡＩ信号パーツを描画する。一方、ＡＩ信号パーツ以外のパーツの表示更新に際しては、ＳＶＧレンダリング方式で、ＤＯＭ３２３のｓｖｇエレメント３２３ａの属性を更新して、当該パーツを描画する。
【００３９】
図４は、ＨＭＩ端末装置３２のＷｅｂブラウザ３２１上で動作するＨＭＩ Ｗｅｂランタイム３２２の構成について説明するための図である。まず、ＷｅｂＧＬレンダリングのための事前処理について説明する。ハイブリッドレンダリングを実現するためにＨＭＩ Ｗｅｂランタイムモジュール内のＷｅｂＧＬレンダリング処理部３２２ｉが必要となる。
【００４０】
ＷｅｂＧＬレンダリング処理部３２２ｉは、ＡＩ信号パーツの表示を行うために、ＳＶＧデータ２１内に格納されたＡＩ信号パーツエレメントを使用することもできるが、ＤＯＭ内に格納された情報をアクセスするのは、性能上好ましくない。そのため、ＡＩ信号パーツエレメントに関する情報は、事前にＳＶＧデータ２１から削除し、パーツランタイム属性データ２２に移しておく。ＷｅｂＧＬレンダリング処理部３２２ｉは、パーツランタイム属性データ２２からＡＩ信号パーツの描画に必要な情報を取得する。
【００４１】
次に、ＨＭＩ Ｗｅｂランタイム３２２について説明する。ＨＭＩ Ｗｅｂランタイム３２２は、ＨＭＩ図面データ２を設定パラメータとして読み込んでＷｅｂブラウザ３２１上で動作する。ＨＭＩ Ｗｅｂランタイム３２２は、パーツの種類毎に固有の処理内容を予め定めたライブラリであり、読み込んだ設定パラメータに基づいてＨＭＩ画面上の１のパーツが特定され、当該パーツの固有の処理を担う。すなわち、同種パーツであっても、各パーツに設定される設定パラメータ（例えば固有の信号名称）は異なるため、各パーツの動作は異なる。
【００４２】
ＨＭＩ Ｗｅｂランタイム３２２は、設定パラメータによりパーツと監視対象装置７とを関連付け、監視制御システム４を介して監視対象装置７から固有の信号名称に対応する信号データを受信したときに、ＨＭＩ画面上で、固有の信号名称に対応するパーツの表示を変化させる。
【００４３】
より詳細には、ＨＭＩ Ｗｅｂランタイム３２２は、パーツ固有処理部３２２ａ、ＳＶＧデータ読込処理部３２２ｃ、信号データ受信部３２２ｄ、図面更新部３２２ｅ、イベント処理部３２２ｆ、制御コマンド送信部３２２ｇを備える。
【００４４】
ＳＶＧデータ読込処理部３２２ｃは、ＳＶＧデータ２１を読み込む。パーツ固有処理部３２２ａは、ＳＶＧデータ２１の静的表示属性をパーツ管理情報３２２ｂに含める。パーツ固有処理部３２２ａは、ＳＶＧデータ２１に含まれるパーツ毎に、これ対応するパーツランタイム属性データ２２を読み込み、パーツ管理情報３２２ｂに含める。
【００４５】
パーツ固有処理部３２２ａは、パーツの種類毎に固有の処理内容が予め定められたライブラリ（ＪａｖａＳｃｒｉｐｔ（登録商標）プログラム）に、パーツ管理情報３２２ｂを設定パラメータとして適用して、ＨＭＩ画面上の個々のパーツを機能させる。例として、ＤＩ信号パーツとＡＩ信号パーツの固有処理について説明する。
【００４６】
ＤＩ信号パーツの固有処理は、監視制御システム４を介して監視対象装置７からデジタル信号データを受信し、信号値に応じて、当該パーツの表示色、形を変化させる。ランタイム属性は、デジタル信号名称、信号ＯＦＦ時の表示色、形である。
【００４７】
ＡＩ信号パーツの固有処理は、監視制御システム４を介して監視対象装置７からアナログ信号データ（アナログ数値データ）を受信し、信号値に応じて、データ表示形態の指定に従い、当該パーツに値を表示させる。ランタイム属性は、アナログ信号名称、データの表示形態（「9999.99」など）である。
【００４８】
信号データ受信部３２２ｄは、監視対象装置７からの信号データをＨＭＩ Ｓｅｒｖｅｒランタイム３１１を介して受信する。パーツ固有処理部３２２ａは、パーツ管理情報３２２ｂに基づいて受信した信号データに対応するパーツを特定し、図面上のパーツ表示の更新指示を決定する。
【００４９】
例えば、ＤＩ信号パーツについては、デジタル信号データの値がＯＦＦである場合にＤＯＭ内のｓｖｇエレメントの色属性値をＯＦＦ色の色コードに変更する更新指示が出される。ＡＩ信号パーツについては、アナログ信号データの値を指定された表示形態で表示する更新指示が出される。更新指示は図面更新部３２２ｅへ送信される。
【００５０】
図面更新部３２２ｅは、ＳＶＧレンダリング処理部３２２ｈとＷｅｂＧＬレンダリング処理部３２２ｉを備える。
【００５１】
ＳＶＧレンダリング処理部３２２ｈは、監視対象装置７からの信号データがアナログ数値データ以外のデータである場合に、当該信号データに関連づいたパーツ（例えばＤＩ信号パーツ）をＳＶＧレンダリングにより描画する。ＳＶＧレンダリングは、Ｗｅｂブラウザ３２１が管理するＤＯＭ３２３内のｓｖｇエレメント３２３ａを更新し、Ｗｅｂブラウザ３２１がその変更を検知することで当該パーツを描画する。
【００５２】
ＷｅｂＧＬレンダリング処理部３２２ｉは、監視対象装置７からの信号データがアナログ数値データである場合に、当該信号データに関連付いたＡＩ信号パーツをＷｅｂＧＬレンダリングにより描画する。図５に示すように、ＷｅｂＧＬレンダリングは、ｏｆｆｃａｎｖａｓ領域（メインメモリ領域）に数値データの文字列表現に必要なフォントを予め描画する。そして、ＷｅｂＧＬのテクスチャマッピング（ＵＶマッピング）機能を用いて、ｏｆｆｃａｎｖａｓ領域（メインメモリ領域）からアナログ数値データを表現する文字列をｃａｎｖａｓ領域（ＧＰＵメモリ領域）に転送することにより描画する。これにより、高速な描画が実現できる。
【００５３】
これは、描画するコンテンツが数値データに限られる場合に利用可能である。数値データを表示するためには、０〜９までの数字、小数点、マイナス記号、スペースなど限られたフォントを用意すればよいが、フォントファミリ、フォントサイズ、文字色、背景色などのバリエーションを考慮すると、ｏｆｆｃａｎｖａｓ領域に用意するフォント数は多くなる。そこで、ＷｅｂＧＬレンダリング処理部３２２ｉ内で使用しているフォント属性を管理し、未使用のフォント属性のｏｆｆｃａｎｖａｓフォントは動的に生成し、使用済みのフォント属性のｏｆｆｃａｎｖａｓフォントは再利用する仕組みを実現する。
【００５４】
ハイブリッドレンダリングでのＷｅｂＧＬレンダリングでは、ＵＶマッピングによるメインメモリ上のｃｏｎｔａｉｎｅｒの更新と、ｒｅｎｄｅｒによるＧＰＵメモリ上のｖｉｅｗ領域の更新という２段階の更新処理を行っている。図５の例では、ｃｏｎｔａｉｎｅｒの大きさは、物理スクリーンの大きさに対して、縦、横とも５倍の大きさを確保している。これはＨＭＩでの画面のズーミングを１倍〜５倍まで行う場合である。ｎ倍まで行う場合は、縦方向、横方向ともｎ倍の大きさを確保する必要がある。これは、ズーミングした場合も含めて表示に必要な全イメージをメモリ上に保持するためである。ズーミングの現在のズームレベルをｐ（１≦ｐ≦ｎ）とした場合、ｒｅｎｄｅｒでｃｏｎｔａｉｎｅｒ上のイメージをＣＰＵメモリ上のｖｉｅｗ領域に転送する際に、１／ｐに縮小して転送している。
【００５５】
Ｗｅｂ ＧＩＳ（例えば、Ｇｏｏｇｌｅ ｍａｐｓ（登録商標））のようなリアルタイム性が必要のないシステムでは、このようにすべてのイメージをメモリ上に保持せずに、ズーミングやパニングが発生した時点で、再描画を行っている。そのため、ｃｏｎｔａｉｎｅｒには、物理スクリーンと同じ大きさのメモリだけを確保しておけばいいが、ズーミングやパニング時の再表示で遅延が発生する。
【００５６】
一方、ＳＣＡＤＡ ＨＭＩのようなリアルタイム性が必要なシステムでは、このような遅延は許されないため、ｃｏｎｔａｉｎｅｒ上に全イメージを確保しておき、ズーミングやパニング時には、ｒｅｎｄｅｒの実行だけで再表示が完了する。ＵＶマッピングにより全テキストデータのフォントイメージをｃｏｎｔａｉｎｅｒ領域に展開するのに比べると、ｒｅｎｄｅｒの実行は高速である。ｃｏｎｔａｉｎｅｒ領域をＧＰＵメモリ上に確保する方法もあるが、その場合、ＧＰＵメモリ量の大きいハイエンドの高価なグラフィックプロセッサが必要となるため、ｃｏｎｔａｉｎｅｒ領域はメインメモリ上に確保する方が、コストパフォーマンス面で有利となる。
【００５７】
図４に戻りＨＭＩ Ｗｅｂランタイム３２２の説明を続ける。イベント処理部３２２ｆは、各パーツに関連するキーボードまたはマウスイベントを検出する。パーツ固有処理部３２２ａは、パーツ管理情報３２２ｂに基づき、検出したイベントに対応する制御コマンドを決定する。制御コマンド送信部３２２ｇは、ＨＭＩ Ｓｅｒｖｅｒランタイム３１１へ制御コマンドを送信する。
【００５８】
＜ＨＭＩサーバ装置＞
ＨＭＩ Ｓｅｒｖｅｒランタイム３１１は、ＨＭＩサーバ装置３１上で動作する。ＨＭＩ Ｓｅｒｖｅｒランタイム３１１の処理は以下の通りである。
（１）アプリケーションサーバを内蔵し、Ｗｅｂブラウザ３２１に対して、ＨＭＩ Ｗｅｂランタイムコンテンツを供給する。
（２）監視制御システム４と通信し、監視対象装置７からの信号データをＨＭＩ Ｗｅｂランタイム３２２に送信するとともに、ＨＭＩ Ｗｅｂランタイム３２２からの制御コマンドを監視制御システム４へ送信する。
【００５９】
以上説明したように、本実施形態のハイブリッドレンダリング方式のＨＭＩ端末装置によれば、高速描画が必要な信号データに関して、ｏｆｆｃａｎｖａｓ上に、使用するすべてのフォントイメージをキャッシュしたり、メインメモリのｃｏｎｔａｉｎｅｒ上にズーミングも考慮した全画面イメージを保持したりすることにより、高速描画を実現している。上述したような地図サービスでは、ズーミングレベルや使用されるフォントのサイズ、種類に制限を設けることはできないため、この手法を適用することはできない。しかし、監視制御システムのＨＭＩでは、動作するアプリケーションが特定され、ズーミングレベルや使用されるフォントのサイズ、種類を一定の範囲に限定できるため、この方式が実現可能となる。
【００６０】
＜ハードウェア構成例＞
ＳＣＡＤＡ Ｗｅｂ ＨＭＩシステムの主要部のハードウェア構成について図６を参照して説明する。図６は、ＳＣＡＤＡ Ｗｅｂ ＨＭＩシステムが有するハードウェア構成例を示すブロック図である。
【００６１】
図１に示す図面作成装置１の各部は、図面作成装置１が有する機能の一部を示し、各機能は処理回路により実現される。処理回路は、プロセッサ１ａと、メモリ１ｂと、ディスプレイ１ｃと、入出力インタフェース１ｄとが接続して構成されている。入出力インタフェース１ｄは、キーボード、マウス等の入力デバイス、ＨＭＩ図面データ２をファイル出力可能なデバイスである。プロセッサ１ａは、メモリ１ｂに記憶された各種プログラムを実行することにより、図面作成装置１の各部の機能を実現する。
【００６２】
図１に示すＨＭＩ端末装置３２の各部は、ＨＭＩ端末装置３２が有する機能の一部を示し、各機能は処理回路により実現される。処理回路は、プロセッサ３２ａと、メモリ３２ｂと、ディスプレイ３２ｃと、入力インタフェース３２ｄとが接続して構成されている。プロセッサ３２ａは、ＣＰＵとＧＰＵとを備える。メモリ３２ｂは、メインメモリとＧＰＵメモリとを備える。なお、ＧＰＵとＧＰＵメモリは、外部スロットに増設されるグラフィックボード上に配置されても良い。入力インタフェース３２ｄは、キーボード、マウス等の入力デバイス、ＨＭＩ図面データ２を読込可能なデバイスである。また、処理回路は、ＨＭＩサーバ装置３１と接続し信号データおよび制御コマンドを送受信可能なネットワークデバイス（図示省略）も備える。プロセッサ３２ａは、メモリ３２ｂに記憶された各種プログラムを実行することにより、ＨＭＩ端末装置３２の各部の機能を実現する。
【００６３】
図１に示すＨＭＩサーバ装置３１の各部は、ＨＭＩサーバ装置３１が有する機能の一部を示し、各機能は処理回路により実現される。処理回路は、プロセッサ３１ａと、メモリ３１ｂと、ネットワークインタフェース３１ｄとが接続して構成されている。ネットワークインタフェース３１ｄは、監視制御システム４とＨＭＩ端末装置３２と接続し、信号データおよび制御コマンドを送受信可能なデバイスである。プロセッサ３１ａは、メモリ３１ｂに記憶された各種プログラムを実行することにより、ＨＭＩサーバ装置３１の各部の機能を実現する。
【００６４】
以上、本発明の実施の形態について説明したが、本発明は、上記の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【符号の説明】
【００６５】
１  図面作成装置
１１  図面エディタ
１２  製図部
１３  パーツランタイム属性生成部
１４  ＨＭＩ図面データ出力部
２  ＨＭＩ図面データ
２１  ＳＶＧデータ
２２  パーツランタイム属性データ
３  ＨＭＩ
３１  ＨＭＩサーバ装置
３１１  ＨＭＩ Ｓｅｒｖｅｒランタイム
３２  ＨＭＩ端末装置
３２１  Ｗｅｂブラウザ
３２２  ＨＭＩ Ｗｅｂランタイム
３２３  ＤＯＭ
３２３ａ  ｓｖｇエレメント
３２３ｂ  ｃａｎｖａｓエレメント
４  監視制御システム
５  通信基盤
６  ＲＩＯ
７  監視対象装置
３２２ａ  パーツ固有処理部
３２２ｂ  パーツ管理情報
３２２ｃ  ＳＶＧデータ読込処理部
３２２ｄ  信号データ受信部
３２２ｅ  図面更新部
３２２ｆ  イベント処理部
３２２ｇ  制御コマンド送信部
３２２ｈ  ＳＶＧレンダリング処理部
３２２ｉ  ＷｅｂＧＬレンダリング処理部
１ａ、３１ａ、３２ａ  プロセッサ
１ｂ、３１ｂ、３２ｂ  メモリ
１ｃ、３２ｃ  ディスプレイ
１ｄ  入出力インタフェース
３１ｄ  ネットワークインタフェース
３２ｄ  入力インタフェース
【要約】
ハイブリッドレンダリングＨＭＩ端末装置（３２）は、Ｗｅｂブラウザ（３２１）、ＨＭＩ Ｗｅｂランタイム（３２２）を備える。Ｗｅｂブラウザ（３２１）は、監視対象装置（７）の状態を表す第１パーツおよび第２パーツが配置されたＨＭＩ画面を表示する。ＷｅｂＧＬレンダリング処理部（３２２ｉ）は、監視対象装置（７）からの信号データがアナログ数値データである場合に、当該信号データに関連付いた前記第１パーツをＷｅｂＧＬレンダリングにより描画する。ＳＶＧレンダリング処理部（３２２ｈ）は、監視対象装置（７）からの信号データがアナログ数値データ以外のデータである場合に、当該信号データに関連付いた前記第２パーツをＳＶＧレンダリングにより描画する。【図１】
0006552775.tif 000002
【図２】
0006552775.tif 000003
【図３】
0006552775.tif 000004
【図４】
0006552775.tif 000005
【図５】
0006552775.tif 000006
【図６】
0006552775.tif 000007