(57)【特許請求の範囲】
【請求項１】
フィールド機器であって、
メインプログラムを記録したメインＲＯＭと、
センシング情報を収集する機器センシング部と、
前記メインプログラムを実行し、前記センシング情報に基づく演算を行ない、演算結果に基づく表示情報を出力するメインＣＰＵと、
前記メインＣＰＵと接続し、所定のプロトコルで外部装置と通信を行なう通信部と、
ドットマトリクス表示モジュールと、を備え、
前記ドットマトリクス表示モジュールは、
ドットマトリクス表示装置と、
サブプログラムを記録したサブＲＯＭと、
前記サブプログラムを実行し、前記メインＣＰＵから入力した表示情報に基づいてドットデータを生成するサブＣＰＵと、
前記ドットデータに従って前記ドットマトリクス表示装置を駆動する表示装置駆動装置と、
ユーザからキー操作を受け付けるキースイッチ群と、を備え、
前記通信部の接続先を前記外部装置から前記サブＣＰＵに切り替えるスイッチをさらに備え、
前記サブＣＰＵは、受け付けたキー操作に基づく処理に関する前記メインＣＰＵとの通信を、前記通信部の空き時間に前記スイッチを切り替えて、前記通信部を介して前記プロトコルで行なうことを特徴とするフィールド機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールド機器のドットマトリクス表示装置に係り、特に、ドットマトリクス表示装置のモジュール化に関する。
【背景技術】
【０００２】
作業現場等において、外部装置からの信号処理、機器のセンシング処理、演算処理、液晶表示装置（ＬＣＤ：Liquid Crystal Display）への表示処理等を行なうフィールド機器が広く用いられている。フィールド機器は、ＣＰＵを中心に構成され、機器のセンシング処理や、液晶表示装置への表示処理等においては、一定周期で処理を実行している。
【０００３】
図１２は、液晶表示装置への表示処理を行なう従来のフィールド機器の構成例を示すブロック図である。本図に示すように、ＣＰＵ４１０を中心に構成されるフィールド機器４００は、液晶表示装置４７０を備えている。液晶表示装置４７０は、ドットマトリクス形式で表示を行なう表示装置であり、ＬＣＤ制御ＩＣ４６０により駆動され、ＣＰＵ４１０によって表示内容等が制御される。また、液晶表示装置４７０は、複数のキースイッチから構成されるキースイッチ群４８０を搭載している。ＣＰＵ４１０は、複数のキースイッチの組合せにより種々の操作をユーザから受け付けることができるようになっている。
【０００４】
ＣＰＵ４１０には、上述のＬＣＤ制御ＩＣ４６０、キースイッチ群４８０に加え、ＲＡＭ４２０、ＦｌａｓｈＲＯＭ４３０、機器センシング部４４０、通信部４５０が接続されている。機器センシング部４４０は、図示しないセンサ等からの情報を取得する機能部であり、通信部４５０は、図示しないＰＣ等の外部装置と通信を行なうための処理部である。
【０００５】
このような構成において、ＣＰＵ４１０は、起動すると、スタックポインタ、内部レジスタ、ＲＡＭ４２０の初期化を行ない、さらに、機器センシング部４４０、ＬＣＤ制御ＩＣ４６０の初期化を行なう。次に、ＣＰＵ４１０は、機器センシング部４４０を起動し、センサ等からの情報を取得して所定の演算を行なう。
【０００６】
演算結果に基づく情報を液晶表示装置４７０に表示するため、ＣＰＵ４１０は、表示データをドットデータに展開する。併せて、表示名や単位表示をドットデータに変換し、液晶表示装置４７０における表示画面イメージをすべてドットデータ化する。そして、このドットデータをＬＣＤ制御ＩＣ４６０の仕様に基づいて同期通信等で送信する。ＬＣＤ制御ＩＣ４６０が、受信したドットデータにしたがって液晶表示装置４７０を駆動することにより、液晶表示装置４７０上で表示が行なわれる。
【０００７】
機器センシング部４４０においてセンサ等からの情報が更新され、演算結果が変化すると、液晶表示装置４７０の表示内容も更新する必要がある。ＣＰＵ４１０は、表示内容の更新に随時対応するため、変更の有無にかかわらず、更新周期ごとに数値情報、文字情報をドットデータに展開し、ＬＣＤ制御ＩＣ４６０に転送する。また、液晶表示装置４７０で、複数の情報を時系列的に切り替えながら表示したり、エラー情報等の表示を割り込ませることも行なわれている。このような場合、表示内容を切り替えるたびに、ＣＰＵ４１０は、表示情報をドットデータに展開し、ＬＣＤ制御ＩＣ４６０に転送する。
【０００８】
また、キースイッチ群４８０が受け付けるユーザからの操作に対応するため、ＣＰＵ４１０は、キースイッチ群４８０を定期的に監視する必要がある。特に、キーの組合せや、押下時間によって機能を選択するキースイッチ群４８０の場合には、極めて短い周期で監視し続けなければならない。また、キースイッチ群４８０の操作により、フィールド機器４００の設定変更を受け付ける場合には、液晶表示装置４７０に変更データ等を表示する必要があるため、機器センシング結果の定常表示処理とは別に表示情報の生成処理を割り込みで行なう。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−１８３３７７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、フィールド機器４００で上述の処理を行なうに当たり、以下に列挙するような問題点がある。すなわち、１）ＣＰＵ４１０は、フィールド機器４００のすべての機能を制御しているため、負荷が重たくなり、希望する周期で液晶表示装置４７０の表示処理ができない場合がある。このような場合、液晶表示装置４７０の表示更新周期に遅れが生じ、ユーザに対して違和感を与えることになる。
【００１１】
２）フィールド機器４００が異なる場合、同一のＬＣＤ制御ＩＣ４６０を使用していても、それぞれが別個のプログラム制御となるため、独自開発になり、互換性や保守性の観点から好ましくない。
【００１２】
３）一般的に、ＬＣＤ制御ＩＣ４６０はドットデータのみを扱うため、ＣＰＵ４１０は、表示したい文字や絵をドットデータに展開する必要がある。このため、表示解像度が高くなるほど、ＣＰＵ４１０は大量のドットデータの展開処理を行なわなければならないのに加え、大量のドットデータをＬＣＤ制御ＩＣ４６０に転送しなければならず、展開処理時間、送信処理時間が長くなる。
【００１３】
４）定常的な画面表示や、２種類以上の画面表示を時系列的に切り替える場合等において、表示内容が同一であっても、ＣＰＵ４１０は液晶表示装置４７０の更新周期に合わせてドットデータの展開、転送を行なっている。
【００１４】
５）液晶表示装置４７０における表示プログラムは、フィールド機器４００全体のプログラムの一部となっているため、表示プログラムを修正したい場合、フィールド機器４００全体のプログラムを対象に修正しなければならず、利便性が悪い。さらに、液晶表示装置４７０の表示プログラムを修正するために、作業現場においてフィールド機器４００の制御ループをオフラインにすることは現時的でなく、ユーザに不便を強いることになる。
【００１５】
６）液晶表示装置４７０にキースイッチ群４８０やタッチパネル等が搭載されていると、ＣＰＵ４１０は、これらの入力を周期的に監視し続けなければならず、負荷が重くなる。特に、キーの組合せや押下時間等によって種々の指示を入力できるようにしている場合には、監視周期を短くする必要があるため、さらに負荷が重くなる。また、キースイッチ群４８０等は、ＣＰＵ４１０のＩ／Ｏポートを占有し続けることになり、ＣＰＵ４１０の必要Ｉ／Ｏピンが増加し、サイズの大きなＣＰＵ４１０を使用する必要がある。これにより、基板面積の減少、コストアップを招くことになる。
【００１６】
本発明は、これらの問題を解決するためになされたものであり、画面表示を行なうフィールド機器のＣＰＵの負荷を軽減することを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するため、本発明の第１の態様であるフィールド機器に接続可能なドットマトリクス表示モジュールは、ドットマトリクス表示装置と、プログラムを記録したＲＯＭと、前記プログラムを実行し、前記フィールド機器から入力した表示情報に基づいてドットデータを生成する演算装置と、前記ドットデータに従って前記ドットマトリクス表示装置を駆動する表示装置駆動装置と、を備える。
【００１８】
ここで、ユーザからキー操作を受け付けるキースイッチ群をさらに備え、前記演算装置は、受け付けたキー操作に基づく処理を行ない、前記フィールド機器と前記キー操作に基づく処理に関する通信を行なうようにしてもよい。
【００１９】
上記課題を解決するため、本発明の第２の態様であるフィールド機器は、メインプログラムを記録したメインＲＯＭと、センシング情報を収集する機器センシング部と、前記メインプログラムを実行し、前記センシング情報に基づく演算を行ない、演算結果に基づく表示情報を出力するメインＣＰＵと、ドットマトリクス表示モジュールとを備え、前記ドットマトリクス表示モジュールは、ドットマトリクス表示装置と、サブプログラムを記録したサブＲＯＭと、前記サブプログラムを実行し、前記メインＣＰＵから入力した表示情報に基づいてドットデータを生成するサブＣＰＵと、前記ドットデータに従って前記ドットマトリクス表示装置を駆動する表示装置駆動装置とを備える。
【００２０】
ここで、前記メインＣＰＵは、前記演算結果が変化した場合に、前記表示情報を出力し、前記サブＣＰＵは、前記ドットマトリクス表示装置の更新周期ごとに、前記ドットデータを生成することができる。
【００２１】
また、前記ドットマトリクス表示モジュールは、ユーザからキー操作を受け付けるキースイッチ群をさらに備え、前記サブＣＰＵは、受け付けたキー操作に基づく処理を行ない、前記メインＣＰＵと前記キー操作に基づく処理に関する通信を行なうようにしてもよい。
【００２２】
このとき、前記メインＣＰＵと接続し、所定のプロトコルで外部装置と通信を行なう通信部をさらに備え、前記サブＣＰＵは、前記キー操作に基づく処理に関する通信を、前記プロトコルで、前記外部装置を介して行なうことが望ましい。
【００２３】
また、前記メインＲＯＭは、前記メインプログラムに加え、前記メインプログラムに適合したサブプログラムを記録しており、前記メインＣＰＵは、前記メインプログラムと、前記サブＲＯＭに記録されているサブプログラムとの適合性を判断し、適合していないと判断した場合は、前記メインＲＯＭに記録されている前記サブプログラムを、前記ドットマトリクス表示モジュールに送信するようにしてもよい。
【００２４】
さらには、前記サブＣＰＵは、所定の間隔で、前記メインＣＰＵに対して所定のデータ要求を行ない、前記データ要求の結果に基づいて前記メインＣＰＵの異常発生の有無を判断し、前記メインＣＰＵに異常が発生していると判断した場合に、前記ドットマトリクス表示装置にその旨を表示させることができる。
【発明の効果】
【００２５】
本発明によれば、画面表示を行なうフィールド機器のＣＰＵの負荷を軽減することができる。
【図面の簡単な説明】
【００２６】
【図１】本実施形態に係るフィールド機器および液晶表示モジュールの構成を示すブロック図である。
【図２】メインＣＰＵに接続されたＦｌａｓｈＲＯＭに記録されたプログラムを示す図である。
【図３】メインＣＰＵおよびサブＣＰＵの起動時の処理について説明するフローチャートである。
【図４】画面の表示構成の基本構成例を示す図である。
【図５】エラーが生じた場合にフレームを切り替えて表示する画面表示例を示す図である。
【図６】メインＣＰＵが行なう表示通信制御について説明するフローチャートである。
【図７】メインＣＰＵが、機器センシング部で計測した結果に基づく演算値に変化があり、液晶表示装置の表示内容を変化させる場合の処理について説明するタイムチャートである。
【図８】メインＣＰＵのセンシング表示情報についての表示通信制御を説明するフローチャートである。
【図９】キースイッチ群がユーザから操作を受け付けた場合のサブＣＰＵおよびメインＣＰＵの処理について説明するフローチャートである。
【図１０】通信部にスイッチを設けてサブＣＰＵが制御する構成を示すブロック図である。
【図１１】サブＣＰＵが、メインＣＰＵの状態を監視する処理について説明するフローチャートである。
【図１２】液晶表示装置への表示処理を行なう従来のフィールド機器の構成例を示すブロック図である。
【発明を実施するための形態】
【００２７】
本発明の実施の形態について図面を参照して説明する。図１は、本実施形態に係るフィールド機器１００および液晶表示モジュール２００の構成を示すブロック図である。ここで、液晶表示モジュール２００は、ドットマトリクス表示モジュールとして機能する。
【００２８】
本図に示すように、フィールド機器１００は、演算装置であるメインＣＰＵ１１０を中心に構成され、メインＣＰＵ１１０にＦｌａｓｈＲＯＭ１２０、ＲＡＭ１３０、機器センシング部１４０、通信部１５０が接続されている。機器センシング部１４０は、図示しないセンサ等からの情報を取得する機能部であり、通信部１５０は、図示しないＰＣ等の外部装置と通信を行なうための処理部である。また、ＦｌａｓｈＲＯＭ１２０は、メインＲＯＭとして機能する。
【００２９】
液晶表示モジュール２００は、演算装置であるサブＣＰＵ２１０、ＥＥＰＲＯＭ２２０、表示装置駆動装置であるＬＣＤ制御ＩＣ２３０、液晶表示装置２４０、キースイッチ群２５０を備えている。液晶表示装置２４０は、ドットマトリクス方式の表示装置である。なお、液晶表示装置２４０に代えて、ＬＥＤ、有機ＥＬ、ＣＲＴ等のドットマトリクス表示装置を用いてもよい。また、タッチパネル機能を備えた液晶表示装置２４０を用いるようにしてもよい。
【００３０】
本実施形態においては、液晶表示装置２４０をモジュール化し、モジュール内にＬＣＤ制御ＩＣ２３０を制御するサブＣＰＵ２１０を追加することにより、メインＣＰＵ１１０の負荷を軽減させるようにしている。このため、サブＣＰＵ２１０は、ＬＣＤ制御ＩＣ２３０と同期通信等をできるようにする。また、液晶表示モジュール２００とフィールド機器１００とは、一体型として構成してもよいし、本図に示すようにコネクタ２６０を介して接続させ、着脱可能な構成としてもよい。着脱可能な構成とした場合には、液晶表示モジュール２００を異なるフィールド機器１００と汎用的に接続できるようにすることが望ましい。
【００３１】
本構成において、ユーザインタフェースとなるキースイッチ群２５０、タッチパネル等からの信号は、メインＣＰＵ１１０ではなく、サブＣＰＵ２１０に入力する。そして、サブＣＰＵ２１０は、メインＣＰＵ１１０と同期通信など汎用的なインタフェースで接続し、双方向通信ができるようにする。
【００３２】
サブＣＰＵ２１０は、内部にＦｌａｓｈＲＯＭ２１１、ＲＡＭ２１２を備え、ＥＥＰＲＯＭ２２０と接続する構成としているが、この構成に限られない。例えば、ＦｌａｓｈＲＯＭ２１１が十分な容量を有している場合には、ＥＥＰＲＯＭ２２０を省くようにしてもよい。また、ＦｌａｓｈＲＯＭ２１１、ＲＡＭ２１２はサブＣＰＵ２１０の内部に構成することが好ましいが、外部に配置してもかまわない。サブＣＰＵ２１０が実行するプログラムは、ＦｌａｓｈＲＯＭ２１１、ＥＥＰＲＯＭ２２０のいずれか、あるいは双方に格納する。これらのＲＯＭは、サブＲＯＭとして機能する。
【００３３】
図２に示すように、フィールド機器１００のメインＣＰＵ１１０に接続されたＦｌａｓｈＲＯＭ１２０には、メインＣＰＵ１１０が使用するプログラム１２１に加え、サブＣＰＵ２１０用のプログラム１２２も記録されている。
【００３４】
このサブＣＰＵ２１０用のプログラム１２２は、メインＣＰＵ１１０が使用するプログラム１２１のバージョンに適合したバージョンであり、液晶表示モジュール２００に格納されているプログラムのバージョンが、フィールド機器１００のメインＣＰＵが使用するプログラムのバージョンに適合していない場合に、液晶表示モジュール２００にダウンロードされる。これにより、サブＣＰＵ２１０が使用するプログラムとメインＣＰＵ１１０が使用するプログラムとの適合性が保証されることになる。
【００３５】
次に、図３のフローチャートを参照して、メインＣＰＵ１１０およびサブＣＰＵ２１０の起動時の処理について説明する。
【００３６】
サブＣＰＵ２１０が起動すると、スタックポインタ、内部レジスタの初期化、ＲＡＭ２１２の初期化等の一般的な起動処理を行なう（Ｓ１０１）。メインＣＰＵも同様に起動処理を行ない（Ｓ２０１）、その後、機器センシング部１４０の初期化を行なう（Ｓ２０２）。
【００３７】
サブＣＰＵ２１０は、起動処理後、自身のＦｌａｓｈＲＯＭ２１１あるいはＥＥＰＲＯＭ２２０に記録されているプログラムのバージョン情報をメインＣＰＵ１１０に送信する（Ｓ１０２）。
【００３８】
一方、メインＣＰＵ１１０は、サブＣＰＵ２１０からプログラムのバージョン情報を受信すると（Ｓ２０３：Ｙｅｓ）、そのバージョンと、自身のＦｌａｓｈＲＯＭ１２０に記録されているメインＣＰＵ用プログラム１２１のバージョンとの適合性を判断し、適合結果をサブＣＰＵ２１０に送信する（Ｓ２０４）。
【００３９】
サブＣＰＵ２１０は、バージョン送信後、所定の時間、例えば、１秒以内にメインＣＰＵ１１０から応答があったかどうかを判断する（Ｓ１０３）。一般に、メインＣＰＵ１１０の起動は時間を要するため、サブＣＰＵ２１０からのバージョン送信の通信を取りこぼす可能性がある。このため、所定時間内に応答がない場合（Ｓ１０３：Ｎｏ）には、再度、プログラムのバージョン情報をメインＣＰＵ１１０に送信し（Ｓ１０２）、応答を待つ（Ｓ１０３）。
【００４０】
メインＣＰＵ１１０からの応答があった場合（Ｓ１０３：Ｙｅｓ）は、バージョンが適合している応答内容であれば（Ｓ１０４：Ｙｅｓ）、ＬＣＤ制御ＩＣ２３０の初期化処理、液晶表示装置２４０の初期化、キースイッチ群２５０の初期化等を行なって各デバイスが利用できるようにする（Ｓ１０８）。そして、液晶表示装置２４０に初期データを送信して（Ｓ１０９）、表示制御を開始する。
【００４１】
メインＣＰＵ１１０からの応答により、プログラムのバージョンが適合してない場合（Ｓ１０４：Ｎｏ）、サブＣＰＵ２１０は、メインＣＰＵ１１０に対して適合バージョンの送信を要求する（Ｓ１０５）。
【００４２】
メインＣＰＵ１１０は、適合バージョンの送信要求があった場合（Ｓ２０５：Ｙｅｓ）は、ＦｌａｓｈＲＯＭ１２０に格納されているサブＣＰＵ用プログラム１２２をサブＣＰＵ２１０に送信し（Ｓ２０６）、処理（Ｓ２０３）に戻って、サブＣＰＵ２１０からの応答を待ち、以降の処理を繰り返す。
【００４３】
適合バージョンの送信要求がなかった場合（Ｓ２０５：Ｎｏ）は、メインＣＰＵ１１０は、今後、液晶表示モジュール２００が使用可能であることを認識し、サブＣＰＵ２１０との表示通信制御を開始して、各種表示データの送信準備を行なう。
【００４４】
メインＣＰＵ１１０に対して適合バージョンの送信を要求したサブＣＰＵ２１０は、メインＣＰＵ１１０から送信された適合バージョンのプログラムを受信する（Ｓ１０６）。受信完了後、再起動を行なって（Ｓ１０７）、起動処理（Ｓ１０１）、バージョン送信処理（Ｓ１０２）以降の処理を繰り返す。
【００４５】
次に、メインＣＰＵ１１０が、液晶表示モジュール２００に対して通信によって設定する項目について説明する。本実施形態において、メインＣＰＵ１１０は、１）画面の表示構成、２）段組みの基本情報、３）各段組みの表示情報、４）メンテナンス用制御情報、の４項目の設定を行なうものとする。
【００４６】
ここで、画面の表示構成の設定では、液晶表示装置２４０における表示スタイル、更新周期等を設定する。表示スタイルは、例えば、図４（ａ）〜（ｄ）に示すような基本構成の中から選択することができるものとする。本図の例では、表示画面を複数の領域に分割し、それぞれを段組み番号で管理するようにしている。段組みの数は、それぞれ、４、２、３、５とし、基本構成ごとに位置、大きさ、配置等の組合せを異ならせている。
【００４７】
なお、複数の基本構成を選択することもできる。この場合、選択された基本構成をフレームと称し、各フレームを時系列的に順番に表示したり、イベントが発生した場合の表示や、エラー表示のように、必要に応じてフレームを切り替えて表示したりすることができる。
【００４８】
段組みの基本情報の設定では、各段組みについて、具体的な表示内容以外の項目である基本情報を設定する。なお、液晶表示装置２４０では、複数の情報を一画面に表示するために、演算値を段組み内に行表示するものとする。基本情報の設定項目は、例えば、表示タイトル名、データ型、有効桁数、単位表示名等とすることができる。データ型は表示するデータの属性であり、CHAR型、INT型、LONG型、FLOAT型等で定義される数値型と、文字数およびJIS、SHIFT-JIS、EUC、Unicode等で定義される文字型とに大別することができる。さらに、反転表示やブランク表示、スクロール表示、カラー表示、太字、斜体、下線などの表示スタイルの装飾情報を追加してもよい。
【００４９】
各段組みの表示情報の設定では、各段組みに対する具体的な表示内容を定義する。メインＣＰＵ１１０は、サブＣＰＵ２１０に対して、ドットデータではなく、プログラムで利用しているデータのまま送信することができる。このため、メインＣＰＵ１１０はドットデータへの展開を行なう必要がない。表示内容は、文字のみならず記号を用いることができる。また、あらかじめ定形の表示内容に識別子を付しておき、識別子のみを送信するようにしてもよい。
【００５０】
メンテナンス用制御情報の設定では、液晶表示装置２４０のテストを実施したり、画面の表示構成、段組みの基本情報に依存せずにメインＣＰＵ１１０から強制的に表示を行なう場合等の設定を行なうことができる。
【００５１】
次に、メインＣＰＵ１１０の表示通信制御およびサブＣＰＵ２１０の表示制御について説明する。本実施形態では、画面の表示構成として、図４（ｂ）に示した段組み２段の基本構成をフレーム１とし、図４（ｃ）に示した段組み３段の基本構成をフレーム２として設定した場合を例に説明する。ここで、段組み１には流量表示、段組み２には温度表示、段組み３にはエラー表示を行なうものとする。また、通常時においては、フレーム１を表示し、エラーが生じた場合には、図５に示すように、段組み３を含むフレーム２とフレーム１とを切り替えて表示するものとする。
【００５２】
まず、メインＣＰＵ１１０が、起動時の処理の実施後に行なう表示通信制御について図６のフローチャートを参照して説明する。本図に示すように、メインＣＰＵ１１０は、画面の表示構成の設定を行ない、段組みの基本情報の設定および段組みの表示情報の設定を段組みごとに行なう。
【００５３】
すなわち、メインＣＰＵ１１０は、起動時の処理を実施後、画面のスタイル構成、段組み個数、フレーム情報、更新周期等の画面表示構成情報をサブＣＰＵ２１０に送信する（Ｓ３０１）。送信に際しては、列数、行数などの情報を数値で示してもよいが、いくつかの段組み情報をプログラム内でテーブル化しておき、テーブル番号で示すことにより送信データ量を少なくするようにしてもよい。
【００５４】
次に、メインＣＰＵ１１０は、サブＣＰＵ２１０に対して、段組み１の基本情報を送信し（Ｓ３０２）、段組み２の基本情報を送信し（Ｓ３０３）、段組み３の基本情報を送信する（Ｓ３０４）。段組みの基本情報の送信では、各段組みの表示名、データ型、有効桁数、表示単位等を送信する。この際に、文字コード等で直接情報を示すようにしてもよいが、いくつかの表示名等をプログラム内でテーブル化しておき、テーブル番号で示すことにより送信データ量を少なくするようにしてもよい。
【００５５】
そして、メインＣＰＵ１１０は、サブＣＰＵ２１０に対して、段組み１の表示情報を送信し（Ｓ３０５）、段組み２の表示情報を送信し（Ｓ３０６）、段組み３の表示情報を送信する（Ｓ３０７）。表示情報の送信では、各段組みにおいて表示する数値あるいは文字コードを送信する。
【００５６】
以上の情報をサブＣＰＵ２１０に送信することで、液晶表示装置２４０における画面スタイル、名称や単位等の固定表示文字が確定し、初期表示情報が表示可能となる。その後、ＣＰＵ１１０は、センシング表示情報の制御を行なう。
【００５７】
サブＣＰＵ２１０では、受信したこれらの情報に基づいてドットデータを生成し、ＬＣＤ制御ＩＣ２３０にドットデータを送信する。フレーム画面が定義されている場合、更新周期に合わせて画面を切り替えて表示するが、これらの情報があれば、サブＣＰＵ２１０だけで表示の制御することができる。これにより、メインＣＰＵ１１０の処理負荷が大きく軽減されることになる。なお、更新周期は、画面の表示構成の設定で定義された更新周期とする。サブＣＰＵ２１０は、更新周期ごとにドットデータによる画面データを生成し、ＬＣＤ制御ＩＣ２３０に転送し続ける。
【００５８】
次に、メインＣＰＵ１１０が、機器センシング部１４０で計測した結果に基づく演算値に変化があり、液晶表示装置２４０の表示内容を変化させる場合の処理について図７のタイムチャートを参照して説明する。ここでは、画面の表示構成、各段組みの基本情報は変更がないものとする。
【００５９】
例えば、時刻ｔ０において、段組み１の表示内容が１００であり、段組み２の表示内容が２００であるとする。また、センサーエラー（Sensor Failure）が発生しており、フレーム１とフレーム２とが交互に表示されているものとする。
【００６０】
液晶表示装置２４０は、ｔ１、ｔ２、ｔ３…ｔ７において画面の表示更新を行なうものとする。このため、サブＣＰＵ２１０は、表示内容の変更の有無にかかわらず、更新周期に合わせて表示処理を行なう。
【００６１】
この状況において、メインＣＰＵ１１０は、演算値が変化しない場合には、サブＣＰＵ２１０に演算値を送信する必要がない。このため、演算値が変化していない時刻ｔ１では、サブＣＰＵ２１０への送信は行なわれない。したがって、メインＣＰＵ１１０の負荷を大幅に軽減することができる。
【００６２】
図８は、このようなメインＣＰＵ１１０のセンシング表示情報についての表示通信制御を説明するフローチャートである。すなわち、メインＣＰＵ１１０は、機器のセンシングを行なうと（Ｓ４０１）、段組み１の表示値の計算を行なう（Ｓ４０２）。そして、この演算結果が前回の送信値と異なる場合（Ｓ４０３：Ｙｅｓ）に限り、段組み１の表示情報としてサブＣＰＵ２１０に送信する（Ｓ４０４）。
【００６３】
同様に、段組み２の表示値の計算を行ない（Ｓ４０５）、この演算結果が前回の送信値と異なる場合（Ｓ４０６：Ｙｅｓ）に限り、段組み２の表示情報としてサブＣＰＵ２１０に送信する（Ｓ４０７）。そして、段組み３の表示値の計算を行ない（Ｓ４０８）、この演算結果が前回の送信値と異なる場合（Ｓ４０９：Ｙｅｓ）に限り、段組み３の表示情報としてサブＣＰＵ２１０に送信する（Ｓ４１０）という処理を繰り返す。
【００６４】
液晶表示装置２４０への表示制御はサブＣＰＵ２１０が行なうため、メインＣＰＵ１１０は、表示情報をサブＣＰＵ２１０に送信する際に、液晶表示装置２４０の更新周期を意識する必要はない。
【００６５】
図７に示したタイムチャートの説明に戻って、時刻ｔａにおいて、機器センシング部１４０で計測した結果に基づくメインＣＰＵ１１０の段組み１の演算値が１００から１０１に変化したとする。メインＣＰＵ１１０は演算値が変化したため、変化後の値をサブＣＰＵ２１０に送信する。このとき、段組み２の演算値は変化していないため、段組み１の演算値のみを送信すれば足りる。
【００６６】
すると、サブＣＰＵ２１０は、次の更新周期である時刻ｔ２において段組み１の表示内容を１０１に変化させる。その後、段組み１の演算値が１０１から１０２に変化した時刻ｔｃにおいても同様の処理が行なわれ、段組み１の表示内容が時刻ｔ４に１０２に変化する。
【００６７】
また、時刻ｔｂにおいて、センサーエラー（Sensor Failure）に加えて出力低下エラー（Output too Low）が発生したとする。そこで、メインＣＰＵ１１０は、サブＣＰＵ２１０に、センサーエラーと出力低下エラーを転送する。
【００６８】
すると、サブＣＰＵ２１０は、以降の更新周期のフレーム２表示期間において、センサーエラー（SF:Sensor Failure）と出力低下エラー（OL:Output too Low）とを段組み３に交互に表示させるようにする。
【００６９】
次に、キースイッチ群２５０がユーザから入力を受け付けた場合のサブＣＰＵ２１０およびメインＣＰＵ１１０の処理について図９のフローチャートを参照して説明する。キースイッチ群２５０の制御は、サブＣＰＵ２１０が行なう。このため、メインＣＰＵ１１０の監視負荷を軽減することができる。サブＣＰＵ２１０は、キースイッチの組合せや押下時間を検出するために、短い周期でキースイッチ群２５０の監視を行なう。
【００７０】
サブＣＰＵ２１０は、キースイッチ群２５０からの入力を検出すると（Ｓ５０１）、液晶表示装置２４０の表示内容をあらかじめ定められた入力用表示画面に変更する（Ｓ５０２）。そして、入力された操作に対応したデータをメインＣＰＵ１１０に要求する（Ｓ５０３）。
【００７１】
これに対応して、メインＣＰＵ１１０は、要求されたデータを抽出し（Ｓ６０１）、サブＣＰＵ２１０に送信する（Ｓ６０２）。
【００７２】
サブＣＰＵ２１０は、要求したデータを受信すると、受信したデータに基づく表示を行なう（Ｓ５０４）。ユーザから受け付けた操作が設定変更に関するものでなければ（Ｓ５０５：Ｎｏ）、本処理を終了する。
【００７３】
一方、ユーザから受け付けた操作が設定変更に関するものであれば（Ｓ５０５：Ｙｅｓ）、サブＣＰＵ２１０は、設定変更に関するキースイッチの入力をユーザから受け付ける（Ｓ５０６）。そして、受け付けた変更値を液晶表示装置２４０に表示し（Ｓ５０７）、ユーザから確認を受け付ける（Ｓ５０８）。
【００７４】
ユーザからの確認を受け付けると（Ｓ５０８：Ｙｅｓ）、メインＣＰＵ１１０に通知し、メインＣＰＵ１１０が内部データの更新を行なう（Ｓ６０３）。内部データが更新されると、メインＣＰＵ１１０は、更新後の値をサブＣＰＵ２１０に送信し（Ｓ６０４）、サブＣＰＵ２１０が、変更後の内容を液晶表示装置２４０に表示し（Ｓ５０９）、本処理を終了する。
【００７５】
このように、本実施形態では、液晶表示装置２４０を、キースイッチ群２５０を含めてモジュール化しているため、操作受付に関する一連の処理をサブＣＰＵ２１０内で行なうことができる。このとき、メインＣＰＵ１１０は、要求されたデータを送信し、データ変更に対応するだけですむため、処理負荷が軽減されることになる。
【００７６】
ところで、一般に、フィールド機器１００の通信部１５０では、外部装置と通信を行なうために、HARTプロトコル、Fieldbusプロトコル、Profibusプロトコル、Modbusプロトコル等のプロトコルをサポートしている。すなわち、メインＣＰＵ１１０用のプログラム１２１には、これらの通信プロトコルを解釈し、処理するモジュールが備わっている。
【００７７】
このため、サブＣＰＵ２１０に上記の通信プロトコルで通信を行なう機能を備えさせることで、キースイッチ群２５０を用いてメインＣＰＵ１１０用の設定変更を行なう場合に、コネクタ２６０ではなく、通信部１５０を介してメインＣＰＵ１１０との通信を行なうことができるようになる。このような構成では、標準化された通信プロトコルでメインＣＰＵ１１０とサブＣＰＵ２１０との通信を行なえるので、新たな通信用のファームウェアを開発する必要がなくなる。
【００７８】
このように、キースイッチ群２５０を用いて設定変更を行なう際に、標準化された通信プロトコルを用いて通信する場合には、図１０に示すように、通信部１５０への外部装置からの信号ラインにスイッチ１９０を設けて、一方のスイッチ端子にサブＣＰＵ２１０を接続する構成とすることができる。
【００７９】
この場合、サブＣＰＵ２１０が通信部１５０の通信状態を監視し、空き時間を利用してスイッチ１９０を切り替え、サブＣＰＵ２１０からの通信信号を入力するようにすることができる。このとき、メインＣＰＵ１１０は、通信対象がＰＣ等の外部装置であるか、サブＣＰＵ２１０であるかを意識する必要がないため、従来のファームウェアを利用することができる。
【００８０】
上述のように、液晶表示モジュール２００は、メインＣＰＵ１１０から必要に応じて表示情報を受信し、液晶表示装置２４０の更新周期に合わせて再表示している。しかし、メインＣＰＵ１１０に何らかの異常が発生したり、プログラムの不具合等により、送信する必要があるにもかかわらず、表示情報がサブＣＰＵ２１０に送信されないことも起こり得る。
【００８１】
このような状況に対応するため、本実施形態では、サブＣＰＵ２１０は、メインＣＰＵ１１０の状態を監視するためのデータ要求を一定周期でメインＣＰＵ１１０に送信し、その結果に基づいてメインＣＰＵ１１０の何らかの異常を検出できるようにしている。さらに、メインＣＰＵ１１０の何らかの異常を検出した場合には、液晶表示モジュール２００は、メインＣＰＵ１１０からの表示情報の送信がなくても、異常を検出したことを独自に表示することができる。
【００８２】
サブＣＰＵ２１０が、メインＣＰＵ１１０の状態を監視する処理について図１１のフローチャートを参照して説明する。サブＣＰＵ２１０は所定の起動タイミング（Ｓ７０１：Ｙｅｓ）で、メインＣＰＵ１１０に対して各段組みの最新の演算値を要求する（Ｓ７０２）。ただし、特定の段組みについての最新の演算値等であってもよい。
【００８３】
これに対して、メインＣＰＵ１１０は、要求されたデータの演算を行ない（Ｓ８０１）、サブＣＰＵ２１０に送信する（Ｓ８０２）。
【００８４】
サブＣＰＵ２１０は、メインＣＰＵ１１０からの応答がない場合（Ｓ７０３：Ｎｏ）には、メインＣＰＵ１１０に何らかの異常が発生していると判断し、液晶表示装置２４０にメインＣＰＵ１１０で異常が発生している旨の表示を行なう（Ｓ７０６）。
【００８５】
メインＣＰＵ１１０から要求したデータを受信すると（Ｓ７０３：Ｙｅｓ）、受信したデータの値が、現在表示している値と一致するかどうかを判断する（Ｓ７０４）。この結果、一致していた場合（Ｓ７０４：Ｙｅｓ）は、メインＣＰＵ１１０は正常に稼働しているものとして次の監視を行なう起動タイミングを待つ（Ｓ７０１）。
【００８６】
一方、受信したデータの値が、現在表示している値と一致していない場合（Ｓ７０４：Ｎｏ）は、所定回数連続して不一致であるかどうかを判断する（Ｓ７０５）。これは、表示更新処理が非同期で行なわれるため、遅れが生じることを考慮したものである。
【００８７】
その結果、値の不一致が所定回数連続していない場合（Ｓ７０５：Ｎｏ）には、メインＣＰＵ１１０に対して再度演算値の要求を行ない、受信したデータの値が、現在表示している値と一致するかどうかの判断を繰り返す（Ｓ７０４）。
【００８８】
一方、値の不一致が所定回数連続した場合（Ｓ７０５：Ｙｅｓ）には、メインＣＰＵ１１０に何らかの異常が発生していると判断し、液晶表示装置２４０にメインＣＰＵ１１０で異常が発生している旨の表示を行なう（Ｓ７０６）。
【００８９】
このように液晶表示モジュール２００のサブＣＰＵ２１０からメインＣＰＵ１１０の監視を行なうことで、異常を検出した場合に、その旨を即座に具体的なメッセージで表示することができるようになる。また、ユーザがキースイッチ群２５０を操作することにより、より詳しい異常を表示させ、確認できるようにすることが望ましい。さらには、外部装置からの通信信号をメインＣＰＵ１１０が正しく処理でない場合等であっても、キースイッチ群２５０を操作することによって、強制的にメインＣＰＵ１１０の設定等を書き換えることができるようにすることが望ましい。この場合、液晶表示モジュール２００は、入力キーを備えた端末装置として機能することになる。
【００９０】
このように、液晶表示モジュール２００を端末装置として機能させることにより、例えば、作業現場において、１台の液晶表示モジュール２００を異なるフィールド機器１００に付け替え、それぞれにおいて演算値を確認することができるようになる。また、キースイッチ群２５０を利用して、フィールド機器１００内部のパラメータを変更したり、ＥＥＰＲＯＭ２２０にフィールド機器１００内部のパラメータや操作履歴等を記録したりすることができるようになる。この操作履歴等の記録は、フィールド機器１００の信頼性やセキュリティを高めるために有益である。さらに、記録したパラメータを他のフィールド機器１００にダウンロードすることも可能となる。
【００９１】
以上説明したように、本実施形態によれば、以下に列挙するような効果を得ることができ、画面表示を行なうフィールド機器のＣＰＵの負荷を軽減することができるようになる。
【００９２】
１）メインＣＰＵ１１０は、サブＣＰＵ２１０に対して、表示制御情報や表示内容をデータで送信すれば足り、ドットデータに展開する必要がなくなる。
【００９３】
２）メインＣＰＵ１１０は、表示内容をサブＣＰＵ２１０に送信することで、フォントデザイン、サイズ、装飾などは、サブＣＰＵ２１０のプログラムで共通的に処理することができる。このため同一の処理をフィールド機器１００ごとに実装する必要がなくなり、同一の仕様で表示することができるようになる。
【００９４】
３）メインＣＰＵ１１０とサブＣＰＵ２１０とを標準的なプロトコルを用いることにより、フィールド機器１００ごとに専用の液晶表示モジュール２００を用いる必要がなくなる。
【００９５】
４）液晶表示装置２４０の表示画面サイズを変更したり、白黒やカラーなど複数の仕様を用意した場合であっても、メインＣＰＵ１１０用のプログラムを変更する必要がなく、同等の表示を実現することができるようになる。すなわち、液晶表示装置２４０側の部品変更があっても、サブＣＰＵ２１０のプログラムを対応させれば対応でき、メインＣＰＵ１１０のプログラムには影響を与えず、メインＣＰＵ１１０は、変更前と同じ制御を行なえばよい。
【００９６】
５）液晶表示装置２４０の更新周期は、サブＣＰＵ２１０が管理し、メインＣＰＵ１１０は、表示内容を変更するときだけサブＣＰＵ２１０に表示情報を送信するため、メインＣＰＵ１１０の表示更新処理の負荷が大きく軽減される。
【００９７】
６）サブＣＰＵ２１０に搭載するＲＯＭをＦｌａｓｈＲＯＭにすることで、プログラムの書き換えを可能としている。将来的に不足の機能が発生した場合、メインＣＰＵ１１０のプログラムを変更することなく独自にプログラムを修正できるようになる。
【００９８】
７）サブＣＰＵ２１０のプログラムをメインＣＰＵ１１０のＦｌａｓｈＲＯＭにも格納しておくことで、サブＣＰＵ２１０は、メインＣＰＵ１１０に対してプログラムの送信を要求することができ、両者のプログラムの適合性を保つことができるようになる。
【００９９】
８）キースイッチ群２５０をサブＣＰＵ２１０が制御することにより、複数のキーの組合せや押下時間によって機能を選択できるようにした場合であっても、メインＣＰＵ１１０の監視負荷を軽減することができる。
【０１００】
９）キースイッチ群２５０を含めてモジュール化しているため、キー操作を統一することができ、ユーザインタフェースの統一化を図ることができる。また、キースイッチ群２５０の操作に液晶表示装置２４０の表示を適宜対応させることにより、操作性が向上する。さらに、入力をタッチパネル方式にした場合でも、サブＣＰＵ２１０で対応することができ、メインＣＰＵ１１０のプログラム修正の必要がない。
【０１０１】
１０）表示制御処理の負荷が軽減されるため、メインＣＰＵ１１０はセンシング処理に専念することができる。
【０１０２】
１１）メインＣＰＵ１１０に何らかの異常が発生した場合であっても、液晶表示モジュール２００において表示内容を独立して制御することができる。
【０１０３】
１２）サブＣＰＵ２１０がメインＣＰＵ１１０を周期的に診断することにより、メインＣＰＵ１１０の異常を早く検出することができる。また、サブＣＰＵ２１０と液晶表示装置２４０とを含めてモジュール化しているため、メインＣＰＵ１１０の異常を検出した場合に、メインＣＰＵからの表示情報を受信しなくても、即座に液晶表示装置２４０に診断結果を表示することができる。
【０１０４】
１３）液晶表示モジュール２００をメインＣＰＵ１１０に対する端末装置として使用することができ、メインＣＰＵ１１０の異常時に、ユーザがキースイッチ群２５０を用いてさらに詳しい診断を実行したり、フィールド機器１００を安全にシャットダウンさせ、再起動させることができるようになる。
【符号の説明】
【０１０５】
１００…フィールド機器、１１０…メインＣＰＵ、１２０…ＦｌａｓｈＲＯＭ、１２１…メインＣＰＵ用プログラム、１２２…サブＣＰＵ用プログラム、１４０…機器センシング部、１５０…通信部、１９０…スイッチ、２００…液晶表示モジュール、２１０…サブＣＰＵ、２１１…ＦｌａｓｈＲＯＭ、２１２…ＲＡＭ、２２０…ＥＥＰＲＯＭ、２３０…ＬＣＤ制御ＩＣ、２４０…液晶表示装置、２５０…キースイッチ群、２６０…コネクタ、４００…フィールド機器、４１０…ＣＰＵ、４２０…ＲＡＭ、４３０…ＦｌａｓｈＲＯＭ、４４０…機器センシング部、４５０…通信部、４６０…ＬＣＤ制御ＩＣ、４７０…液晶表示装置、４８０…キースイッチ群
【図１】
0005637490.tif 000002
【図２】
0005637490.tif 000003
【図３】
0005637490.tif 000004
【図４】
0005637490.tif 000005
【図５】
0005637490.tif 000006
【図６】
0005637490.tif 000007
【図７】
0005637490.tif 000008
【図８】
0005637490.tif 000009
【図９】
0005637490.tif 000010
【図１０】
0005637490.tif 000011
【図１１】
0005637490.tif 000012
【図１２】
0005637490.tif 000013