(57)【要約】【課題】画面の表示更新時に全体画面描画および部分画面描画のいずれを行うかを効率的に判定する。【解決手段】プログラマブル表示器１は、少なくとも１つのオブジェクトを含む画面の全てを描画する全体描画、および前記画面において変化する前記オブジェクトを描画する部分描画のいずれが前記画面を速く更新できるかを基準値に基づいて予測して、予測した前記全体描画または前記部分描画で前記画面を描画する描画部３３１と、少なくとも、前記部分描画に要した部分描画時間の前記全体描画に要した全体描画時間に対する長短に応じて前記基準値を更新する基準値更新部３３３と、を備える。【選択図】図２
2020091354.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのオブジェクトを含む画面を表示する画面表示装置であって、
前記画面の全てを描画する全体描画、および前記画面において変化する前記オブジェクトを描画する部分描画のいずれが前記画面を速く更新できるかを基準値に基づいて予測して、予測した前記全体描画または前記部分描画で前記画面を描画する描画部と、
少なくとも、前記部分描画に要した部分描画時間の前記全体描画に要した全体描画時間に対する長短に応じて前記基準値を更新する基準値更新部と、を備えていることを特徴とする画面表示装置。
【請求項２】
前記オブジェクトは、それぞれに固有の固有値を有し、
前記基準値は、前記画面における全ての前記オブジェクトについての前記固有値の総和に対する任意の比率で予め設定されており、
前記描画部は、変化する前記オブジェクトが有する前記固有値を前記画面において総計した総計値が前記基準値以上であるとき、前記全体描画を行う一方、前記総計値が前記基準値未満であるとき、前記部分描画を行い、
前記基準値更新部は、
前記部分描画時間が前記全体描画時間を超えるときに前記基準値を下げるように更新し、前記部分描画時間が前記全体描画時間以下であるときに前記基準値を上げるように更新するか、あるいは前記基準値を維持することを特徴とする請求項１に記載の画面表示装置。
【請求項３】
前記基準値更新部は、
規定回数の前記部分描画に要した時間の平均である部分描画平均時間が前記全体描画時間を超えるとき、前記基準値を前記全体描画時間に対する前記部分描画平均時間の割合に応じて下げるように更新し、
前記部分描画平均時間が前記全体描画時間以下であるとき、前記規定回数の前記部分描画によって描画された前記オブジェクトの１つ当たりの平均描画時間に前記基準値を乗じることによって前記画面について予測される前記部分描画に要する予測部分描画時間を算出し、
予測部分描画時間が前記全体描画時間未満であるときに、前記基準値を前記全体描画時間に対する前記予測部分描画時間の割合に応じて上げるように更新し、
予測部分描画時間が前記全体描画時間以上であるときに、前記基準値を維持することを特徴とする請求項２に記載の画面表示装置。
【請求項４】
前記オブジェクトは、それぞれに固有の固有値を有し、
前記描画部は、
前記画面の表示が切り替えられたときに前記全体描画を行うとともに、切り替え表示された前記画面の初回の描画更新時に前記部分描画を行い、
前記基準値更新部は、
前記全体描画時間および前記部分描画時間を登録するとともに、切り替え表示された前記画面の初回の描画更新時に描画された前記オブジェクトの前記固有値を前記画面において総計した初期総計値を前記基準値に設定し、
前記描画部は、２回目以降の描画更新時の、
前記部分描画時間が前記全体描画時間未満であるとき、かつ変化する前記オブジェクトが有する前記固有値を前記画面において総計した総計値が前記基準値以下となる第１状態であるとき、
前記部分描画時間が前記全体描画時間未満であるとき、かつ前記総計値が前記基準値を超える第２状態であるとき、または、
前記部分描画時間が前記全体描画時間以上であるとき、かつ前記総計値が前記基準値以下となる第３状態であるときに、前記部分描画を行い、
前記部分描画時間が前記全体描画時間以上であるとき、かつ前記総計値が前記基準値を超える第４状態であるときに、前記全体描画を行い、
前記基準値更新部は、２回目以降の描画更新時に、
前記第１状態における前記部分描画に要した実描画時間が前記全体描画時間以上であるとき、前記第２状態における前記実描画時間が前記全体描画時間未満であるとき、または前記第３状態であるとき、前記部分描画時間を前記実描画時間に更新するとともに、前記基準値を前記総計値に更新し、
前記第２状態における前記実描画時間が前記全体描画時間以上であるとき、前記基準値を前記総計値と前記基準値との平均値に更新するとともに、前記部分描画時間を前記実描画時間と前記部分描画時間との平均値に更新し、
前記第４状態であるとき、前記全体描画時間を新たに行われた前記全体描画に要した前記全体描画時間に更新することを特徴とする請求項１に記載の画面表示装置。
【請求項５】
前記固有値は単位数であることを特徴とする請求項２から４のいずれか１項に記載の画面表示装置。
【請求項６】
前記固有値は前記画面の全体の面積に対するオブジェクトの面積の割合であることを特徴とする請求項２から４のいずれか１項に記載の画面表示装置。
【請求項７】
前記固有値は前記オブジェクトの特性に応じて付与された重みであることを特徴とする請求項２から４のいずれか１項に記載の画面表示装置。
【請求項８】
前記描画部は、前記部分描画を行うときに、前記画面において複数の前記オブジェクトが重なっていることを、前記画面ごとに設定された、複数の前記オブジェクトが重なり合うことを示す重なり情報に基づいて判定し、複数の前記オブジェクトの少なくとも１つが変化するときに、重なり合う複数の前記オブジェクトを描画することを特徴とする請求項１から７のいずれか１項に記載の画面表示装置。
【請求項９】
前記描画部は、重なり合う複数の前記オブジェクトの描画に複数の描画順序が存在するときに、最も効率的に描画を行う前記描画順序を判定し、当該描画順序によって重なり合う複数の前記オブジェクトの描画を行うことを特徴とする請求項８に記載の画面表示装置。
【請求項１０】
前記基準値は前記画面ごとに設定されていることを特徴とする請求項１から９のいずれか１項に記載の画面表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトを含む画面の描画を制御する画面表示装置に関する。
【背景技術】
【０００２】
プログラマブル表示器などのＨＭＩ（Human Machine Interface）機器のような表示装置は、オブジェクトを含む、特定の形式で作成された画面を表示する。このような表示装置は、画面の表示を更新するときに、変化するオブジェクトが少なければ、画面の描画時間を短縮するために、画面全体を描画する全体描画を行わずに、変化するオブジェクトのみを描画する部分描画を行う。
【０００３】
例えば、特許文献１には、通常の描画と、描画データの再利用とを切り替えて、全体の描画時間を短縮する情報機器が記載されている。この情報機器は、描画データの再利用率が再利用可否の判定のための閾値より大きいか否かに応じて、描画データを再利用するか否かを判定している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２１８４７８号公報（２０１３年１０月２４日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般に、画面の表示更新においては、全てのオブジェクトが変化することは少ないので、全体描画よりも部分描画の方が描画時間を短縮することができる。しかしながら、多くのオブジェクトが同時に変化した場合や、オブジェクトの重なりが多い場合は、部分描画よりも全体描画の方が描画時間を短縮できることがある。
【０００６】
これに対し、特許文献１に開示された情報機器では、上記の閾値が固定値であるため、オブジェクトの変化状況によっては、描画データの再利用の可否を適切に判定することができないことがある。その結果、描画データを再利用したにも関わらず、描画データを再利用しなかった場合（全体描画）よりも描画時間が長くなるという不都合が生じてしまう。
【０００７】
本発明の一態様は、画面の表示更新時に全体画面描画および部分画面描画のいずれを行うかを効率的に判定することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明の一態様に係る画面表示装置は、少なくとも１つのオブジェクトを含む画面を表示する画面表示装置であって、前記画面の全てを描画する全体描画、および前記画面において変化する前記オブジェクトを描画する部分描画のいずれが前記画面を速く更新できるかを基準値に基づいて予測して、予測した前記全体描画または前記部分描画で前記画面を描画する描画部と、少なくとも、前記部分描画に要した部分描画時間の前記全体描画に要した全体描画時間に対する長短に応じて前記基準値を更新する基準値更新部と、を備えている。
【０００９】
上記の構成によれば、基準値が部分描画時間の全体描画時間に対する長短に応じて更新されるので、基準値を適正な値に近づけることができる。これにより、部分描画を行ったにも関わらず、全体描画時間よりも部分描画時間が長くなったときには基準値を変更することで、全体描画を行う確率を高めるといった調整を行うことができる。
【００１０】
前記画面表示装置において、前記オブジェクトは、それぞれに固有の固有値を有し、前記基準値は、前記画面における全ての前記オブジェクトについての前記固有値の総和に対する任意の比率で予め設定されており、前記描画部は、変化する前記オブジェクトが有する前記固有値を前記画面において総計した総計値が前記基準値以上であるとき、前記全体描画を行う一方、前記総計値が前記基準値未満であるとき、前記部分描画を行い、前記基準値更新部は、前記部分描画時間が前記全体描画時間を超えるときに前記基準値を下げるように更新し、前記部分描画時間が前記全体描画時間以下であるときに前記基準値を上げるように更新するか、あるいは前記基準値を維持する。
【００１１】
上記の構成によれば、これにより、部分描画を行ったにも関わらず、全体描画時間よりも部分描画時間が長くなったときには基準値を下げることで適正に調整することができる。また、全体描画時間よりも部分描画時間が短いときには、基準値を上げることで適正に調整することができる。
【００１２】
前記画面表示装置において、前記基準値更新部は、規定回数の前記部分描画に要した時間の平均である部分描画平均時間が前記全体描画時間を超えるとき、前記基準値を前記全体描画時間に対する前記部分描画平均時間の割合に応じて下げるように更新し、前記部分描画平均時間が前記全体描画時間以下であるとき、前記規定回数の前記部分描画によって描画された前記オブジェクトの１つ当たりの平均描画時間に前記基準値を乗じることによって前記画面について予測される前記部分描画に要する予測部分描画時間を算出し、予測部分描画時間が前記全体描画時間未満であるときに、前記基準値を前記全体描画時間に対する前記予測部分描画時間の割合に応じて上げるように更新し、予測部分描画時間が前記全体描画時間以上であるときに、前記基準値を維持する。
【００１３】
上記の構成によれば、規定回数行われる部分描画に要した時間が部分描画平均時間として平均化される。これにより、規定回数の部分描画のうち例えばある１回の部分描画のみが突出して長時間を要する場合でも、部分描画平均時間では、その影響が緩和される。そして、基準値を更新する判断を、部分描画平均時間を全体描画時間と比較することによって行う。したがって、突発的に発生する可能性がある部分描画時間の大きな変化による、基準値の誤った更新を抑えることができる。また、全体描画時間に対する予測部分描画時間に対する割合に応じて、基準値を上げるか、基準値を維持するかを選択する。このように、基準値を上げるか維持するかを選択することで、基準値の不要な更新を回避して、より早く基準値を最適値に近づけることができる。
【００１４】
前記画面表示装置において、前記オブジェクトは、それぞれに固有の固有値を有し、前記描画部は、前記画面の表示が切り替えられたときに前記全体描画を行うとともに、切り替え表示された前記画面の初回の描画更新時に前記部分描画を行い、前記基準値更新部は、前記全体描画時間および前記部分描画時間を登録するとともに、切り替え表示された前記画面の初回の描画更新時に描画された前記オブジェクトの前記固有値を前記画面において総計した初期総計値を前記基準値に設定し、前記描画部は、２回目以降の描画更新時の、前記部分描画時間が前記全体描画時間未満であるとき、かつ変化する前記オブジェクトが有する前記固有値を前記画面において総計した総計値が前記基準値以下となる第１状態であるとき、前記部分描画時間が前記全体描画時間未満であるとき、かつ前記総計値が前記基準値を超える第２状態であるとき、または、前記部分描画時間が前記全体描画時間以上であるとき、かつ前記総計値が前記基準値以下となる第３状態であるときに、前記部分描画を行い、前記部分描画時間が前記全体描画時間以上であるとき、かつ前記総計値が前記基準値を超える第４状態であるときに、前記全体描画を行い、前記基準値更新部は、２回目以降の描画更新時に、前記第１状態における前記部分描画に要した実描画時間が前記全体描画時間以上であるとき、前記第２状態における前記実描画時間が前記全体描画時間未満であるとき、または前記第３状態であるとき、前記部分描画時間を前記実描画時間に更新するとともに、前記基準値を前記総計値に更新し、前記第２状態における前記実描画時間が前記全体描画時間以上であるとき、前記基準値を前記総計値と前記基準値との平均値に更新するとともに、前記部分描画時間を前記実描画時間と前記部分描画時間との平均値に更新し、前記第４状態であるとき、前記全体描画時間を新たに行われた前記全体描画に要した前記全体描画時間に更新する。
【００１５】
上記の構成によれば、初回の描画更新時の部分描画で得られる初期総計値が基準値に設定されるので、基準値を予め設定しておく必要がない。
【００１６】
前記画面表示装置において、前記固有値は単位数である。
【００１７】
上記の構成によれば、基準値が簡単に得ることができるオブジェクトの数で規定される。これにより、基準を得るための計算を簡素化することができる。
【００１８】
前記画面表示装置において、前記固有値は前記画面の全体の面積に対するオブジェクトの面積の割合である。
【００１９】
上記の構成によれば、画面に含まれるオブジェクト間で大きさに差があっても、全体描画および部分描画のいずれを行うかを、より適正に判定することができる。
【００２０】
前記画面表示装置において、前記固有値は前記オブジェクトの特性に応じて付与された重みである。
【００２１】
上記の構成によれば、画面に含まれるオブジェクト間で重みに差があっても、全体描画および部分描画のいずれを行うかを、より適正に判定することができる。
【００２２】
前記画面表示装置において、前記描画部は、前記部分描画を行うときに、前記画面において複数の前記オブジェクトが重なっていることを、前記画面ごとに設定された、複数の前記オブジェクトが重なり合うことを示す重なり情報に基づいて判定し、複数の前記オブジェクトの少なくとも１つが変化するときに、重なり合う複数の前記オブジェクトを描画する。
【００２３】
上記の構成によれば、重なり情報に基づいてオブジェクトの重なりを判定して、効率的に重なり合うオブジェクトを描画することができる。
【００２４】
前記画面表示装置において、前記描画部は、重なり合う複数の前記オブジェクトの描画に複数の描画順序が存在するときに、最も効率的に描画を行う前記描画順序を判定し、当該描画順序によって重なり合う複数の前記オブジェクトの描画を行う。
【００２５】
上記の構成によれば、描画をより短い時間で行うことができる順序を選択することで、画面の更新時間を短縮することができる。
【００２６】
前記画面表示装置において、前記基準値は前記画面ごとに設定されている。
【００２７】
上記の構成によれば、画面を切り替えたときに、基準値の最適化を改めて行う必要がなくなる。したがって、基準値が最適値に到達する時間を短くすることができる。
【発明の効果】
【００２８】
本発明の一態様によれば、画面の表示更新時に全体画面描画および部分画面描画のいずれを行うかを効率的に判定することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の各実施形態に係る制御システムの構成を示すブロック図である。
【図２】上記プログラマブル表示器のシステム構成を示すブロック図である。
【図３】上記プログラマブル表示器による画面の表示更新の処理手順を示すフローチャートである。
【図４】上記プログラマブル表示器による画面切替時の処理手順を示すフローチャートである。
【図５】図４のフローチャートの説明で参照する切り替えられる画面の例を示す図である。
【図６】図４のフローチャートにおける処理によってリスト化されたオブジェクト情報とオブジェクト重なり情報とを示す図である。
【図７】上記プログラマブル表示器による基準値更新の処理手順を示すフローチャートである。
【図８】図７のフローチャートにおける処理で用いる第１計算方法で用いる時間比率と係数との関係を示すグラフである。
【図９】図７のフローチャートにおける処理で用いる第２計算方法で用いる時間比率と係数との関係を示すグラフである。
【図１０】上記プログラマブル表示器による他の基準値更新の処理手順を示すフローチャートである。
【図１１】（ａ）および（ｂ）は上記基準値をオブジェクトの面積で規定する場合のオブジェクトと面積を規定する矩形との関係を示す図である。
【図１２】上記基準値をオブジェクトの面積とする場合の上記基準値の更新に利用される、画面全体の面積に対する各オブジェクト割合の例を示す図である。
【発明を実施するための形態】
【００３０】
〔実施形態１〕
本発明の実施形態１について図１〜図９に基づいて説明すると、以下の通りである。
【００３１】
まず、本実施形態に係る制御システムについて説明する。
【００３２】
図１は、本実施形態に係る制御システムの構成を示すブロック図である。図２は、プログラマブル表示器１の要部の構成を示すブロック図である。
【００３３】
プログラマブル表示器１（画面表示装置）は、専用のＯＳ（Operating System）を実装した組み込み機器であり、プログラマブル表示器１の各種の機能を実現するためのＨＭＩプログラムを実行する機能を備えている。プログラマブル表示器１は、工場などの厳しい環境に適合するように、防塵性、防滴性、耐振動性などを高めたＨＭＩ機器である。
【００３４】
ＨＭＩプログラムは、外部機器との通信、当該外部機器から取得したデータの表示、入力装置を用いた操作者による操作の受け付けなどの各種の機能を実現するプログラムである。
【００３５】
まず、プログラマブル表示器１のハードウェア構成について説明する。
【００３６】
図１に示すように、プログラマブル表示器１は、ＣＰＵ（Central Processing Unit）１１と、メインメモリ１２と、ＲＯＭ（Read Only Memory）１３と、ユーザメモリ１４と、タッチパネルを１５と、表示パネル１６（表示部）と、インターフェース部１７とを備えている。
【００３７】
ＣＰＵ１１は、ＨＭＩプログラムを実行する処理装置である。具体的には、ＣＰＵ１１は、ＨＭＩプログラムの実行に際して、メインメモリ１２、ユーザメモリ１４、タッチパネル１５などからデータを受け取り、当該データに対して演算または加工を施した結果を、メインメモリ１２、ユーザメモリ１４、表示パネル１６などに出力する。
【００３８】
メインメモリ１２は、プログラマブル表示器１における主記憶装置を構成するメモリであり、ＤＲＡＭ（Dynamic Random Access Memory）によって構成される。
【００３９】
ＲＯＭ１３は、プログラマブル表示器１の起動時やリセット時に実行されるＢＩＯＳ（Basic Input Output System）などの、プログラマブル表示器１の動作に不可欠なプログラムを記憶している。
【００４０】
ユーザメモリ１４は、ユーザが作成したデータ、例えば後述するＨＭＩ画面を表示するためのメイン画面データを記憶する大容量の記憶装置である。ユーザメモリ１４は、ＦＥＰＲＯＭ（Flash Erasable and Programmable ROM）などで構成されている。
【００４１】
タッチパネル１５は、表示パネル１６上に配置されており、表示パネル１６に表示された画面上でのタッチ操作を受け入れて、タッチ操作信号を入力信号として出力する。
【００４２】
表示パネル１６は、ユーザメモリ１４に記憶されているメイン画面データに基づいたＨＭＩ画面を表示する。表示パネル１６としては、液晶表示パネルなどの平板型表示パネルが用いられる。
【００４３】
インターフェース部１７は、制御機器２と通信可能に接続するための接続部と、ＰＣ（パーソナルコンピュータ）４と通信可能に接続するための接続部とを含んでいる。インターフェース部１７は、シリアルインターフェース、ＬＡＮ（Local Area Network）、ＵＳＢ（Universal Serial Bus）などの各種のインターフェースを装備している。
【００４４】
制御機器２は、ＰＬＣ（Programmable Logic Controller）、温度調節計、インバータなどの外部機器であり、プログラマブル表示器１と通信する機能を備えている。制御機器２は、デバイス２０との間でデータの授受を行なう。デバイス２０としては、センサ、スイッチのような入力機器や、アクチュエータ、リレー、電磁弁、表示器のような出力機器が用いられる。
【００４５】
続いて、プログラマブル表示器１のシステム構成について説明する。
【００４６】
図２に示すように、プログラマブル表示器１は、制御機能を有する部分としてＨＭＩ制御部３を含んでいる。
【００４７】
ＨＭＩ制御部３は、ＨＭＩプログラムがＣＰＵ１１によって実行されることで実現される、ＨＭＩ機能を有する部分である。
【００４８】
ここで、ＨＭＩ機能とは、ユーザの入力操作に応じた制御機器２への指示の発生と、制御機器２からの各種データの取得と、取得した当該各種データの表示および上記入力操作の受け付けを行うためのＨＭＩ画面の表示とを含む機能である。ＨＭＩ制御部３は、ＨＭＩ機能として、ユーザの操作入力および制御機器２が保持するデータの変化に基づいて各部を制御する動作制御部３１と、ＨＭＩ画像の表示を制御する表示制御部３２とを有している。
【００４９】
ＨＭＩ画面は、制御機器２に接続されたデバイス２０の状態を表示したり、タッチパネル１５への操作を受け付けたりするための各種のオブジェクトを含む画面である。ＨＭＩ画面に設けられるオブジェクトとしては、ランプ画像、データ表示器画像、スイッチ画像などの各種の部品画像が用意されている。また、オブジェクトとしては、各種の図形（円形、矩形、多角形、直線など）、イメージなども利用することができる。
【００５０】
このようなＨＭＩ画面を表示するための画面データは、ＰＣ４において作成されて、ユーザメモリ１４に保存されている。ＰＣ４は、画面の作成および編集を行うアプリケーションプログラムによって実現される機能ブロックとして作画編集部４１を備えている。
【００５１】
動作制御部３１は、タッチパネル１５におけるユーザのタッチによる入力操作に応じた操作指示を発生する。この操作指示としては、制御機器２の起動・停止指示、制御機器２に与える制御データの変更、画面の切り替えなどがある。また、動作制御部３１は、制御機器２のデータの変化に応じた制御指示を発生する。この制御指示としては、画面の切り替えなどがある。
【００５２】
表示制御部３２は、画面データに基づいて表示パネル１６にＨＭＩ画面を表示させる制御処理を行う。また、表示制御部３２は、インターフェース部１７を介して取得した制御機器２のデータを、ＨＭＩ画面に反映させる処理を行う。例えば、表示制御部３２は、ＨＭＩ画面において、上述のランプ画像を点灯・消灯させたり、上述のデータ表示器画像にデータを表示させたりする処理を行う。また、表示制御部３２は、上記操作指示に応じてＨＭＩ画面の状態を変化させる処理を行う。例えば、表示制御部３２は、上述のスイッチ画像を操作する上記操作指示を受けて、当該スイッチ画像の表示状態（色、形状など）を変化させる処理を行う。さらに、表示制御部３２は、ユーザの操作に応じてＨＭＩ画面の切り替え処理を行なう。
【００５３】
また、表示制御部３２は、画面（ＨＭＩ画面）の表示の更新において、画面の全てを描画する全体描画と、変化するオブジェクトを描画する部分描画とのいずれかで描画を行う描画制御機能を備えている。表示制御部３２は、この描画制御機能を実現するために、描画部３３１と、描画時間計測部３３２と、基準値更新部３３３とを有している。
【００５４】
描画部３３１は、ユーザメモリ１４に記憶されている画面データに基づいて、表示パネルに表示させる。具体的には、描画部３３１は、画面データを、図示しないビデオメモリに一時的に展開し、表示パネル１６に画素単位で転送する。ビデオメモリは、メインメモリ１２の一部の記憶領域に割り当てられてもよいし、ＶＲＡＭ（Video RAM）として別途設けられてもよい。
【００５５】
また、描画部３３１は、全体描画および部分描画のいずれが画面を速く更新できるかを基準値に基づいて予測して、予測した全体描画または部分描画で、画面をビデオメモリに描画する。
【００５６】
基準値は、後述する基準値更新部３３３が、画面の表示更新時に全体描画および部分描画のいずれを行うかを判定する基準となる値である。本実施形態では、基準値をオブジェクトの数（オブジェクト数）で規定する。また、本実施形態において、オブジェクトは、それぞれに固有の固有値として単位数“１”を有するものとする。基準値の規定については、後述する第１の手法および第２の手法の説明において言及する。
【００５７】
描画時間計測部３３２は、描画部３３１が行う描画の実行時間（描画時間）を計測する。具体的には、描画時間計測部３３２は、描画を開始したという通知を描画部３３１より受けてから、描画を終了したという通知を描画部３３１より受けるまでの時間を計測する。描画時間計測部３３２は、計測した描画時間をメインメモリ１２に記憶させる。
【００５８】
基準値更新部３３３は、上記の基準値を描画時間計測部３３２によって計測された描画時間に基づいて調整することにより更新する。具体的には、基準値更新部３３３は、少なくとも、描画部３３１が部分描画に要した部分描画時間の、描画部３３１が全体描画に要した全体描画時間に対する長短に応じて基準値を更新する。
【００５９】
基準値更新部３３３による基準値の更新については、後に詳しく説明する。
【００６０】
続いて、プログラマブル表示器１による描画の動作について説明する。図３は、プログラマブル表示器１による画面の表示更新の処理手順を示すフローチャートである。
【００６１】
図３に示すように、プログラマブル表示器１において、描画部３３１は、最初に画面を表示するとき、描画モードを全体描画に設定して（ステップＳ１）、当該画面モード、すなわち全体描画で画面を描画する（ステップＳ２）。
【００６２】
次いで、描画部３３１は、オブジェクトに何らかの変化が生じることで画面に更新が必要であるか否かを判定する（ステップＳ３）。描画部３３１は、画面に更新が必要となるまで待機を続ける（ステップＳ３のＮＯ）。また、描画部３３１は、画面に更新が必要であると判定すると（ステップＳ３のＹＥＳ）、画面において更新しなければならないオブジェクト数が基準値以上であるか否かを判定する（ステップＳ４）。
【００６３】
描画部３３１は、ステップＳ４において、更新しなければならないオブジェクト数（固有値“１”を総計した総計値）が基準値以上でないと判定すると（ＮＯ）、画面において更新しなければならないオブジェクトが重なりのないオブジェクトのみであるか否かを判定する（ステップＳ５）。
【００６４】
描画部３３１は、ステップＳ４において、更新しなければならないオブジェクト数が基準値以上であると判定すると（ＹＥＳ）、描画モードを全体描画に設定して（ステップＳ６）、処理をステップＳ２に戻す。
【００６５】
描画部３３１は、ステップＳ５において、更新しなければならないオブジェクトが重なりのないオブジェクトのみであると判定すると（ＹＥＳ）、描画モードを重なり検索を行わない部分描画に設定して（ステップＳ７）、処理をステップＳ２に戻す。また、描画部３３１は、ステップＳ５において、更新しなければならないオブジェクトが重なりのあるオブジェクトを含むと判定すると（ＮＯ）、描画モードを重なり検索を行う部分描画に設定して（ステップＳ８）、処理をステップＳ２に戻す。
【００６６】
ここで、上記の重なり検索について説明する。図４は、プログラマブル表示器１による画面切替時の処理手順を示すフローチャートである。図５は、図４のフローチャートの説明で参照する切り替えられる画面１００の例を示す図である。図６は、図４のフローチャートにおける処理によってリスト化されたオブジェクト情報とオブジェクト重なり情報とを示す図である。
【００６７】
図４に示すように、描画部３３１は、まず、タッチパネル１５への操作などに応じて画面切替が発生すると、切り替えられる画面に含まれるオブジェクト情報をＰＣ４で生成されたオブジェクト重なり情報と共にリスト化する（ステップＳ１１）。
【００６８】
図５に示す画面１００が切り替えられて表示される場合、図６に示すオブジェクト重なり情報が用いられる。オブジェクト重なり情報は、ＰＣ４の作画編集部４１によって、画面の作成時に複数のオブジェクトが重なるように配置された場合に生成される。このオブジェクト重なり情報は、ＰＣ４からプログラマブル表示器１に画面データと併せて転送され、画面データと共にユーザメモリ１４に記憶されている。
【００６９】
画面１００は、オブジェクトとして、スイッチ１０１、数値表示器１０２および円１０３，１０４を含んでいる。スイッチ１０１は、オン・オフ操作、切替操作などをするための操作部品である。数値表示器１０２は、制御機器２などからデータとして取得した数値を表示する表示部品である。円１０４は、円１０３よりも小さく、円１０３の上に重ねて配置されている。円１０３，１０４は、それぞれ異なる色で塗りつぶされている。
【００７０】
画面１００に対するオブジェクト重なり情報は、図６に示すように、スイッチ１０１、数値表示器１０２および円１０３，１０４のそれぞれについて、重なりの有無を対応付けたリスト形式で作成される。このオブジェクト重なり情報においては、画面１００において設けられる各種のオブジェクトについて、オブジェクト名に、序数として１，２，…が付与されている。
【００７１】
描画部３３１は、重なり検索において、上記のように作成されたオブジェクト重なり情報において重なりのあるオブジェクトを検索する。そして、描画部３３１は、重なりのあるオブジェクトについて、画面の表示更新が効率的に行われるような描画更新順序を選択する。例えば、図５に示す円１０３，１０４（二重円）の場合、２つのオブジェクトから構成される二重円は、一方のみが変化するが他方は変化しなくても、全体として描画しなおす必要があるので、他方も描画しなければならない。
【００７２】
例えば、円１０４のみが変化する場合、円１０４のみを変化に応じて描画する。また、円１０３のみが変化する場合、円１０３を変化に応じて描画した後に、円１０４を描画前と同じ状態に描画するというように順序（描画順序）が決まっている。これに対し、円１０３，１０４の両方が変化する場合、どちらから先に変化させるかに応じて、描画順序が異なる。
【００７３】
第１ケースでは、円１０４を変化させた後に円１０３を変化させて円１０４を変化させる。第１ケースは、円１０４を描画した後に、円１０４の上に大きい円１０３を描画するため、最後に円１０３の上に円１０４を描画する必要がある。第２ケースでは、円１０３を変化させた後に円１０４を変化させる。第２ケースが第１ケースより効率的であるので、描画部３３１は、円１０３，１０４の両方が変化する場合は、第２ケースによる順序を選択して円１０３，１０４を描画する。
【００７４】
描画部３３１は、重なりの検索を行った上で、重なり合う複数のオブジェクトを探し出したときに、これらのオブジェクトの変化状況に応じて、効率的な描画の順序を選択し、選択した順序にしたがって描画を行う。このように、描画をより短い時間で行うことができる順序を選択することで、画面の更新時間を短縮することができる。
【００７５】
重なり合うオブジェクトの描画を行う範囲の計算は、座標計算などが必要であり、多くの演算処理を必要とする。このため、パーソナルコンピュータのように処理能力の高いＣＰＵを搭載した機器では、上記の演算処理によるＣＰＵの負担が少ない。しかしながら、プログラマブル表示器１のような専用機では、処理能力の低いＣＰＵを搭載していることが多いため、上記の演算処理によるＣＰＵの負担が大きい。そこで、上記のように、オブジェクトの描画に複数の描画順序が存在するときに、描画部３３１が効率的に描画を行える描画順序を選択することにより、上記演算処理の量を少なくして、ＣＰＵ１１の負担を軽減することができる。
【００７６】
また、描画部３３１は、位置、形状などが変化することによって重なる状態が変化するオブジェクトについても、上記のように、重なりの検索を行った上で、オブジェクトの変化状況に応じて、効率的な描画の順序を選択し、選択した順序にしたがって描画を行う。
【００７７】
位置については、オブジェクトが移動したときに、重なりが生じる場合と重なりが生じない場合とがある。また、形状については、オブジェクトの大きさが変化したときに、重なりが生じる場合と重なりが生じない場合とがある。これらの場合、画面の作成時には重なりを定義できないので、プログラマブル表示器１が実際に描画動作しているときに重なりを判定する必要がある。このため、描画部３３１は、画面の更新を行う前に、これらの重なり状態を認識した上で重なり合うオブジェクトを描画する。
【００７８】
引き続いて、プログラマブル表示器１による基準値の更新動作について説明する。
【００７９】
ここでは、基準値の更新について、代表的な２つの手法について説明する。
【００８０】
まず、第１の手法について説明する。図７は、プログラマブル表示器１による基準値更新の処理手順を示すフローチャートである。
【００８１】
なお、以降の説明では、描画部３３１が全体描画に要した時間を全体描画時間Ｔａとし、描画部３３１が部分描画に要した時間を部分描画時間Ｔｐとする。描画時間計測部３３２は、描画部３３１が全体描画および部分描画を行うごとに、全体描画時間Ｔａおよび部分描画時間Ｔｐを計測して、メインメモリ１２に記憶させている。
【００８２】
図７に示すように、まず、画面描画が繰り返し行われている状態で、描画部３３１は、部分描画がｎ回（規定回数）発生したか否かを判定する（ステップＳ２１）。描画部３３１は、ステップＳ２１において、部分描画がｎ回発生しなかったと判定すると（ＮＯ）、処理を終える。
【００８３】
描画部３３１がステップＳ２１において部分描画がｎ回発生したと判定すると（ＹＥＳ）、基準値更新部３３３は、その判定結果を受けて、ｎ回の部分描画時間Ｔｐの平均が全体描画時間Ｔａを超えたか否かを判定する（ステップＳ２２）。基準値更新部３３３は、ステップＳ２２において、上記の平均が全体描画時間Ｔａを超えたと判定すると（ＹＥＳ）、第１計算方法によって基準値を更新して（ステップＳ２３）、処理を終える。
【００８４】
また、基準値更新部３３３は、ステップＳ２２において、上記の平均が全体描画時間Ｔａ以下であると判定すると（ＮＯ）、さらに予測部分描画時間Ｔｐｐが全体描画時間Ｔａ未満であるか否かを判定する（ステップＳ２４）。
【００８５】
ここで、オブジェクト１つ分の平均描画時間Ｔａｖは、ｎ回の部分描画時間Ｔｐ（Ｔｐ１，Ｔｐ２，…，Ｔｐｎ）の合計をｎ回の更新されたオブジェクトの総数Ｎで除することで算出される（下記の式（１））。また、予測部分描画時間Ｔｐｐは、オブジェクト１つ分の平均描画時間Ｔａｖに基準値Ｖｒを乗じることで算出される（下記の式（２））。
【００８６】
Ｔａｖ＝（Ｔｐ１＋Ｔｐ２＋，…，＋Ｔｐｎ）／Ｎ        …（１）
Ｔｐｐ＝Ｔａｖ＊Ｖｒ        …（２）
基準値更新部３３３は、ステップＳ２４において、予測部分描画時間Ｔｐｐが全体描画時間Ｔａ未満であると判定すると（ＹＥＳ）、第２計算方法によって基準値を更新して（ステップＳ２５）、処理を終える。また、基準値更新部３３３は、ステップＳ２４において、予測部分描画時間Ｔｐｐが全体描画時間Ｔａ以上であると判定すると（ＮＯ）、基準値を維持したまま（ステップＳ２６）、処理を終える。
【００８７】
ステップＳ２６においては、基準値Ｖｒが以下の式で表される値になっている。
【００８８】
（Ｖｒ−１）＊Ｔａｖ ＜Ｔａ≦Ｔａｖ＊Ｖｒ
この場合、基準値を変更する必要はない。
【００８９】
ここで、第１計算方法および第２計算方法について説明する。
【００９０】
図８は、図７のフローチャートにおける処理で用いる第１計算方法で用いる時間比率と係数との関係を示すグラフである。図９は、図７のフローチャートにおける処理で用いる第２計算方法で用いる時間比率と係数との関係を示すグラフである。
【００９１】
まず、第１計算方法について説明する。第１計算方法は、基準値を下げる場合に用いられる。
【００９２】
第１計算方法では、基準値が、画面における全てのオブジェクトについての固有値“１”の総和（オブジェクトの総数）に対する任意の比率で予め設定されている。
【００９３】
ｎ回の部分描画時間Ｔｐの平均である平均部分描画時間Ｔｐａｖが全体描画時間Ｔａを超える場合、基準値更新部３３３は、次の式（３）により、比率Ｒｔ１、すなわち平均部分描画時間Ｔｐａｖを全体描画時間Ｔａと比較して、描画に余分にかかった時間の割合を算出する。比率Ｒｔ１の値が大きいほど、基準値を下げる割合が大きくなる。
【００９４】
Ｒｔ１＝（Ｔｐａｖ／Ｔａ）＊１００−１００（％）        …（３）
基準値更新部３３３は、算出した比率Ｒｔ１に対応する係数を図８に示す関係（グラフ）から求める。例えば、平均部分描画時間Ｔｐａｖが１．５ｓであり、全体描画時間Ｔａが１．０ｓである場合、基準値更新部３３３は、５０％の比率Ｒｔ１を算出し、図８の関係において、比率５０％に対応する係数は２０を求める。なお、図８の横軸は、平均部分描画時間Ｔｐａｖを全体描画時間Ｔａと比較して、描画に余分にかかった時間の割合を示す。
【００９５】
図８に示す関係は、描画に余分にかかった時間が長いほど、係数が大きくなる。描画に余分にかかった時間の割合がある一定値を超えて大きくなると、係数を大きくしない。また、描画に余分にかかった時間の割合がある一定値を超えて小さくなると、係数を小さくしない。図８では、係数の上限を２０と定め、係数の下限を０と定めている。
【００９６】
係数が大きいほど、基準値の変化量が大きくなる。ただし、通常はそれほど係数が大きくならないのに、たまたま大きくなり過ぎると、基準値の変化量が大きくなって、その影響を受けてしまう。このため、基準値を最適値に更新するまでに時間がかかる。そこで、このような影響を受けないように、係数に上限値および下限値を設けている。
【００９７】
係数の下限値が０であるのは、平均部分描画時間Ｔｐａｖや予測部分描画時間Ｔｐｐが全体描画時間Ｔａと比較してあまり差がない場合の処理としては、基準値を変更する必要がほぼないと考えられるからである。また、割合の下限値を変更する（０に近づける）ことで、これらの時間に差がない場合でも（差が０ではない場合）、基準値を変更することが可能である。
【００９８】
ここで、図８における比率の上限値（５０）および下限値（５）は一例であって、これらの値に限定されない。上限値および下限値は、環境に応じて適切な値に設定する。偶発的に生じる極端な変化によって基準値の変化量が大きくなり過ぎないように、比率の上限値および下限値を設けている。
【００９９】
また、係数と、比率の上限値および下限値は予め設定することができる。
【０１００】
そして、基準値更新部３３３は、新たな基準値Ｖｒｎ＋１を現在の基準値Ｖｒｎおよび係数Ｋに基づいて次の式（４）に基づいて算出する。
【０１０１】
Ｖｒｎ＋１＝Ｖｒｎ＊（１００−Ｋ）／１００        …（４）
上記のように、第１計算方法は、更新するオブジェクトの数が基準値よりも少ないにも関わらず、部分描画した結果、全体描画よりも時間がかかってしまったときに使用される。この場合、基準値が大きすぎるために、基準値を下げる必要がある。
【０１０２】
次に、第２計算方法について説明する。第２計算方法は基準値を上げる場合に用いられる。
【０１０３】
第２計算方法でも、予め基準値が設定されている。
【０１０４】
平均部分描画時間Ｔｐａｖが全体描画時間Ｔａ以下である場合、基準値更新部３３３は、次の式（５）による比率Ｒｔ２、すなわち予測部分描画時間Ｔｐｐが全体描画時間Ｔａと比較して、短かった時間の割合を算出する。比率Ｒｔ２の値が大きいほど、基準値を上げる割合が大きくなる。式（５）における予測部分描画時間Ｔｐｐは、上述したステップＳ２４において算出されている。
【０１０５】
Ｒｔ２＝１００−（Ｔｐｐ／Ｔａ）＊１００（％）        …（５）
基準値更新部３３３は、算出した比率Ｒｔ２に対応する係数を図９に示す関係（グラフ）から求める。例えば、予測部分描画時間Ｔｐｐが１．０ｓであり、全体描画時間Ｔａが２．０ｓである場合、基準値更新部３３３は、５０％の比率Ｒｔ２を算出し、図９の関係において、比率５０％に対応する係数は１０を求める。なお、図９の横軸は、予測部分描画時間Ｔｐｐを全体描画時間Ｔａと比較して、短かった時間の割合を示す。
【０１０６】
図９に示す関係では、予測部分描画時間Ｔｐｐが全体描画時間Ｔａよりも短かった時間が長いほど、係数が大きくなる。上記の短かった時間の割合がある一定値を超えて大きくなると、係数を大きくしない。また、上記の短かった時間の割合がある一定値を超えて小さくなると、係数を小さくしない。図９では、係数の上限を１０と定め、係数の下限を図８に示す係数の下限と同様に０と定めている。
【０１０７】
ここで、図９における比率の上限値（５０）および下限値（１０）は一例であって、これらの値に限定されない。上限値および下限値は、環境に応じて適切な値が設定される。偶発的に生じる極端な変化によって基準値の変化量が大きくなり過ぎないように、比率の上限値および下限値を設けている。
【０１０８】
また、係数と、比率の上限値および下限値は予め設定することができる。
【０１０９】
そして、基準値更新部３３３は、新たな基準値Ｖｒｎ＋１を現在の基準値Ｖｒｎおよび係数Ｋに基づいて次の式（６）に基づいて算出する。
【０１１０】
Ｖｒｎ＋１＝Ｖｒｎ＊（１００＋Ｋ）／１００        …（６）
上記のように、第２計算方法は、基準値よりも少ないオブジェクト数で部分描画した結果、全体描画より速かったときに使用される。そして、最新の１つのオブジェクトあたりの更新速度を利用して、基準値のオブジェクト数で部分描画に要する時間を計算し、この時間を全体描画時間と比較した結果に基づいて基準値を上げるか維持するかを選択する。これにより、適切な基準値に近づけていくことができる。
【０１１１】
以上に述べたように、第１の手法では、基準値更新部３３３が、平均部分描画時間Ｔｐａｖが全体描画時間Ｔａを超えるときに、基準値を下げるように更新する。また、基準値更新部３３３は、平均部分描画時間Ｔｐａｖが全体描画時間Ｔａ以下であるときに、予測部分描画時間Ｔｐｐが全体描画時間Ｔａより短ければ、基準値を上げるように更新し、予測部分描画時間Ｔｐｐが全体描画時間Ｔａ以上であれば、基準値を維持する。
【０１１２】
これにより、画面の表示更新の回数が多くなるほど、基準値が最適値に近づいていく。したがって、画面更新の効率を高めることができる。
【０１１３】
ところで、オブジェクトとして多数の数値表示器を含む画面の場合、数値表示器は、外形の矩形と数値との２つの基本要素で構成されている。矩形のみのオブジェクトでは、矩形のみを描画すればよいが、数値表示器では、矩形と数値とを描画する必要がある。したがって、多数の数値表示器の表示を更新する場合、描画に長い時間を要する。
【０１１４】
また、アラーム部品は、アラームを発報する時刻、アラームの内容、アラームの発生状況などを表示するため、それぞれの内容を表示する文字表示器が表に似た形式に組み合わされて構成される。例えば、発報したアラームについては、該当する文字表示器を赤色で表示し、復旧したアラームについては該当する文字表示器を緑色で表示する。
【０１１５】
また、トレンドグラフでは、１つの四角形の中に多数のグラフが表される。
【０１１６】
このように、複数の部品から構成される複合部品では、複数の部品が描画される。多数の複合部品を含む画面において、大半の複合部品が変化するような場合は、特に描画に時間がかかり、基準値が大きくなってしまう。
【０１１７】
これに対し、第１の手法では、平均部分描画時間Ｔｐａｖに基づいて比率を求め、この比率に対応する係数に基づいて新たな基準値を算出する。これにより、特に、平均部分描画時間Ｔｐａｖが全体描画時間Ｔａに近い場合、突発的に発生する可能性がある部分描画時間Ｔｐの大きな変化（例えば、上記のアラーム部品やトレンドグラフをスクロールした場合の表示更新）による、基準値の誤った更新を抑えることができる。
【０１１８】
なお、平均部分描画時間Ｔｐａｖと全体描画時間Ｔａとに大きな差がある場合は、部分描画時間Ｔｐに大きな変化が突発的に発生しても、基準値にはあまり影響は及ばない。
【０１１９】
次に、第２の手法について説明する。図１０は、プログラマブル表示器１による他の基準値更新の処理手順を示すフローチャートである。
【０１２０】
図１０に示すように、まず、画面が切り替えられると、描画部３３１は、全体描画を行う（ステップＳ３１）。ステップＳ３１において、描画時間計測部３３２は、当該全体描画に要した全体描画時間Ｔａを計測してメインメモリ１２に記録する。
【０１２１】
切り替えられた画面の初回の表示更新時に、描画部３３１は、部分描画を行う（ステップＳ３２）。ステップＳ３２において、描画時間計測部３３２は、当該部分描画に要した部分描画時間Ｔｐを計測してメインメモリ１２に記録（登録）する。また、ステップＳ３２において、描画時間計測部３３２は、初回の表示更新時に描画されたオブジェクトの数（オブジェクト数上限値Ｎｕｌｍｔ）を、基準値（初期総計値）としてメインメモリ１２に記録（設定）する。
【０１２２】
描画部３３１が上記の画面の２回目以降の更新に移行すると（ステップＳ３３）、基準値更新部３３３は、記録された上記の部分描画時間Ｔｐが全体描画時間Ｔａ未満であるか否かを判定する（ステップＳ３４）。この判定において、基準値更新部３３３は、部分描画時間Ｔｐが全体描画時間Ｔａ未満であると判定すると（ＹＥＳ）、更新が必要なオブジェクトの数（変化するオブジェクトの数）である更新オブジェクト数Ｎｕｄ（総計値）がオブジェクト数上限値Ｎｕｌｍｔ以下であるか否かを判定する（ステップＳ３５）。
【０１２３】
この判定において、基準値更新部３３３が、更新オブジェクト数Ｎｕｄがオブジェクト数上限値Ｎｕｌｍｔ以下であると判定すると（ＹＥＳ，第１状態）、描画部３３１は部分描画を行う（ステップＳ３６）。ステップＳ３５において、描画時間計測部３３２は、当該部分描画に要した実描画時間Ｔｒを計測してメインメモリ１２に記録する。
【０１２４】
次いで、基準値更新部３３３は、上記の実描画時間Ｔｒが記録された最新の全体描画時間Ｔａ以上であるか否かを判定する（ステップＳ３７）。この判定において、基準値更新部３３３は、実描画時間Ｔｒが全体描画時間Ｔａ以上であると判定すると（ＹＥＳ）、メインメモリ１２における部分描画時間Ｔｐを実描画時間Ｔｒに更新すると共に、メインメモリ１２におけるオブジェクト数上限値Ｎｕｌｍｔを更新オブジェクト数Ｎｕｄの値に更新して（ステップＳ３８）、処理をステップＳ３３に戻す。また、ステップＳ３７の判定において、基準値更新部３３３は、部分描画時間Ｔｐが全体描画時間Ｔａ未満であると判定すると（ＮＯ）、部分描画時間Ｔｐおよびオブジェクト数上限値Ｎｕｌｍｔの更新を行わずに、処理をステップＳ３３に戻す。
【０１２５】
また、ステップＳ３５において、基準値更新部３３３は、更新オブジェクト数Ｎｕｄがオブジェクト数上限値Ｎｕｌｍｔを超えると判定すると（ＮＯ，第２状態）、描画部３３１は部分描画を行う（ステップＳ３９）。その後、基準値更新部３３３は、上記の実描画時間Ｔｒが記録された最新の全体描画時間Ｔａ以上であるか否かを判定する（ステップＳ４０）。この判定において、基準値更新部３３３は、実描画時間Ｔｒが全体描画時間Ｔａ以上であると判定すると（ＹＥＳ）、部分描画時間Ｔｐおよびオブジェクト数上限値Ｎｕｌｍｔを以下のようにして計算すると共に更新して（ステップＳ４１）、処理をステップＳ３３に戻す。
【０１２６】
基準値更新部３３３は、ステップＳ４１において、現状のオブジェクト数上限値Ｎｕｌｍｔおよび更新オブジェクト数Ｎｕｄの平均を算出し、その値を新たなオブジェクト数上限値Ｎｕｌｍｔとして更新する。また、基準値更新部３３３は、ステップＳ４１において、部分描画時間Ｔｐおよび実描画時間Ｔｒの平均を算出し、その値を新たな部分描画時間Ｔｐとして更新する。
【０１２７】
また、ステップＳ４０において、基準値更新部３３３は、実描画時間Ｔｒが全体描画時間Ｔａ未満であると判定すると（ＮＯ）、処理をステップＳ３８に移行する。
【０１２８】
また、ステップＳ３４において、基準値更新部３３３は、部分描画時間Ｔｐが全体描画時間Ｔａ以上であると判定すると（ＮＯ）、更新オブジェクト数Ｎｕｄがオブジェクト数上限値Ｎｕｌｍｔ以下であるか否かを判定する（ステップＳ４２）。
【０１２９】
この判定において、基準値更新部３３３が、更新オブジェクト数Ｎｕｄがオブジェクト数上限値Ｎｕｌｍｔ以下であると判定すると（ＹＥＳ，第３状態）、描画部３３１は部分描画を行って（ステップＳ４３）、処理をステップＳ３３に戻す。ステップＳ４３において、基準値更新部３３３は、メインメモリ１２における部分描画時間Ｔｐを実描画時間Ｔｒに更新すると共に、メインメモリ１２におけるオブジェクト数上限値Ｎｕｌｍｔを更新オブジェクト数Ｎｕｄの値に更新する。
【０１３０】
また、ステップＳ４２において、基準値更新部３３３が、更新オブジェクト数Ｎｕｄがオブジェクト数上限値Ｎｕｌｍｔを超えると判定すると（ＮＯ，第４状態）、描画部３３１は全体描画を行って（ステップＳ４４）、処理をステップＳ３３に戻す。また、ステップＳ４４において、描画時間計測部３３２は、メインメモリ１２における全体描画時間Ｔａを、上記の全体描画に要した全体描画時間Ｔａに更新する。
【０１３１】
続いて上記の処理を具体的に行った例について表１を参照して説明する。
【０１３２】
画面切替時に、描画部３３１は、１００の更新オブジェクト数Ｎｕｄで全体描画を行う。このとき、全体描画に要した実描画時間Ｔｒすなわち全体描画時間Ｔａは１．１ｓである。描画時間計測部３３２は、この値をメインメモリ１２に記録する。
【０１３３】
続く、画面の初回更新時において、描画部３３１は、３０の更新オブジェクト数Ｎｕｄで部分描画を行う。このとき、部分描画に要した実描画時間Ｔｒすなわち部分描画時間Ｔｐは０．６ｓである。描画時間計測部３３２は、この値をメインメモリ１２に記録する。また、基準値更新部３３３は、３０の更新オブジェクト数Ｎｕｄを基準オブジェクト数としてメインメモリ１２に記録する。
【０１３４】
２回目の更新時において、部分描画時間Ｔｐ（０．６ｓ）が全体描画時間Ｔａ（１．１ｓ）未満であり（ステップＳ３４のＹＥＳ）、かつ更新オブジェクト数Ｎｕｄ（４０）がオブジェクト数上限値Ｎｕｌｍｔ（３０）を超える（ステップＳ３５のＮＯ）。
【０１３５】
したがって、この場合、描画部３３１は、部分描画を行う（ステップＳ３９）。また、実描画時間Ｔｒが全体描画時間Ｔａ未満であるので（ステップＳ４０のＮＯ）、基準値更新部３３３は、その実描画時間Ｔｒを部分描画時間Ｔｐとして更新すると共に、更新オブジェクト数Ｎｕｄをオブジェクト数上限値Ｎｕｌｍｔとして更新する（ステップＳ３８）。
【０１３６】
３回目の更新時において、部分描画時間Ｔｐ（０．８ｓ）が全体描画時間Ｔａ（１．１ｓ）未満であり（ステップＳ３４のＹＥＳ）、かつ更新オブジェクト数Ｎｕｄ（８０）がオブジェクト数上限値Ｎｕｌｍｔ（４０）を超える（ステップＳ３５のＮＯ）。
【０１３７】
したがって、この場合、描画部３３１は部分描画を行う（ステップＳ３９）。また、部分描画の実描画時間Ｔｒ（１．６ｓ）は、全体描画時間Ｔａ以上であるので（ステップＳ４０のＹＥＳ）、基準値更新部３３３は、部分描画時間Ｔｐおよび実描画時間Ｔｒの平均値である１．２ｓを部分描画時間Ｔｐとして更新すると共に、更新オブジェクト数Ｎｕｄおよびオブジェクト数上限値Ｎｕｌｍｔの平均値である６０をオブジェクト数上限値Ｎｕｌｍｔとして更新する（ステップＳ４１）。
【０１３８】
４回目の更新時において、部分描画時間Ｔｐ（１．２ｓ）が全体描画時間Ｔａ（１．１ｓ）を超え（ステップＳ３４のＮＯ）、かつ更新オブジェクト数Ｎｕｄ（７０）がオブジェクト数上限値Ｎｕｌｍｔ（６０）を超える（ステップＳ４２のＮＯ）。したがって、この場合、描画部３３１は全体描画を行い、描画時間計測部３３２は全体描画時間Ｔａを更新する（ステップＳ４４）。
【０１３９】
５回目の更新時において、部分描画時間Ｔｐ（１．２ｓ）が全体描画時間Ｔａ（１．１２ｓ）を超え（ステップＳ３４のＮＯ）、かつ更新オブジェクト数Ｎｕｄ（５５）がオブジェクト数上限値Ｎｕｌｍｔ（６０）以下である（ステップＳ４２のＹＥＳ）。この場合、描画部３３１は部分描画を行う（ステップＳ４３）。また、基準値更新部３３３は、部分描画の実描画時間Ｔｒ（１．１ｓ）を部分描画時間Ｔｐとして更新すると共に、更新オブジェクト数Ｎｕｄ（５５）をオブジェクト数上限値Ｎｕｌｍｔとして更新する。
【０１４０】
【表１】
2020091354.tif 000003
【０１４１】
以上に述べたように、第２の手法では、２回目以降の画面の表示更新から、全体描画時間Ｔａに対する部分描画時間Ｔｐの長短、およびオブジェクト数上限値Ｎｕｌｍｔに対する更新オブジェクト数Ｎｕｄの大小を評価し、その結果に基づいて部分描画時間Ｔｐおよびオブジェクト数上限値Ｎｕｌｍｔを更新する。
【０１４２】
これにより、画面の表示更新の回数が多くなるほど、基準値が最適値に近づいていく。したがって、画面更新の効率を高めることができる。
【０１４３】
また、第１の手法と異なり、基準値を予め設定しないことと、毎回の画面表示更新で全体描画時間Ｔａ、部分描画時間Ｔｐおよびオブジェクト数上限値Ｎｕｌｍｔの各値を適宜更新する。これにより、基準値を短時間で最適値に近づけることができる。
【０１４４】
ところで、本実施形態において、基準値は画面ごとに設定されている。これにより、描画時間の長いオブジェクトを含む画面と、描画時間の短いオブジェクトを含む画面とで、基準値が異なる。画面に関わらず表示している画面で基準値を最適化すると、ある画面の基準値を最適化した後に他の画面を表示して基準値の最適化を改めてして、ある画面に表示を戻す場合、再度基準値の最適化が必要になって無駄が生じる。基準値が最適化されてない状態で、画面が切り替わっても、また同じ画面に戻すときに最初から最適化を行うのではなく、最適化を続けて行うことができるので、基準値が最適値に到達する時間を短くすることができる。
【０１４５】
例えば、数値表示器を１００個含む２つの画面について、一方ではほぼ全ての数値表示器が１００ｍｓごとに更新されるような制御機器２の計測値を表示する場合は、部分描画の要否を判定せずに、全体描画を行う方が速く画面を更新できる。これに対し、１ｓに１回変わるような制御機器２の計測値を表示する場合、全体描画では遅い。同じ画面であっても、オブジェクトの数や、オブジェクトへの変化の反映のさせ方によっても基準値の最適値が変わってくる。
【０１４６】
なお、図３、図７および図１０のフローチャートにおける各判定のステップにおける「以上」および「以下」については、前後の処理に矛盾が生じなければ、等しい場合を除外してもよい。また、各判定のステップにおける「超える」および「未満」についても、前後の処理に矛盾が生じなければ、等しい場合を含めてもよい。
【０１４７】
〔実施形態２〕
本発明の実施形態２について以下のとおり説明する。なお、本実施形態において、実施形態１における構成要素と同一の機能を有する構成要素については、同一の符号を付記して、その説明を省略する。
【０１４８】
図１１の（ａ）および（ｂ）は、基準値をオブジェクトの面積で規定する場合のオブジェクトと面積を規定する矩形との関係を示す図である。図１２は、基準値をオブジェクトの面積で規定する場合の基準値の更新に利用される、画面全体の面積に対する各オブジェクト割合の例を示す図である。
【０１４９】
実施形態１では、基準値をオブジェクト数で規定したが、本実施形態では、基準値を画面全体の面積に対するオブジェクトの面積の割合（面積割合）で規定する。
【０１５０】
具体的には、本実施形態に適用される第１の手法については、基準値が任意の面積割合で予め設定されている。本実施形態に適用される第２の手法については、オブジェクト数上限値に代えて、面積割合の上限値（変化したオブジェクトの面積割合の総和）で基準値を更新する。これら以外のプログラマブル表示器１の構成は、実施形態１におけるプログラマブル表示器１と同じである。
【０１５１】
ここで、オブジェクトの面積は、オブジェクトを含む最小の矩形エリアで求められる。オブジェクトが四角形である場合は、矩形エリアとオブジェクトとは等しい。これに対し、図１１の（ａ）に示すように、オブジェクトが円Ｅ１である場合は、円Ｅ１に外接する矩形エリアＲ１でオブジェクトの面積が算出される。また、図１１の（ｂ）に示すように、オブジェクトが楕円Ｅ２である場合は、楕円Ｅ２に外接する矩形エリアＲ２でオブジェクトの面積が算出される。オブジェクトは、それぞれの固有値として面積割合を有している。
【０１５２】
ＰＣ４の作画編集部４１は、オブジェクトの面積を計算するとともに、図１２に示すように、画面全体の面積に対するオブジェクトの面積の割合（％）を計算する。この面積割合の情報は、画面データとともに、ＰＣ４からプログラマブル表示器１に転送されて、ユーザメモリ１４に記憶される。
【０１５３】
本実施形態に係るプログラマブル表示器１では、基準値がオブジェクトの面積割合で規定される。小さいオブジェクトは描画に要する時間が短いが、大きなオブジェクトは描画に要する時間が長い。このため、大きさの異なるオブジェクトを含む画面では、変化するオブジェクトの大きさに応じて描画の時間が異なる。そこで、基準値をオブジェクトの面積割合で規定することにより、画面に含まれるオブジェクト間で大きさに差があっても、全体描画および部分描画のいずれを行うかを、より適正に判定することができる。
【０１５４】
〔実施形態３〕
本発明の実施形態３について以下のとおり説明する。なお、本実施形態において、実施形態１における構成要素と同一の機能を有する構成要素については、同一の符号を付記して、その説明を省略する。
【０１５５】
実施形態１では、基準値をオブジェクト数で規定したが、本実施形態では、基準値をオブジェクトの重みで規定する。
【０１５６】
具体的には、本実施形態に適用される第１の手法については、基準値が画面における全てのオブジェクトについての重みの総和に対する任意の比率で予め設定されている。本実施形態に適用される第２の手法については、オブジェクト数上限値に代えて、オブジェクトの重み合計の上限値（変化したオブジェクトの重みの総和）で基準値を更新する。これら以外のプログラマブル表示器１の構成は、実施形態１におけるプログラマブル表示器１と同じである。
【０１５７】
ここで、重みは、基本重みと、オブジェクトを規定する上述の矩形エリアの解像度に対する大きさの割合と、オブジェクトの装飾の重みとの乗算で規定される。オブジェクトは、オブジェクトの特性に応じて付与された重みを、それぞれの固有値として有している。
【０１５８】
基本重みは、表２に示すように、図形の形状などに応じて値が予め定められている。基本重みは、描画に要する時間が長くなる複雑なオブジェクトほど大きい値が付与される。
【０１５９】
【表２】
2020091354.tif 000004
【０１６０】
装飾重みは、表３に示すように、装飾の種類、装飾の細かさなどに応じて値が予め定められている。装飾重みは、基本重みと同じく、描画に要する時間が長くなる装飾ほど大きい値が付与される。例えば、装飾は、塗り込みの有無、グラデーション（縦と横とで異なる）でも重みが異なる。縦方向のグラデーションの場合、各行の色は同じで、行ごとに濃淡を変えていく。横方向のグラデーションの場合、同じ行でも、角度などに応じて濃淡を変えていく。
【０１６１】
【表３】
2020091354.tif 000005
【０１６２】
なお、表２および表３に示す重みは、あくまでも一例であって、オブジェクトに付与される重みはオブジェクトの形態に応じて異なる。
【０１６３】
本実施形態に係るプログラマブル表示器１では、基準値がオブジェクトの重みで規定される。単純な形状のオブジェクトは描画に要する時間が短いが、複雑な形状のオブジェクトは描画に要する時間が長い。また、装飾の有無や形態に応じて描画に要する時間が異なる。このため、重みの異なるオブジェクトを含む画面では、変化するオブジェクトの重みに応じて描画の時間が異なる。そこで、基準値をオブジェクトの重みで規定することにより、画面に含まれるオブジェクト間で重みに差があっても、全体描画および部分描画のいずれを行うかを、より適正に判定することができる。
【０１６４】
〔ソフトウェアによる実現例〕
プログラマブル表示器１の制御ブロック（特に、表示制御部３２）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ソフトウェアによって実現してもよい。
【０１６５】
後者の場合、プログラマブル表示器１は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば１つ以上のプロセッサを備えているとともに、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。
【０１６６】
そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばＣＰＵ１１を用いることができる。
【０１６７】
上記記録媒体としては、「一時的でない有形の媒体」、例えば、ＲＯＭ１３等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、プログラマブル表示器１は、上記プログラムを展開するメインメモリ１２などを備えていてもよい。
【０１６８】
また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１６９】
〔付記事項〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１７０】
１  プログラマブル表示器（画面表示装置）
１６  表示パネル
３３１  描画部
３３２  描画時間計測部
３３３  基準値更新部
Ｔａ  全体描画時間
Ｔｐ  部分描画時間
Ｔｐｐ  予測部分描画時間
Ｔｒ  実描画時間
Ｎｕｌｍｔ  オブジェクト数上限値（基準値）
Ｎｕｄ  更新オブジェクト数（総計値）
【図１】
2020091354.tif 000006
【図２】
2020091354.tif 000007
【図３】
2020091354.tif 000008
【図４】
2020091354.tif 000009
【図５】
2020091354.tif 000010
【図６】
2020091354.tif 000011
【図７】
2020091354.tif 000012
【図８】
2020091354.tif 000013
【図９】
2020091354.tif 000014
【図１０】
2020091354.tif 000015
【図１１】
2020091354.tif 000016
【図１２】
2020091354.tif 000017