(57)【特許請求の範囲】
【請求項１】
複数の要求処理の空き時間にＣＰＵを停止させるスリープ処理部を具備するフィールド機器において、
前記スリープ処理部は、
前記複数の要求処理の状態を内部変数として監視する要求処理監視手段と、
前記内部変数に基づいてスリープの可否を決定するスリープ制御手段と、
各要求処理の回数を内部変数として監視する処理回数監視手段と、
を備え、
前記スリープ制御手段は、前記要求処理の回数が適正であればスリープを許可し、不適正であればアラームを発信することを特徴とするフィールド機器。
【請求項２】
前記スリープ処理部は、スリープミス回数を内部変数として監視するスリープミス監視手段を備え、
前記スリープ制御手段は、前記スリープミス回数が異常値の場合には機器を再起動または初期化することを特徴とする請求項１に記載のフィールド機器。
【請求項３】
前記スリープ処理部は、各処理が要した時間を計測する処理時間監視手段を備え、
前記スリープ制御手段は、前記処理時間が異常値の場合には機器を再起動または初期化することを特徴とする請求項１または２に記載のフィールド機器。
【請求項４】
電源として電池を用いることを特徴とする請求項１乃至３のいずれかに記載のフィールド機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の要求処理の空き時間にＣＰＵを停止させるスリープ処理部を具備するフィールド機器に関するものである。
【背景技術】
【０００２】
図３は、従来のフィールド機器の構成例を示す機能ブロック図である。フィールド機器１０は、電池駆動型で無線手段を備え、ゲートウェイ２０及び制御バス３０を介して上位装置４０と通信し、測定されたプロセス量Ｐを周期的に上位装置４０に送信する。
【０００３】
フィールド機器１０は、ＣＰＵ１００，信号変換部２００、無線モジュール３００、アンテナ４００、電源管理部５００、電池６００、外部インターフェース７００よりなる。これら構成要素は、防爆容器に収納されている。外部インターフェース７００の受光手段７０１は、外部の赤外線通信装置５０を介してユーザによる各種の設定信号を入力する。
【０００４】
ＣＰＵ１００は中央演算処理装置であって、マイクロプロセッサ等の演算手段や、ＲＡＭ，ＥＥＰＲＯＭ等の記憶手段を有し、演算処理部１０１と本発明の対象となるスリープ処理部１０２を具備する。
【０００５】
信号変換部２００は、測定されたプロセス量Ｐを入力し、ＡＤ変換等の処理を実行してＣＰＵ１００の演算処理部１０１に渡す。演算処理部１０１は、渡されたプロセス量を変換、補正、ユーザ指定の例えば％値等のスケーリング値に換算する等の演算を実行する。
【０００６】
演算処理部１０１の演算結果は、無線モジュール３００に伝達され、アンテナ４００を介して無線手段によりゲートウェイ２０を介して上位装置４０に送信される。また、上位装置４０からの要求を受信してパラメータ設定変更等を行う。
【０００７】
電源管理部５００は、電池６００から電源電圧を供給される。また、レギュレーションを行い、ＣＰＵ１００に必要な電圧の供給を行っている。また、ＣＰＵ１００の測定管理部１０２で指定された間欠動作周期時間に従い、ＯＮ／ＯＦＦ制御で電源のスイッチングを行い、所定周期毎に信号変換部２００、無線モジュール３００に間欠的な電源供給を行っている。
【０００８】
フィールド機器が、特に電池駆動の機器の場合、空き時間(アイドル時間)が存在する。アイドル時間は、ＣＰＵ自体を停止(スリープ処理)させることが望ましく、一般的には必要な処理が終了した段階でスリープ処理を実施する。
【０００９】
図４は、図３のスリープ処理部１０２の動作を説明するフローチャートである。ステップＳ１でファームウェアが起動すると、ステップＳ２で初期化処理を行い、定常処理に移行する。ステップＳ３〜Ｓ５の３個の処理(処理Ａ、処理Ｂ、処理Ｃ)は、各処理が必要か判断し、必要であれば処理を実施する。
【００１０】
すべての処理が終了した場合、ステップＳ６でスリープ処理を実行する。スリープ中はファームウェアは停止状態を維持し続ける。外部割り込み等から、各処理に対する要求が発生した場合、スリープ処理を解除する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平０３−０２２１１９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
各処理は、単純な構成でない場合も多く、複数のタスク起動が必要な場合がある。場合によっては、待ち時間が必要になったり(先に処理Ｂ、Ｃの処理ができる例)、処理順位に変更が発生したりする。この場合、スリープ処理を実行しても、スリープさせることができないため、一般的にはスリープ処理が可能か否かを判断する必要がある。
【００１３】
例えば、必要な計算が終了しているか、待ち時間中の処理がないかを個別に判断する必要がある。いくつもの要因が絡み合うことが多く、またシステム設計上追加修正が発生する場合も多いため、より複雑化してしまう。
【００１４】
このように、要因自体を直接スリープ処理部で判断させていたため、プログラムが複雑化すると共に、記述のミスや他人が開発したプログラムを参照する必要があるため、情報の共有に不手際が発生する可能性が高い。
【００１５】
仮に正しく設計を行ったとしても、何らかの不具合によりスリープ処理部１０２でスリープ機能を実行できなくなってしまうと(プログラムのバグ等で誤判断)、そのためＣＰＵが動作し続けてしまい、電池を著しく劣化させるおそれがある。電池の電荷量を視認できるわけではないため、短期間で電池を失うまで気づくことができない。
【００１６】
本発明の目的は、複雑化するスリープ処理を単純化し、容易な判断制御でスリープ処理を的確に実行できるフィールド機器を提供することにある。
【課題を解決するための手段】
【００１７】
このような課題を達成するために、本発明は次の通りの構成になっている。
（１）複数の要求処理の空き時間にＣＰＵを停止させるスリープ処理部を具備するフィールド機器において、
前記スリープ処理部は、
前記複数の要求処理の状態を内部変数として監視する要求処理監視手段と、
前記内部変数に基づいてスリープの可否を決定するスリープ制御手段と、
各要求処理の回数を内部変数として監視する処理回数監視手段と、
を備え、
前記スリープ制御手段は、前記要求処理の回数が適正であればスリープを許可し、不適正であればアラームを発信することを特徴とするフィールド機器。
【００１９】
（２）前記スリープ処理部は、スリープミス回数を内部変数として監視するスリープミス監視手段を備え、
前記スリープ制御手段は、前記スリープミス回数が異常値の場合には機器を再起動または初期化することを特徴とする（１）に記載のフィールド機器。
【００２０】
（３）前記スリープ処理部は、各処理が要した時間を計測する処理時間監視手段を備え、
前記スリープ制御手段は、前記処理時間が異常値の場合には機器を再起動または初期化することを特徴とする（１）または（２）に記載のフィールド機器。
【００２１】
（４）電源として電池を用いることを特徴とする（１）乃至（３）のいずれかに記載のフィールド機器。
【発明の効果】
【００２２】
本発明によれば、次のような効果を期待することができる。
（１）スリープ判断の処理
各処理状態を内部変数(ここではＥＮＤＦＬＧ)にまとめているため、スリープ処理部１０２は、ＥＮＤＦＬＧの内容を確認するだけで、スリープしてよいのか否かを判断することができる。
【００２３】
また将来要因が増えた場合でも、このビットを増やすことで容易に判断を追加することが可能となる。従来は、要因自体を直接スリープ処理部で判断させていたため、プログラムが複雑化すると共に記述のミスや、他人が開発したプログラムを参照する必要があるため、情報の共有で不手際があったりしたが、本発明のように一カ所に集めることで、安全に且つ短期間で安定したスリープ動作を実現することができる。
【００２４】
（２）処理回数の監視：
プログラムであるため、ＥＮＤＦＬＧに情報をまとめたとしても、セット、クリアに問題があると、ＥＮＤＦＬＧEがいつまでたっても解除されなくなる可能性が残る。そのため、各処理は実行した処理回数を内部変数として保持させ、処理する毎にインクリメントさせることで、スリープ処理部１０２は、各処理が何回実行されたかを確認することができる。製品性能上からみて著しく多い場合は、異常と判断し通信やＬＣＤ表示器等を通して、アラームを発信することができる。
【００２５】
（３）スリープ処理の監視：
スリープ処理自体の実行回数もインクリメントさせて、内部変数として保持させ、製品性能上からみて著しく多い場合は、何らかの不具合のために暴走していると判断し、再起動やシステムを初期化させることができる。暴走状態を放置すれば、電池の劣化を早めるため、これを防止するための効果が期待できる。
【００２６】
（４）処理時間の監視：
処理を開始するポイントと終了するポイントをつかむことで、処理が要した時間を計測することができる。処理時間が製品仕様上著しく長い場合や短い場合は、異常と判断し再起動やシステムを初期化させることができる。
【図面の簡単な説明】
【００２７】
【図１】本発明を適用したフィールド機器の一実施例を示す機能ブロック図である。
【図２】図１のスリープ処理動作を説明するフローチャートである。
【図３】従来のフィールド機器の構成例を示す機能ブロック図である。
【図４】図３のスリープ処理動作を説明するフローチャートである。
【発明を実施するための形態】
【００２８】
以下本発明を、図面を用いて詳細に説明する。図１は、本発明を適用したフィールド機器の一実施例を示す機能ブロック図である。図３で説明した従来構成と同一要素には同一符号を付して説明を省略する。
【００２９】
本発明が適用されるスリープ処理部１０２は、要求処理監視手段１０２Ａ、処理回数監視手段１０２Ｂ、スリープミス監視手段１０２Ｃ、処理時間監視手段１０２Ｄ、これら監視手段１０２Ａ乃至１０２Ｄと通信するスリープ制御手段１０２Ｅを備える。
【００３０】
要求処理監視手段１０２Ａでは、各処理の要求が発生した場合、ＥＮＤＦＬＧという共通の変数を用意し、各ビットにそれぞれ処理を割り付けておく。例えば、ビット０に処理Ａを、ビット１に処理Ｂを、ビット２に処理Ｃを割り付け、要求が発生したらセットし、逆に各処理を完了した場合、該当する処理フラグをクリアする。
【００３１】
要求処理監視手段１０２Ａと通信するスリープ制御手段１０２Ｅは、内部変数をチェックし、セットされているビットがないか判断する。全てのビットがゼロにセットされていればスリープを許可し、１つでもビットがセットされていればスリープ処理をしないで待機する。
【００３２】
処理回数監視手段１０２Ｂでは、各処理で実行毎にインクリメントさせた処理回数を内部変数として保持する。処理回数監視手段１０２Ｂと通信するスリープ制御手段１０２Ｅは、各処理回数が、製品設計上の回数を著しく超えていないか判断し、回数が適正であればスリープを許可し、不適正であればアラームを発信する。スリープ処理を実行する場合、各処理回数をゼロにクリアする。
【００３３】
スリープミス監視手段１０２Ｃでは、スリープ処理を実行できないミス回数をインクリメントして内部変数として記録する。スリープミス監視手段１０２Ｃと通信するスリープ制御手段１０２Ｅは、スリープミス回数が異常値を示す場合には機器を再起動または初期化し、強制的に正常状態に復帰を試みる。スリープ処理を実行する場合には、ミス回数をゼロクリアする。
【００３４】
処理時間監視手段１０２Ｄでは、処理の開始ポイントと終了ポイントをつかむことで、処理が要した時間を計測し、内部変数として保持する。処理時間監視手段１０２Ｄと通信するスリープ制御手段１０２Ｅは、処理時間が製品仕様上著しく長い場合や短い場合は、異常と判断し、機器を再起動または初期化する。
【００３５】
図２は、図１のスリープ処理動作を説明するフローチャートである。図４に示した従来の処理との相違は、ステップＳ６´のスリープ処理の内容であり、スリープの判断とスリープの処理が実行され、的確なスリープ処理を可能としている。
【符号の説明】
【００３６】
１０  フィールド機器
２０  ゲートウェイ
３０  制御バス
４０  上位装置
５０  赤外線通信装置
１００  ＣＰＵ
１０１  演算処理部
１０２  スリープ管理部
１０２Ａ  要求処理監視手段
１０２Ｂ  処理回数監視手段
１０２Ｃ  スリープミス監視手段
１０２Ｄ  処理時間監視手段
１０２Ｅ  スリープ制御手段
２００  信号変換部
３００  無線モジュール
４００  アンテナ
５００  電源管理部
６００  電池
７００  外部インターフェース
７０１  受光手段
【図１】
0005582345.tif 000002
【図２】
0005582345.tif 000003
【図３】
0005582345.tif 000004
【図４】
0005582345.tif 000005