以下に、添付の図面に基づいて本発明の好ましい実施例を説明する。図1は、実施例の波形観測装置1の正面図である。波形観測装置1は、モニタ2の下方に、下ヒンジ上開きの開閉蓋3を有し、スライドロック4を解放して、下ヒンジ5を中心に開閉蓋3を開放することにより、図2に示すように、メイン電源スイッチ6、スタート/ストップスイッチボタン7、設定メニューボタン8、オペレータキーボタン9、タッチパネル機能ロックスイッチボタン10、USBポート11を露出させることができる。
図3は波形観測装置1の分解斜視図であり、図4は、そのブロック図である。波形観測装置1は、本体20と、この本体20の前面に脱着可能なフロントユニット22とを有する。フロントユニット22は、化粧パネル220、前面フレーム221、タッチパネル222、バックライト223(図4)を備えた液晶ディスプレー224、とで構成され、タッチパネル222及びバックライト付きの液晶ディスプレー224によって上記モニタ2が構成されている。
本体20は、その前面に位置し且つ起立した状態の中継基板201と、中継基板201の上端に接続されて水平方向に延びるメイン基板202とを有し、中継201には、10個の計測ユニット用コネクタ203と、4個のIOユニット用コネクタ204が配設されている。中継基板201及びメイン基板202は本体ケース205の内部に収容される。
本体ケース205は、金属製の外側ケース206と、内側のプラスチックケース207とで構成され、プラスチックケース207には、計測ユニット23及びIOユニット24を収容する左右2列の多段の棚が形成されている。計測ユニット23、IOユニット24は、プラスチックケース207の棚に後方から挿入することでコネクタ接続することができる。すなわち、起立した状態でプラスチックケース207の前方に位置する中継基板201には、上記プラスチックケース207の各棚に対応した位置にコネクタ203、204が配設され、計測ユニット23又はIOユニット24は、プラスチックケース207の各棚に挿入することで中継基板201にコネクタ接続することができる。このような構成を採用することにより波形観測装置1を小型化することができる。
計測ユニット23及びIOユニット24には、夫々、その背面に端子台25、26が配設され(図4)、計測ユニット23の端子台25には熱電対、測温抵抗体、流量計、圧力センサなどの各種センサ27が結線される。そして、ユニット内マイコン28は、センサ27から信号を受け取ると中継基板201を介してメイン基板202のマイコン29と交信し、センサ27から受け取った計測データをメイン基板202に送信する。
メイン基板202のマイコン29は、所定のプログラムに従って信号処理して、計測データをメモリ30に記憶させると共に液晶ディスプレー222(モニタ2)の描画を制御するための画像信号を生成する。メイン基板202と液晶ディスプレー222とは中継基板201を介して接続されている。オペレータがタッチパネル222にタッチすると、これに対応したタッチ位置信号又は座標信号がタッチパネル222からメイン基板202のマイコン29に供給され、マイコン29は、タッチ位置の意味するキーが意味する機能を実現する、又は、座標信号に基づいてモニタ2に表示している波形のスクロールを実行する信号を生成する。
波形観測装置1は、工場内の制御盤32(図4)に設置され、工場内LAN33を介してパーソナルコンピュータ34に接続可能であり、パーソナルコンピュータ34は、波形観測装置1に表示されている波形と同じ波形を表示することができる。また、波形観測装置1のメモリ30に記憶されているデータは、USBコネクタ11にUSBメモリ26を差し込むことで取り出すことができる。
波形観測装置1のモニタ2には、図1に例示するように波形チャートが表示される。図1に例示の波形チャートは水平軸が時間軸であり右方向に時間が進み、左よりも右の方が時間的に新しい。図1の表示モードを水平表示モードと呼ぶと、勿論、波形チャートの表示は、これに限定されず、例えば時間軸が垂直であり、上方向に時間が進んで、下よりも上の方が時間的に新しい垂直表示モードを有していてもよく、垂直表示モードと水平表示モードとはオペレータの設定操作によって任意に切り替えることができるのが好ましい。
図5の水平表示モードにおいて、オペレータが例えば過去の計測データを参照したいときには、モニタ2に表示のスクロール方向を指し示す例えば三角形のスクロール方向表示40R、40Lの例えば右スクロール方向表示40Rをタッチすると、モニタ2に表示の波形チャートは右方向に所定速度でスクロールを開始し、計測データが存在する限り、スクロール方向表示40Rをタッチし続けることで右スクロールを継続させることができる。勿論、左方向に波形チャートをスクロールさせたいときには、左スクロール方向表示40Lをタッチすればよい。左スクロール方向表示40Lをタッチすると波形チャートは左方向にスクロールを開始し、計測データが存在する限り、左スクロール方向表示40Lをタッチし続けることで左方向にモニタ2に表示の波形チャートをスクロールさせ続けることができる。
波形チャートのスクロールに関し、これとは別に、モニタ2において波形チャートが表示されている波形チャート表示領域41を指先F等の指令手段でタッチ操作することで行うことができる。図5において、指先Fを時間軸方向つまり波形チャート表示領域41の座標で言えば水平軸であるx軸方向にスライド操作することで、この指先Fのスライド方向及び速度に対応して、スライド方向と同じ方向に且つスライド速度と同じ速度で波形チャートをスクロールさせることができる。図5の例では、右方向に指先Fをスライドさせた例を示すが、この例では、指先Fのスライド操作に追従してモニタ2に表示の波形チャートが右方向に指先Fのスライド速度と同じ速度でスクロールする。この追従スクロールでは、モニタ2にタッチした指先F等の指令手段を右方向にスライドさせるとこれに追従してモニタ2に表示の波形チャートも右方向にスクロールすることになるが、仮にスクロールさせ過ぎたときには、指先Fを逆方向つまり左方向に戻し操作を行うと、これに追従して波形チャートも左方向にスクロールすることになる。
上記追従スクロールとは別に、波形チャートを早送りでスクロールさせることもできる。この早送りスクロールは、オペレータの指先F等の操作によって実行される。例えば、上述したようにオペレータが所望の波形位置をモニタ2に表示させるために、指先F等の指令手段を左右に移動させてモニタ2に表示の波形チャートを左右に追従スクロールさせても所望の波形部分がモニタ2に出現しないとき、所定の操作を指先F等の指令手段が行ったことをトリガとしてモニタ2に表示の背景チャートを早送りでスクロールさせるのがよい。
早送りスクロールを実行するトリガの一例としてモニタ2にタッチした指先F等の指令手段を素早くモニタ2上を移動させた場合や、指先F等の指令手段をモニタ2から離す直前にモニタ2を素早く払う操作を行った場合を挙げることができる。モニタ2を素早く払う操作は、例えば、モニタ2上を指先Fで左右に移動させて、モニタ2に表示の波形チャートを左右に追従スクロールをさせても所望の波形部分がモニタ2に出現しないときに、早送りスクロールさせたい方向に指先Fで払う操作を行うことで、追従スクロールから早送りスクロールに切替させることができる。早送りスクロールの速度は、指先F等の指令手段の速度に応じて、素早く指令手段を移動させたときには相対的に高速で早送りスクロールさせ、他方、比較的ゆっくりと手段を移動させたときには相対的に低速で早送りスクロールさせるのがよい。
勿論、早送りスクロールの速度は、指令手段の移動速度に依存させることなく、一定であってもよい。そして、早送りスクロールが実行された後に、例えば指先Fでモニタ2を1回タッチする、又は間欠的に数回タッチするなどの操作によって早送りスクロールを停止するようにすればよい。
すなわち、タッチパネル222を使って指先F等の指令手段の操作の種類に従って、ロール巻きした波形チャート紙を引き出したり、巻き戻したり、更に、一気に引き出したり、一気に巻き戻す操作と同じ感覚でモニタ2の波形チャートをスクロールさせ、また、モニタ2に表示の波形チャートのスクロールを停止させるのを企図して、モニタ2上の指先F等の移動操作に追従したスクロールを実行させる追従スクロールと、指先F等をモニタ2から離しても高速でスクロールを実行させる早送りスクロールとを、指先F等の指令手段の操作の違いによって使い分けることで膨大な量の計測データを蓄積した波形観測装置1の過去の計測データをオペレータの意図通りに素早く且つ的確にモニタ2に表示させることができ、また、この指先F等の指令手段の操作の違いによるスクロールモードの使い分けによって、ロール巻きした波形チャート紙を引き出したり、巻き戻したりする従来の操作と同じ感覚でモニタ2に表示の波形チャートを取り扱うことができる。
図6は、タッチパネル222にタッチする指先F等の指令によるスクロール制御の一例を示すフローチャートである。図6に示すステップS100のスタートは、波形観測装置1の電源がオン時には、常に例えば50msec等の一定間隔で以下のフローが確認されるように実行される。
ステップS100のスタートが開始されると、ステップS101にて、タッチパネル222の波形チャート表示領域41がタッチされたか否かをタッチパネル222からの信号にて確認を行う。このステップS101は波形チャート表示領域41にタッチされたのを周期的に監視する監視手段を構成する。ステップS101にてタッチされていると判断されると、「YES」ということでステップS102に進み、タッチパネル222上のタッチ位置(P)を認識し、このタッチ位置(P)は、図4に示すメイン基板上に配置されるメモリ30に、その位置データが記憶される。より詳細には、タッチパネル222上の位置(P)とは、タッチパネル222に対して与えられたX座標値とY座標値とからなる二次元座標データであり、オペレータの指先Fがタッチした座標である。なお、ステップS101にて、タッチパネル222の波形チャート表示領域41がタッチされていないと判断された場合のフローについては、後述することとする。
ステップS102にて、タッチパネル222上の位置(P)を認識し、メモリ30にその位置データが記憶される。つまりメモリ30は、タッチ位置を記憶する記憶手段を構成する。そして、次のステップS103では、フラグIが「I=0」または「I=1」であるかどうかが判断される。ここでのフラグIの意味するところは、前回のフローにて既にタッチパネルがタッチされていたかどうかを示すものであり、前回のフローでタッチパネルに対するタッチが確認されている場合、フラグIは「I=1」を示す状態となっており、タッチが確認されていない場合は、フラグIは「I=0」を示す状態となっている。このため、ステップS103で、フラグIは「I=1」を示す状態となっている場合、既に前回にタッチを認識していると判断し、次のステップS104に進む。
ステップS104では、前回にタッチされた位置(O)と今回タッチされている位置(P)を比較し、位置に変化があるかどうかを判断する。このステップでは、前回にタッチされた位置と今回タッチされている位置を比較することにより、オペレータの指先F等の指令手段のタッチ行為が単にタッチパネル222をタッチしただけなのか、タッチパネル222上に対してタッチする指先Fを移動させることにより、モニタ2に表示の波形チャートのスクロールをオペレータが意図しているのかどうかを判断している。
より具体的には、上述したステップS102におけるメモリ30に記憶されている前回のフローにおけるタッチパネル222上の位置(O)と、メモリ30に記憶されている今回のフローにおけるタッチパネル222上の位置(P)とを制御手段としてのマイコン29が比較することによって判断を行う。より具体的には、前回と今回とのタッチ位置の変化の有無の判断には、タッチパネルにおける位置データの誤差や、スクロールを意図したタッチパネル222上での移動とまでは判断できないタッチ位置に変化を「タッチ位置の変化がない」と判断するために、タッチ位置の変化に対してしきい値を設定し、所定量以上のタッチ位置の変化に対して「タッチ位置変化有り」と判別させるのが好ましい。また、前回(O)と今回(P)でタッチ位置に変化がないと判断された場合は、フローは、ステップ104から後述するステップS108に進み、メモリ30内に記憶されている、前回のタッチ位置(O)に対して、今回のタッチ位置(P)を書き換える更新が行われた後に本フローを終了する。
そして、ステップS104にて前回(O)と今回(P)とのタッチ位置に変化があると判断された場合、次のステップS105に進む。ステップS105においては、メモリ30に記憶されている前回のタッチ位置(O)と今回のタッチ位置(P)に基づいて、タッチパネル222上でのスクロール量ならびに方向を算出する。このステップS105は、追従スクロール機能における移動速度及び移動方向算出手段を構成する。
なお、算出される方向は、波形チャートをモニタ2上でスクロールさせる方向を意味し、例えばスクロール方向が波形の時系列方向を示すX方向のみにスクロールされる場合は、その方向に対応するスクロール量を算出する。この際、前回のタッチ位置(O)と今回のタッチ位置(P)の二次元座標上の移動距離にて算出してもよいが、スクロール方向が一次元(時間軸方向)の場合は、その一次元方向に対応した移動距離に基づいて、スクロール量を算出することが望ましい。また一方、スクロールを二次元方向に可能とする場合は、前回のタッチ位置(O)と今回のタッチ位置(P)の二次元座標上の移動距離に基づいて、X方向とY方向の各々のスクロール量を均等に算出してもよいし、オペレータの意図をより忠実に再現したスクロールを行うとすれば、X方向とY方向の移動量を各々算出し、各方向の移動量に基づいて、各方向へのスクロール量を算出してもよい。
そして、算出された値に基づいて、モニタ2の波形チャート表示領域41に表示させる波形チャートのスクロールに先立ち、次のステップS106においては、スクロール可能な範囲か否かを判断する。記憶されたデータの最新部分と最も古い部分に対しては、時系列方向において、ゾーンを設定し、現在表示されている波形部分がこのゾーンに位置しているか否かを判断する。そして、このゾーンに位置しない波形部分が表示されている場合は、上記ステップS105にて算出された値に基づき、次のステップS107において、後に説明する指先F等の移動に追従して波形チャートをスクロールさせる追従スクロールが実行される。
一方、上述したゾーン内に現在表示される波形があると判断されると、ステップS110に進み、スクロール可能な範囲に対して制限を行った上で、次のステップS107において追従スクロールが実行される。ここでの追従スクロールとは、概念的には、タッチパネル222上を移動させる指先F等の指令手段の移動にモニタ2に表示の波形チャートを追従させて移動つまりスクロールさせる処理であり、モニタ2上では、あたかも指先Fが移動する方向且つ移動する速度とほぼ同じ速度で波形チャートが追従してスクロールする機能を意味する。
より詳細には、ステップS110においては、例えば、現在、波形チャート表示領域41に表示されている波形部分が、メモリ30に記憶されているほぼ最新部分の波形である場合で、且つオペレータのスクロール方向が更に最新の波形表示方向に向けて指先Fを移動させた場合、波形チャート表示領域41の右側が最新の波形を表示する形式とすると、最新の波形部分が波形チャート表示領域41の右端に位置するところでスクロール可能な範囲を制限する。一方、現在波形チャート表示領域41に表示されている波形部分が、メモリ30に記憶されている最も古く記憶された近傍の部分の波形である場合で、且つオペレータの指先Fの移動が更に古い波形を表示させる方向に向けた操作であった場合、波形チャート表示領域41の右側が最新の波形部分を表示する形式とすると、最も古い波形が波形チャート表示領域41の右端に位置するところでスクロール可能な範囲を制限する。
ステップS107において追従スクロールの実行が完了すると、ステップS108において、メモリ30内に記憶されている、前回のタッチ位置(O)に対して、今回のタッチ位置(P)を書き換えて記憶を更新し、ステップS109に進み、本フローが終了する。
次に、上述したステップS103において、フラグフラグIが「I=1」ではない、つまり「I=0」となっている場合について説明する。この場合、ステップS111に進み、現在、後述する早送りスクロール中であるか否かを判断する。早送りスクロール中であると判断されると、今回のタッチ行為は、早送りスクロールを停止するための合図に相当するタッチ行為であると判断し、次のステップS112において、早送りスクロールを停止させる。一方、ステップS111において、現在は早送りスクロールが実行されていないと判断すると、今回のタッチ行為が上述した「追従スクロール」または後述する「早送りスクロール」のためのトリガ行為としての最初のタッチ行為として認識されるため、ステップS113において、タッチされた位置(P)を、前回タッチ位置(O)を記憶するメモリ30内の記憶位置に記憶するとともに、初回タッチ位置(S)を記憶するメモリ30内の記憶位置に記憶する。
また、本実施例においては、ステップS112において、早送りスクロールを停止させた後も、ステップS113において、タッチされた位置(P)を、前回タッチ位置(O)を記憶するメモリ30内の記憶位置に記憶するとともに、初回タッチ位置(S)を記憶するメモリ30内の記憶位置に記憶する。この目的は、本実施例として、早送りスクロールを停止する行為のタッチと、次の新たな早送りスクロールまたは追従スクロールの開始トリガとなるタッチを同じ行為で兼用させることにより、タッチ行為の利便性を向上させるためである。従って、このような更なる利便性向上の機能が不要な場合は、ステップS112において、早送りスクロールを停止させた後は、後述するステップS115を介して、フローをステップS109につなげ、フローを終了させてもよい。
次に、ステップS113において、今回タッチされた位置(P)を、前回タッチ位置(O)を記憶するメモリ30内の記憶位置に記憶した後は、ステップS114に進み、タッチ期間(W)を計測するために、計測タイマ42(図4)を起動させる。ここでのタイマ42の値は、後述する早送りスクロールのステップS118において用いられることになる。そして、ステップは、次にステップS115に進み、フラグIの値を「I=1」に変更してステップS109に進み、フローが終了する。
次に、上述したステップS101において、タッチパネル222の波形チャート表示領域41がタッチされていないと判断された場合のフロー、特に早送りスクロールの実行フローについて説明を行う。
ステップS101において、タッチパネル222の波形チャート表示領域41がタッチされていないと判断された場合、ステップS116に進む。ステップS116では、上述したフラグIの値が「I=1」となっているかどうかを判断する。この判断で、フラグIの値が「I=1」となっていない、つまり「I=0」であると判断されると、前回の本フローで、タッチパネルに対するタッチ行為が行われていないこととなり、「追従スクロール」または「早送りスクロール」に対する行為が行われていないこととなり、フローは、ステップS109に進み、本フローは終了する。
一方、ステップS116において、フラグIの値が「I=1」となっていると判断されると、前回のフローでタッチパネルに対するタッチ行為が行われていた、そして今回のフローではタッチ行為が継続されていないと判断し、ステップS117に進み、既に起動し、カウントを行っている計測タイマ42を停止させ、タッチ開始からタッチ終了までの時間であるタッチ期間(W)を把握する。
次に、ステップS118に進み、メモリ30内に記憶される前回タッチ位置(O)と初回タッチ位置(S)を読み出すとともに、ステップS117にて算出されたタッチ期間(W)からタッチ期間中のタッチ位置の移動速度及び方向を算出する。すなわち、ステップS117は、早送りスクロールにおける移動距離及び方向算出手段を構成し、オペレータが指先Fをモニタ2つまりタッチパネル222にタッチして移動を開始した時点を始点とし、そして、タッチパネル222上を移動させた後にタッチパネル222から指先Fを離す時点を終点として、始点から終点までの移動距離及び時間によって移動速度を算出すると共に移動方向を算出する。
次のステップS119は、S118で算出されたタッチ期間中のタッチ位置の移動速度を、予め定められた移動速度に対するしきい値と比較することにより、オペレータがタッチパネル222から指先Fを離す直前の指先Fの操作が、早送りスクロールを所望しているものであるか否かを判断して、早送りスクロールの実行を許可又は禁止する早送りスクロール制限手段を構成している。つまり、本実施例においては、タッチパネル222の波形チャート表示領域41上において、タッチを開始した位置とタッチを終了した位置、つまりタッチしなくなった位置(ここでの位置とは、タッチパネルに対して与えられている座標における位置を意味する)の距離と、この距離の移動に要した時間によって算出されたタッチ位置の移動速度が、所定のしきい値より速いものであれば、オペレータが早送りスクロールを所望している判断する。他方、タッチ位置の移動速度がしきい値より遅いものであれば、オペレータが早送りスクロールを所望していない判断と判断するようにしている。
このため、ステップS119にて、タッチ位置の移動速度がしきい値より速いと判断されると、次のステップS120にて早送りスクロールが開始され、次にステップS121に進み、フラグIがクリアされ、その値が「I=0」となり、その後フローは、ステップS109に進み、本フローは終了する。
一方、ステップS119にて、タッチ位置の移動速度がしきい値より遅いと判断されると、早送りスクロールは実行されず、フローは、ステップS121に進み、フラグIがクリアされ、その値が0となり、その後フローは、ステップS109に進み、本フローは終了する。
以上、本発明に関する第一の実施例を説明したが、この第一実施例は、タッチ行為による画面スクロール機能として、モニタ2を指先F等でタッチし続けながら移動させる行為に連動して且つ追従させてモニタ2に表示の波形チャートをスクロールする追従スクロールと、最初のタッチ行為から指先F等の指令手段がモニタ2から離れるまでの移動距離及び移動時間によって、オペレータが指先F等をモニタ2から離した後に、オペレータが指先F等の指令手段をモニタ2上で移動させた方向に所定の速度で自動的に波形チャートをスクロールされる早送りスクロール機能を備えている。この早送りスクロールは、予め規定した一定の速度であってもよいし、後に説明するように、モニタ2にタッチし且つ指先F等の移動を開始した時点(始点)からモニタ2から指先F等の離した時点(終点)までの指先Fの移動速度に対応した速度でスクロールするようにしてもよい。すなわち、指先F等の指令手段の移動速度が速ければ比較的高速でモニタ2に表示の波形チャートをスクロールし、指先F等の指令手段の移動速度が比較的遅ければ、相対的に遅い速度でスクロールするのが好ましい。
より具体的には、本実施例ではタッチパネルをタッチし、移動を開始すると、タッチをやめるまでは、追従スクロール機能によってモニタ2に表示の波形チャートが指先F等の指令手段の移動と同じ方向且つ同じ速度でスクロールし、オペレータがモニタ2のタッチをやめた時点で、それまでタッチして移動した距離とそれにかかった時間によって求められた速度がしきい値より大きい場合、今度は早送りスクロール機能によって画面が比較的早い速度でスクロールすることになる。そして、この早送りスクロールは、オペレータがモニタ2をタッチすることで停止する。また、早送りスクロール機能におけるスクロール速度は、一定の速度であってもよいが、モニタ2に対してタッチした指先Fを移動させ始めた時点から指先Fをモニタ2から離した時点までの時間と、モニタ2上を指先F等の指令手段が移動した距離から算出される指先F等の指令手段の移動速度に基づいて求められ、これにより指先F等の移動速度に対応した速度で早送りスクロールが実行される。
つまり、段階的またはリニア的または別の補正係数をかけてもよいが、指先F等の指令手段の移動速度をオペレータの早送りスクロールにおいて求めるスクロール速度と判断し、指令手段の移動速度に基づいて早送りスクロール機能におけるスクロール速度を制御するのが好ましい。また、早送りスクロール機能が実行された後は、上述したステップS112におけるスクロール停止機能つまり指先Fをモニタ2にタッチして早送りスクロールを停止させる以外は、モニタ2は指定されたスクロール方向に記憶されている波形のデータの端(言い換えれば、記憶される波形を時系列的に見て、記憶される最も古い波形側の端部か最も新しい波形側の端部)まで同じ速度でスクロールされるようになっている。すなわち、指先F等の指令手段の移動速度に対応した速度で実行される早送りスクロールの速度は、早送りスクロールの開始時点から停止時点まで同じ速度が維持される。
次に、図7に示す本発明の第二実施例について説明を行う。図7は、タッチパネル222にタッチする指先F等の指令による第二実施例としてのスクロール制御の一例を示すフローチャートである。
図7に示すステップS100のスタートは、波形観測装置1の電源がオン時には、常に例えば20msec等の一定間隔で以下のフローが確認されるように実行される。後述する内容で明らかになるが、第二実施例におけるフローの実行間隔は、タッチパネルから指先F等の指令手段が離れる直前のタッチパネル上の指令手段の移動速度を注目して早送りスクロール機能におけるスクロール速度を制御するため、上述した第一の実施例よりも短い時間間隔でフローを実行するのが好ましい。
また、図7におけるステップS200、S201、S202、S203、S204、S205、S206、S207ならびにS213については、上記第一実施例におけるS100、S101、S102、S103、S104、S105、S106、S107ならびにS110と同一の内容なので説明を省略する。つまり、前回ならびに今回のフローにおいて、タッチパネル222の波形チャート表示領域41にタッチされたことが確認され、且つタッチ位置に変化があると判断されると追従スクロール機能が実行される。
具体的には、第一実施例におけるステップS107と同様に、第二実施例のステップS207において追従スクロールが実行される。
この後ステップは、ステップS208に進み、監視回数のインクリメント(C=C+1)が実行される。ここでの監視回数とは、モニタ2つまりタッチパネル222に対する初回のタッチが確認されてから、継続的にタッチ行為が行われている場合の本制御フローの実行回数と言い換えることができる。このため、ステップS208では、前回のフローに対応する累計実行回数に今回のフロー実行分の1を加えている。
ステップS208において、継続的な監視回数のインクリメントが完了すると、ステップは、ステップS209に進む。ここでは、予め定められた継続的な監視回数に対するしきい値Mに対して、ステップS208にてインクリメントされた最新の累計された監視回数Cとの比較が行われる。そして、ステップS208にてインクリメントされた最新の累計された監視回数Cが、予め定められた継続的な監視回数に対するしきい値Mに比べて、小さいまたは同一と判断された場合、「NO」ということで、ステップは、ステップS210に進む。一方、ステップS208にてインクリメントされた最新の累計の監視回数Cが、予め定められた継続的な監視回数に対するしきい値Mに比べて、大きいと判断された場合には、「YES」ということでステップS211に進む。
なお、ステップS209において設定されているしきい値Mの具体的な値は、次のような考え方から設定されている。第二実施例は、モニタ2つまりタッチパネル222から指先F等の指令手段が離れる直前のタッチパネル222上の指令手段の移動速度に注目して早送りスクロール機能におけるスクロール速度を制御するために、基本的にはタッチパネル222から指先F等の指令手段が離れたと確認できたフローに対する前回のタッチパネル222上の位置と、前々回のタッチパネル222上の位置との間の移動距離と、それにかかった移動時間(この移動時間は、一回のフロー実行と次回のフロー実行との間の時間間隔より算出できる。)を求めれば、その間、つまりタッチパネル222から指先F等の指令手段が離れる直前の移動速度を理論上は把握することができる。
つまり、しきい値Mは少なくとも「M=2」であれば理論的には十分である。しかし、一方で例えば本フローの実行を、タッチパネル222から指令手段が離れるタイミングを一層正確に把握するために、20msecなどの短い時間間隔にて実行すると、タッチパネル222から指先F等の指令手段が離れたと確認できたフローに対する前回のタッチパネル222上の位置と、前々回のタッチパネル222上の位置との間の移動距離と、それにかかった移動時間だけでは、人間の指先Fの操作行為を具体的に把握することが困難となる虞がある。このため、本実施例におけるしきい値Mは、基本的にはタッチパネル222から指先F等の指令手段が離れたと確認できたフローに対する前回と前々回のタッチパネル222上の位置データを含む、例えば継続的に遡る約1秒間に含まれる過去のタッチパネル222上の位置データを記憶させることのできるフロー回数であることが好ましい。具体的には、一回のフロー実行と次の下位のフロー実行との間の時間間隔が20msecであるとすると、「1秒間」の上記フロー回数は50回となる。もちろん、この回数は、本実施例における一回のフローと次回のフローとの間の時間間隔及び遡って記憶させる時間によって異なるのは言うまでもない。
このため、後述するステップS210ならびにステップS211において、最新の位置データならびに過去データを記憶するメモリ30における記憶可能なデータ数は、上述したしきい値Mの数と同等の数となっているとともに、記憶位置は、データの古い順または新しい順に整列され、各記憶位置には、しきい値Mに対応して、アドレス「1」からしきい値Mに対応したアドレス番号が付与されている。より具体的には、本実施例におけるメモリ30としては、リングバッファタイプのメモリが好ましく、記憶位置の数がしきい値Mに対応して設けられているメモリであるのが好ましい。
次に、ステップS210について説明を行う。ステップS210では、最新の累計回数Cがしきい値Mよりも小さいまたは同一のため、累計回数Cに対応した記憶位置に、最新のタッチ位置データが記憶される。そして、ステップS210の記憶作業完了後、フローは、ステップS212に進み、フローは終了する。
次に、ステップS211について説明を行う。このステップS211では、最新の累計回数Cがしきい値Mより大きい場合に、最新の累計回数Cからしきい値Mの値を引いた値に対応するメモリ30の記憶位置に、最新のタッチ位置データが上書きされることにより記憶される。そして、ステップS211の記憶作業完了後にステップS212に進んでフローは終了する。
次に、上述したステップS203において「NO」、つまりフラグフラグIが「I=1」ではない、換言すれば「I=0」となっている場合について説明する。この場合、ステップS214に進み、現在、後述する早送りスクロール中であるか否かを判断する。早送りスクロール中であると判断されると、今回のタッチ行為は、早送りスクロールを停止するための指令に相当するタッチ行為であると判断し、次のステップS215において、早送りスクロールを停止させる。
一方、ステップS214において、現在は早送りスクロールが実行されていないと判断すると、今回のタッチ行為が上述した「追従スクロール」または後述する「早送りスクロール」のためのトリガ行為としての最初のタッチ行為として認識されるため、ステップS216において、タッチされた位置(P)を、アドレス「1」が付与されているメモリ30内の記憶位置に記憶する。
また、本実施例においては、ステップS215において、早送りスクロールを停止させた後も、ステップS216において、タッチされた位置(P)を、アドレス「1」が付与されているメモリ30内の記憶位置に記憶する。なお、本実施例においては、上述したリングバッファメモリを用いることにより、タッチされた位置(P)をアドレス「1」が付与されているメモリ30内の記憶位置に記憶する。
この目的は、本実施例として、早送りスクロールを停止する行為のタッチと、次の新たな早送りスクロールまたは追従スクロールの開始トリガとなるタッチを同じ行為で兼用させることにより、タッチ行為の利便性を向上させるためである。
従って、このような更なる利便性向上の機能が不要な場合は、ステップS215において、早送りスクロールを停止させた後は、後述するステップS217ならびにステップS218を介して、フローをステップS212につなげ、フローを終了させてもよい。
次に、ステップステップS216において、タッチされた位置(P)を、アドレス「1」が付与されているメモリ30内の記憶位置に記憶した後は、ステップS217に進み、フラグIの値を「I=1」に変更し、更に、ステップS218に進み、監視回数Cの初期化、つまり値を「C=0」とした後、ステップS212に進んでフローが終了する。
ステップS201において、タッチパネル222の波形チャート表示領域41がタッチされていないと判断された場合、ステップS219に進む。ステップS219では、上述したフラグIの値が「I=1」となっているかどうかを判断する。この判断で、フラグIの値が「I=1」となっていない、つまり「I=0」であると判断されると、前回の本フローで、タッチパネルに対するタッチ行為が行われていない、つまり「追従スクロール」または「早送りスクロール」に対する行為が行われていないこととなり、フローは、ステップS212に進んで本フローは終了する。
一方、ステップS219において、フラグIの値が「I=1」となっていると判断されると、「YES」つまり前回のフローでタッチパネルに対するタッチ行為が行われていた、そして今回のフローではタッチ行為が継続されていないと判断し、ステップS220に進む。
ステップS220では、メモリ30内に記憶されている前回タッチ位置(O)と前々回タッチ位置(S)を含む過去のタッチ位置を読み出すとともに、一のフロー実行と次のフロー実行との間の時間間隔と監視回数Cを呼び出し、これに基づいて、メモリ30内に記憶されているデータに対するタッチ位置移動速度、つまりタッチパネルから指先F等の指令手段が離れる直前のタッチパネル222上の指先F等の指令手段の移動速度及び方向を算出する。このステップS220は、第2実施例における移動速度及び方向算出手段を構成する。
次に、ステップS221では、S220で算出されたタッチパネル222から指先F等の指令手段が離れる直前のタッチパネル222上の指令手段の移動速度を、予め定められた移動速度に対するしきい値と比較することにより、オペレータの指先Fの操作が、早送りスクロールを所望しているものであるか否かを判断して早送りスクロールの実行を許可又は禁止する早送りスクロール制限手段を構成している。つまり、本実施例においては、タッチパネル222の波形チャート表示領域41上において、タッチパネル222から指先F等の指令手段が離れる直前のタッチパネル222上の指先F等の指令手段の移動距離と、この距離の移動にかかった時間によって算出されたタッチ位置の移動速度が、しきい値より相対的に速いものであれば、オペレータが早送りスクロールを所望している判断する。逆に、タッチ位置の移動速度がしきい値より相対的に遅いものであれば、オペレータが早送りスクロールを所望していない判断と判断するようにしている。
このため、ステップS221にて、タッチ位置の移動速度がしきい値より速いと判断されると、「YES」ということで次のステップS222にて早送りスクロールが開始され、次にステップS223に進み、フラグIがクリアされて、その値が「I=0」となり、その後フローは、ステップS212に進んで本フローは終了する。
一方、ステップS221にて、タッチ位置の移動速度がしきい値より遅いと判断されると、「NO」ということで、早送りスクロールは実行されず、フローは、ステップS223に進み、フラグIがクリアされて、その値が「I=0」となり、その後フローは、ステップS212に進んで本フローは終了する。
以上、本発明に関する第二実施例を説明したが、本実施例は、タッチ行為による画面スクロール機能として、モニタ2を指先F等でタッチしつづけて移動させる行為に連動して、モニタ2に表示の波形チャートが連動してスクロールする追従スクロール機能と、モニタから指先F等を離す直前の移動距離と移動時間により演算される指先F等の操作速度によって、オペレータが指先F等の指令手段をモニタ2上で移動させた方向に所定の速度で自動的にスクロールされる早送りスクロール機能とを備えている。
より具体的には、本実施例ではタッチパネルをタッチし、移動を開始すると、タッチをやめるまでは、追従スクロール機能によってモニタ2に表示の波形チャートが指先F等の動きに追従してスクロールし、次に、タッチをやめた時に、モニタ2から指先F等の指令手段が離れる直前のタッチパネル上の指令手段の移動速度がしきい値より大きい場合、例えば指先Fをモニタ2上で素早く払う操作を伴ってモニタ2から指先Fをモニタ2から離したときには、追従スクロールから早送りスクロールに切り替わって、モニタ2に表示の波形チャートが素早くスクロールすることになる。更に、早送りスクロール機能におけるスクロール速度は、モニタ2から指先F等の指令手段が離れる直前のタッチパネル222上の指令手段の移動速度に基づいて求められ、例えば指先Fを素早く払ったときには、これに応じて比較的高速でスクロールし、指先Fを比較的ゆっくりと払ったときには、これに応じて比較的低速でスクロールする。
つまり、段階的またはリニア的または別の補正係数をかけてもよいが、指先F等の指令手段がモニタ2つまりタッチパネル222から離れる直前の移動速度、つまり例えば指先Fの操作速度を、オペレータの早送りスクロールにおいて求めるスクロール速度と判断し、指先Fの払い操作の速度に基づいて早送りスクロール機能におけるスクロール速度を制御するようになっている。また、早送りスクロール機能が実行された後は、指先F等の指令手段をモニタ2にタッチさせることによる上述したステップS215におけるスクロール停止機能以外は、モニタ2は指定されたスクロール方向に記憶されている波形のデータの端(言い換えれば、記憶される波形を時系列的に見て、記憶される最も古い波形側の端部か最も新しい波形側の端部)まで同じ速度でスクロールされるようになっている。
以上、波形チャートの時間軸を水平方向に表示する水平表示モードを例に実施例を説明したが、図8に例示するように、波形チャートの時間軸を垂直方向に表示する垂直表示モードであっても同様にオペレータの指先F等による操作によって追従スクロール及び早送りスクロールを実行させるようにしてもよいことは言うまでもない。
また、図9に示すように、モニタ2に波形チャートを拡大して表示する拡大表示領域45と縮小して相対的に長時間の波形チャートを表示する縮小長時間表示領域46を有し、縮小長時間表示領域46のフレーム47で囲った部分を拡大表示領域45に表示する場合、拡大表示領域45及び縮小長時間表示領域46の双方において、上述したオペレータの指先F等による操作によって追従スクロール及び早送りスクロールを実行させるのがよい。
また、図10に示すように、モニタ2を2分割して、第一、第二の波形チャート表示領域41A、41Bを用意し、各表示領域41A、41Bの夫々に独立して波形チャートをモニタ2に表示することにより波形を比較できるようにした場合、各表示領域41A、41Bにおいて、独立して、上述したオペレータの指先F等による操作によって追従スクロール及び早送りスクロールを実行させるのがよい。
また、図11に実線と破線で示すように、モニタ2に2つの波形チャートを重畳表示し、上に位置する波形チャートを透かして下の波形チャートを比較できるようにした場合、上つまり前面に表示されている波形チャート(実線)に関して上述したオペレータの指先F等による操作によって追従スクロール及び早送りスクロールを実行させるのがよい。