以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本例のプログラマブル表示器1を含むシステム全体の概略構成図である。
図1に示すプログラマブルコントローラシステムは、各種接続機器4と、通信ライン6を介して各種接続機器4に接続するプログラマブル表示器1とを有する。更に、プログラマブル表示器1が、通信ライン3を介して作画エディタ装置5(支援装置)に接続された構成であってもよい。但し、作画エディタ装置5は、必ずしもプログラマブル表示器1に接続されている必要があるわけではない。尚、作画エディタ装置5を支援装置5と記す場合もあるものとする。
プログラマブル表示器1には、複数の通信インタフェース2(通信ポート)が備えられており、各通信インタフェース2に接続された通信ライン3/通信ライン6によって各種接続機器4や作画エディタ装置5と接続されている。
プログラマブル表示器1は、運用中、上記画面データ等に基づいて上記操作表示画面(スクリーン)を表示する。本例のプログラマブル表示器1は、上記複数の操作表示画面(スクリーン)を表示し得るものである。これは、上記のように、現在表示中の操作表示画面上でスクリーン切替アイテムが操作されると、他の操作表示画面に切替えられるものである。また、従来と同様、現在表示中の操作表示画面上の各アイテムに関して、例えば定周期で接続機器4から上記割当メモリ領域のデータを取得して、この取得データに基づく表示内容の更新処理を行う。
本説明では、表示に係る特殊効果をトランジションと呼ぶものとする。トランジションの一例が、本手法による“スクリーン切替えの際の画面遷移のアニメーション表示”である。これは、切替先のスクリーンの表示内容が固定的ではなくても実現できるものである。尚、上記のように、スクリーンの表示内容は割当メモリ領域からの取得データによって決定されるものであり、固定的ではない。更に、スクリーンの表示内容の更新が随時実行されることにも対応できるものである。詳しくは後述する。
図2は、本例のプログラマブル表示器1の構成例である。
プログラマブル表示器1は、上述した従来例と略同様に、上述した画面データや取得データ等に基づく操作表示画面の表示/更新等や、操作表示画面の切替え等を行う機能を有する。更に、本手法では画面切替えの際に後述する画面遷移アニメーション表示を実行する場合がある。詳しくは後述する。
図示のプログラマブル表示器1は、表示操作制御装置10と、タッチパネル18、ディスプレイ19、上記通信インタフェース2等を有する。
表示操作制御装置10は、CPU11、ROM12(フラッシュメモリ等)、RAM13、通信コントローラ14、グラフィックコントローラ15、タッチパネルコントローラ16等より成り、これらがバス17に接続されている。
CPU11は、表示操作制御装置10全体を制御する中央処理装置(演算プロセッサ)である。CPU11は、ROM12に予め格納されているプログラム(例えば後述する本体プログラム21等)を実行することで、所定の演算処理動作を行う。これによって例えば後述する各種フローチャート図の処理等を実現する。各種の演算結果は、例えばRAM13やROM12に格納される。尚,ROM12は例えばフラッシュメモリ等であってもよい。
また、ROM12には、上記背景技術で説明した画面データ(後述する画面データ22)や所定のアプリケーションプログラム等が格納されている。例えばCPU11がこのアプリケーションプログラムを実行することで、後述する各種処理が実現される。
尚、上記のように、画面データは、例えば上述したスイッチ、ランプ、メーター、棒グラフ等の各アイテム毎に、そのアイテムの画像や表示位置座標や大きさ等のアイテム表示に係わる各種データや、上記割当メモリ領域のアドレス等の監視メモリアクセスに係わるデータ等を有する。
上記CPU11の各種処理には、例えば上記背景技術で説明した“各アイテム毎の割当メモリ領域の格納データ”を取得する処理等が含まれる。尚、上記のことから、これは「監視メモリ」の格納データを取得する処理と言うことも出来る。この取得データは、例えば後述する共有メモリ64に一時的に格納される。尚、共有メモリ64は、上記RAM13やROM12の記憶領域の一部であってもよいし、CPU11内の不図示のメモリであってもよいし、不図示の他のメモリであってもよい。
また、上記CPU11の処理によって、例えば上記画面データや上記取得データ等に基づく表示対象データが、例えばRAM13や不図示のビデオRAM上に展開(描画)される。この描画に基づいてグラフィックコントローラ15が、ディスプレイ19上に上述した操作表示画面等を表示する。
ディスプレイ19は、例えば液晶パネル等より成り、この液晶パネル上に重ねるようにしてタッチパネル18が設けられる。ディスプレイ19上には、基本的には、複数のアイテム画像が所定位置に配置されて成る上記操作表示画面が表示される。
本例では、この操作表示画面(その画面データ22)が複数登録されており、所定のボタン操作等によって操作表示画面の切替えが行われることを前提とする。そして、本手法では、この様な操作表示画面の切替えの際に、トランジション表示(画面遷移アニメーション表示)が行われる場合がある。例えば現在の(切替元の)操作表示画面が、切替先の操作表示画面に押し出されるような形で徐々にスライドして消えていくようなトランジション表示が行われる場合がある。詳しくは後述する。
また、通信コントローラ14は、通信インタフェース2を介して、不図示のPLC本体等や温調装置等である接続機器4や作画エディタ装置5との通信を行う。
オペレータ等によるタッチパネル18上での押圧操作位置(タッチ位置)の検知結果は、タッチパネルコントローラ16を介してCPU11等に取り込まれて解析される。これは、例えば各アイテムの上記表示位置座標や大きさのデータ等に基づいて、解析することになる。例えば、任意のスイッチの画像の表示位置をオペレータ等がタッチすると、このタッチ位置が当該スイッチ画像の表示領域内であると解析することで、このスイッチに対する操作が行われたものと見做すものとなる。
図3に、上記本システムのソフトウェア構成図を示す。
プログラマブル表示器1においては、本体プログラム21、画面データ22、通信プログラム23等の各種プログラム/データが、例えば上記ROM12(フラッシュメモリ等)に格納されている。これらのプログラム/データ等をCPU11が読出し・実行/参照等することで、上記操作表示画面等の表示制御等が行なわれる。この操作表示画面は、メーター、棒グラフ、ランプ、スイッチ等の各種アイテムの画像表示から成る。各アイテム画像の表示内容は、例えば接続機器4との通信によって割当メモリ領域(監視メモリ)から取得したデータを反映させる形で、随時更新される。
基本的には、CPU11が本体プログラム21と画面データ22とに基づく処理を行うことで、上記操作表示画面が表示される。そして、この操作表示画面上の各画面部品の表示内容は、通信プログラム23による接続機器4との通信結果(上記取得データ等)等に基づいて、随時、更新等されるものである。表示内容は、例えば、温度等の数値を示す表示やランプの点灯/消灯などである。
上記画面データ22は、例えば予め作画エディタ装置5側で任意に作成された画面データファイル32が、プログラマブル表示器1にダウンロードされて格納されたものである。また、上記通信プログラム23も、例えば予め作画エディタ装置5側に格納されていた通信プログラムファイル33が、プログラマブル表示器1にダウンロードされて格納されたものである。
上述したように、基本的には、CPU11が、本体プログラム21と画面データ22と取得データ等に基づく上記操作表示画面の表示制御を行う。例えば、メーターやランプ等のアイテムに関して、定期的に、そのアイテムの割当メモリ領域からデータを読み出して、そのアイテムの表示内容を当該読出データに基づいて更新する。あるいは、例えばスイッチ等のアイテムに関しては、ユーザが、この操作表示画面上の所望のスイッチをタッチしてON/OFF操作すると、スイッチON画像表示/スイッチOFF画像表示が行われる。また、CPU11は、このスイッチ操作に応じた接続機器4の制御も行う。
そして、この割当メモリ領域からの読出しデータを、プログラマブル表示器1の内部メモリ(後述する共有メモリ64等)に一時的に格納し、これに基づいてアイテム表示制御を行う構成がある。
すなわち、例えば後述する各通信処理部55等によって定期的に、接続機器4内のメモリデバイスの所定の記憶領域(割当メモリ領域)からデータを読み出して、この読出データを上記内部メモリに格納する処理が行われる。そして、内部メモリの格納データ等に基づいて、上記操作表示画面の表示制御が行われることになる。これによって、操作表示画面上の各アイテム画像の表示内容が、そのアイテムに対応する割当メモリ領域(監視メモリ)の最新の格納データの内容を反映させたものとなる。
プログラマブル表示器1の通信プログラム23は、通信ライン6を介して接続機器4と通信を行うためのプログラムである。通常、接続機器4の機種毎等に固有の通信プロトコル(通信規定)を持ち、この通信規定に従って、プログラマブル表示器1−接続機器4間での通信を行う。そのため、通信プログラム23は、各接続機器4の機種毎等に開発が必要となる。尚、当然、CPU11などが通信プログラム23を実行することで、接続機器4との通信処理が実現される。
尚、プログラマブル表示器1−作画エディタ装置5間の通信は、例えば本体プログラム21と作画エディタ31とによって行う。例えば、通信機能が作画エディタ31に組み込まれている。これについては本手法とは特に関係ないので、図示・説明しない。PLC本体等である接続機器4は、様々なメーカー・機種があり、各メーカー/機種毎に独自の通信プログラムがあり、上記通信プログラム23は、接続機器4のメーカー/機種に応じて場合によっては複数種類備えられるものとなる。
通信プログラム23は、通常、作画エディタ装置5内の不図示のHD(ハードディスク)内に、複数の通信プログラムファイル33(各機種毎に開発済の複数の通信プログラム)として予め記憶されている。そして、作画エディタ装置5は、作画エディタ31によりユーザが任意の接続機器4を選択・指定すると、該選択された接続機器4に応じた通信プログラムファイル33を、プログラマブル表示器1に転送して、上記通信プログラム23として記憶させる。
プログラマブル表示器1から接続機器4内の監視メモリへアクセスする処理は、画面データ22に含まれる各種設定に従って実行される。換言すれば、作画エディタ31上で画面データファイル32作成時に行われた各種ユーザ設定に従って実行される。例えば、ユーザが、画面データファイル32作成の際に、画面内に各種アイテムを配置すると共に、これら各アイテム毎に任意のアドレス(監視メモリ)を指定する。
更に何らかのトランジション表示効果を付加する場合には、その為の設定等もユーザに任意に行わせる。この様な設定画面の一例を図4に示し後に説明する。
上記のようにして作成された画面データファイル32を、プログラマブル表示器1にダウンロードして画面データ22として記憶させる。プログラマブル表示器1は、従来と同様に、画面データ22を用いて上記操作表示画面の表示制御を行うものであり、これに伴って、各アイテム毎に上記監視メモリのデータを定期的に取得する動作等を実行する。更に、取得データに基づいて画面上のアイテム表示内容を更新する動作等を行う。更に、所定のユーザ操作に応じて操作表示画面の切替えを行うが、その際に、本手法のトランジション表示(画面遷移アニメーション表示)が行われる場合がある。
尚、上述した各種処理を実現させるプログラムは、例えば本体プログラム21に含まれていてもよいし、画面データファイル32(画面データ22)に含まれていてもよい。何れにしても、この様なプログラムを例えば上記CPU11が実行することで、本例のプログラマブル表示器1の各種処理・動作などが実現されることになる。
ここで、支援装置5は、例えばパソコン等であり、特に図示しないが一般的な汎用コンピュータの構成(CPU、記憶部(ハードディスク、メモリ等)、通信部、操作部(マウス等)、ディスプレイ)を有している。記憶部に予め記憶されているアプリケーションプログラムを、不図示のCPUが実行することにより、例えば作画エディタ31の上記処理機能等が実現される。
図4は、作画エディタ装置5における画面データの作成支援画面の一例である。
図4に示す作成支援画面では、図上左側に示す編集領域上でユーザが任意のスイッチ・アイテム40を配置した状態を示している。そして、ユーザがこのスイッチ・アイテム40を指定して所定の操作を行うと、図示の設定ウィンドウ41(ダイアログボックス等)が表示される。
設定ウィンドウ41上では、設定対象アイテムに関して様々な設定を行えるものであるが、ここではその一部について図示・説明する。まず、図示の機能設定領域42では、ユーザに、設定対象アイテムである上記スイッチ・アイテム40について任意の機能を選択・指定させることができる。ここでは、図示の「スクリーン」が上記スクリーン切替機能であるものとする。更に、図示のスクリーンNo.設定領域43では、切替先のスクリーンのスクリーンNo.を設定できる。尚、各スクリーンには、予めユニークな識別IDであるスクリーンNo.が割り当てられている。
更に、図示のトランジション設定領域44では、ユーザに、所望のトランジション表示方法を選択・指定させる。ここでは図示の「スライド」が選択指定されており、この例の場合、後述する図5(b)に示すようなトランジション表示(画面遷移アニメーション表示;“旧→新”遷移表示)が行われることになる。本説明では、基本的に、この様な「スライド」表示が行われる例を用いて説明するものとする。
ここで、図5に、トランジション表示例を示す。
ここでは、上記複数種類の操作表示画面(スクリーン)として、図5(a)に示すスクリーンA、スクリーンBがあるものとする。そして、スクリーンA上には図示のスクリーン切替スイッチ40a、スクリーンB上には図示のスクリーン切替スイッチ40bが配置されているものとする。スクリーン切替スイッチ40a、40bの機能は、上記スクリーン切替機能であるものとする。そして、スクリーン切替スイッチ40aに関しては、上記スクリーンNo.設定領域43にスクリーンBのスクリーンNo.が設定されているものとする。つまり、スクリーン切替スイッチ40aが操作されると、スクリーンBに切り替わることになる。
更に、スクリーン切替スイッチ40aに関して上記トランジション設定領域44において上記「スライド」が設定されている場合、ユーザによってスクリーン切替スイッチ40aが操作されると、図5(b)に示すようなトランジション表示(画面遷移アニメーション表示)が行われる。図示の例では、切替先であるスクリーンBが、画面(ディスプレイ)の右側からスライドインして、それによってスクリーンAは画面の左側へと押し出される形で徐々に画面上から消えていく。そして、最終的にはスクリーンBのみが表示された状態となり、これを以ってスクリーンBへの画面切替えが完了することになる。
ここで、図5では省略しているが、通常、スクリーンBには上記スクリーン切替スイッチ40以外のアイテムも、配置されている。尚、これはスクリーンAも同様である。
本手法では、一例としては、この様なスクリーンB上の不図示のアイテムの表示内容が、たとえ図5(b)に示す画面遷移中であっても、監視メモリのデータ内容を反映させる形で随時更新されるものであってもよい。勿論、この例に限らない。尚、本例では、スクリーンA上の不図示のアイテムの表示内容は、画面遷移開始時点以降では更新されない。詳しくは後述する。
図6A、図6Bは、本例のプログラマブル表示器の処理機能図である。
尚、図6A、図6Bは、1つの図を2つに分けて示しているのであり、以下、まとめて図6と記すものとする。
上記CPU11が、例えば上記ROM12に記憶されている所定のプログラム(例えば上記本体プログラム21、通信プログラム23等)を実行することにより、例えば図6の点線内に示す各種処理機能部が実現される。
すなわち、図示のタッチスイッチ判定処理部51、スクリーン表示データ転送処理部52、トランジションタイマ処理部53、スクリーン画像生成部54、各通信処理部55(55−1、55−2)、アイテム生成部56等の各種処理機能部の各種処理機能が実現される。これら各種処理機能の詳細は後述する。
尚、通信処理部55は、例えば、本体プログラム21と通信プログラム23とによって実現される。それ以外の処理機能部は本体プログラム21によって実現される。
また、図示のスイッチリスト61、スクリーン制御データ62、アイテムリスト63、共有メモリ64等が、CPU11内の不図示のメモリ等に格納される。また、スクリーン表示データ記憶部65、旧スクリーン画像データ記憶部66、新スクリーン画像データ記憶部67、トランジション表示データ記憶部68等の各記憶部が設けられる。CPU11内の不図示のメモリ内の所定の記憶領域(メモリ領域)が、これら各記憶部65,66,67,68の為に割り当てられている。
スクリーン表示データ記憶部65は、後述するスクリーン表示データを記憶する記憶領域である。旧スクリーン画像データ記憶部66は、後述する旧スクリーン画像データを記憶する記憶領域である。新スクリーン画像データ記憶部67は、後述する新スクリーン画像データを記憶する記憶領域である。トランジション表示データ記憶部68は、後述するトランジション表示データを記憶する記憶領域である。
尚、CPU11内の不図示のメモリの代わりに、RAM13やROM12内の記憶領域を割り当てるようにしてもよい。但し、これらの表示データをRAM13に記憶させる場合には、当然、グラフィックコントローラ15がアクセスする記憶領域以外の記憶領域が、割り当てられる。グラフィックコントローラ15がアクセスする記憶領域の画像データが、ディスプレイ19に表示されるからである。
また、尚、説明の都合上、以下の説明では、上記各記憶部65,66,67,68に記憶されるデータ自体に、これらの符号65,66,67,68を付して説明する場合もあるものとする。すなわち、スクリーン表示データ65、旧スクリーン画像データ66、新スクリーン画像データ67、トランジション表示データ68等と記す場合もあるものとする。
アイテム生成部56は、上記画面データ22等に基づいて、アイテムリスト63を生成する。これは、例えば、画面データ22の一部を抽出する形で生成する。また、アイテム生成部56は既存の機能である。よって、アイテム生成部56の処理機能については、特にフローチャート図等は示さず、説明もしないものとする。
ここで、図7(a)、(b)に、アイテムリスト63のデータ構成図を示す。
図7(a)は、アイテムリスト63全体のデータ構成図である。図7(b)は、その一部である“アイテムタイプ毎のデータ”106の詳細データ構成例である。
図示の例のアイテムリスト63は、アイテムタイプ101、座標102、サイズ103、デバイス名104、アドレス105、“アイテムタイプ毎のデータ”106、処理済みフラグ107などから成る。
アイテムリスト63には、操作表示画面上の各アイテム毎に、上記各種情報101〜107が格納される。尚、上記のことから、上記各種情報101〜107は画面データ22の一部であると見做してよい。画面データ22のデータ構造は特に示さないものとする。
アイテムタイプ101には、そのアイテムの種別(スイッチ、ランプ、メーター、棒グラフ等)を示すアイテム種別識別情報が格納される。
座標102とサイズ103には、そのアイテムの画像の表示位置、大きさを示す情報が格納される。
デバイス名104とアドレス105は、上記割当メモリ領域のアドレスである。つまり、デバイス名104が示す接続機器4内のメモリデバイスにおけるアドレス105の記憶領域が、上記割当メモリ領域である。
処理済みフラグ107は、処理済みか否かを示すフラグであり、その使用方法は後にフローチャート図で説明する。
ここで、“アイテムタイプ毎のデータ”106には、そのアイテムの種別に応じた各種データが格納される。ここでは、一例としてアイテム種別が“スイッチ”である場合の各種データを、図7(b)に示すものとする。
図7(b)に示す例の“アイテムタイプ毎のデータ”106は、機能111、スクリーン切替先112、トランジションタイプ113等から成る。これら機能111、スクリーン切替先112、トランジションタイプ113には、上記機能設定領域42、スクリーンNo.設定領域43、トランジション設定領域44でユーザによって任意に選択・設定された情報が格納される。図4の例の場合、機能111にはスクリーン切替機能、スクリーン切替先112には「NO.1」、トランジションタイプ113には「スライド」が、それぞれ、格納されることになる。
以上、図6に示すアイテムリスト63の具体例について説明した。
図6の説明に戻る。
タッチスイッチ判定処理部51は、ユーザによるタッチ操作検出結果に基づいて、ユーザが操作したアイテムを判別する。すなわち、ユーザがタッチパネル18上の任意の位置をタッチする操作を行うと、タッチパネルコントローラ16がこのタッチ位置のXY座標を検出する。これより、タッチスイッチ判定処理部51は、この検出座標と例えばスイッチリスト61等に基づいて、ユーザが操作したアイテムを判別する。尚、この例に限らず、例えば、スイッチリスト61ではなく、アイテムリスト63に基づいて判別してもよい。
スクリーン画像生成部54は、上記アイテムリスト63や後述する共有メモリ64の格納データ等に基づいて、各アイテム毎に、その画像の表示内容の決定・更新等に係わる処理を実行する。あるいは、スクリーン切替えに係る処理を実行する場合もある。通常は、スクリーン表示データ65の生成を行うが、トランジション表示を伴うスクリーン切替えの際には、旧スクリーン画像データ66と新スクリーン画像データ67も生成する。詳しくは後述する。
トランジションタイマ処理部53は、上記トランジション表示を伴うスクリーン切替えの際には、例えば一定周期毎に、上記旧スクリーン画像データ66と新スクリーン画像データ67とに基づいてトランジション表示データ68を生成・更新する。詳しくは後述する。
スクリーン表示データ転送処理部52は、通常時は上記スクリーン表示データ65に基づいて、スクリーン画像をRAM13上の所定領域に描画(展開)する。但し、上記トランジション表示を伴うスクリーン切替えの際には、上記トランジション表示データ68に基づいて、スクリーン画像をRAM13上の所定領域に描画(展開)する。
尚、逐一述べないが、当該所定領域が、上述したグラフィックコントローラ15がアクセスする領域である。グラフィックコントローラ15が上記RAM13上の所定領域の描画データをディスプレイ19上に表示することで、上記表示操作画面等の表示や、トランジション表示等が行われることになる。
通信処理部55は、各接続機器4(4−1、4−2)毎に対応して備えられる通信処理部55−1、55−1である。すなわち、図示の通信処理部55−1は、接続機器4−1に対応する通信ポートWAY1を使用して、通信ライン6を介して、接続機器4−1との通信を行って、各アイテムに対応する各割当メモリ領域の格納データを取得する。取得データは、共有メモリ64の所定領域に上書き格納する。
同様に、図示の通信処理部55−2は、接続機器4−2に対応する通信ポートWAY2を使用して、通信ライン6を介して、接続機器4−2との通信を行って、各アイテムに対応する各割当メモリ領域の格納データを取得する。取得データは、共有メモリ64の所定領域に上書き格納する。
尚、上記割当メモリ領域の格納データの取得処理や共有メモリ64への格納処理自体は、従来と略同様であってもよく、特に詳細には説明しない。
ここで、図8(a),(b)に、上記共有メモリ64の具体例を示す。
図8(a)には共有メモリ64のデータ構造例、図8(b)にはデータ格納例を示す。
図8(a)に示す例では、共有メモリ64の格納データは、ポート81、デバイス名82、アドレス83、データ84の各データ項目より成る。尚、これらのデータ項目は、従来と略同様であっても構わない。よって、以下、簡単に説明する。
ポート81は、上記通信ポートの識別情報等であり、実質的には通信相手の接続機器4を識別する情報となる。デバイス名82は、通信相手の接続機器4内のメモリデバイスの識別情報である。アドレス83は、デバイス名82が示すメモリデバイスにおける所定の記憶領域(割当メモリ領域)のアドレスであり、データ84にはこの割当メモリ領域から取得したデータが格納される。尚、上記割当メモリ領域のアドレスを“割当メモリアドレス”と呼ぶ場合もあるものとする。
尚、ポート81とデバイス名82とアドレス83とが、各アイテムの上記“割当メモリアドレス”や“監視メモリ”に相当すると見做してよい。つまり、図8(b)に示す各レコードは、各アイテムに対応するものである。画面データ22等に含まれる各アイテム毎の上記割当メモリアドレスを、ポート81、デバイス名82、及びアドレス83に格納することで、図8(b)に示す各レコードが生成される。尚、その際に、レコードとアイテムとのリンクを形成しておくようにしてもよいが、この例に限らない。何れにしても、アイテムリスト63に登録されている各アイテムの表示更新処理等を行う際には、共有メモリ64において各アイテムに対応するレコードのデータ84を参照することになる。
以下、各フローチャート図を参照して、上記図6に示す各種処理機能部の処理例について説明する。
まず、図9を参照して、通信処理部55の処理例について説明する。
図9は、通信処理部55の処理フローチャート図である。
例えば図6の例では各通信処理部55−1、55−2が、各々、図9の処理をサイクリックに(定周期で)実行するものである。
図9の処理例では、まず、共有メモリ64に基づいて、自己が担当する接続機器4に係るメモリリスト120を生成する(ステップS11)。例えば、通信処理部55−1による処理の場合には、接続機器4−1に係るメモリリスト120を生成することになる。例えば、共有メモリ64において、ポート81がWAY1であるレコードを全て抽出することで、接続機器4−1に係るメモリリスト120を生成する。
図10(a)に、このメモリリスト120のデータ構成例を示す。
図示の例では、メモリリスト120は、デバイス名121、アドレス122、データ123の各データ項目より成る。例えば上記通信処理部55−1の例の場合、共有メモリ64からポート81が“WAY1”であるレコードを全て抽出して、該各抽出レコードのデバイス名82、アドレス83、データ84の情報を、上記デバイス名121、アドレス122、データ123に格納することで、上記接続機器4−1に係るメモリリスト120を生成することになる。尚、データ123は、必ずしも必要ないものである。代わりに、処理済みか否かを示すフラグ情報が格納されていてもよい。
その後は、生成したメモリリスト120を参照しながら、ステップS15の判定がNOとなるまで、ステップS12〜S14の処理を繰り返し実行する。尚、この処理自体は従来と同様であってよく、以下、簡単に説明する。
すなわち、メモリリスト120から未処理のレコードを1つ取り出して処理対象レコードとし、この処理対象レコードの内容に基づくメモリ読込コマンドを生成して、これを自己が担当する接続機器4に通信ライン6を介して送信する(ステップS12)。このコマンドには、上記デバイス名82やアドレス83等のアクセス先を特定する情報(割当メモリアドレス)が含まれる。これより、接続機器4は、この割当メモリアドレスが示す記憶領域からデータを読み出して、この読出しデータを返信する応答処理を行う。
通信処理部55は、上記メモリ読込コマンドに対する接続機器4からの応答を受信したら(ステップS13)この応答に含まれる上記読出しデータを、上記共有メモリ64において処理対象レコードに相当するレコードにおける上記データ84の欄に格納する(ステップS14)。
そして、上記ステップS14の処理を実行後、メモリリスト120に未処理のレコードが残っているか否かをチェックし(ステップS15)、残っている場合には(ステップS15,YES)ステップS12に戻り、残っていない場合には(ステップS15,NO)本処理を終了する。
次に、以下、スクリーン画像生成部54の処理例について説明する。
図11、図12は、スクリーン画像生成部54の処理フローチャート図(1/2)、(2/2)である。尚、図11、図12は、1つのフローチャート図を2つに分けて示しているものであり、よって以下、特に区別せずに図11等と記すものとする。
図11等に示す処理は、サイクリックに実行される。
図11等の処理例では、ユーザによって上記スイッチ・アイテム40等のようなスクリーン切替アイテムが操作された場合には(ステップS21,YES)、ステップS22〜S26の処理を行ったうえで、ステップS27〜S31の処理を行う。上記スクリーン切替アイテムの操作が無い場合には(ステップS21,NO)、通常通りステップS27〜S31の処理を行う。換言すれば、ステップS27〜S31の処理自体は、既存のアイテム表示更新処理である。よって、ステップS27〜S31の処理については特に詳細には説明しない。
尚、上記ステップS21の判定は、例えばスクリーン制御データ62のスクリーン切替要求142を参照することで行う。
ここで、スクリーン制御データ62について説明する。
スクリーン制御データ62は、例えばスクリーン切替処理用に設けられる情報である。特に図示しないが、上記タッチスイッチ判定処理部51は、スクリーン切替アイテムの操作を検知した場合、スクリーン制御データ62の後述するスクリーン切替要求142を“要求あり”(例えばフラグON)にする。上記ステップS21では、例えばスクリーン切替要求142がフラグON状態であった場合には、判定YESとなる。尚、タッチスイッチ判定処理部51がスクリーン切替アイテム以外のアイテムの操作を検知した場合の処理の説明は、ここでは省略するものとする。
ここで、図13(a)に、スクリーン制御データ62のデータ構成例を示す。
図示の例のスクリーン制御データ62は、スクリーン制御モード141、スクリーン切替要求142、切替先スクリーンNo.143、トランジションタイプ144、Δt変化時間カウンタ145、Δt経過カウンタ146の各データ項目より成る。
スクリーン制御モード141には、現在のモードが格納される。つまり、図13(b)に示す3種類のモードの何れかが格納される。図示の3種類のモードは、「通常」モード、「スクリーン生成中」モード、「トランジション中」モードである。
通常は「通常」モードとなっており、例えば後述するステップS23の処理によって「スクリーン生成中」モードへと切り替えられる。詳しくは後述する。尚、モード切替は、図13(b)に矢印で示すように行われる。つまり、「通常」モード→「スクリーン生成中」モード→「トランジション中」モード→「通常」モード等のようにモード遷移する。
スクリーン切替要求142は、通常は“要求なし”(フラグOFF)となっており、上述したようにスクリーン切替が指示されたことを検知すると“要求あり”(例えばフラグON)になる。
切替先スクリーンNo.143には、切替先のスクリーンの識別IDが格納される。トランジションタイプ144には、操作されたスクリーン切替アイテムに係るトランジションのタイプ(上記「スライド」など)が格納される。例えば上記タッチスイッチ判定処理部51が、任意のスクリーン切替アイテムの操作を検知したときに、当該操作アイテムに対応するアイテムリスト63のスクリーン切替先112、トランジションタイプ113を、切替先スクリーンNo.143、トランジションタイプ144に格納する。
Δt変化時間カウンタ145、Δt経過カウンタ146には、例えば、予め、下記の算出式により算出されたデータ値が、登録されている。
Δt変化時間カウンタ145には、予め、下記の算出式(1)によって求められる“Δt変化時間カウンタ値”が格納される。
Δt変化時間カウンタ値=変化時間ht/パラメータ更新時間Δt・・・(1)式
変化時間htとパラメータ更新時間Δtは、例えば、予め所定値が登録されているが、この例に限らず、任意の時にユーザ等が任意の値を設定できるものであってもよい。
ここで、変化時間htは、本例のトランジション表示の開始から終了までに掛かる時間である。つまり、例えば、図5(b)上の左上に示す状態から右下に示す状態になるまでに掛かる時間である。
また、パラメータ更新時間Δtは、予め開発者等が任意に設定しておく値であり、トランジション表示の実行周期に相当する。つまり、Δt毎に例えば後述する図14の処理を実行する。
また、Δt経過カウンタ146には、トランジション表示実行中、例えば図14の処理が実行される毎に、下記の算出式(2)による算出結果が格納される。
Δt経過カウンタ
=(トランジション開始からの経過時間)÷パラメータ更新時間Δt ・・・(2)式
尚、この例では、Δt経過カウンタ146は、トランジション開始から任意の図14の処理実行時点までの処理回数(図14の処理の実行回数)を意味するものと言える。尚、上記Δt変化時間カウンタ145、Δt経過カウンタ146は、後述するステップS53の判定処理に用いるが、この例に限るものではなく、例えば変化時間htと“トランジション開始からの経過時間”を用いてステップS53と略同様の判定処理を行っても構わない。つまり、(1)式、(2)式による算出処理は、必ずしも必要ない。
図11等の説明に戻る。
以下、ステップS22〜S26について説明する。
ここで、上記の通り、通常はスクリーン表示データ65に基づいて操作表示画面を表示している。よって、ステップS22〜S26の処理開始時点では、スクリーン表示データ65の画像が表示されており、仮に上記スクリーンAが表示されているものとする。また、切替先は上記スクリーンBであるものとして説明するものとする。
ステップS22では、現在のスクリーン表示データ65(スクリーンAの画像)を、旧スクリーン画像データ記憶部66及びトランジション表示データ記憶部68にコピー・格納する。換言すれば、現在のスクリーン表示データ65を、新たな旧スクリーン画像データ66及びトランジション表示データ65とする。また、上記スクリーン制御モード141を上記「スクリーン生成中」モードに変更する(ステップS23)。更に、スクリーン表示データ記憶部65の格納データ(スクリーンAの画像)を、消去する(ステップS24)。尚、その際、スクリーン切替要求142をフラグOFFにする処理も実行してもよい。
更に、アイテムリスト63をクリア(現在のデータを消去)したうえで(ステップS25)、切替先スクリーンに対応するアイテムリスト63を新たに生成する(ステップS26)。切替先スクリーンは、上記切替先スクリーンNo.143を参照することで判別できる。本例ではスクリーンBに対応するアイテムリスト63を生成することになる。尚、アイテムリスト生成処理自体は、既存技術であり、特に説明しないものとする。そして、ステップS27の処理へと移行する。
ステップS27では、アイテムリスト63の全レコードの上記処理済みフラグ107を“未処理”(フラグOFF)とする初期化処理を実行する。尚、当該処理対象のアイテムリスト63は、ステップS21がYESの場合には上記ステップS26で生成した新たなアイテムリスト63であり、ステップS21がNOの場合には既存のアイテムリスト63となる。
何れにしても、その後は、上記初期化処理実行後のアイテムリスト63を用いて、ステップS28〜S32のアイテム描画処理を実行する。このアイテム描画処理は、基本的には、操作表示画面の生成・更新処理を意味すると見做してよい。つまり、スクリーン表示データ記憶部65のメモリ領域上に各アイテムに係る画像を新たに描画することで新たな操作表示画面を生成し、これがRAM13上に転送されることで、当該操作表示画面がディスプレイ19上に表示されることになる。但し、本手法では、必ずしもスクリーン表示データ65がRAM13に転送されるとは限らず、トランジション表示データ68がRAM13上に転送される場合もある。
上記アイテム描画処理自体は、基本的には既存の処理であるので、以下、簡単に説明する。
まず、アイテムリスト63において上記処理済みフラグ107が“未処理”となっているレコードを処理対象として(ステップS28)、当該処理対象レコードとリンクしている共有メモリ64のレコードのデータ84を取得する(ステップS29)。これは、例えば当該データ84をメモリ情報130(そのデータ131)として取得する。尚、メモリ情報130については、一例を図10(b)に示す。
そして、上記処理対象レコードとメモリ情報130等に基づいて、処理対象のアイテムの描画を行う(ステップS30)。これは、スクリーン表示データ記憶部65のメモリ領域上に描画するものである。図12には、このアイテム描画のイメージの一例を示してある。この例は、数値表示アイテムであり、上記データ131が‘12345’であり、これを図示のように描画したイメージを示してある。
そして、処理対象レコードの上記処理済みフラグ107を“処理済み”とし(ステップS31)、未処理のレコードが残っている場合には(ステップS32,YES)、ステップS28に戻って新たな処理対象レコードについて上記と同様の処理を行う。
未処理のレコードが存在しない場合には(ステップS32,NO)、スクリーン表示データ65の生成が完了したことになり、ステップS33へ移行する。尚、ステップS21がYESであった場合には、切替先スクリーン(上記の例ではスクリーンB)に係るスクリーン表示データ65の生成が完了したことになる。
尚、上記ステップS21がYESの場合には、このとき、切替元スクリーン(上記の例ではスクリーンA)の描画データは、上記の通り、旧スクリーン画像データ66及びトランジション表示データ68として記憶されている状態となっている。よって、このときには、スクリーン表示データ転送処理部52によって、トランジション表示データ68(スクリーンA)とスクリーン表示データ65(スクリーンB)の何れか一方を、操作表示画面として表示させ得る状態となっている。当該転送処理部52の処理については、詳しくは後述する。
そして、上記スクリーン制御モード141が「スクリーン生成中」モードである場合には(ステップS33,YES)、ステップS34,S35,S36の処理を実行したうえで本処理を終了する。上記ステップS21がYESであった場合には、上記ステップS23によってスクリーン制御モード141が「スクリーン生成中」モードとなっている。一方、上記ステップS21がNOの場合には、スクリーン制御モード141は上記「通常」モードとなっているはずであり、よってステップS33の判定はNOとなり、この場合はそのまま本処理を終了する。
ステップS34では、上記のように生成した新たなスクリーン表示データ65(スクリーンB)を、新スクリーン画像データ記憶部67へコピー・格納する。そして、スクリーン制御モード141を上記「トランジション中」モードに変更したうえで(ステップS35)、トランジションタイマを起動する(ステップS36)。トランジションタイマについては後述する。
但し、ステップS34の処理は実行しなくても構わない。つまり、上記新スクリーン画像データ67は無くても構わない。この様な変形例の場合には、旧スクリーン画像データ66とスクリーン表示データ65とを合成する処理を行うことで、トランジション表示データ68を生成することになる。新スクリーン画像データ67は、新たなスクリーン表示データ65(スクリーンB)を、トランジション表示実行の為にコピーしたものであるが、この様なコピーを行う必要がない場合も有り得る。尚、図示の例の場合、上記各記憶部65,66,67,68の為の4つのメモリ領域が必要であった。これに対して、当該変形例の場合、各記憶部65,66,68の為の3つのメモリ領域があれば済む。
また、トランジション実行中、スクリーン表示データ65は、随時、最新版に更新されるようにしてもよい。つまり、トランジション表示実行中であっても、例えばサイクリックに図11の処理が実行されて、上記ステップS27〜S32の処理によって、最新の取得データに応じた最新版のスクリーン表示データ65を生成してもよい。これに伴って、トランジション表示における切替先スクリーンの表示内容が、最新版に更新されることになる。尚、取得データとは、上記割当メモリ領域から取得して共有メモリ64等に格納したデータ等である。この更新処理自体は、既存の処理と見做しても構わない。
この様に、トランジション中すなわちスクリーン切替アニメーション表示中に、切替先スクリーンの表示内容が、随時、最新版に更新されるようにしてもよい。但し、この例に限らない。例えばトランジション中はスクリーン表示データ65の更新は行わないようにしてもよい。あるいは、トランジション中は、スクリーン表示データ65は最新版に更新するが、ステップS34の処理は行わないようにしてもよい。何れにしても、トランジション表示における切替先スクリーンの表示内容が、トランジション開始時の内容のまま変わらないようにしてもよい。
ここで、上記トランジションタイマは、例えばCPU11内の不図示の構成要素であり、予め上記パラメータ更新時間Δtがセットされているタイマである。トランジションタイマは、上記ステップS36で起動された後は、後述するステップS54で停止されるまで、Δt経過する毎にタイマアップすることを繰り返す。
上記トランジションタイマ処理部53は、トランジションタイマがタイマアップする毎に、図14の処理を実行する。つまり、Δt周期で図14の処理を実行する。
図14は、トランジションタイマ処理部53の処理フローチャート図である。
トランジションタイマ処理部53は、まず、上記Δt経過カウンタ146を更新する(ステップS51)。これは例えば上述した(2)式による算出結果によって更新する。尚、上記(2)式における“トランジション開始からの経過時間”は、例えば上記ステップS36の処理時点からの経過時間を、別途計測しているものである。但し、この例に限らす、例えば「Δt経過カウンタ146=Δt経過カウンタ146+1」によって更新してもよい。つまり、Δt経過カウンタ146を、「現在値+1」により更新してもよい。尚、この場合、例えばステップS36の処理の際にΔt経過カウンタ146を初期化(=0)しておく。
そして、トランジションタイプ144に従って、旧スクリーン画像データ66の一部と新スクリーン画像データ67の一部とを合成して、この合成画像をトランジション表示データ記憶部68に上書き格納する(ステップS52)。つまり、この合成画像を、新たなトランジション表示データ68とする。
ステップS52の画像合成処理の一例を、図15を参照して説明する。
尚、ここでは上記の通りトランジションタイプ144が「スライド」である場合を例にして説明する。つまり、例えば図5に示したトランジション表示が行われる例を説明する。
図15(a)において、図上左側には旧スクリーン画像データ66、図上右側には新スクリーン画像データ67の一例を示す。つまり、図上左側は上記切替元であるスクリーンA、図上右側は上記切替先であるスクリーンBであると見做してもよい。
また、図15(b)には、これら新旧スクリーンの合成結果の一例を示している。すなわち、図15(a)に示すように、旧スクリーン画像データ66の一部を切り出すと共に、新スクリーン画像データ67の一部を切り出す。そして、これら切り出した画像を、図15(b)に示すように合成することで、上記トランジション表示データ68を生成する。これは、例えば、新旧スクリーンから切り出した画像を、トランジション表示データ記憶部68のメモリ領域に格納することで、合成画像が生成される。
尚、ここではスクリーンの解像度は(X方向×Y方向)=(800画素×600画素)であるものとする。換言すれば、幅(解像度X幅)=800(画素)、高さ(解像度Y幅)=600(画素)とする。また、スクリーンの左上角の座標を基点(0,0)とする。よって、スクリーンの右下角の座標は図示の通り(800,600)となる。
(1)この例において、旧スクリーン画像データ66の画像切取処理は、下記のようになる。
・座標(X1,Y1)から幅W1、高さH1の領域の画像を切り出す(クリッピングする)。本例では、X1,Y1、W1、H1は下記の通りとする。
X1=解像度X幅×(Δt経過カウンタ146/Δt変化時間カウンタ145)
Y1=0
W1=解像度X幅−X1
H1=解像度Y幅(=600画素分)
更に、上記旧スクリーン画像データ66から切出した画像を、トランジション表示データ記憶部68のメモリ領域に貼り付ける処理(コピー処理)は、下記のようになる。
・切出し画像の左上角が、上記メモリ領域における座標(COPYX1、COPYY1)となるように貼り付ける。
本例では、COPYX1、COPYY1は下記の通りとする。
COPYX1=0
COPYY1=0
(2)一方、新スクリーン画像データ67の画像切取処理は、下記のようになる。
・座標(X2,Y2)から幅W2、高さH2の領域の画像を切り出す(クリッピングする)。本例では、X2,Y2、W2、H2は下記の通りとする。
X2=0
Y2=0
W2=解像度X幅−W1(=X1)
H2=解像度Y幅(=600画素分)
更に、上記新スクリーン画像データ67から切出した画像を、トランジション表示データ記憶部68のメモリ領域に貼り付ける処理(コピー処理)は、下記のようになる。
・切出し画像の左上角が座標(COPYX2、COPYY2)となるように貼り付ける。
本例では、COPYX2、COPYY2は下記の通りとする。
COPYX2=W1
COPYY2=0
尚、本処理はコピー処理であり、旧スクリーン画像データ66や新スクリーン画像データ67から切り出した画像が、これら旧スクリーン画像データ66や新スクリーン画像データ67から消えるわけではなく、そのまま残されている。
図14の説明に戻る。
上記ステップS52の画像合成処理を実行したら、続いて、「Δt変化時間カウンタ145≦Δt経過カウンタ146」となったか否かを判定する(ステップS53)。つまり、トランジション表示を開始してから上記変化時間ht経過したか否かを判定する。
「Δt変化時間カウンタ145>Δt経過カウンタ146」である場合には(ステップS53,NO)、つまり未だ開始から時間ht経過していない場合には、そのまま本処理を終了する。
一方、「Δt変化時間カウンタ145≦Δt経過カウンタ146」である場合には(ステップS53,YES)、上記トランジションタイマを停止し(ステップS54)、上記スクリーン制御モード141を「通常」モードに変更して(ステップS55)、本処理を終了する。
また、上記スクリーン表示データ転送処理部52は、上記スクリーン制御モード141に応じて、スクリーン表示データ65とトランジション表示データ68の何れか一方をRAM13に転送する。これによって、何れか一方がディスプレイ19上に表示されることになる。これは、例えば図16の処理を実行するものである。
図16は、スクリーン表示データ転送処理部52の処理フローチャート図である。
スクリーン表示データ転送処理部52は、上記スクリーン制御モード141が上記「トランジション中」モードである場合には(ステップS61,YES)、トランジション表示データ68をRAM13に転送する(ステップS63)。これによって、上記新旧スクリーンの合成画像が、ディスプレイ19上に表示されることになる。つまり、トランジション表示(スクリーン切替えの際の画面遷移のアニメーション表示)が行われることになる。
一方、上記スクリーン制御モード141が上記「トランジション中」モードではない場合には(基本的には「通常」モード等である場合には)(ステップS61,NO)、スクリーン表示データ65をRAM13に転送する(ステップS62)。これは、通常の操作表示画面表示が行われるものである。
ここで、上述したトランジション表示に係る処理は、タッチスイッチ判定処理部51によって上記スクリーン切替アイテムが操作されたものと判定された場合に、実行されるものである。特に図11等におけるステップS22〜S26やステップS34〜S36の処理は、タッチスイッチ判定処理部51が、上記スクリーン切替アイテムの押下操作有りの判定に伴って上記スクリーン制御データ62を更新することで、実行されることになる。
以下、タッチスイッチ判定処理部51の処理について詳細に説明する。
図17は、タッチスイッチ判定処理部51の処理フローチャート図である。
尚、ここではスイッチリスト61を参照して押下アイテムを判別する例を示すが、この様な例に限らない。基本的には、上記アイテムリスト63の座標102とサイズ103を参照すれば、各アイテムが配置されている領域が分かるので、ユーザがタッチした位置の座標が、どのアイテムの領域に含まれるのかを判別すれば、押下アイテムを判別できる。よって、普通は、アイテムリスト63を参照すればよく、スイッチリスト61は必要ない。
ここでは、アイテム同士が一部で重なり合うように配置されている場合でも、適切に押下アイテムを判別できるようにする処理例について、図示・説明するものとする。但し、この様なアイテム判別処理は必須ではなく、無くても構わない。
尚、何れにしても、スクリーン切替アイテムが操作された場合には、後述するステップS44の処理は実行する。
タッチパネルコントローラ16は、ユーザがタッチした位置の座標を検出して、これをタッチスイッチ判定処理部51に渡す。
タッチスイッチ判定処理部51は、このタッチ位置座標とスイッチリスト61等に基づいて、ユーザが操作したアイテムを判別する。これは、図示の例では、スクリーン上の各種アイテムを、上記スクリーン切替アイテムとそれ以外のアイテム(他アイテムと記すものとする)とに分類しており、他アイテムの何れかが操作されたと判定された場合には図示のステップS41がYESになり、スクリーン切替アイテムが操作された場合にはステップS41がNOで且つステップS43がYESとなるものとする。勿論、この様な例に限らない。
ここで、スイッチリスト61の一例を図18に示す。
尚、ここでは、各種アイテムのうちスイッチのみを例にして説明するが、この例に限らず、他のアイテムに関しても同様にしてよい。
尚、図18は、スイッチ情報90の具体例を示すが、スイッチリスト61はスイッチ情報90の集合体と見做してよい。スクリーン上のアイテムそれぞれに、対応するスイッチ情報90がある。但し、上記の通り、ここでは各種アイテムのうちスイッチのみを例にして説明するものとする。
各スイッチ情報90は、上位リンク91、下位リンク92、“スイッチアイテム情報へのリンク”93、スイッチ領域開始X94、スイッチ領域開始Y95、スイッチ領域終了X96、スイッチ領域終了Y97等から成る。
上位リンク91は、そのスイッチの上位(上側)に配置されたスイッチに対応するスイッチ情報90へのリンク(ポインタ等)である。
下位リンク92は、そのスイッチの下位(下側)に配置されたスイッチに対応するスイッチ情報90へのリンク(ポインタ等)である。
“スイッチアイテム情報へのリンク”93は、画面データ22やアイテムリスト63等における、そのスイッチに関する情報が登録されたレコードへのリンク(ポインタ等)である。但し、この例に限らない。各アイテム毎にユニークな識別ID(アイテムIDと呼ぶ)が予め割り当てられており、当該アイテムIDを用いて画面データ22やアイテムリスト63等における各レコードを管理している場合には、このアイテムのアイテムIDが“スイッチアイテム情報へのリンク”93に格納されるものであってもよい。
ユーザが操作したアイテムをスイッチリスト61を用いて判別したら、この操作アイテムに対応するスイッチ情報90の“スイッチアイテム情報へのリンク93”を用いて、リンク先の情報を参照して、例えば操作アイテムの機能を実行することになる。
スイッチ領域開始X94、スイッチ領域開始Y95、スイッチ領域終了X96、スイッチ領域終了Y97の全てによって、そのスイッチが配置されている領域(配置領域)が示される。これは、後述する図19(a)に示すような矩形のスイッチを想定しており、この矩形の左上角のXY座標が上記スイッチ領域開始X94とスイッチ領域開始Y95であり、この矩形の右下角のXY座標が上記スイッチ領域終了X96とスイッチ領域終了Y97である。
尚、上記“そのスイッチ”とは、各スイッチ情報90に対応するスイッチである。つまり、後述するスイッチAに対応するスイッチ情報90の場合、“そのスイッチ”はスイッチAを意味する。
タッチスイッチ判定処理部51は、上記スイッチ情報90の各配置領域のなかで上記タッチ位置座標が含まれる領域を判別する。該当するものが1つのみであれば、そのスイッチが操作アイテムであると判定すればよい。しかし、該当するものが複数(基本的には2つ)ある場合には、上記上位リンク91、下位リンク92を用いて、操作スイッチを判別する。尚、操作アイテムとは、ユーザによってタッチ操作されたアイテムであり、基本的には従来通り、操作アイテムの機能が実行されることになる。
ここで、上記スイッチ情報90について、図19も参照して説明する。
図19(a)に示す例では、スイッチA、スイッチB、スイッチCの3つのスイッチ・アイテムが配置されている。そして、図示のように、スイッチAとスイッチBとは一部重なっており、スイッチBとスイッチCも一部が重なっている。これは、スイッチBがスイッチAの上側(上位)となるように重なっている。スイッチCがスイッチBの上側(上位)となるように重なっている。尚、これは、複数のスイッチの配置領域が重なっているものと言える。
この様なアイテム配置の場合、ユーザが図上“手”の絵で示す指先の位置をタッチする場合には、上記アイテムリスト63のみを用いる判別処理でも問題ない。つまり、スイッチAが操作されたものと判別できる。しかしながら、ユーザが例えばスイッチAとスイッチBとが重なる領域内をタッチした場合、上記アイテムリスト63のみを用いる判別処理では、スイッチAとスイッチBの両方が該当してしまう。これに対して、本例では、スイッチリスト61(各アイテムのスイッチ情報90から成る)を用いることで、相対的に上位(上側)のスイッチが操作されたものと判別する。勿論、これは一例であり、例えば相対的に下位(下側)のスイッチが操作されたものと判別する構成であっても構わない。
図示の例では、例えばスイッチBを例にすると、上位リンク91が“スイッチC”、下位リンク92が“スイッチA”となっている。これより、例えばスイッチAとスイッチBとが重なる領域内がタッチされた場合、スイッチBから見てスイッチAは下位であると認識できるので、スイッチBが操作されたものと判定できる。同様に、例えばスイッチCとスイッチBとが重なる領域内がタッチされた場合、スイッチBから見てスイッチCは上位であると認識できるので、スイッチCが操作されたものと判定できる。
そして、上記のように操作アイテムと見做されたスイッチのスイッチ情報90における“スイッチアイテム情報へのリンク93”を用いることで、このスイッチの上記アイテムタイプ101が分かるので、これによって操作アイテムがスクリーン切替アイテムであるか否かを判別できる。
上記のように操作アイテムが判定されることで、タッチスイッチ判定処理部51は、上記のように、操作アイテムがスクリーン切替アイテムではない場合には(ステップS41,YES)、この操作アイテムの機能を実行する。
一方、操作アイテムがスクリーン切替アイテムの場合(上記の通り、ここではステップS41がNO且つステップS43がYESとなる)、スクリーン切替要求処理を実行する(ステップS44)。
ステップS44の処理は、スクリーン制御データ62を更新する処理である。これは、例えば、まず、上記操作されたスクリーン切替アイテムのスイッチ情報90における上記“スイッチアイテム情報へのリンク93”を用いて、当該スクリーン切替アイテムに関する上記スクリーン切替先112、トランジションタイプ113を取得する。そして、これら取得したスクリーン切替先112、トランジションタイプ113を、スクリーン制御データ62の上記切替先スクリーンNo.143、トランジションタイプ144に上書き格納する。更に、上記スクリーン切替要求142を“要求あり”(例えばフラグON)にする。
尚、上記ステップS44の処理の際に、更に、上記(1)式、(2)式による所定の算出処理を行って、算出結果をΔt変化時間カウンタ145、Δt経過カウンタ146に格納する処理を行ってもよい。但し、逐一この様な算出・格納処理を行う必要性はなく、例えば最初に1回だけ行うようにしてもよい。また、既に述べたように、この様な算出処理自体を、行わないようにしてもよい。
尚、何れのアイテムも操作されていない場合、つまりアイテムが配置されていない空き領域がタッチされた場合には、ステップS41がNO且つステップS43がNOとなって、そのまま本処理を終了する。
以上、タッチスイッチ判定処理部51の処理について説明した。
ここで、オーバーラップ画像が表示される場合について説明する。
オーバーラップ画像とは、操作表示画面上にポップアップ等されるウィンドウ等であり、例えばダイアログボックス等である。通常時においてオーバーラップ画像が表示されている状態では、スクリーン表示データ記憶部65とRAM13上には、操作表示画面上の一部にオーバーラップ画像が上書き描画された画像が、格納された状態となっている。例えば図20(a)に示すような画像が、上記スクリーン表示データ記憶部65に格納された状態となっている。また、この画像がRAM13上に転送されて格納された状態となっている。
この様な状態において上記スクリーン切替アイテムの操作があると、例えば図20(a)に示す画像データが、旧スクリーン画像データ記憶部66等にコピー・格納されることになる。
この様な旧スクリーン画像データ66等を用いて上記図15で説明した合成画像を生成することで、ディスプレイ19上のトランジション表示は、例えば図20(b)に示すようになる。つまり、操作表示画面上の一部にオーバーラップ画像がある状態の旧スクリーンが、新スクリーンに押し出される形で移動していくようなトランジション表示となる。
オーバーラップ画像が含まれるスクリーンの場合でも、処理自体は上述した通常のスクリーンの場合と同じであってよい。また、トランジション表示も、上記のように、通常のスクリーンの場合と略同様となる。オーバーラップ画像も操作表示画面と一緒にスライドアウトしていくことになる。
ここで、従来より、“グローバルオーバーラップ画像”と呼ばれる特殊なオーバーラップ画像がある。“グローバルオーバーラップ画像”は、例えば警報、警告等を表示するオーバーラップ画像であり、従ってスクリーン切替えがあっても表示し続ける必要がある。この為、上記通常のオーバーラップ画像のように操作表示画面と一緒にスライドアウトして消えていく表示となることは、望ましくない。
つまり、図20(c)に示すように切替元スクリーンにおいて“グローバルオーバーラップ画像”が表示されていた場合、切替後も“グローバルオーバーラップ画像”が表示されている必要がある。更に、図20(d)に示すように、本手法によるスクリーン切替アニメーション動作中においても“グローバルオーバーラップ画像”が表示されていることが望ましい。
これを実現する為に、例えば上記図6の例において当該図6には図示していないが、不図示の“グローバルオーバーラップ画像記憶部”を設ける。これは、例えばCPU内の不図示のメモリ等に、グローバルオーバーラップ画像を格納するメモリ領域を、更に設けるようにする。そして、“グローバルオーバーラップ画像”を表示するイベントが生じた際には、“グローバルオーバーラップ画像記憶部”に“グローバルオーバーラップ画像”を格納する処理を行うものとする。“グローバルオーバーラップ画像”自体は、予め所定の画像が登録されており、所定のイベント(何等かの異常検知等)が発生すると、この登録画像が“グローバルオーバーラップ画像記憶部”に格納される。
そして、例えば、スクリーン表示データ転送処理部52は、上記図16の処理によって、トランジション表示データ68とスクリーン表示データ65の何れか一方を、RAM13上に転送するが、どちらを転送する場合でも更に下記の処理を行う。
すなわち、上記何れかの表示データをRAM13上に転送して所定の記憶領域に格納した後、上記“グローバルオーバーラップ画像記憶部”に画像が格納されているか否かをチェックする。そして、画像がある場合には、上記所定の記憶領域内に、グローバルオーバーラップ画像を上書き描画する。これによって、ディスプレイ19上には、例えば図20(c)や図20(d)に示す画面が、表示されることになる。
尚、例えば何らかの警報が発生した場合、グローバルオーバーラップ画像”を上記“グローバルオーバーラップ画像記憶部”に格納する処理を行い、警報が解除されたら“グローバルオーバーラップ画像記憶部”の画像を消去する処理を行うようにしてもよい。
図21は、本例のプログラマブル表示器1等の機能ブロック図である。
本例のプログラマブル表示器1は、例えば、新旧画像管理部201、合成画像生成部202、表示制御部203、画面表示制御部204、グローバル画像記憶部205等を有する。
新旧画像管理部201は、スクリーン切替指示があった場合、表示中のスクリーン画像を旧スクリーン画像として退避・記憶すると共に、切替先のスクリーンの画像を新スクリーン画像として生成・記憶する。これらの一例が上記旧スクリーン画像データ66、新スクリーン画像データ67等であるが、この例に限らない。
合成画像生成部202は、上記スクリーン切替指示に伴う遷移処理開始時点から所定時間経過するまでの間、上記旧スクリーン画像の一部と上記新スクリーン画像の一部とを、合成比率を変えながら合成して合成画像を生成する。この合成画像の一例が上記トランジション表示データ68であるが、この例に限らない。また、上記所定時間の一例が上記変化時間htやΔt変化時間カウンタ145等であるが、この例に限らない。尚、遷移処理開始時点とは、例えば上記ステップS36の処理実行時点であるが、この例に限らない。
表示制御部203は、上記合成画像が生成される毎に該生成された合成画像を表示することで、上記旧スクリーン画像から上記新スクリーン画像へ遷移する画面表示を行う。この様な遷移表示の一例が上記図5(b)に示す画面表示であるが、この例に限らない。
また、上記合成画像生成部202は、例えば、上記合成比率を、予め登録される上記所定時間と実行周期と、上記遷移処理開始時点からの経過時間とに基づいて決定する。尚、上記実行周期の一例が上記パラメータ更新時間Δtであるが、この例に限らない。また、上記経過時間の一例が上記“トランジション開始からの経過時間”や上記Δt経過カウンタ146等であるが、これらの例に限らない。
また、上記合成画像生成部202は、例えば、上記旧スクリーン画像と上記新スクリーン画像との合成比率を、遷移処理開始時には旧スクリーン画像の比率が高く、該旧スクリーン画像の比率を徐々に下げることで、遷移処理終了時には新スクリーン画像の比率が高くなるようにする。
一例としては、例えば、遷移処理開始時には旧スクリーン画像の比率を100%とし、遷移処理終了時には新スクリーン画像の比率を100%とする。
上記合成比率の算出処理の一例は、図15で説明した通りであるが、勿論、この例に限らない。
上記表示制御部203が、上記生成される合成画像を表示することで、例えば、旧スクリーン画像が新スクリーン画像によって画面から押し出されていき最終的には新スクリーン画像のみが画面上に表示される形態の遷移表示が行われることになる。この一例が図5(b)に示した“旧→新”遷移表示であるが、この例に限らない。
また、例えば、旧スクリーン画像を記憶する為の旧スクリーン用メモリ領域と、新スクリーン画像を記憶する為の新スクリーン用メモリ領域と、合成画像を記憶する為の合成画像用メモリ領域とが、設けられているように構成してもよい。
但し、この例に限らず、例えば、旧スクリーン画像を記憶する為の旧スクリーン用メモリ領域と、合成画像を記憶する為の合成画像用メモリ領域とが設けられており、新スクリーン画像は、表示対象のスクリーン画像を記憶する為の表示対象用メモリ領域上に新たに生成・記憶される構成であってもよい。尚、上記表示対象用メモリ領域の一例が、上記スクリーン表示データ記憶部65であるが、この例に限らない。
また、画面表示用メモリに格納された画像を用いて画面表示を行う画面表示制御部204を有する構成であってもよい。上記画面表示用メモリの一例が、上記RAM13であり、上記画面表示制御部204の一例が上記グラフィックコントローラ15であるが、これらの例に限らない。
また、例えば、上記表示制御部203は、上記遷移処理開始時点から所定時間経過するまでの間は、上記合成画像用メモリ領域に格納される画像を上記画面表示用メモリに転送して記憶させることで、合成画像を画面表示させるものであってもよい。
また、例えば、上記表示制御部203は、通常時は、上記表示対象用メモリ領域上に記憶されるスクリーン画像を、上記画面表示用メモリに転送して記憶させるようにしてもよい。
また、例えば、上記新旧画像管理部201は、上記スクリーン切替指示があったときに上記表示対象用メモリ領域に格納されているスクリーン画像を、上記旧スクリーン画像として退避・記憶するものであってもよい。
また、例えば、本例のプログラマブル表示器1は、上記接続機器4に接続されている。
そして、既に説明したように、従来と同様、各スクリーン画像は1以上のアイテムに係わる画像から成り、該各アイテムには、例えば画面データ22等で、予め接続機器4内の所定の割当メモリ領域が割り当てられている。
これより、上記表示中のスクリーン画像または新スクリーン画像は、例えば、そのスクリーン画像に係る各アイテムに関する所定情報(画面データ22/アイテムリスト63等)と、割当メモリ領域から取得したデータ等に基づいて、生成される。但し、この様な例に限らない。
そして、上述したように、この様なスクリーン画像の生成・更新処理は、トランジション中に行っても構わない。
これより、例えば、上記新旧画像管理部201は、上記遷移処理開始時点から所定時間経過するまでの間、新スクリーン画像に係る各アイテムの割当メモリ領域のデータに基づいて、新スクリーン画像を更新するものであってもよい。この場合、合成画像生成部202は、上記合成画像生成の際、該更新された新スクリーンを合成に用いるものであってもよい。これによって、合成画像における新スクリーン画像の部分は、最新の内容とすることができる。
また、例えば、上記表示中のスクリーン画像は、1以上のアイテムに関する情報である画面データ22/アイテムリスト63等に基づいて生成される操作表示画面上に、任意の画像がオーバーラップされて成る画像であってもよい。
この例の場合、該オーバーラップ画像を含むスクリーン画像が上記旧スクリーン画像として退避・記憶されることになる。そして、上記合成画像生成部203は、例えば、該オーバーラップ画像を含む画像に対してその一部を切り出して上記合成に用いることになる。この例の場合、例えば上記図20(a)、(b)に示した遷移表示が行われることになる。
また、例えば、スクリーンが切替えられても表示し続ける必要があるオーバーラップ画像であるグローバルオーバーラップ画像を表示する場合に、該グローバルオーバーラップ画像を記憶するグローバル画像記憶部205を更に有する構成であってもよい。
そして、上記合成画像生成部202は、該グローバル画像記憶部205前記グローバルオーバーラップ画像が記憶されている場合には、上記生成した合成画像に更に該グローバルオーバーラップ画像を合成することで、合成画像を完成させるものであってもよい。この場合、上記表示制御部203は、該グローバルオーバーラップ画像を含む合成画像を表示することになる。これによって、例えば上記図20(c)、(d)に示した遷移表示が行われることになる。
また、支援装置5は、その処理機能として例えば図示の設定部211を有するものであってもよい。設定部211は、例えば上記図4で説明した画面表示を行って、ユーザに所望の設定を行わせるものである。但し、この例に限らず、例えば更に、上記変化時間htやパラメータ更新時間Δt等も任意に設定させるものであってもよい。
以上説明したように、本例のプログラマブル表示器1は、複数の操作表示画面(スクリーン)を表示し得るプログラマブル表示器であって、スクリーン切替時に画面遷移のアニメーション表示を行うことができる。また、当該画面遷移中に、切替先スクリーンの表示内容を、割当メモリ領域の格納データに応じて、随時、更新させることもできる。
また、切替元スクリーンにオーバーラップ画像が表示されていた場合でも、そのまま、画面遷移のアニメーション表示を行うことができる。一方、切替元スクリーンに上記グローバルオーバーラップ画像が表示されていた場合には、当該グローバルオーバーラップ画像は遷移(移動・消去)することなくそのまま表示し続けるようにすることもできる。