以下本発明を一実施形態により説明する。
図2は本発明の遠隔監視システムの概略構成を示しており、本遠隔監視システムは、例えば監視・制御対象のローカル機器1と、ローカル機器コントローラ2と、ユーザーのWebブラウザ搭載型端末(以下端末と略す)3とを備えて構成される。
ローカル機器1は、例として、動力機器、電力機器、空調機器などの設備機器4aの入出力制御を行う入出力端末器1a、照明器具4bへ調光電力を供給する出力端末器1b、特定の負荷の消費電力を計量する計量機器4cを監視する計量端末器1c、別設の防犯・防災システム4dからの情報を吸い上げる防災・防犯端末器1d、出力端末器1bに接続される照明器具の点灯/消灯を操作する壁スイッチ1e、出力端末器1bに接続される照明器具以外の多数の照明器具を多点管理し点灯/消灯のパターンを設定する設定入力器であるアナンシェータ1f、更に増設用の警報ユニット1g等が挙げられる。これら各種ローカル機器1(1a〜1g)は、遠隔制御型ビル管理システムや遠隔監視型ホームセキュリティシステムの用途のものであり、要するに、各種検知状態、各種被制御状態が変化する機器である。
ローカル機器コントローラ2は、図1に示すように中央演算装置20a及び記憶装置20bからなるコンピュータシステムにより構成され、中央演算装置20aでは変化状態の監視制御対象となる上述のローカル機器1(1a〜1g)と例えばポーリング/セレクティング方式で伝送信号送受信部21により伝送線5を介して通信してローカル機器1(1a〜1g)の各種検知状態、各種被制御状態を収集するとともにローカル機器1(1a〜1g)の制御を行う監視制御部22と、後述するWebサーバ部23と、CGIサーバ部24とが、対応ソフトウェアを実行することで構築されるようになっている。
CGIサーバ部24は監視制御部22を通じて取得した状態の監視情報によりローカル機器1(1a〜1g)の状態変化を判定するために現状態カウンタ24aと状態変化カウンタ24bという2つのカウンタと後述する判定処理をアプレットにより実現しており、これによりローカル機器1(1a〜1g)の各種検知状態、各種被制御状態について判定した結果を、ユーザーの端末3に対してイーサネット(登録商標)<Ethernet(登録商標)>(Xerox社登録商標)に対応する通信部25と所定の通信線6とを介してWebサーバ部23から配信する。
ユーザーの端末3は、ローカル機器コントローラ2にとってはクライアントマシンであり、ローカル機器コントローラ2との間をイントラネットやインターネットなどのネットワークで接続可能な通信部を備え、世界中のどこからでもローカル機器コントローラ2に対して例えばJava(登録商標)(Sun Microsystems社登録商標)バーチャルマシンによってWebブラウザを起動してローカル機器コントローラ2に所定周期で配信要求をローカル機器コントローラ2に対して行うことができるようなっている。勿論移動体通信網を利用する移動体通信用の端末3’を用いてもよい。
これに応じるべく、ローカル機器コントローラ2では、HTTPd(Hyper Text Transfer Protocol daemon)、CGI(Common Gateway Interface)などの対応ソフトウェアを実装して上述のWebサーバ部23やCGIサーバ部24を構築しており、Webサーバ部23はHTML(Hyper Text Markup Language)形式で配信要求のあった端末3へ返信を送ることができるものである。従ってローカル機器コントローラ2のWebサーバ部23から返信を受け取った端末3は、自器の画面に、ローカル機器1(1a〜1g)の各種検知状態、各種被制御状態をブラウジング表示することになる。
次に本発明の主要構成であるCGIサーバ部24の現状態カウンタ24aと状態変化カウンタ24bの働きについて詳説する。
ここで取り上げる現状態カウンタ24aと状態変化カウンタ24bは、ローカル機器1において通常状態(一の状態)から非通常(二の状態)状態へ状態が変化した場合に、この発生をユーザーに警報報知するかの判定を行うために用いるカウンタであって、予めグループ分けされたローカル機器群毎に設けられており、現状態カウンタ24aは対応するローカル機器群内の何れのローカル機器1が通常状態から非通常状態(以下警報発生という)になったことを示す情報を監視制御部22から受け取るとそのカウント値Cnt1をインクリメントし、またローカル機器群内の何れのローカル機器1から、警報発生状態から通常状態に復旧(復帰)したことを示す情報を監視制御部22から受け取るとカウント値Cnt1をデクリメントすることで、対応するローカル機器群において現在警報発生状態の機器の数をカウント値Cnt1として示すようになっている。
つまり現状態カウンタ24aは対応する種別のローカル機器群の何れで警報発生状態が復旧すればカウント値Cnt1がデクリメントされるので、値ゼロを下限値として増減を繰り返すのである。
一方状態変化カウンタ24bは同じローカル機器群内の何れかのローカル機器1で状態が一の状態から二の状態或いは二の状態へ変化する度にカウント値Cnt2がインクリメントされるので、例えば警報発生状態(二の状態)が復旧(一の状態へ復帰)してもカウント値が減少せず、増加するのである。
ここで、図3は各ローカル機器群における警報発生と復旧状態の変遷と、夫々のローカル機器群に対応する両カウンタ24a,24bのカウント値Cnt1,Cnt2の変化を示しており、例えば図3(a)に示すローカル機器群では、タイミングt1−1で或るローカル機器1−1が警報発生状態となり、そのため対応する現状態カウンタ24aのカウント値Cnt1は図3(d)に示すように”0”から”1”にインクリメントされる。同時に対応する状態変化カウンタ24bのカウント値Cnt2も図3(d)に示すように”0”から”1”にインクリメントされる。
更にタイミングt1−2で別のローカル機器1−2が警報発生状態となると、現状態カウンタ24aのカウント値Cnt1は図3(d)に示すように”2”にインクリメントされ、状態変化カウンタ24bのカウント値Cnt2も図3(d)に示すように”2”にインクリメントされる。
そしてタイミングt1−3でローカル機器1−2が復旧すると、現状態カウンタ24aのカウント値Cnt1は図3(d)に示すように”1”にデクリメントされる一方、状態変化カウンタ24bのカウント値Cnt2は”3”にインクリメントされる。
更にタイミングt1−4でローカル機器1−1が復旧すると、現状態カウンタ24aのカウント値Cnt1は図3(d)に示すように”0”にデクリメントされるが、状態変化カウンタ24bのカウント値Cnt2は図3(d)に示すように”4”にインクリメントされる。
図3(b)は別のローカル機器群におけるローカル機器状態の変遷を示しており、この場合タイミングt2−1でローカル機器1−3が、タイミングt2−2でローカル機器1−4が、タイミングt2−3でローカル機器1−5が夫々警報発生状態となり、タイミングt2−4でローカル機器1−4が、タイミングt2−5でローカル機器1−3が、更にタイミングt2−6でローカル機器1−5が夫々復旧している。
これらの変遷に伴い、対応する両カウンタ24a,24bのカウント値Cnt1,Cnt2は図3(e)に示すように変遷する。つまりタイミングt2−1では両カウンタ24a,24bのカウント値Cnt1,Cnt2は図示するように”0”から夫々”1”にインクリメントされる。タイミングt2−2では両カウンタ24a,24bのカウント値Cnt1,Cnt2は図示するように”2”に夫々インクリメントされる。更にタイミングt2−3では両カウンタ24a,24bのカウント値Cnt1,Cnt2は図示するように”3”に夫々インクリメントされる。そしてタイミングt2−4ではローカル機器1−4が復旧するため、現状態カウンタ24aのカウント値Cnt1は”2”にデクリメントされるが、状態変化カウンタ24bのカウント値Cnt2は”4”にインクリメントされる。またタイミングt2−5ではローカル機器1−3が復旧するため、現状態カウンタ24aのカウント値Cnt1は”1”にデクリメントされるが、状態変化カウンタ24bのカウント値Cnt2は”5”にインクリメントされる。更にタイミングt2−6ではローカル機器1−5が復旧するため、現状態カウンタ24aのカウント値Cnt1は”0”にデクリメントされるが、状態変化カウンタ24bのカウント値Cnt2は”6”にインクリメントされる。
図3(c)は他のローカル機器群におけるローカル機器状態の変遷を示しており、この場合タイミングt3−1でローカル機器1−6が、タイミングt3−2でローカル機器1−7が夫々警報発生状態となり、タイミングt3−3でローカル機器1−7が、タイミングt3−4でローカル機器1−6が、更にタイミングt3−5でローカル機器1−6が再び警報発生状態となり、タイミングt3−6で復旧している。
これらの変遷に伴い、対応する両カウンタ24a,24bのカウント値Cnt1,Cnt2は図3(f)に示すように変化する。つまりタイミングt3−1では両カウンタ24a,24bのカウント値Cnt1,Cnt2は図示するように”0”から”1”に夫々インクリメントされ、更にタイミングt3−2では両カウンタ24a,24bのカウント値Cnt1,Cnt2は図示するように”2”に夫々インクリメントされる。更にタイミングt3−3ではローカル機器1−7が復旧するため現状態カウンタ24aのカウント値Cnt1は図示するように”1”にデクリメントされるが、状態変化カウンタ24bのカウント値Cnt2は”3”にインクリメントされる。そしてタイミングt3−4ではローカル機器1−6が復旧するため、現状態カウンタ24aのカウント値Cnt1は”0”にデクリメントされるが、状態変化カウンタ24bのカウント値Cnt2は”4”にインクリメントされる。更にまたタイミングt3−5ではローカル機器1−6が再び警報発生状態となるため、現状態カウンタ24aのカウント値Cnt1は”1”にインクリメントされ、また状態変化カウンタ24bのカウント値Cnt2は”5”にインクリメントされる。更にタイミングt3−6ではローカル機器1−6が復旧するため、現状態カウンタ24aのカウント値Cnt1は”0”にデクリメントされるが、状態変化カウンタ24bのカウント値Cnt2は”6”にインクリメントされる。
以上のように夫々のローカル機器群毎に設けられた両カウンタ24a,Cnt2は対応するローカル機器1の状態変化に応じて夫々のカウント値Cnt1,Cnt2を変化させるようになっている。
ここで図3に示しているタイミングT(n)、T(n+1)、T(n+2)は端末3からローカル機器コントローラ2のWebサーバ部23に対して定周期(例えば10秒周期)で出される配信要求のタイミングを示しており、今回の配信要求時におけるCGIサーバ部24内の両カウンタ24a,24bのカウント値Cnt1,Cnt2と、カウンタ24a,24bで夫々一時記録している前回の配信要求時でのカウント値Cnt1,Cnt2に応じて端末3に内蔵しているスピーカやブザーを鳴動させて警報の報知音を発鳴させるか、させないかの判定(決定)をCGIサーバ部24は図4のフローチャートに基づいて行うのである。
尚配信要求のタイミングは基本的には一定周期であるが、通信路の混雑、更にローカル機器コントローラ2での処理の遅延、更に端末3での処理遅れ等により配信要求が出されるタイミングが多少ばらつくこともある。
さて図4において、ステップS1では現状態カウンタ24aの現在のカウント値Cnt1と前回配信要求時のカウント値Cnt1との差分値ΔCnt1が(正)か、(負)又は(0)かを判定する。ここで(正)の場合には次のステップS2において、状態変化カウンタ24bの現在のカウント値Cnt2と前回配信要求時のカウント値Cnt2の差分値ΔCnt2が(正)か、(負)か或いは(0)かを判定し、(正)の場合には今回の配信要求のタイミングでの現状態カウンタ24aのカウント値Cnt1が前回の配信要求のタイミングでのカウント値Cn1より増加し且つこれに対応して状態変化カウンタ24bのカウント値Cnt2も前回の配信要求のタイミングよりも今回増加したことにより、何れかのローカル機器1で新たな警報発生になったと判定でき、その結果端末3で警報の報知(以下警報鳴動という)を行うと決定する(ステップS3)。
図5は上述の両カウンタ24a,24bのカウント値Cnt1,Cnt2が共に増加する事例を示し、同図(a)は同じローカル機器群内の或るローカル機器1が前回の配信要求のタイミングTaから今回の配信要求のタイミングTbまでの期間において、警報発生状態なり、今回の配信要求のタイミングTb以後に警報発生状態にある何れのローカル機器1が復旧がした場合を示し、この場合前回の配信要求のタイミングTaのときにカウント値Cnt2が”n”であったのが、今回の配信要求のタイミングTbには”n+1”とインクリメントされている。勿論現状態カウンタ24aもカウント値がインクリメントされる。
同図(b)は同じローカル機器群内の何れのローカル機器1で前回の配信要求のタイミングTaから今回の配信要求のタイミングTbまでの期間において、m回警報発生と復旧が繰り返された後、今回の配信要求のタイミングTbまでに警報発生があって今回の配信要求のタイミングTbに至るまでに何れのローカル機器1での復旧が無く、今回の配信要求のタイミングTb以後に復旧があった場合を示し、この場合前回の配信要求のタイミングTaのときにカウント値Cnt2が”n”であったのが、今回の配信要求のタイミングTbには”n+2m+1”となっている。この場合前回の配信要求のタイミングでの現状態カウンタ24aのカウント値Cnt1は、今回の配信要求のタイミングTbに最も近いタイミングでの警報発生に対応してインクリメントされて増加している。
さて図4のステップS2においては、ステップS1で差分値ΔCnt1が(正)の場合、当然差分値ΔCnt2も(正)とならなければならないが、エラーなどの原因でカウント値Cnt2が減少している場合(負)や変化無し(0)の場合も有り得る。そこでステップS2で(負)若しくは(0)と判定された場合には変化無しと判定し、新たな警報鳴動を行う必要無しと決定する(ステップS4)。
一方上述のステップS1で(0)と判定された場合にはステップS5において、状態変化カウンタ24bの現在のカウント値Cnt2と前回の配信要求時のカウント値Cnt2との差分値ΔCnt2が(正)か否(0又は負)かを判定する。ここで、(正)と判定された場合、つまりカウント値Cnt2が増加している場合には、前回の配信要求のタイミングから今回の配信要求のタイミングまでの期間で警報発生状態と復旧が行われたと考えられる。つまり新たに警報が発生したと考えられるので、ステップS3により警報鳴動を行うと決定する。
図6は現状態カウンタ24aのカウント値Cnt1に変化が無く、状態変化カウンタ24bのカウント値Cnt2が増加した場合の事例を示しており、同図(a)は同じローカル機器群内の何れのローカル機器1が前回の配信要求のタイミングTa以前に警報発生状態となり、今回の配信要求のタイミングTbまでの期間において復旧し、この復旧後、今回の配信要求のタイミングTbまでに何れのローカル機器1が警報発生状態となった場合を示しており、この場合前回の配信要求のタイミングTaのときにカウント値Cnt2が”n”であったのが、今回の配信要求のタイミングTbには”n+2”となっている。この場合現状態カウンタ24aのカウント値Cnt1はタイミングTbなるまでの警報発生に応じてインクリメントされるため、前回と今回の配信要求のタイミングTaとでのカウント値Cnt1は変わらない。
同図(b)は同じローカル機器群内の何れのローカル機器1が前回の配信要求のタイミングTa以前に警報発生状態となり、今回の配信要求のタイミングTbまでの期間において復旧し、この復旧後、今回の配信要求のタイミングTbまでに警報発生と復旧とがm回繰り返された後、何れのローカル機器1で警報発生があって今回の配信要求のタイミングTbまで復旧が無かった場合を示しており、この場合前回の配信要求のタイミングTaのときにカウント値Cnt2が”n”であったのが、今回の配信要求のタイミングTbには”n+2m+2”と増加している。この場合現状態カウンタ24aのカウント値Cnt1はタイミングTbに最も近い警報発生に応じてインクリメントされるため、前回の配信のタイミングTaと今回の配信要求のタイミングTbでのカウント値Cnt1は変わらない。
更に同図(c)は前回の配信要求のタイミングTaから今回の配信要求のタイミングTbまでの期間において、警報発生と復旧とがm回繰り返され、最後の復旧から今回の配信要求のタイミングTbまで状態変化が無い場合を示しており、この場合前回の配信要求のタイミングTaのときにカウント値Cnt2が”n”であったのが、今回の配信要求のタイミングTbには”n+2m”となっている。一方現状態カウンタ24aのカウント値Cnt1は前回の配信要求のタイミングTbと今回の配信要求タイミングTaとでは変化が無い。
そしてステップS5での判定で差分値ΔCnt2が(0)の場合には前回の配信要求時から現在まで何の状態変化も無かったと判定し、新たな警報鳴動の必要無しと決定する(ステップS4)。
図7は両カウンタ24a,24bのカウント値Cnt1,Cnt2が共に変化無しの場合の事例を示しており、同図(a)は前回の配信要求のタイミングTaから今回の配信要求のタイミングTbまでの期間において、警報発生も復旧も無かった場合を、同図(b)は前回の配信要求のタイミングTaの手前で警報発生があり、今回の配信要求のタイミングTb以後において復旧があった場合を夫々示しており、何れの場合にも両カウンタ24a、24bのカウント値Cnt1,Cnt2は前回の配信要求のタイミングTaと、今回の配信要求のタイミングTbとで変化が無い。
尚ステップS5で差分値ΔCnt2が(負)と判定された場合は、エラーと考えられるため、(0)の場合と同様に変化無しと判定される。
次の上述のステップS1でΔCnt1が(負)と判定された場合、つまり現状態カウンタ24aのカウント値Cnt1が前回の配信要求時のカウント値Cnt1よりも減少した場合には、ステップS6において、状態変化カウンタ24bに対応する差分値ΔCnt2から現状態カウンタ24aに対応する差分値ΔCnt2の絶対値を差し引いた値が2未満か2以上かを判定する。ここで前回の配信要求時には警報発生状態であったローカル機器1が今回の配信要求時までに復旧のみがあった場合には、差分値ΔCnt1は(負)となる一方、差分値ΔCnt2はこの復旧に数だけ増加することになり、そのため差分値ΔCnt2から差分値ΔCnt1の絶対値を差し引いた値は2未満となる。そして復旧のみの場合には新たな警報発生が無かった考えられるので、2未満の場合には変化無しと判定し、新たな警報鳴動の必要無しと決定する(ステップS4)。
一方前回の配信要求時から今回の配信要求時までの期間でローカル機器1において、復旧や警報発生が複数回繰り返されて、現状態カウンタ24aに対応する差分値ΔCnt1が減少した場合には、状態変化カウンタ24bのカウント値Cnt2は前回の配信要求時のカウント値よりも少なくとも2以上増加することになり、そのため差分値ΔCnt2から差分値ΔCnt1の絶対値を差し引いた値が2以上となる。この場合には新たな警報発生があったと考えられるので、警報鳴動を行う(ステップS3)。
図8は現状態カウンタ24aのカウント値Cnt1が減少し、状態変化カウンタ24bのカウント値が増加する事例を示しており、同図(a)では、前回の配信要求のタイミングTaより前において警報発生があってカウント値Cnt2が”n”となり、前回の配信要求のタイミングTaの経過後、今回の配信要求のタイミングTbまでに復旧があった場合を示しており、この場合現状態カウンタ24aのカウント値Cnt1が復旧時においてデクリメントされる一方、カウント値Cnt2が”n+1”にインクリメントされるため、今回の配信要求のタイミングTbでのΔCnt2−|ΔCnt1|の計算値は2未満となる。
同図(b)では、前回の配信要求のタイミングTaより前において警報発生があってカウント値Cnt2が”n”となり、前回の配信要求のタイミングTaの経過後、今回の配信要求のタイミングTbまでに復旧があり、更にm回警報発生と復旧が繰り返された場合を示しており、この場合、今回の配信要求のタイミングTbでの現状態カウンタ24bのカウント値Cnt1が前回の配信要求のタイミングTaでのカウンタ値より減少する一方、状態変化カウンタ24bのカウント値Cnt2が”n+2m+1”にインクリメントされるため、今回の配信要求のタイミングTbでのΔCnt2−|ΔCnt1|の計算値は2以上となる。
表1は図4のフローチャートの動作をまとめた表である。
さてローカル機器コントローラ2のWebサーバ部23に対して上述のように端末3からWebサーバ部23に配信要求があってCGIサーバ部24で上述のようにグループ化されて区別されるローカル機器群において警報鳴動を行うか、新たな警報鳴動を行わない(変化無し)かを決定しているが、本実施形態では、ローカル機器群毎に警報のレベルを決めており、警報鳴動を行う場合には、レベルの高いものを優先して行い、またレベルの高いローカル機器群に対して設定している警報鳴動時間が終了し、その終了時点でレベルの低いローカル機器群に対して設定している警報鳴動時間が残っている場合には、レベルの低いローカル機器群における警報鳴動を開始するという警報鳴動処理を行うようになっている。
ここで本実施形態では、火災報知関連のローカル機器群に対して最も高いレベル(以下火災レベルという)を設定し、更に停電検知に関連するローカル機器群に対して次のレベル(以下停電レベルという)を割り当て、その他のローカル機器群に対しては停電レベルより低いレベルを割り当て、その割り当てレベルはユーザーが任意に設定するようになっており、重要度の高い方から重警報レベル、中警報レベル、軽警報レベルとして設定される。
而して上述のように各ローカル機器群における状態変化に対応して警報鳴動を行うか行わないかを決定した後、図9に示すフローチャートの各レベルの鳴動時間判定のステップS10、S20、S30、S40、S50において警報鳴動を行うか、行わないかを判定し、これらの判定後において、各レベルの鳴動処理をステップS60、S70,S80,S100で行って、鳴動するべき警報に鳴動時間を割り振るのである。この場合各レベルの警報の鳴動時間は、当該レベルに割り当てている警報鳴動設定時間から高いレベルの警報の鳴動時間を差し引いた時間が割り当てられることになる。
つまり最もレベルの高い火災レベル鳴動時間判定のステップS10では、図10(a)に示すように、まずステップS10−1で火災レベルの警報鳴動を新たに行うか否かの判定を行い、警報鳴動をすると判定された場合には、ステップ10−2で火災警報鳴動時間として当該レベルに設定されている火災警報鳴動設定時間を割り当てる。また新たに警報鳴動を必要としない場合にはステップS10−3で前回から継続している警報鳴動の残り時間である火災警報鳴動継続時間が割り当てられる。つまり警報鳴動を継続させるのである。
次の停電レベル鳴動時間判定のステップS20では、図10(b)に示すようにステップS20−1で停電レベルの警報鳴動を新たに行うか否かの判定を行い、警報鳴動をすると判定された場合には、ステップS20−2で停電警報鳴動時間として当該レベルに設定されている停電警報鳴動設定時間から火災警報鳴動時間を差し引いた時間を割り当てる。また新たに警報鳴動を必要としない場合にはステップS20−3で前回から継続している警報鳴動の残り時間である停電警報鳴動継続時間から火災警報鳴動時間を差し引いた時間が割り当てられる。
そしてステップS20−4では上述のように割り当てた停電警報鳴動時間が正か負かを判定し負の場合にはステップS20−5において、停電警報鳴動時間を0とする。正の場合にはそのまま次のステップS30へ移行する。
更に次の重警報レベル鳴動時間判定のステップS30では、図11(a)に示すようにステップS30−1で重警報レベルの警報鳴動を新たに行うか否かの判定を行い、警報鳴動をすると判定された場合には、ステップS30−2で重警報鳴動時間として当該レベルに設定されている重警報鳴動設定時間から火災警報鳴動時間と停電警報鳴動時間とを差し引いた時間を割り当てる。また新たに警報鳴動を必要としない場合にはステップS30−3で前回から継続している警報鳴動の残り時間である重警報鳴動継続時間から火災警報鳴動時間と停電警報鳴動時間とを差し引いた時間を割り当てる。そしてステップS30−4では上述のように割り当てた重警報鳴動時間が正か負かを判定し負の場合には重警報鳴動時間をステップS30−5で0とする。正の場合にはそのまま次のステップS40へ移行する。
次の中警報レベル鳴動時間判定のステップS40では、図11(b)に示すようにステップS40−1で中警報レベルの警報鳴動を新たに行うか否かの判定を行い、警報鳴動をすると判定された場合には、ステップS40−2で中警報鳴動時間として当該レベルに設定されている中警報鳴動設定時間から火災警報鳴動時間と停電警報鳴動時間と重警報鳴動時間とを差し引いた時間を割り当てる。また新たに警報鳴動を必要としない場合にはステップS40−3で前回から継続している警報鳴動の残り時間である中警報鳴動継続時間から火災警報鳴動時間と停電警報鳴動時間と重警報鳴動時間を差し引いた時間を割り当てる。そしてステップS40−4では上述のように割り当てた中警報鳴動時間が正か負かを判定し負の場合には中警報鳴動時間をステップS40−5で0とする。正の場合にはそのまま次のステップS50へ移行する。
更に次の軽警報レベル鳴動時間判定のステップS50では、図12(a)に示すようにステップS50−1で軽警報レベルの警報鳴動を新たに行うか否かの判定を行い、警報鳴動をすると判定された場合には、ステップS50−2で軽警報鳴動時間として当該レベルに設定されている軽警報鳴動設定時間から火災警報鳴動時間と停電警報鳴動時間と重警報鳴動時間と中警報鳴動時間とを差し引いた時間を割り当てる。また新たに警報鳴動を必要としない場合にはステップS50−3で前回から継続している警報鳴動の残り時間である軽警報鳴動継続時間から火災警報鳴動時間と停電警報鳴動時間と重警報鳴動時間と中警報鳴動時間とを差し引いた時間を割り当てる。そしてステップS50−4では上述のように割り当てた軽警報鳴動時間が正か負かを判定し負の場合には軽警報鳴動時間をステップS50−5で0とする。正の場合にはそのまま次のステップS60へ移行する。
ステップS60は火災レベル鳴動処理を図12(b)に示すように行う。つまりステップS60−1では火災警報鳴動時間が0であるのか正であるのかを判定し、0の場合にはステップS60−2において周期的に行われる次の配信要求(定周期更新)までの残り時間Nfを予め設定されている配信要求間隔(定周期更新間隔)Nとして次のステップS70へ移行する。
またステップS60−1の判定で正と判定された場合には、ステップS60−3で火災警報鳴動時間と予め設定されている配信要求間隔Nとを比較し、火災鳴動時間がNより小さい場合には、ステップS60−4で配信要求(定周期更新)までの残り時間Nfを(N−火災警報鳴動時間)とし、更にステップS60−5で火災警報鳴動時間を0とし、ステップS60−6で火災警報鳴動の処理を行い、次のステップS70へ移行する。
一方ステップS60−3での判定で火災警報鳴動時間がNより大きな場合にはステップS60−7で火災警報鳴動時間を、割り振りされた火災警報鳴動時間からNを差し引いた時間とし、ステップS60−8で火災警報鳴動の処理を行ってステップS10へ戻り、配信要求に対する処理を開始する。
ステップS70は停電レベル鳴動処理を図13(a)に示すように行う。つまりステップS70−1では停電警報鳴動時間が0であるのか正であるのかを判定し、0の場合にはステップS70−2において次の配信要求(定周期更新)までの残り時間Nbを火災レベル鳴動処理後から次の配信要求(定周期更新)までの残り時間Nfとし、次のステップS80へ移行する。
またステップS70−1の判定で正と判定された場合には、ステップS70−3で停電警報鳴動時間と火災警報鳴動処理後から次の配信要求(定周期更新)までの残り時間Nfとを比較し、停電警報鳴動時間がNfより小さい場合には、ステップS70−4で配信要求(定周期更新)までの残り時間Nbを(Nf−停電警報鳴動時間)とし、更にステップS70−5で停電警報鳴動時間を0とし、ステップS70−6で停電警報鳴動の処理を行い、次のステップS80へ移行する。
一方ステップS70−3での判定で停電警報鳴動時間がNより大きな場合にはステップS70−7で停電警報鳴動時間を、割り振りされた停電警報鳴動時間からNfを差し引いた時間とし、次のステップS70−8で停電警報鳴動の処理で行ってステップS10へ戻り、配信要求に対する処理を開始する。
ステップS80は重警報レベル鳴動処理を図13(b)に示すように行う。つまりステップS80−1では重警報鳴動時間が0であるのか正であるのかを判定し、0の場合にはステップS80−2において次の配信要求(定周期更新)までの残り時間Na1を停電警報レベル鳴動処理後から次の配信要求(定周期更新)までの残り時間Nbとし、次のステップS90へ移行する。
またステップS80−1の判定で正と判定された場合には、ステップS80−3で重警報鳴動時間と停電警報鳴動処理後から次に配信要求(定周期更新)までの残り時間Nbとを比較し、重警報鳴動時間がNbより小さい場合には、ステップS80−4で配信要求(定周期更新)までの残り時間Na1を(Nb−重警報鳴動時間)とし、更にステップS80−5で重警報鳴動時間を0とし、ステップS80−6で重警報鳴動の処理を行い、次のステップS90へ移行する。
一方ステップS80−3での判定で重警報鳴動時間がNbより大きな場合にはステップS80−7で重警報鳴動時間を、割り振りされた重警報鳴動時間からNbを差し引いた時間とし、次のステップS80−8で重警報鳴動の処理を行ってステップS10へ戻り、配信要求に対する処理を開始する。
ステップS90は中警報レベル鳴動処理を図14(a)に示すように行う。つまりステップS90−1では中警報鳴動時間が0であるのか正であるのかを判定し、0の場合にはステップS90−2において次の配信要求(定周期更新)までの残り時間Na2を重警報レベル鳴動処理後から次の配信要求(定周期更新)までの残り時間Na1とすし、次のステップS100へ移行する。
またステップS90−1の判定で正と判定された場合には、ステップS90−3で中警報鳴動時間と重警報鳴動処理後から次に配信要求(定周期更新)までの残り時間Na1とを比較し、中警報鳴動時間がNa1より小さい場合には、ステップS90−4で配信要求(定周期更新)までの残り時間Na2を(Na1−中警報鳴動時間)とし、更にステップS90−5で中警報鳴動時間を0とし、ステップS90−6で中警報鳴動の処理を行い、次のステップS100へ移行する。
一方ステップS90−3での判定で中警報鳴動時間がNa1より大きな場合にはステップS90−7で中警報鳴動時間を、割り振りされた中警報鳴動時間からNa1を差し引いた時間とし、ステップ90−8で中警報鳴動の処理を行ってステップS10へ戻り、配信要求に対する処理を開始する。
ステップ100は軽警報レベル鳴動処理を図14(a)に示すように行う。つまりステップ100−1では中警報鳴動時間が0であるのか正であるのかを判定し、0の場合にはステップ100−2において次の配信要求(定周期更新)までの残り時間Na3を中警報レベル鳴動処理後から次の配信要求(定周期更新)までの残り時間Na2とし、ステップS100−3で時間Na3(秒)スリープ処理後ステップS10へ戻る。
またステップ100−1の判定で正と判定された場合には、ステップ100−4で軽警報鳴動時間と中警報鳴動処理後から次に配信要求(定周期更新)までの残り時間Na2とを比較し、軽警報鳴動時間がNa2より小さい場合には、ステップ100−5で配信要求(定周期更新)までの残り時間Na3を(Na2−軽警報鳴動時間)とし、更にステップ100−6で軽警報鳴動時間を0とし、ステップ100−7で軽警報鳴動の処理を行い、上述のステップS100−3の処理へ移行する。
一方ステップ100−4での判定で軽警報鳴動時間がN2より大きな場合にはステップ100−8で軽警報鳴動時間を、割り振りされた軽警報鳴動時間からNa2を差し引いた時間とし、ステップ100−9で軽警報鳴動の処理を行ってステップS10へ戻り、配信要求に対する処理を開始する。
而してCGIサーバ部24での上述の処理の結果はWebサーバ部23を通じてHTMLとして配信要求を行った端末3へ返信されることになり、端末3ではWebブラウザ上で実行されるスクリプト言語で書かれたプログラム、例えばJava(登録商標)(Sun Microsystems社登録商標)スクリプトなどやWebサーバ部23から提供されるアプレットにより返信された処理結果が反映され、上述の処理結果に対応する警報鳴動が行われたり、その停止が行われることになり、ユーザーは端末3での警報鳴動によりローカル機器1が警報発生状態にあることを知ることになる。
ここで本実施形態では上記火災レベル、停電レベル、重警報レベル、中警報レベル、軽警報レベルのレベル順に、警報鳴動設定時間を段々と短く設定し、重要度(優先度)の高警報鳴動の時間を長くすることで、また警報鳴動として発鳴させる報知音の音色をレベル毎に変えることで識別性を持たせ、ユーザーの注意喚起を促す効果を高めてある。またローカル機器コントローラ2の近傍では警報ユニット1gを必要に増設することで、監視制御部22の制御の下で警報鳴動をモニタすることもできる。
一方、本実施形態では、端末3のブラウジングの画面上に、警報発生内等を各レベル毎に対応させてアイコンにより表示を行うために。CGIサーバ部24では監視制御部22から受け取るローカル機器1からの状態情報に基づいて描画処理の判定を行うようになっている。
つまり本実施形態では、火災警報関連のローカル機器1において、前回の配信要求時以後から今回の配信要求時までの間に新たに火災警報発生があった場合や、前回の配信要求時において既に発生していた火災警報が現在も継続している場合、つまり今回の配信要求時において火災警報が発生中の場合には、図15に示す端末3でのブラウジング画面に設けられた代表警報表示部30の火災警報アイコン30aを点灯させると判定する。つまり今回の配信要求時点で火災警報発生中であれば、火災警報アイコン30aを点灯させると判定する。尚以前発生した火災警報が現在も発生中においては、火災警報鳴動時間が終了している場合も有り得るが、火災警報アイコン30aの点灯によりユーザーに火災警報発生中であることを知らせることができる。また火災警報鳴動時間が終了しているものの、火災警報のレベルより低いレベルによる警報鳴動中であっても、火災警報アイコン30aの点灯によってユーザーに火災警報発生中であることを知らせることができる。
一方今回の配信要求時点で火災警報発生が無い、或いは既に復旧している場合には火災警報アイコン30aを消灯させると判定する。この場合他のレベルに対応する警報鳴動の有無にかかわらず、火災警報アイコン30aを消灯させる。つまりアイコンの表示形態を変えることで、警報発生中か復旧している状態なのかをブラウザ画面上で報知させるようになっている。
同様に停電警報関連のローカル機器1において、前回の配信要求時以後から今回の配信要求時までの間に新たに警報発生があった場合や、前回の配信要求時において既に発生していた停電警報が現在も継続している場合、つまり今回の配信要求時において停電警報が発生中の場合には、図15に示す端末3でのブラウジング画面に設けられた代表警報表示部30の停電警報アイコン30bを点灯させると判定する。つまり今回の配信要求時点で停電発生中であれば、停電警報アイコン30bを点灯させると判定する。尚以前発生した停電警報が現在も発生中においては、停電警報鳴動時間が終了している場合も有り得るが、この停電警報アイコン30bの点灯によりユーザーに停電警報発生中であることを知らせることができる。また停電警報鳴動時間が終了しているものの、停電警報のレベルより低い重又は中又は軽の警報による警報鳴動中であったり、或いは停電警報より高いレベルの火災警報による警報鳴動中であっても、停電警報アイコン30bの点灯によってユーザーに停電警報発生中であることを知らせることができる。
一方今回の配信要求時点で停電警報発生が無い、或いは既に復旧している場合には停電警報アイコン30bを消灯させると判定する。この場合停電警報に対して高いレベルの火災警報や他のレベルに対応する警報鳴動の有無にかかわらず、停電警報アイコン30bを消灯させる。
更にユーザーにより設定される重・中・軽警報対象のローカル機器1において、前回の配信要求時以後から今回の配信要求時までの間に新たに警報発生があった場合や、前回の配信要求時において既に発生していた警報発生が現在も継続している場合、つまり今回の配信要求時において重・中・軽警報が発生中の場合には、図15に示す端末3でのブラウジング画面に設けられた代表警報表示部30の警報アイコン30cを点灯させると判定する。つまり今回の配信要求時点で警報発生中であれば、警報アイコン30cを点灯させると判定する。尚以前発生した当該警報が現在も発生中においては、警報鳴動時間が終了している場合も有り得るが、警報アイコン30cの点灯によりユーザーに重・中・軽警報が発生中であることを知らせることができる。また警報鳴動時間が終了しているものの、当該重・中・軽警報のレベルより低いレベルに対応する警報鳴動中であったり、或いは重・中・軽警報より高いレベルの火災警報や停電警報による警報鳴動中であっても、警報アイコン30cの点灯によってユーザーに重・中・軽警報発生中であることを知らせることができる。
而してCGIサーバ部24において上述の警報アイコンの点灯/消灯の判定をユーザーの端末3のブラウザ画面に反映させるために、端末3からの配信要求時にWebサーバ部23からHTM形式のLデータによって返信して、警報鳴動と同様に端末3側の例えばJava(登録商標)(Sun Microsystems社登録商標)スクリプトにより描画させるのである。
尚本実施形態では、各警報アイコン30a〜30cと、各警報詳細画面とにリンクを張っており、ユーザーがブラウザ画面上でポインティングデバイスにより点灯中の警報アイコンをクリックすると、当該警報に対応した警報詳細画面に対応するHTML形式のデータをローカル機器コントローラ2から取得して警報詳細画面を表示させ、警報内容を確認することができる。このようにして各警報詳細についてユーザーが確認することができるのであるが、確認が済んでいない警報が存在している間は未確認アイコン30dを点灯させることでユーザーに注意喚起することができるようになっている。
また、本実施形態では、最新の警報発生があると、その警報情報をブラウジング画面のメッセージ表示部31においてスクロール表示させることができるようになっている。また当該警報発生が今回の配信要求時に復旧している場合にも同様に情報をスクロール表示させてその警報発生が復旧したことをユーザーに提示できるようになっている。この場合発生と復旧を識別するために文字色を異ならしている。
尚本実施形態ではローカル機器コントローラ2の記憶装置20bにおいて各ローカル機器1の状態の変遷などの履歴や各種設定内容を記憶しており、ユーザーは端末3のブラウザ画面のメニュー欄32上の釦操作によりこれら内容を呼び出して表示させることをローカル機器コントローラ2側へ要求することができるようになっている。またシステムとして必要な設定のための設定画面も、ユーザーが端末3のブラウザ画面のメニュー欄32上の釦操作で呼び出すことができ、設定内容をローカル機器コントローラ2の記憶装置20bに保存させることができるようにもなっている。
尚、現状態カウンタ24a、状態変化カウンタ24bの2つのカウンタによって、前後の配信要求のタイミングの期間中に発生し消滅した事象の回数をカウントし、所定閾値を超えるとチャタリング発生の旨の通知(警報というほどでもない)を行うようにしてもよい。このような事例としては、ビル屋上の貯水タンクに貯水量が所定水位に達したか否かを検出する水位センサを設けておく場合、本当は所定水位に達していないのに地震が起きると水位センサはチャタリングを検出してしまうことになる。しかしこの場合は地震若しくは貯水タンクが何らかの原因で揺れたものと判定し、水位センサがチャタリングなく水位を検出できてはじめて所定水位到達だとローカル機器コントローラ2内で判定すればよいのである。このようにチャタリングを検出した場合には、安定した検知結果が得られるまで、設計時当初に想定した事象には至っていないものとみなし、その旨をローカル機器コントローラ2からユーザーの端末3に配信提供すればよい。この設計仕様は、貯水タンクの水位センサのみに限らず、チャタリングを検出するタイプのセンサであれば、どんなセンサにも適用可能である。